@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Inter:wght@300;400;500;600;700&display=swap');

/*
 * Vendor CSS (e.g. leaflet/dist/leaflet.css) is NOT imported here.
 * PostCSS in this project is configured without `postcss-import`, so any
 * bare `@import 'pkg/...';` statement survives into build/static/main.css
 * and the browser then issues a real HTTP GET for `/static/pkg/...`,
 * producing the canonical class of frontend 404s.
 *
 * Vendor CSS is instead inlined by esbuild.config.js via `vendorCssPaths`
 * (resolved through `require.resolve` from node_modules and appended to
 * main.css at build time). To add a new vendor stylesheet, edit
 * `vendorCssPaths` in esbuild.config.js — do NOT add an `@import` here.
 *
 * A post-build regression guard in esbuild.config.js fails the build if
 * any bare-package `@import` ever leaks into build/static/main.css.
 */

*, ::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: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --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: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --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:  ;
}

/*
 ! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com
 */

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */ /* 3 */
  tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/

dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */

[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

:root {
        --background: 0 0% 100%;
        --foreground: 0 0% 3.9%;
        --card: 0 0% 100%;
        --card-foreground: 0 0% 3.9%;
        --popover: 0 0% 100%;
        --popover-foreground: 0 0% 3.9%;
        --primary: 0 0% 9%;
        --primary-foreground: 0 0% 98%;
        --secondary: 0 0% 96.1%;
        --secondary-foreground: 0 0% 9%;
        --muted: 0 0% 96.1%;
        --muted-foreground: 0 0% 45.1%;
        --accent: 0 0% 96.1%;
        --accent-foreground: 0 0% 9%;
        --destructive: 0 84.2% 60.2%;
        --destructive-foreground: 0 0% 98%;
        --border: 0 0% 89.8%;
        --input: 0 0% 89.8%;
        --ring: 0 0% 3.9%;
        --chart-1: 12 76% 61%;
        --chart-2: 173 58% 39%;
        --chart-3: 197 37% 24%;
        --chart-4: 43 74% 66%;
        --chart-5: 27 87% 67%;
        --radius: 0.5rem;
    }

.\!dark {
        /* Navigation Mode - Maritime Dark Theme */
        /* Step 1: Global Background & Surface Layers */
        --background: 220 20% 7% !important;             /* Deeper navy-charcoal base */
        --foreground: 210 15% 93% !important;            /* BRIGHTER off-white text */
        --card: 220 18% 10% !important;                  /* Slightly lighter card surface */
        --card-foreground: 210 15% 93% !important;       /* BRIGHTER card text */
        --popover: 220 18% 14% !important;               /* LIGHTER popover for better contrast */
        --popover-foreground: 210 15% 95% !important;    /* BRIGHTER popover text */
        
        /* Step 2: Primary & Interactive Colors */
        --primary: 0 75% 55% !important;                 /* Maritime red accent */
        --primary-foreground: 0 0% 100% !important;
        --secondary: 220 15% 14% !important;             /* Subtle raised surface */
        --secondary-foreground: 210 15% 90% !important;  /* BRIGHTER secondary text */
        
        /* Step 3: Muted & Accent */
        --muted: 220 15% 12% !important;
        --muted-foreground: 210 10% 65% !important;      /* BRIGHTER muted text */
        --accent: 220 15% 15% !important;
        --accent-foreground: 210 15% 93% !important;     /* BRIGHTER accent text */
        
        /* Step 6: Status Colors (Softened for dark mode) */
        --destructive: 0 65% 50% !important;
        --destructive-foreground: 0 0% 100% !important;
        
        /* Step 3: Borders & Inputs - Red tinted borders for navigation mode */
        --border: 0 50% 25% !important;                  /* Red-tinted border */
        --input: 220 15% 12% !important;
        --ring: 0 75% 55% !important;                    /* Red focus ring */
        
        /* Chart colors adjusted for dark mode */
        --chart-1: 0 70% 55% !important;                 /* Red */
        --chart-2: 200 70% 55% !important;               /* Blue - brighter */
        --chart-3: 45 85% 60% !important;                /* Amber - brighter */
        --chart-4: 280 65% 60% !important;               /* Purple - brighter */
        --chart-5: 160 65% 50% !important;               /* Teal - brighter */
        
        /* Navigation Mode specific variables */
        --nav-surface: 220 18% 8% !important;
        --nav-surface-elevated: 220 16% 12% !important;
        --nav-accent: 0 75% 55% !important;
        --nav-accent-muted: 0 60% 40% !important;
        --nav-border: 0 50% 25% !important;              /* Red border for navigation instruments */
        --nav-success: 150 65% 50% !important;           /* Brighter green */
        --nav-warning: 40 85% 55% !important;            /* Brighter amber */
        --nav-info: 200 75% 55% !important;              /* Brighter blue */
    }

.dark {
        /* Navigation Mode - Maritime Dark Theme */
        /* Step 1: Global Background & Surface Layers */
        --background: 220 20% 7%;             /* Deeper navy-charcoal base */
        --foreground: 210 15% 93%;            /* BRIGHTER off-white text */
        --card: 220 18% 10%;                  /* Slightly lighter card surface */
        --card-foreground: 210 15% 93%;       /* BRIGHTER card text */
        --popover: 220 18% 14%;               /* LIGHTER popover for better contrast */
        --popover-foreground: 210 15% 95%;    /* BRIGHTER popover text */
        
        /* Step 2: Primary & Interactive Colors */
        --primary: 0 75% 55%;                 /* Maritime red accent */
        --primary-foreground: 0 0% 100%;
        --secondary: 220 15% 14%;             /* Subtle raised surface */
        --secondary-foreground: 210 15% 90%;  /* BRIGHTER secondary text */
        
        /* Step 3: Muted & Accent */
        --muted: 220 15% 12%;
        --muted-foreground: 210 10% 65%;      /* BRIGHTER muted text */
        --accent: 220 15% 15%;
        --accent-foreground: 210 15% 93%;     /* BRIGHTER accent text */
        
        /* Step 6: Status Colors (Softened for dark mode) */
        --destructive: 0 65% 50%;
        --destructive-foreground: 0 0% 100%;
        
        /* Step 3: Borders & Inputs - Red tinted borders for navigation mode */
        --border: 0 50% 25%;                  /* Red-tinted border */
        --input: 220 15% 12%;
        --ring: 0 75% 55%;                    /* Red focus ring */
        
        /* Chart colors adjusted for dark mode */
        --chart-1: 0 70% 55%;                 /* Red */
        --chart-2: 200 70% 55%;               /* Blue - brighter */
        --chart-3: 45 85% 60%;                /* Amber - brighter */
        --chart-4: 280 65% 60%;               /* Purple - brighter */
        --chart-5: 160 65% 50%;               /* Teal - brighter */
        
        /* Navigation Mode specific variables */
        --nav-surface: 220 18% 8%;
        --nav-surface-elevated: 220 16% 12%;
        --nav-accent: 0 75% 55%;
        --nav-accent-muted: 0 60% 40%;
        --nav-border: 0 50% 25%;              /* Red border for navigation instruments */
        --nav-success: 150 65% 50%;           /* Brighter green */
        --nav-warning: 40 85% 55%;            /* Brighter amber */
        --nav-info: 200 75% 55%;              /* Brighter blue */
    }

*{
  border-color: hsl(var(--border));
}

body{
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
}

/* Dark mode base border color - red tinted for navigation mode */

.\!dark * {
        border-color: hsl(0 40% 20% / 0.4) !important;
    }

.dark * {
        border-color: hsl(0 40% 20% / 0.4);
    }

/* Ensure the border utility class uses red in dark mode */

.\!dark .border {
        border-color: hsl(0 40% 20% / 0.4) !important;
    }

.dark .border {
        border-color: hsl(0 40% 20% / 0.4) !important;
    }

/* Force dark color scheme for date/time inputs in dark mode */

.\!dark input[type="date"],
    .\!dark input[type="time"],
    .\!dark input[type="datetime-local"] {
        color-scheme: dark !important;
    }

.dark input[type="date"],
    .dark input[type="time"],
    .dark input[type="datetime-local"] {
        color-scheme: dark;
    }

.\!dark input[type="date"],
    .\!dark input[type="time"],
    .\!dark input[type="datetime-local"] {
        color-scheme: dark !important;
    }

[data-debug-wrapper="true"] {
        display: contents !important;
    }

[data-debug-wrapper="true"] > * {
        margin-left: inherit;
        margin-right: inherit;
        margin-top: inherit;
        margin-bottom: inherit;
        padding-left: inherit;
        padding-right: inherit;
        padding-top: inherit;
        padding-bottom: inherit;
        column-gap: inherit;
        row-gap: inherit;
        gap: inherit;
        border-left-width: inherit;
        border-right-width: inherit;
        border-top-width: inherit;
        border-bottom-width: inherit;
        border-left-style: inherit;
        border-right-style: inherit;
        border-top-style: inherit;
        border-bottom-style: inherit;
        border-left-color: inherit;
        border-right-color: inherit;
        border-top-color: inherit;
        border-bottom-color: inherit;
    }
.container{
  width: 100%;
}
@media (min-width: 640px){

  .container{
    max-width: 640px;
  }
}
@media (min-width: 768px){

  .container{
    max-width: 768px;
  }
}
@media (min-width: 1024px){

  .container{
    max-width: 1024px;
  }
}
@media (min-width: 1280px){

  .container{
    max-width: 1280px;
  }
}
@media (min-width: 1536px){

  .container{
    max-width: 1536px;
  }
}
/* ========================================
       CRITICAL: Navigation Mode - Red Accent Borders
       Like bridge navigation instruments
       ======================================== */
.\!dark * {
        border-color: hsla(0, 70%, 35%, 0.4) !important;
    }
.dark * {
        border-color: hsla(0, 70%, 35%, 0.4) !important;
    }
/* Cards get visible red glow border like bridge instruments */
.\!dark [class*="Card"],
    .\!dark .rounded-xl.border,
    .\!dark .rounded-lg.border,
    .\!dark .rounded-md.border {
        border: 1px solid hsla(0, 70%, 40%, 0.35) !important;
        box-shadow: 0 0 0 1px hsla(0, 70%, 35%, 0.2), 
                    0 0 10px hsla(0, 70%, 30%, 0.15),
                    0 4px 12px rgba(0, 0, 0, 0.4) !important;
    }
.dark [class*="Card"],
    .dark .rounded-xl.border,
    .dark .rounded-lg.border,
    .dark .rounded-md.border {
        border: 1px solid hsla(0, 70%, 40%, 0.35) !important;
        box-shadow: 0 0 0 1px hsla(0, 70%, 35%, 0.2), 
                    0 0 10px hsla(0, 70%, 30%, 0.15),
                    0 4px 12px rgba(0, 0, 0, 0.4) !important;
    }
.\!dark [class*="Card"],
    .\!dark .rounded-xl.border,
    .\!dark .rounded-lg.border,
    .\!dark .rounded-md.border {
        border: 1px solid hsla(0, 70%, 40%, 0.35) !important;
        box-shadow: 0 0 0 1px hsla(0, 70%, 35%, 0.2), 
                    0 0 10px hsla(0, 70%, 30%, 0.15),
                    0 4px 12px rgba(0, 0, 0, 0.4) !important;
    }
/* Remove all shadows/bright halos */
.\!dark .shadow,
    .\!dark .shadow-sm,
    .\!dark .shadow-md,
    .\!dark .shadow-lg,
    .\!dark .shadow-xl,
    .\!dark [class*="shadow"] {
        box-shadow: 0 0 0 1px hsla(0, 70%, 35%, 0.2), 
                    0 0 8px hsla(0, 70%, 30%, 0.1),
                    0 2px 8px rgba(0, 0, 0, 0.5) !important;
    }
.dark .shadow,
    .dark .shadow-sm,
    .dark .shadow-md,
    .dark .shadow-lg,
    .dark .shadow-xl,
    .dark [class*="shadow"] {
        box-shadow: 0 0 0 1px hsla(0, 70%, 35%, 0.2), 
                    0 0 8px hsla(0, 70%, 30%, 0.1),
                    0 2px 8px rgba(0, 0, 0, 0.5) !important;
    }
.\!dark .shadow,
    .\!dark .shadow-sm,
    .\!dark .shadow-md,
    .\!dark .shadow-lg,
    .\!dark .shadow-xl,
    .\!dark [class*="shadow"] {
        box-shadow: 0 0 0 1px hsla(0, 70%, 35%, 0.2), 
                    0 0 8px hsla(0, 70%, 30%, 0.1),
                    0 2px 8px rgba(0, 0, 0, 0.5) !important;
    }
/* Badges get red border */
.\!dark .badge,
    .\!dark [class*="Badge"] {
        border: 1px solid hsla(0, 70%, 40%, 0.5) !important;
    }
.dark .badge,
    .dark [class*="Badge"] {
        border: 1px solid hsla(0, 70%, 40%, 0.5) !important;
    }
.dark .\!badge {
        border: 1px solid hsla(0, 70%, 40%, 0.5) !important;
    }
.\!dark .badge,
    .\!dark [class*="Badge"] {
        border: 1px solid hsla(0, 70%, 40%, 0.5) !important;
    }
/* Reset specific colored borders to keep them vibrant */
.\!dark .border-l-orange-500 { border-left-color: hsl(25 95% 53%) !important; }
.dark .border-l-orange-500 { border-left-color: hsl(25 95% 53%) !important; }
.\!dark .border-l-red-500 { border-left-color: hsl(0 84% 60%) !important; }
.dark .border-l-red-500 { border-left-color: hsl(0 84% 60%) !important; }
.\!dark .border-l-green-500 { border-left-color: hsl(142 71% 45%) !important; }
.dark .border-l-green-500 { border-left-color: hsl(142 71% 45%) !important; }
.\!dark .border-l-blue-500 { border-left-color: hsl(217 91% 60%) !important; }
.dark .border-l-blue-500 { border-left-color: hsl(217 91% 60%) !important; }
.\!dark .border-l-yellow-500 { border-left-color: hsl(48 96% 53%) !important; }
.dark .border-l-yellow-500 { border-left-color: hsl(48 96% 53%) !important; }
.\!dark .border-l-purple-500 { border-left-color: hsl(271 81% 56%) !important; }
.dark .border-l-purple-500 { border-left-color: hsl(271 81% 56%) !important; }
.\!dark .border-primary { border-color: hsl(0 75% 55%) !important; }
.dark .border-primary { border-color: hsl(0 75% 55%) !important; }
/* ========================================
       CRITICAL: Remove ALL white backgrounds
       ======================================== */
.\!dark .bg-white,
    .\!dark [class*="bg-white"] {
        background: hsl(220 18% 10%) !important;
    }
.dark .bg-white,
    .dark [class*="bg-white"] {
        background: hsl(220 18% 10%) !important;
    }
.\!dark .bg-white,
    .\!dark [class*="bg-white"] {
        background: hsl(220 18% 10%) !important;
    }
.\!dark .bg-white\/70,
    .\!dark .bg-white\/50,
    .\!dark .bg-white\/80,
    .\!dark .bg-white\/90,
    .\!dark .bg-white\/95,
    .\!dark .bg-white\/10,
    .\!dark [class*="bg-white\/"] {
        background: hsla(220, 18%, 10%, 0.95) !important;
    }
.dark .bg-white\/70,
    .dark .bg-white\/50,
    .dark .bg-white\/80,
    .dark .bg-white\/90,
    .dark .bg-white\/95,
    .dark .bg-white\/10,
    .dark [class*="bg-white\/"] {
        background: hsla(220, 18%, 10%, 0.95) !important;
    }
.\!dark .bg-white\/70,
    .\!dark .bg-white\/50,
    .\!dark .bg-white\/80,
    .\!dark .bg-white\/90,
    .\!dark .bg-white\/95,
    .\!dark .bg-white\/10,
    .\!dark [class*="bg-white\/"] {
        background: hsla(220, 18%, 10%, 0.95) !important;
    }
/* Gray backgrounds should be dark */
.\!dark .bg-gray-50,
    .\!dark .bg-gray-100,
    .\!dark .bg-slate-50,
    .\!dark .bg-slate-100,
    .\!dark .bg-neutral-50,
    .\!dark [class*="bg-gray-5"],
    .\!dark [class*="bg-slate-5"],
    .\!dark [class*="bg-neutral-5"] {
        background: hsl(220 15% 12%) !important;
    }
.dark .bg-gray-50,
    .dark .bg-gray-100,
    .dark .bg-slate-50,
    .dark .bg-slate-100,
    .dark .bg-neutral-50,
    .dark [class*="bg-gray-5"],
    .dark [class*="bg-slate-5"],
    .dark [class*="bg-neutral-5"] {
        background: hsl(220 15% 12%) !important;
    }
.\!dark .bg-gray-50,
    .\!dark .bg-gray-100,
    .\!dark .bg-slate-50,
    .\!dark .bg-slate-100,
    .\!dark .bg-neutral-50,
    .\!dark [class*="bg-gray-5"],
    .\!dark [class*="bg-slate-5"],
    .\!dark [class*="bg-neutral-5"] {
        background: hsl(220 15% 12%) !important;
    }
.\!dark .bg-gray-200,
    .\!dark .bg-slate-200,
    .\!dark .bg-gray-300,
    .\!dark .bg-slate-300 {
        background: hsl(220 15% 15%) !important;
    }
.dark .bg-gray-200,
    .dark .bg-slate-200,
    .dark .bg-gray-300,
    .dark .bg-slate-300 {
        background: hsl(220 15% 15%) !important;
    }
.\!dark .bg-gray-200,
    .\!dark .bg-slate-200,
    .\!dark .bg-gray-300,
    .\!dark .bg-slate-300 {
        background: hsl(220 15% 15%) !important;
    }

    .dark .\!bg-slate-300 {
        background: hsl(220 15% 15%) !important;
    }
/* Table rows */
.\!dark tr:nth-child(even),
    .\!dark tbody tr:nth-child(even) {
        background: hsl(220 15% 7%) !important;
    }
.dark tr:nth-child(even),
    .dark tbody tr:nth-child(even) {
        background: hsl(220 15% 7%) !important;
    }
.\!dark tr:nth-child(even),
    .\!dark tbody tr:nth-child(even) {
        background: hsl(220 15% 7%) !important;
    }
.\!dark tr:nth-child(odd),
    .\!dark tbody tr:nth-child(odd) {
        background: hsl(220 18% 8%) !important;
    }
.dark tr:nth-child(odd),
    .dark tbody tr:nth-child(odd) {
        background: hsl(220 18% 8%) !important;
    }
.\!dark tr:nth-child(odd),
    .\!dark tbody tr:nth-child(odd) {
        background: hsl(220 18% 8%) !important;
    }
/* Hover states */
.\!dark .hover\:bg-gray-100:hover,
    .\!dark .hover\:bg-gray-50:hover,
    .\!dark .hover\:bg-slate-100:hover,
    .\!dark .hover\:bg-blue-50\/30:hover {
        background: hsl(220 15% 12%) !important;
    }
.dark .hover\:bg-gray-100:hover,
    .dark .hover\:bg-gray-50:hover,
    .dark .hover\:bg-slate-100:hover,
    .dark .hover\:bg-blue-50\/30:hover {
        background: hsl(220 15% 12%) !important;
    }
.\!dark .hover\:bg-gray-100:hover,
    .\!dark .hover\:bg-gray-50:hover,
    .\!dark .hover\:bg-slate-100:hover,
    .\!dark .hover\:bg-blue-50\/30:hover {
        background: hsl(220 15% 12%) !important;
    }
/* Divide lines should be subtle red */
.\!dark .divide-y > *,
    .\!dark .divide-x > * {
        border-color: hsla(0, 70%, 35%, 0.25) !important;
    }
.dark .divide-y > *,
    .dark .divide-x > * {
        border-color: hsla(0, 70%, 35%, 0.25) !important;
    }
.\!dark .divide-y > *,
    .\!dark .divide-x > * {
        border-color: hsla(0, 70%, 35%, 0.25) !important;
    }
/* Table cells */
.\!dark td,
    .\!dark th {
        background: inherit !important;
        border-color: hsla(0, 70%, 35%, 0.2) !important;
    }
.dark td,
    .dark th {
        background: inherit;
        border-color: hsla(0, 70%, 35%, 0.2) !important;
    }
.\!dark td,
    .\!dark th {
        background: inherit !important;
        border-color: hsla(0, 70%, 35%, 0.2) !important;
    }
/* Backdrop blur areas */
.\!dark .backdrop-blur-md,
    .\!dark .backdrop-blur-sm,
    .\!dark .backdrop-blur {
        background: hsla(220, 18%, 6%, 0.98) !important;
    }
.dark .backdrop-blur-md,
    .dark .backdrop-blur-sm,
    .dark .backdrop-blur {
        background: hsla(220, 18%, 6%, 0.98) !important;
    }
.\!dark .backdrop-blur-md,
    .\!dark .backdrop-blur-sm,
    .\!dark .backdrop-blur {
        background: hsla(220, 18%, 6%, 0.98) !important;
    }
/* Sticky headers */
.\!dark .sticky {
        background: hsl(220 18% 7%) !important;
    }
.dark .sticky {
        background: hsl(220 18% 7%) !important;
    }
/* Override gradient backgrounds */
.\!dark .from-slate-50,
    .\!dark .from-gray-50,
    .\!dark .from-white {
        --tw-gradient-from: hsl(220 18% 7%) !important;
    }
.dark .from-slate-50,
    .dark .from-gray-50,
    .dark .from-white {
        --tw-gradient-from: hsl(220 18% 7%) !important;
    }
.\!dark .from-slate-50,
    .\!dark .from-gray-50,
    .\!dark .from-white {
        --tw-gradient-from: hsl(220 18% 7%) !important;
    }
.\!dark .to-white,
    .\!dark .to-slate-100,
    .\!dark .to-gray-100 {
        --tw-gradient-to: hsl(220 15% 9%) !important;
    }
.dark .to-white,
    .dark .to-slate-100,
    .dark .to-gray-100 {
        --tw-gradient-to: hsl(220 15% 9%) !important;
    }
.\!dark .to-white,
    .\!dark .to-slate-100,
    .\!dark .to-gray-100 {
        --tw-gradient-to: hsl(220 15% 9%) !important;
    }
.\!dark .via-white {
        --tw-gradient-via: hsl(220 15% 8%) !important;
    }
.dark .via-white {
        --tw-gradient-via: hsl(220 15% 8%) !important;
    }
/* Override any remaining light backgrounds */
.\!dark [class*="bg-slate-5"],
    .\!dark [class*="bg-gray-5"],
    .\!dark [class*="bg-neutral-5"] {
        background: hsl(220 15% 10%) !important;
    }
.dark [class*="bg-slate-5"],
    .dark [class*="bg-gray-5"],
    .dark [class*="bg-neutral-5"] {
        background: hsl(220 15% 10%) !important;
    }
.\!dark [class*="bg-slate-5"],
    .\!dark [class*="bg-gray-5"],
    .\!dark [class*="bg-neutral-5"] {
        background: hsl(220 15% 10%) !important;
    }
/* ========================================
       Step 2: Text and Typography - BRIGHTER for readability
       ======================================== */
.\!dark h1, .\!dark h2, .\!dark h3, .\!dark h4, .\!dark h5, .\!dark h6 {
        color: hsl(210 15% 95%) !important;
    }
.dark h1, .dark h2, .dark h3, .dark h4, .dark h5, .dark h6 {
        color: hsl(210 15% 95%) !important;
    }
.\!dark h1, .\!dark h2, .\!dark h3, .\!dark h4, .\!dark h5, .\!dark h6 {
        color: hsl(210 15% 95%) !important;
    }
.\!dark p, .\!dark span, .\!dark div {
        color: inherit !important;
    }
.dark p, .dark span, .dark div {
        color: inherit;
    }
.\!dark p, .\!dark span, .\!dark div {
        color: inherit !important;
    }
.\!dark .text-muted-foreground {
        color: hsl(210 10% 65%) !important;
    }
.dark .text-muted-foreground {
        color: hsl(210 10% 65%) !important;
    }
/* Make gray text colors brighter */
.\!dark .text-gray-500,
    .\!dark .text-gray-600,
    .\!dark .text-slate-500,
    .\!dark .text-slate-600 {
        color: hsl(210 10% 65%) !important;
    }
.dark .text-gray-500,
    .dark .text-gray-600,
    .dark .text-slate-500,
    .dark .text-slate-600 {
        color: hsl(210 10% 65%) !important;
    }
.\!dark .text-gray-500,
    .\!dark .text-gray-600,
    .\!dark .text-slate-500,
    .\!dark .text-slate-600 {
        color: hsl(210 10% 65%) !important;
    }
.\!dark .text-gray-700,
    .\!dark .text-gray-800,
    .\!dark .text-slate-700,
    .\!dark .text-slate-800 {
        color: hsl(210 10% 80%) !important;
    }
.dark .text-gray-700,
    .dark .text-gray-800,
    .dark .text-slate-700,
    .dark .text-slate-800 {
        color: hsl(210 10% 80%) !important;
    }
.\!dark .text-gray-700,
    .\!dark .text-gray-800,
    .\!dark .text-slate-700,
    .\!dark .text-slate-800 {
        color: hsl(210 10% 80%) !important;
    }
.\!dark .text-gray-900,
    .\!dark .text-slate-900 {
        color: hsl(210 15% 93%) !important;
    }
.dark .text-gray-900,
    .dark .text-slate-900 {
        color: hsl(210 15% 93%) !important;
    }
.\!dark .text-gray-900,
    .\!dark .text-slate-900 {
        color: hsl(210 15% 93%) !important;
    }
/* Gradient text for headings in dark mode */
.\!dark .nav-heading-gradient {
        background: linear-gradient(135deg, hsl(210 20% 92%) 0%, hsl(210 15% 70%) 100%) !important;
        -webkit-background-clip: text !important;
        -webkit-text-fill-color: transparent !important;
        background-clip: text !important;
    }
.dark .nav-heading-gradient {
        background: linear-gradient(135deg, hsl(210 20% 92%) 0%, hsl(210 15% 70%) 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
    }
/* ========================================
       Step 3: Cards, Inputs, and Borders
       ======================================== */
/* Card surfaces with subtle elevation */
.\!dark .nav-card,
    .\!dark [class*="bg-card"] {
        background: hsl(220 18% 11%) !important;
        border-color: hsl(220 15% 16%) !important;
    }
.dark .nav-card,
    .dark [class*="bg-card"] {
        background: hsl(220 18% 11%);
        border-color: hsl(220 15% 16%) !important;
    }
.\!dark .nav-card,
    .\!dark [class*="bg-card"] {
        background: hsl(220 18% 11%) !important;
        border-color: hsl(220 15% 16%) !important;
    }
.\!dark .nav-card-elevated {
        background: hsl(220 16% 13%) !important;
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -2px rgba(0, 0, 0, 0.3) !important;
    }
.dark .nav-card-elevated {
        background: hsl(220 16% 13%);
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -2px rgba(0, 0, 0, 0.3);
    }
/* Glass-like cards */
.\!dark .nav-card-glass {
        background: hsla(220, 18%, 11%, 0.9) !important;
        backdrop-filter: blur(10px) !important;
        border: 1px solid hsla(220, 15%, 20%, 0.5) !important;
    }
.dark .nav-card-glass {
        background: hsla(220, 18%, 11%, 0.9);
        backdrop-filter: blur(10px);
        border: 1px solid hsla(220, 15%, 20%, 0.5) !important;
    }
/* Input fields */
.\!dark input,
    .\!dark textarea,
    .\!dark select,
    .\!dark .nav-input {
        background: hsl(220 18% 11%) !important;
        border-color: hsl(220 15% 22%) !important;
        color: hsl(210 20% 95%) !important;
    }
.dark input,
    .dark textarea,
    .dark select,
    .dark .nav-input {
        background: hsl(220 18% 11%) !important;
        border-color: hsl(220 15% 22%) !important;
        color: hsl(210 20% 95%);
    }
.\!dark input,
    .\!dark textarea,
    .\!dark select,
    .\!dark .nav-input {
        background: hsl(220 18% 11%) !important;
        border-color: hsl(220 15% 22%) !important;
        color: hsl(210 20% 95%) !important;
    }
.\!dark input:focus,
    .\!dark textarea:focus,
    .\!dark select:focus,
    .\!dark .nav-input:focus {
        border-color: hsl(0 75% 55%) !important;
        box-shadow: 0 0 0 2px hsla(0, 75%, 55%, 0.2) !important;
        outline: none !important;
    }
.dark input:focus,
    .dark textarea:focus,
    .dark select:focus,
    .dark .nav-input:focus {
        border-color: hsl(0 75% 55%) !important;
        box-shadow: 0 0 0 2px hsla(0, 75%, 55%, 0.2) !important;
        outline: none;
    }
.\!dark input:focus,
    .\!dark textarea:focus,
    .\!dark select:focus,
    .\!dark .nav-input:focus {
        border-color: hsl(0 75% 55%) !important;
        box-shadow: 0 0 0 2px hsla(0, 75%, 55%, 0.2) !important;
        outline: none !important;
    }
.\!dark input::placeholder,
    .\!dark textarea::placeholder {
        color: hsl(210 10% 45%) !important;
    }
.dark input::placeholder,
    .dark textarea::placeholder {
        color: hsl(210 10% 45%);
    }
.\!dark input::placeholder,
    .\!dark textarea::placeholder {
        color: hsl(210 10% 45%) !important;
    }
/* Dropdown/Select menus */
.\!dark [role="listbox"],
    .\!dark [data-radix-popper-content-wrapper] [role="listbox"] {
        background: hsl(220 18% 13%) !important;
        border-color: hsl(220 15% 22%) !important;
    }
.dark [role="listbox"],
    .dark [data-radix-popper-content-wrapper] [role="listbox"] {
        background: hsl(220 18% 13%);
        border-color: hsl(220 15% 22%);
    }
.\!dark [role="listbox"],
    .\!dark [data-radix-popper-content-wrapper] [role="listbox"] {
        background: hsl(220 18% 13%) !important;
        border-color: hsl(220 15% 22%) !important;
    }
.\!dark [role="option"]:hover,
    .\!dark [data-highlighted] {
        background: hsl(220 15% 18%) !important;
    }
.dark [role="option"]:hover,
    .dark [data-highlighted] {
        background: hsl(220 15% 18%);
    }
.\!dark [role="option"]:hover,
    .\!dark [data-highlighted] {
        background: hsl(220 15% 18%) !important;
    }
/* ========================================
       Step 4: Tables and Gantt Charts
       ======================================== */
.\!dark table {
        border-color: hsl(220 15% 18%) !important;
    }
.dark table {
        border-color: hsl(220 15% 18%);
    }
.\!dark thead,
    .\!dark .nav-table-header {
        background: hsl(220 18% 11%) !important;
        border-color: hsl(220 15% 18%) !important;
    }
.dark thead,
    .dark .nav-table-header {
        background: hsl(220 18% 11%);
        border-color: hsl(220 15% 18%);
    }
.\!dark thead,
    .\!dark .nav-table-header {
        background: hsl(220 18% 11%) !important;
        border-color: hsl(220 15% 18%) !important;
    }
.\!dark th {
        color: hsl(210 15% 70%) !important;
        font-weight: 600 !important;
        border-color: hsl(220 15% 18%) !important;
    }
.dark th {
        color: hsl(210 15% 70%);
        font-weight: 600;
        border-color: hsl(220 15% 18%);
    }
.\!dark tbody tr,
    .\!dark .nav-table-row {
        border-color: hsl(220 15% 16%) !important;
    }
.dark tbody tr,
    .dark .nav-table-row {
        border-color: hsl(220 15% 16%);
    }
.\!dark tbody tr,
    .\!dark .nav-table-row {
        border-color: hsl(220 15% 16%) !important;
    }
.\!dark tbody tr:hover,
    .\!dark .nav-table-row:hover {
        background: hsl(220 15% 14%) !important;
    }
.dark tbody tr:hover,
    .dark .nav-table-row:hover {
        background: hsl(220 15% 14%);
    }
.\!dark tbody tr:hover,
    .\!dark .nav-table-row:hover {
        background: hsl(220 15% 14%) !important;
    }
.\!dark td {
        border-color: hsl(220 15% 16%) !important;
    }
.dark td {
        border-color: hsl(220 15% 16%);
    }
/* Gantt chart bars */
.\!dark .gantt-bar {
        border-radius: 4px !important;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
    }
.dark .gantt-bar {
        border-radius: 4px;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    }
.\!dark .gantt-track {
        background: hsl(220 15% 14%) !important;
    }
.dark .gantt-track {
        background: hsl(220 15% 14%);
    }
.\!dark .gantt-milestone {
        background: hsl(0 75% 55%) !important;
    }
.dark .gantt-milestone {
        background: hsl(0 75% 55%);
    }
/* ========================================
       Step 5: Red Navigation Accents
       ======================================== */
/* Primary buttons with red accent */
.\!dark .btn-primary,
    .\!dark [class*="bg-primary"]:not([class*="foreground"]) {
        background: hsl(0 75% 55%) !important;
        color: white !important;
    }
.dark .btn-primary,
    .dark [class*="bg-primary"]:not([class*="foreground"]) {
        background: hsl(0 75% 55%) !important;
        color: white !important;
    }
.\!dark .btn-primary,
    .\!dark [class*="bg-primary"]:not([class*="foreground"]) {
        background: hsl(0 75% 55%) !important;
        color: white !important;
    }
.\!dark .btn-primary:hover,
    .\!dark [class*="bg-primary"]:not([class*="foreground"]):hover {
        background: hsl(0 75% 50%) !important;
    }
.dark .btn-primary:hover,
    .dark [class*="bg-primary"]:not([class*="foreground"]):hover {
        background: hsl(0 75% 50%) !important;
    }
.\!dark .btn-primary:hover,
    .\!dark [class*="bg-primary"]:not([class*="foreground"]):hover {
        background: hsl(0 75% 50%) !important;
    }
/* Red accent highlights */
.\!dark .nav-accent-border {
        border-color: hsl(0 75% 55%) !important;
    }
.dark .nav-accent-border {
        border-color: hsl(0 75% 55%);
    }
.\!dark .nav-accent-text {
        color: hsl(0 75% 60%) !important;
    }
.dark .nav-accent-text {
        color: hsl(0 75% 60%);
    }
.\!dark .nav-accent-bg {
        background: hsl(0 75% 55%) !important;
    }
.dark .nav-accent-bg {
        background: hsl(0 75% 55%);
    }
/* Active/selected states with red accent */
.\!dark [data-state="active"],
    .\!dark .active {
        border-color: hsl(0 75% 55%) !important;
    }
.dark [data-state="active"],
    .dark .active {
        border-color: hsl(0 75% 55%);
    }
.\!dark [data-state="active"],
    .\!dark .active {
        border-color: hsl(0 75% 55%) !important;
    }

    .dark .\!active {
        border-color: hsl(0 75% 55%) !important;
    }
/* Focus rings */
.\!dark *:focus-visible {
        outline-color: hsl(0 75% 55%) !important;
        outline-offset: 2px !important;
    }
.dark *:focus-visible {
        outline-color: hsl(0 75% 55%);
        outline-offset: 2px;
    }
/* Progress bars */
.\!dark .progress-bar,
    .\!dark [role="progressbar"] > div {
        background: linear-gradient(90deg, hsl(0 75% 55%) 0%, hsl(0 65% 50%) 100%) !important;
    }
.dark .progress-bar,
    .dark [role="progressbar"] > div {
        background: linear-gradient(90deg, hsl(0 75% 55%) 0%, hsl(0 65% 50%) 100%);
    }
.\!dark .progress-bar,
    .\!dark [role="progressbar"] > div {
        background: linear-gradient(90deg, hsl(0 75% 55%) 0%, hsl(0 65% 50%) 100%) !important;
    }
/* Sidebar active state */
.\!dark .nav-sidebar-item.active,
    .\!dark [aria-current="page"] {
        background: hsla(0, 75%, 55%, 0.1) !important;
        color: hsl(0 75% 60%) !important;
        border-left: 3px solid hsl(0 75% 55%) !important;
    }
.dark .nav-sidebar-item.active,
    .dark [aria-current="page"] {
        background: hsla(0, 75%, 55%, 0.1);
        color: hsl(0 75% 60%);
        border-left: 3px solid hsl(0 75% 55%);
    }
.dark .nav-sidebar-item.\!active {
        background: hsla(0, 75%, 55%, 0.1) !important;
        color: hsl(0 75% 60%) !important;
        border-left: 3px solid hsl(0 75% 55%) !important;
    }
.\!dark .nav-sidebar-item.active,
    .\!dark [aria-current="page"] {
        background: hsla(0, 75%, 55%, 0.1) !important;
        color: hsl(0 75% 60%) !important;
        border-left: 3px solid hsl(0 75% 55%) !important;
    }
/* ========================================
       Step 6: Softened Status & Safety Colors
       ======================================== */
/* Success - Softer green */
.\!dark .nav-status-success,
    .\!dark .text-green-600,
    .\!dark .text-green-500 {
        color: hsl(150 55% 55%) !important;
    }
.dark .nav-status-success,
    .dark .text-green-600,
    .dark .text-green-500 {
        color: hsl(150 55% 55%) !important;
    }
.\!dark .nav-status-success,
    .\!dark .text-green-600,
    .\!dark .text-green-500 {
        color: hsl(150 55% 55%) !important;
    }
.\!dark .bg-green-100,
    .\!dark .bg-green-50 {
        background: hsla(150, 55%, 40%, 0.15) !important;
    }
.dark .bg-green-100,
    .dark .bg-green-50 {
        background: hsla(150, 55%, 40%, 0.15) !important;
    }
.\!dark .bg-green-100,
    .\!dark .bg-green-50 {
        background: hsla(150, 55%, 40%, 0.15) !important;
    }
.\!dark .bg-green-500,
    .\!dark .bg-green-600 {
        background: hsl(150 55% 40%) !important;
    }
.dark .bg-green-500,
    .dark .bg-green-600 {
        background: hsl(150 55% 40%) !important;
    }
.\!dark .bg-green-500,
    .\!dark .bg-green-600 {
        background: hsl(150 55% 40%) !important;
    }
.\!dark .border-green-300,
    .\!dark .border-green-200 {
        border-color: hsla(150, 55%, 40%, 0.3) !important;
    }
.dark .border-green-300,
    .dark .border-green-200 {
        border-color: hsla(150, 55%, 40%, 0.3) !important;
    }
.\!dark .border-green-300,
    .\!dark .border-green-200 {
        border-color: hsla(150, 55%, 40%, 0.3) !important;
    }
/* Warning - Softer amber/yellow */
.\!dark .nav-status-warning,
    .\!dark .text-yellow-600,
    .\!dark .text-yellow-500,
    .\!dark .text-amber-600,
    .\!dark .text-amber-500 {
        color: hsl(40 75% 55%) !important;
    }
.dark .nav-status-warning,
    .dark .text-yellow-600,
    .dark .text-yellow-500,
    .dark .text-amber-600,
    .dark .text-amber-500 {
        color: hsl(40 75% 55%) !important;
    }
.\!dark .nav-status-warning,
    .\!dark .text-yellow-600,
    .\!dark .text-yellow-500,
    .\!dark .text-amber-600,
    .\!dark .text-amber-500 {
        color: hsl(40 75% 55%) !important;
    }
.\!dark .bg-yellow-100,
    .\!dark .bg-yellow-50,
    .\!dark .bg-amber-100,
    .\!dark .bg-amber-50 {
        background: hsla(40, 75%, 45%, 0.15) !important;
    }
.dark .bg-yellow-100,
    .dark .bg-yellow-50,
    .dark .bg-amber-100,
    .dark .bg-amber-50 {
        background: hsla(40, 75%, 45%, 0.15) !important;
    }
.\!dark .bg-yellow-100,
    .\!dark .bg-yellow-50,
    .\!dark .bg-amber-100,
    .\!dark .bg-amber-50 {
        background: hsla(40, 75%, 45%, 0.15) !important;
    }
.\!dark .bg-yellow-500,
    .\!dark .bg-amber-500 {
        background: hsl(40 75% 45%) !important;
    }
.dark .bg-yellow-500,
    .dark .bg-amber-500 {
        background: hsl(40 75% 45%) !important;
    }
.\!dark .bg-yellow-500,
    .\!dark .bg-amber-500 {
        background: hsl(40 75% 45%) !important;
    }
.\!dark .border-yellow-300,
    .\!dark .border-amber-300 {
        border-color: hsla(40, 75%, 45%, 0.3) !important;
    }
.dark .border-yellow-300,
    .dark .border-amber-300 {
        border-color: hsla(40, 75%, 45%, 0.3) !important;
    }
.\!dark .border-yellow-300,
    .\!dark .border-amber-300 {
        border-color: hsla(40, 75%, 45%, 0.3) !important;
    }
/* Danger/Error - Softer red */
.\!dark .nav-status-danger,
    .\!dark .text-red-600,
    .\!dark .text-red-500 {
        color: hsl(0 65% 55%) !important;
    }
.dark .nav-status-danger,
    .dark .text-red-600,
    .dark .text-red-500 {
        color: hsl(0 65% 55%) !important;
    }
.\!dark .nav-status-danger,
    .\!dark .text-red-600,
    .\!dark .text-red-500 {
        color: hsl(0 65% 55%) !important;
    }
.\!dark .bg-red-100,
    .\!dark .bg-red-50 {
        background: hsla(0, 65%, 45%, 0.15) !important;
    }
.dark .bg-red-100,
    .dark .bg-red-50 {
        background: hsla(0, 65%, 45%, 0.15) !important;
    }
.\!dark .bg-red-100,
    .\!dark .bg-red-50 {
        background: hsla(0, 65%, 45%, 0.15) !important;
    }
.\!dark .bg-red-500,
    .\!dark .bg-red-600 {
        background: hsl(0 65% 45%) !important;
    }
.dark .bg-red-500,
    .dark .bg-red-600 {
        background: hsl(0 65% 45%) !important;
    }
.\!dark .bg-red-500,
    .\!dark .bg-red-600 {
        background: hsl(0 65% 45%) !important;
    }
.\!dark .border-red-300,
    .\!dark .border-red-200 {
        border-color: hsla(0, 65%, 45%, 0.3) !important;
    }
.dark .border-red-300,
    .dark .border-red-200 {
        border-color: hsla(0, 65%, 45%, 0.3) !important;
    }
.\!dark .border-red-300,
    .\!dark .border-red-200 {
        border-color: hsla(0, 65%, 45%, 0.3) !important;
    }
/* Info - Softer blue */
.\!dark .nav-status-info,
    .\!dark .text-blue-600,
    .\!dark .text-blue-500 {
        color: hsl(200 65% 55%) !important;
    }
.dark .nav-status-info,
    .dark .text-blue-600,
    .dark .text-blue-500 {
        color: hsl(200 65% 55%) !important;
    }
.\!dark .nav-status-info,
    .\!dark .text-blue-600,
    .\!dark .text-blue-500 {
        color: hsl(200 65% 55%) !important;
    }
.\!dark .bg-blue-100,
    .\!dark .bg-blue-50 {
        background: hsla(200, 65%, 45%, 0.15) !important;
    }
.dark .bg-blue-100,
    .dark .bg-blue-50 {
        background: hsla(200, 65%, 45%, 0.15) !important;
    }
.\!dark .bg-blue-100,
    .\!dark .bg-blue-50 {
        background: hsla(200, 65%, 45%, 0.15) !important;
    }
.\!dark .bg-blue-500,
    .\!dark .bg-blue-600 {
        background: hsl(200 65% 45%) !important;
    }
.dark .bg-blue-500,
    .dark .bg-blue-600 {
        background: hsl(200 65% 45%) !important;
    }
.\!dark .bg-blue-500,
    .\!dark .bg-blue-600 {
        background: hsl(200 65% 45%) !important;
    }
.\!dark .border-blue-300,
    .\!dark .border-blue-200 {
        border-color: hsla(200, 65%, 45%, 0.3) !important;
    }
.dark .border-blue-300,
    .dark .border-blue-200 {
        border-color: hsla(200, 65%, 45%, 0.3) !important;
    }
.\!dark .border-blue-300,
    .\!dark .border-blue-200 {
        border-color: hsla(200, 65%, 45%, 0.3) !important;
    }
/* Purple/Violet */
.\!dark .text-purple-600,
    .\!dark .text-purple-500,
    .\!dark .text-violet-600 {
        color: hsl(270 60% 60%) !important;
    }
.dark .text-purple-600,
    .dark .text-purple-500,
    .dark .text-violet-600 {
        color: hsl(270 60% 60%) !important;
    }
.\!dark .text-purple-600,
    .\!dark .text-purple-500,
    .\!dark .text-violet-600 {
        color: hsl(270 60% 60%) !important;
    }
.\!dark .bg-purple-100,
    .\!dark .bg-purple-50,
    .\!dark .bg-violet-100 {
        background: hsla(270, 60%, 45%, 0.15) !important;
    }
.dark .bg-purple-100,
    .dark .bg-purple-50,
    .dark .bg-violet-100 {
        background: hsla(270, 60%, 45%, 0.15) !important;
    }
.\!dark .bg-purple-100,
    .\!dark .bg-purple-50,
    .\!dark .bg-violet-100 {
        background: hsla(270, 60%, 45%, 0.15) !important;
    }
.\!dark .border-purple-300,
    .\!dark .border-violet-300 {
        border-color: hsla(270, 60%, 45%, 0.3) !important;
    }
.dark .border-purple-300,
    .dark .border-violet-300 {
        border-color: hsla(270, 60%, 45%, 0.3) !important;
    }
.\!dark .border-purple-300,
    .\!dark .border-violet-300 {
        border-color: hsla(270, 60%, 45%, 0.3) !important;
    }
/* ========================================
       Additional Component Styles
       ======================================== */
/* Dark mode gradient backgrounds */
.\!dark .nav-gradient-bg {
        background: linear-gradient(180deg, hsl(220 20% 8%) 0%, hsl(220 18% 6%) 100%) !important;
    }
.dark .nav-gradient-bg {
        background: linear-gradient(180deg, hsl(220 20% 8%) 0%, hsl(220 18% 6%) 100%);
    }
/* Override all gray borders in dark mode */
.\!dark .border-gray-100,
    .\!dark .border-gray-200,
    .\!dark .border-gray-300,
    .\!dark .border-slate-200,
    .\!dark .border-slate-300,
    .\!dark .border-neutral-200,
    .\!dark .border-zinc-200 {
        border-color: hsl(220 15% 14%) !important;
    }
.dark .border-gray-100,
    .dark .border-gray-200,
    .dark .border-gray-300,
    .dark .border-slate-200,
    .dark .border-slate-300,
    .dark .border-neutral-200,
    .dark .border-zinc-200 {
        border-color: hsl(220 15% 14%) !important;
    }
.\!dark .border-gray-100,
    .\!dark .border-gray-200,
    .\!dark .border-gray-300,
    .\!dark .border-slate-200,
    .\!dark .border-slate-300,
    .\!dark .border-neutral-200,
    .\!dark .border-zinc-200 {
        border-color: hsl(220 15% 14%) !important;
    }
/* ========================================
       CRITICAL: Remove ALL white backgrounds
       ======================================== */
/* Force all bg-white to dark */
.\!dark .bg-white {
        background: hsl(220 18% 11%) !important;
    }
.dark .bg-white {
        background: hsl(220 18% 11%) !important;
    }
.\!dark .bg-white\/70,
    .\!dark .bg-white\/50 {
        background: hsla(220, 18%, 11%, 0.9) !important;
    }
.dark .bg-white\/70,
    .dark .bg-white\/50 {
        background: hsla(220, 18%, 11%, 0.9) !important;
    }
.\!dark .bg-white\/70,
    .\!dark .bg-white\/50 {
        background: hsla(220, 18%, 11%, 0.9) !important;
    }
/* Gray backgrounds should be dark */
.\!dark .bg-gray-50,
    .\!dark .bg-gray-100,
    .\!dark .bg-slate-50,
    .\!dark .bg-slate-100,
    .\!dark .bg-neutral-50 {
        background: hsl(220 15% 13%) !important;
    }
.dark .bg-gray-50,
    .dark .bg-gray-100,
    .dark .bg-slate-50,
    .dark .bg-slate-100,
    .dark .bg-neutral-50 {
        background: hsl(220 15% 13%) !important;
    }
.\!dark .bg-gray-50,
    .\!dark .bg-gray-100,
    .\!dark .bg-slate-50,
    .\!dark .bg-slate-100,
    .\!dark .bg-neutral-50 {
        background: hsl(220 15% 13%) !important;
    }
.\!dark .bg-gray-200,
    .\!dark .bg-slate-200 {
        background: hsl(220 15% 16%) !important;
    }
.dark .bg-gray-200,
    .dark .bg-slate-200 {
        background: hsl(220 15% 16%) !important;
    }
.\!dark .bg-gray-200,
    .\!dark .bg-slate-200 {
        background: hsl(220 15% 16%) !important;
    }
/* Table rows alternating colors */
.\!dark tr:nth-child(even),
    .\!dark tbody tr:nth-child(even) {
        background: hsl(220 15% 10%) !important;
    }
.dark tr:nth-child(even),
    .dark tbody tr:nth-child(even) {
        background: hsl(220 15% 10%) !important;
    }
.\!dark tr:nth-child(even),
    .\!dark tbody tr:nth-child(even) {
        background: hsl(220 15% 10%) !important;
    }
.\!dark tr:nth-child(odd),
    .\!dark tbody tr:nth-child(odd) {
        background: hsl(220 18% 11%) !important;
    }
.dark tr:nth-child(odd),
    .dark tbody tr:nth-child(odd) {
        background: hsl(220 18% 11%) !important;
    }
.\!dark tr:nth-child(odd),
    .\!dark tbody tr:nth-child(odd) {
        background: hsl(220 18% 11%) !important;
    }
/* Hover states for rows */
.\!dark .hover\:bg-gray-100:hover,
    .\!dark .hover\:bg-gray-50:hover,
    .\!dark .hover\:bg-slate-100:hover {
        background: hsl(220 15% 16%) !important;
    }
.dark .hover\:bg-gray-100:hover,
    .dark .hover\:bg-gray-50:hover,
    .dark .hover\:bg-slate-100:hover {
        background: hsl(220 15% 16%) !important;
    }
.\!dark .hover\:bg-gray-100:hover,
    .\!dark .hover\:bg-gray-50:hover,
    .\!dark .hover\:bg-slate-100:hover {
        background: hsl(220 15% 16%) !important;
    }
/* Gantt chart / Timeline specific */
.\!dark .divide-y > *,
    .\!dark .divide-x > * {
        border-color: hsl(220 15% 14%) !important;
    }
.dark .divide-y > *,
    .dark .divide-x > * {
        border-color: hsl(220 15% 14%) !important;
    }
.\!dark .divide-y > *,
    .\!dark .divide-x > * {
        border-color: hsl(220 15% 14%) !important;
    }
/* Excel/Table view cells */
.\!dark td,
    .\!dark th {
        background: inherit !important;
        border-color: hsl(220 15% 14%) !important;
    }
.dark td,
    .dark th {
        background: inherit;
        border-color: hsl(220 15% 14%) !important;
    }
.\!dark td,
    .\!dark th {
        background: inherit !important;
        border-color: hsl(220 15% 14%) !important;
    }
/* Calendar day cells */
.\!dark .bg-blue-100 {
        background: hsla(217, 91%, 60%, 0.2) !important;
    }
.dark .bg-blue-100 {
        background: hsla(217, 91%, 60%, 0.2) !important;
    }
.\!dark .bg-blue-200 {
        background: hsla(217, 91%, 60%, 0.3) !important;
    }
.dark .bg-blue-200 {
        background: hsla(217, 91%, 60%, 0.3) !important;
    }
/* Backdrop blur areas */
.\!dark .backdrop-blur-md,
    .\!dark .backdrop-blur-sm {
        background: hsla(220, 18%, 10%, 0.95) !important;
    }
.dark .backdrop-blur-md,
    .dark .backdrop-blur-sm {
        background: hsla(220, 18%, 10%, 0.95) !important;
    }
.\!dark .backdrop-blur-md,
    .\!dark .backdrop-blur-sm {
        background: hsla(220, 18%, 10%, 0.95) !important;
    }
/* Sticky headers */
.\!dark .sticky {
        background: hsl(220 18% 10%) !important;
    }
.dark .sticky {
        background: hsl(220 18% 10%) !important;
    }
/* Chart/Graph backgrounds */
.\!dark .recharts-wrapper,
    .\!dark .recharts-surface {
        background: transparent !important;
    }
.dark .recharts-wrapper,
    .dark .recharts-surface {
        background: transparent !important;
    }
.\!dark .recharts-wrapper,
    .\!dark .recharts-surface {
        background: transparent !important;
    }
.\!dark .recharts-cartesian-grid-bg {
        fill: hsl(220 18% 11%) !important;
    }
.dark .recharts-cartesian-grid-bg {
        fill: hsl(220 18% 11%) !important;
    }
/* Shadows should be darker in dark mode */
.\!dark .shadow,
    .\!dark .shadow-sm,
    .\!dark .shadow-md,
    .\!dark .shadow-lg,
    .\!dark .shadow-xl {
        --tw-shadow-color: rgba(0, 0, 0, 0.5) !important;
    }
.dark .shadow,
    .dark .shadow-sm,
    .dark .shadow-md,
    .dark .shadow-lg,
    .dark .shadow-xl {
        --tw-shadow-color: rgba(0, 0, 0, 0.5) !important;
    }
.\!dark .shadow,
    .\!dark .shadow-sm,
    .\!dark .shadow-md,
    .\!dark .shadow-lg,
    .\!dark .shadow-xl {
        --tw-shadow-color: rgba(0, 0, 0, 0.5) !important;
    }
/* Rounded borders with proper dark color */
.\!dark .rounded-lg,
    .\!dark .rounded-xl,
    .\!dark .rounded-md {
        border-color: hsl(220 15% 14%) !important;
    }
.dark .rounded-lg,
    .dark .rounded-xl,
    .dark .rounded-md {
        border-color: hsl(220 15% 14%);
    }
.\!dark .rounded-lg,
    .\!dark .rounded-xl,
    .\!dark .rounded-md {
        border-color: hsl(220 15% 14%) !important;
    }
/* Sidebar navigation styling */
.\!dark .nav-sidebar {
        background: hsl(220 20% 8%) !important;
        border-color: hsl(220 15% 15%) !important;
    }
.dark .nav-sidebar {
        background: hsl(220 20% 8%);
        border-color: hsl(220 15% 15%);
    }
.\!dark .nav-sidebar-item {
        color: hsl(210 10% 70%) !important;
    }
.dark .nav-sidebar-item {
        color: hsl(210 10% 70%);
    }
.\!dark .nav-sidebar-item:hover {
        background: hsl(220 15% 14%) !important;
        color: hsl(210 20% 90%) !important;
    }
.dark .nav-sidebar-item:hover {
        background: hsl(220 15% 14%);
        color: hsl(210 20% 90%);
    }
/* Dialogs/Modals */
.\!dark [role="dialog"],
    .\!dark [data-radix-dialog-content] {
        background: hsl(220 18% 13%) !important;
        border-color: hsl(220 15% 20%) !important;
    }
.dark [role="dialog"],
    .dark [data-radix-dialog-content] {
        background: hsl(220 18% 13%);
        border-color: hsl(220 15% 20%);
    }
.\!dark [role="dialog"],
    .\!dark [data-radix-dialog-content] {
        background: hsl(220 18% 13%) !important;
        border-color: hsl(220 15% 20%) !important;
    }
/* Tooltips */
.\!dark [role="tooltip"] {
        background: hsl(220 16% 18%) !important;
        border-color: hsl(220 15% 25%) !important;
        color: hsl(210 20% 90%) !important;
    }
.dark [role="tooltip"] {
        background: hsl(220 16% 18%);
        border-color: hsl(220 15% 25%);
        color: hsl(210 20% 90%);
    }
/* Badges refinement */
.\!dark .badge,
    .\!dark [class*="Badge"] {
        border-width: 1px !important;
    }
.dark .badge,
    .dark [class*="Badge"] {
        border-width: 1px;
    }
.dark .\!badge {
        border-width: 1px !important;
    }
.\!dark .badge,
    .\!dark [class*="Badge"] {
        border-width: 1px !important;
    }
/* Scrollbars for dark mode */
.\!dark ::-webkit-scrollbar {
        width: 8px !important;
        height: 8px !important;
    }
.dark ::-webkit-scrollbar {
        width: 8px;
        height: 8px;
    }
.\!dark ::-webkit-scrollbar-track {
        background: hsl(220 18% 11%) !important;
    }
.dark ::-webkit-scrollbar-track {
        background: hsl(220 18% 11%);
    }
.\!dark ::-webkit-scrollbar-thumb {
        background: hsl(220 15% 25%) !important;
        border-radius: 4px !important;
    }
.dark ::-webkit-scrollbar-thumb {
        background: hsl(220 15% 25%);
        border-radius: 4px;
    }
.\!dark ::-webkit-scrollbar-thumb:hover {
        background: hsl(220 15% 30%) !important;
    }
.dark ::-webkit-scrollbar-thumb:hover {
        background: hsl(220 15% 30%);
    }
/* Dividers/Separators */
.\!dark hr,
    .\!dark .separator,
    .\!dark [data-orientation="horizontal"] {
        border-color: hsl(220 15% 18%) !important;
        background: hsl(220 15% 18%) !important;
    }
.dark hr,
    .dark .separator,
    .dark [data-orientation="horizontal"] {
        border-color: hsl(220 15% 18%);
        background: hsl(220 15% 18%);
    }
.\!dark hr,
    .\!dark .separator,
    .\!dark [data-orientation="horizontal"] {
        border-color: hsl(220 15% 18%) !important;
        background: hsl(220 15% 18%) !important;
    }
/* Tabs */
.\!dark [role="tablist"] {
        background: hsl(220 18% 11%) !important;
        border-color: hsl(220 15% 18%) !important;
    }
.dark [role="tablist"] {
        background: hsl(220 18% 11%);
        border-color: hsl(220 15% 18%);
    }
.\!dark [role="tab"][data-state="active"] {
        background: hsl(220 15% 16%) !important;
        color: hsl(210 20% 95%) !important;
        border-color: hsl(0 75% 55%) !important;
    }
.dark [role="tab"][data-state="active"] {
        background: hsl(220 15% 16%);
        color: hsl(210 20% 95%);
        border-color: hsl(0 75% 55%);
    }
/* Avatars */
.\!dark .avatar,
    .\!dark [class*="Avatar"] {
        border-color: hsl(220 15% 25%) !important;
    }
.dark .avatar,
    .dark [class*="Avatar"] {
        border-color: hsl(220 15% 25%);
    }
.\!dark .avatar,
    .\!dark [class*="Avatar"] {
        border-color: hsl(220 15% 25%) !important;
    }
/* Skeleton loading */
.\!dark .skeleton,
    .\!dark [class*="Skeleton"] {
        background: linear-gradient(
            90deg,
            hsl(220 18% 13%) 25%,
            hsl(220 15% 18%) 50%,
            hsl(220 18% 13%) 75%
        ) !important;
        background-size: 200% 100% !important;
        animation: skeleton-loading 1.5s infinite !important;
    }
.dark .skeleton,
    .dark [class*="Skeleton"] {
        background: linear-gradient(
            90deg,
            hsl(220 18% 13%) 25%,
            hsl(220 15% 18%) 50%,
            hsl(220 18% 13%) 75%
        );
        background-size: 200% 100%;
        animation: skeleton-loading 1.5s infinite;
    }
.\!dark .skeleton,
    .\!dark [class*="Skeleton"] {
        background: linear-gradient(
            90deg,
            hsl(220 18% 13%) 25%,
            hsl(220 15% 18%) 50%,
            hsl(220 18% 13%) 75%
        ) !important;
        background-size: 200% 100% !important;
        animation: skeleton-loading 1.5s infinite !important;
    }
@keyframes skeleton-loading {
        0% { background-position: 200% 0; }
        100% { background-position: -200% 0; }
    }
/* Calendar/Date picker */
.\!dark .calendar,
    .\!dark [class*="Calendar"] {
        background: hsl(220 18% 13%) !important;
    }
.dark .calendar,
    .dark [class*="Calendar"] {
        background: hsl(220 18% 13%);
    }
.\!dark .calendar,
    .\!dark [class*="Calendar"] {
        background: hsl(220 18% 13%) !important;
    }
.\!dark .calendar-day:hover {
        background: hsl(220 15% 18%) !important;
    }
.dark .calendar-day:hover {
        background: hsl(220 15% 18%);
    }
.\!dark .calendar-day.selected {
        background: hsl(0 75% 55%) !important;
        color: white !important;
    }
.dark .calendar-day.selected {
        background: hsl(0 75% 55%);
        color: white;
    }
.dark .calendar-day.\!selected {
        background: hsl(0 75% 55%) !important;
        color: white !important;
    }
/* Charts - ensure visibility */
.\!dark .recharts-text {
        fill: hsl(210 10% 65%) !important;
    }
.dark .recharts-text {
        fill: hsl(210 10% 65%);
    }
.\!dark .recharts-cartesian-grid line {
        stroke: hsl(220 15% 20%) !important;
    }
.dark .recharts-cartesian-grid line {
        stroke: hsl(220 15% 20%);
    }
.\!dark .recharts-tooltip-wrapper .recharts-default-tooltip {
        background: hsl(220 18% 13%) !important;
        border-color: hsl(220 15% 22%) !important;
    }
.dark .recharts-tooltip-wrapper .recharts-default-tooltip {
        background: hsl(220 18% 13%) !important;
        border-color: hsl(220 15% 22%) !important;
    }
.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 !important;
}
.collapse{
  visibility: collapse;
}
.static{
  position: static;
}
.fixed{
  position: fixed;
}
.absolute{
  position: absolute;
}
.relative{
  position: relative;
}
.sticky{
  position: sticky;
}
.-inset-3{
  inset: -0.75rem;
}
.inset-0{
  inset: 0px;
}
.inset-x-0{
  left: 0px;
  right: 0px;
}
.inset-y-0{
  top: 0px;
  bottom: 0px;
}
.-bottom-0\.5{
  bottom: -0.125rem;
}
.-bottom-1{
  bottom: -0.25rem;
}
.-bottom-12{
  bottom: -3rem;
}
.-bottom-3{
  bottom: -0.75rem;
}
.-bottom-40{
  bottom: -10rem;
}
.-bottom-7{
  bottom: -1.75rem;
}
.-bottom-9{
  bottom: -2.25rem;
}
.-left-1{
  left: -0.25rem;
}
.-left-12{
  left: -3rem;
}
.-left-2{
  left: -0.5rem;
}
.-left-3\.5{
  left: -0.875rem;
}
.-left-4{
  left: -1rem;
}
.-left-40{
  left: -10rem;
}
.-left-\[1\.4rem\]{
  left: -1.4rem;
}
.-left-\[21px\]{
  left: -21px;
}
.-right-0\.5{
  right: -0.125rem;
}
.-right-1{
  right: -0.25rem;
}
.-right-1\.5{
  right: -0.375rem;
}
.-right-12{
  right: -3rem;
}
.-right-2{
  right: -0.5rem;
}
.-right-40{
  right: -10rem;
}
.-top-0\.5{
  top: -0.125rem;
}
.-top-1{
  top: -0.25rem;
}
.-top-1\.5{
  top: -0.375rem;
}
.-top-12{
  top: -3rem;
}
.-top-2{
  top: -0.5rem;
}
.-top-2\.5{
  top: -0.625rem;
}
.-top-3{
  top: -0.75rem;
}
.-top-4{
  top: -1rem;
}
.-top-40{
  top: -10rem;
}
.-top-6{
  top: -1.5rem;
}
.-top-8{
  top: -2rem;
}
.bottom-0{
  bottom: 0px;
}
.bottom-0\.5{
  bottom: 0.125rem;
}
.bottom-1{
  bottom: 0.25rem;
}
.bottom-1\.5{
  bottom: 0.375rem;
}
.bottom-1\/4{
  bottom: 25%;
}
.bottom-12{
  bottom: 3rem;
}
.bottom-16{
  bottom: 4rem;
}
.bottom-2{
  bottom: 0.5rem;
}
.bottom-20{
  bottom: 5rem;
}
.bottom-24{
  bottom: 6rem;
}
.bottom-3{
  bottom: 0.75rem;
}
.bottom-32{
  bottom: 8rem;
}
.bottom-4{
  bottom: 1rem;
}
.bottom-40{
  bottom: 10rem;
}
.bottom-6{
  bottom: 1.5rem;
}
.bottom-8{
  bottom: 2rem;
}
.bottom-\[88px\]{
  bottom: 88px;
}
.bottom-full{
  bottom: 100%;
}
.left-0{
  left: 0px;
}
.left-0\.5{
  left: 0.125rem;
}
.left-1{
  left: 0.25rem;
}
.left-1\/2{
  left: 50%;
}
.left-1\/4{
  left: 25%;
}
.left-12{
  left: 3rem;
}
.left-2{
  left: 0.5rem;
}
.left-2\.5{
  left: 0.625rem;
}
.left-3{
  left: 0.75rem;
}
.left-32{
  left: 8rem;
}
.left-4{
  left: 1rem;
}
.left-5{
  left: 1.25rem;
}
.left-6{
  left: 1.5rem;
}
.left-8{
  left: 2rem;
}
.left-\[260px\]{
  left: 260px;
}
.left-\[27px\]{
  left: 27px;
}
.left-\[50\%\]{
  left: 50%;
}
.left-\[5px\]{
  left: 5px;
}
.left-\[9px\]{
  left: 9px;
}
.right-0{
  right: 0px;
}
.right-0\.5{
  right: 0.125rem;
}
.right-1{
  right: 0.25rem;
}
.right-1\.5{
  right: 0.375rem;
}
.right-1\/4{
  right: 25%;
}
.right-12{
  right: 3rem;
}
.right-2{
  right: 0.5rem;
}
.right-3{
  right: 0.75rem;
}
.right-4{
  right: 1rem;
}
.right-6{
  right: 1.5rem;
}
.right-8{
  right: 2rem;
}
.right-\[260px\]{
  right: 260px;
}
.top-0{
  top: 0px;
}
.top-0\.5{
  top: 0.125rem;
}
.top-1{
  top: 0.25rem;
}
.top-1\.5{
  top: 0.375rem;
}
.top-1\/2{
  top: 50%;
}
.top-1\/4{
  top: 25%;
}
.top-10{
  top: 2.5rem;
}
.top-12{
  top: 3rem;
}
.top-14{
  top: 3.5rem;
}
.top-16{
  top: 4rem;
}
.top-2{
  top: 0.5rem;
}
.top-2\.5{
  top: 0.625rem;
}
.top-20{
  top: 5rem;
}
.top-24{
  top: 6rem;
}
.top-28{
  top: 7rem;
}
.top-3{
  top: 0.75rem;
}
.top-4{
  top: 1rem;
}
.top-40{
  top: 10rem;
}
.top-5{
  top: 1.25rem;
}
.top-6{
  top: 1.5rem;
}
.top-8{
  top: 2rem;
}
.top-\[1px\]{
  top: 1px;
}
.top-\[50\%\]{
  top: 50%;
}
.top-\[60\%\]{
  top: 60%;
}
.top-full{
  top: 100%;
}
.isolate{
  isolation: isolate;
}
.-z-10{
  z-index: -10;
}
.z-0{
  z-index: 0;
}
.z-10{
  z-index: 10;
}
.z-20{
  z-index: 20;
}
.z-30{
  z-index: 30;
}
.z-40{
  z-index: 40;
}
.z-50{
  z-index: 50;
}
.z-\[1000\]{
  z-index: 1000;
}
.z-\[1001\]{
  z-index: 1001;
}
.z-\[1002\]{
  z-index: 1002;
}
.z-\[100\]{
  z-index: 100;
}
.z-\[120\]{
  z-index: 120;
}
.z-\[1\]{
  z-index: 1;
}
.order-1{
  order: 1;
}
.order-2{
  order: 2;
}
.col-span-1{
  grid-column: span 1 / span 1;
}
.col-span-12{
  grid-column: span 12 / span 12;
}
.col-span-2{
  grid-column: span 2 / span 2;
}
.col-span-3{
  grid-column: span 3 / span 3;
}
.col-span-4{
  grid-column: span 4 / span 4;
}
.col-span-6{
  grid-column: span 6 / span 6;
}
.col-span-9{
  grid-column: span 9 / span 9;
}
.col-span-full{
  grid-column: 1 / -1;
}
.row-span-2{
  grid-row: span 2 / span 2;
}
.-m-3{
  margin: -0.75rem;
}
.-m-4{
  margin: -1rem;
}
.-m-6{
  margin: -1.5rem;
}
.m-0{
  margin: 0px;
}
.-mx-1{
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}
.-mx-2{
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}
.-mx-3{
  margin-left: -0.75rem;
  margin-right: -0.75rem;
}
.-mx-4{
  margin-left: -1rem;
  margin-right: -1rem;
}
.-mx-6{
  margin-left: -1.5rem;
  margin-right: -1.5rem;
}
.mx-0{
  margin-left: 0px;
  margin-right: 0px;
}
.mx-0\.5{
  margin-left: 0.125rem;
  margin-right: 0.125rem;
}
.mx-1{
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}
.mx-2{
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.mx-4{
  margin-left: 1rem;
  margin-right: 1rem;
}
.mx-auto{
  margin-left: auto;
  margin-right: auto;
}
.my-1{
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
.my-1\.5{
  margin-top: 0.375rem;
  margin-bottom: 0.375rem;
}
.my-12{
  margin-top: 3rem;
  margin-bottom: 3rem;
}
.my-2{
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.my-3{
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}
.my-4{
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.my-6{
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.my-8{
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.-mb-2{
  margin-bottom: -0.5rem;
}
.-mb-\[1px\]{
  margin-bottom: -1px;
}
.-ml-4{
  margin-left: -1rem;
}
.-mr-1{
  margin-right: -0.25rem;
}
.-mr-4{
  margin-right: -1rem;
}
.-mt-0\.5{
  margin-top: -0.125rem;
}
.-mt-1{
  margin-top: -0.25rem;
}
.-mt-2{
  margin-top: -0.5rem;
}
.-mt-4{
  margin-top: -1rem;
}
.-mt-8{
  margin-top: -2rem;
}
.mb-0\.5{
  margin-bottom: 0.125rem;
}
.mb-1{
  margin-bottom: 0.25rem;
}
.mb-1\.5{
  margin-bottom: 0.375rem;
}
.mb-10{
  margin-bottom: 2.5rem;
}
.mb-12{
  margin-bottom: 3rem;
}
.mb-16{
  margin-bottom: 4rem;
}
.mb-2{
  margin-bottom: 0.5rem;
}
.mb-2\.5{
  margin-bottom: 0.625rem;
}
.mb-3{
  margin-bottom: 0.75rem;
}
.mb-4{
  margin-bottom: 1rem;
}
.mb-5{
  margin-bottom: 1.25rem;
}
.mb-6{
  margin-bottom: 1.5rem;
}
.mb-8{
  margin-bottom: 2rem;
}
.ml-0{
  margin-left: 0px;
}
.ml-0\.5{
  margin-left: 0.125rem;
}
.ml-1{
  margin-left: 0.25rem;
}
.ml-1\.5{
  margin-left: 0.375rem;
}
.ml-11{
  margin-left: 2.75rem;
}
.ml-12{
  margin-left: 3rem;
}
.ml-14{
  margin-left: 3.5rem;
}
.ml-16{
  margin-left: 4rem;
}
.ml-2{
  margin-left: 0.5rem;
}
.ml-24{
  margin-left: 6rem;
}
.ml-3{
  margin-left: 0.75rem;
}
.ml-4{
  margin-left: 1rem;
}
.ml-5{
  margin-left: 1.25rem;
}
.ml-6{
  margin-left: 1.5rem;
}
.ml-7{
  margin-left: 1.75rem;
}
.ml-8{
  margin-left: 2rem;
}
.ml-9{
  margin-left: 2.25rem;
}
.ml-\[18px\]{
  margin-left: 18px;
}
.ml-auto{
  margin-left: auto;
}
.mr-0{
  margin-right: 0px;
}
.mr-0\.5{
  margin-right: 0.125rem;
}
.mr-1{
  margin-right: 0.25rem;
}
.mr-1\.5{
  margin-right: 0.375rem;
}
.mr-2{
  margin-right: 0.5rem;
}
.mr-3{
  margin-right: 0.75rem;
}
.mr-4{
  margin-right: 1rem;
}
.mr-8{
  margin-right: 2rem;
}
.mr-\[420px\]{
  margin-right: 420px;
}
.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-12{
  margin-top: 3rem;
}
.mt-14{
  margin-top: 3.5rem;
}
.mt-16{
  margin-top: 4rem;
}
.mt-2{
  margin-top: 0.5rem;
}
.mt-2\.5{
  margin-top: 0.625rem;
}
.mt-20{
  margin-top: 5rem;
}
.mt-24{
  margin-top: 6rem;
}
.mt-3{
  margin-top: 0.75rem;
}
.mt-4{
  margin-top: 1rem;
}
.mt-5{
  margin-top: 1.25rem;
}
.mt-6{
  margin-top: 1.5rem;
}
.mt-8{
  margin-top: 2rem;
}
.mt-\[1px\]{
  margin-top: 1px;
}
.mt-auto{
  margin-top: auto;
}
.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 !important;
}
.table{
  display: table;
}
.grid{
  display: grid;
}
.contents{
  display: contents;
}
.hidden{
  display: none;
}
.aspect-\[21\/9\]{
  aspect-ratio: 21/9;
}
.aspect-\[3\/4\]{
  aspect-ratio: 3/4;
}
.aspect-\[4\/3\]{
  aspect-ratio: 4/3;
}
.aspect-square{
  aspect-ratio: 1 / 1;
}
.aspect-video{
  aspect-ratio: 16 / 9;
}
.h-0\.5{
  height: 0.125rem;
}
.h-1{
  height: 0.25rem;
}
.h-1\.5{
  height: 0.375rem;
}
.h-1\/2{
  height: 50%;
}
.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-28{
  height: 7rem;
}
.h-3{
  height: 0.75rem;
}
.h-3\.5{
  height: 0.875rem;
}
.h-3\/5{
  height: 60%;
}
.h-32{
  height: 8rem;
}
.h-36{
  height: 9rem;
}
.h-4{
  height: 1rem;
}
.h-40{
  height: 10rem;
}
.h-48{
  height: 12rem;
}
.h-5{
  height: 1.25rem;
}
.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-\[100dvh\]{
  height: 100dvh;
}
.h-\[10px\]{
  height: 10px;
}
.h-\[120px\]{
  height: 120px;
}
.h-\[150px\]{
  height: 150px;
}
.h-\[180px\]{
  height: 180px;
}
.h-\[1px\]{
  height: 1px;
}
.h-\[200px\]{
  height: 200px;
}
.h-\[250px\]{
  height: 250px;
}
.h-\[280px\]{
  height: 280px;
}
.h-\[300px\]{
  height: 300px;
}
.h-\[320px\]{
  height: 320px;
}
.h-\[350px\]{
  height: 350px;
}
.h-\[400px\]{
  height: 400px;
}
.h-\[40vh\]{
  height: 40vh;
}
.h-\[45vh\]{
  height: 45vh;
}
.h-\[500px\]{
  height: 500px;
}
.h-\[50vh\]{
  height: 50vh;
}
.h-\[520px\]{
  height: 520px;
}
.h-\[600px\]{
  height: 600px;
}
.h-\[60vh\]{
  height: 60vh;
}
.h-\[70vh\]{
  height: 70vh;
}
.h-\[75px\]{
  height: 75px;
}
.h-\[80vh\]{
  height: 80vh;
}
.h-\[85vh\]{
  height: 85vh;
}
.h-\[90vh\]{
  height: 90vh;
}
.h-\[calc\(100\%-60px\)\]{
  height: calc(100% - 60px);
}
.h-\[calc\(100\%-80px\)\]{
  height: calc(100% - 80px);
}
.h-\[calc\(100vh-100px\)\]{
  height: calc(100vh - 100px);
}
.h-\[calc\(100vh-120px\)\]{
  height: calc(100vh - 120px);
}
.h-\[calc\(100vh-150px\)\]{
  height: calc(100vh - 150px);
}
.h-\[calc\(100vh-180px\)\]{
  height: calc(100vh - 180px);
}
.h-\[calc\(100vh-200px\)\]{
  height: calc(100vh - 200px);
}
.h-\[calc\(100vh-220px\)\]{
  height: calc(100vh - 220px);
}
.h-\[calc\(100vh-250px\)\]{
  height: calc(100vh - 250px);
}
.h-\[calc\(100vh-260px\)\]{
  height: calc(100vh - 260px);
}
.h-\[calc\(100vh-280px\)\]{
  height: calc(100vh - 280px);
}
.h-\[calc\(100vh-300px\)\]{
  height: calc(100vh - 300px);
}
.h-\[calc\(100vh-350px\)\]{
  height: calc(100vh - 350px);
}
.h-\[calc\(100vh-400px\)\]{
  height: calc(100vh - 400px);
}
.h-\[calc\(100vh-420px\)\]{
  height: calc(100vh - 420px);
}
.h-\[calc\(100vh-4rem\)\]{
  height: calc(100vh - 4rem);
}
.h-\[calc\(100vh-64px\)\]{
  height: calc(100vh - 64px);
}
.h-\[calc\(100vh-80px\)\]{
  height: calc(100vh - 80px);
}
.h-\[calc\(85vh-180px\)\]{
  height: calc(85vh - 180px);
}
.h-\[calc\(85vh-200px\)\]{
  height: calc(85vh - 200px);
}
.h-\[calc\(85vh-260px\)\]{
  height: calc(85vh - 260px);
}
.h-\[var\(--radix-navigation-menu-viewport-height\)\]{
  height: var(--radix-navigation-menu-viewport-height);
}
.h-\[var\(--radix-select-trigger-height\)\]{
  height: var(--radix-select-trigger-height);
}
.h-auto{
  height: auto;
}
.h-fit{
  height: fit-content;
}
.h-full{
  height: 100%;
}
.h-px{
  height: 1px;
}
.h-screen{
  height: 100vh;
}
.max-h-16{
  max-height: 4rem;
}
.max-h-24{
  max-height: 6rem;
}
.max-h-28{
  max-height: 7rem;
}
.max-h-32{
  max-height: 8rem;
}
.max-h-36{
  max-height: 9rem;
}
.max-h-40{
  max-height: 10rem;
}
.max-h-48{
  max-height: 12rem;
}
.max-h-60{
  max-height: 15rem;
}
.max-h-64{
  max-height: 16rem;
}
.max-h-72{
  max-height: 18rem;
}
.max-h-80{
  max-height: 20rem;
}
.max-h-96{
  max-height: 24rem;
}
.max-h-\[--radix-context-menu-content-available-height\]{
  max-height: var(--radix-context-menu-content-available-height);
}
.max-h-\[120px\]{
  max-height: 120px;
}
.max-h-\[150px\]{
  max-height: 150px;
}
.max-h-\[200px\]{
  max-height: 200px;
}
.max-h-\[240px\]{
  max-height: 240px;
}
.max-h-\[250px\]{
  max-height: 250px;
}
.max-h-\[280px\]{
  max-height: 280px;
}
.max-h-\[300px\]{
  max-height: 300px;
}
.max-h-\[320px\]{
  max-height: 320px;
}
.max-h-\[400px\]{
  max-height: 400px;
}
.max-h-\[40vh\]{
  max-height: 40vh;
}
.max-h-\[420px\]{
  max-height: 420px;
}
.max-h-\[450px\]{
  max-height: 450px;
}
.max-h-\[480px\]{
  max-height: 480px;
}
.max-h-\[500px\]{
  max-height: 500px;
}
.max-h-\[50vh\]{
  max-height: 50vh;
}
.max-h-\[55vh\]{
  max-height: 55vh;
}
.max-h-\[600px\]{
  max-height: 600px;
}
.max-h-\[60vh\]{
  max-height: 60vh;
}
.max-h-\[700px\]{
  max-height: 700px;
}
.max-h-\[70vh\]{
  max-height: 70vh;
}
.max-h-\[75vh\]{
  max-height: 75vh;
}
.max-h-\[80vh\]{
  max-height: 80vh;
}
.max-h-\[85vh\]{
  max-height: 85vh;
}
.max-h-\[90vh\]{
  max-height: 90vh;
}
.max-h-\[95vh\]{
  max-height: 95vh;
}
.max-h-\[96vh\]{
  max-height: 96vh;
}
.max-h-\[calc\(100vh-120px\)\]{
  max-height: calc(100vh - 120px);
}
.max-h-\[calc\(100vh-200px\)\]{
  max-height: calc(100vh - 200px);
}
.max-h-\[calc\(100vh-300px\)\]{
  max-height: calc(100vh - 300px);
}
.max-h-\[calc\(90vh-96px\)\]{
  max-height: calc(90vh - 96px);
}
.max-h-\[min\(var\(--radix-select-content-available-height\)\2c 250px\)\]{
  max-height: min(var(--radix-select-content-available-height),250px);
}
.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{
  max-height: var(--radix-dropdown-menu-content-available-height);
}
.max-h-full{
  max-height: 100%;
}
.max-h-screen{
  max-height: 100vh;
}
.min-h-0{
  min-height: 0px;
}
.min-h-12{
  min-height: 3rem;
}
.min-h-\[100px\]{
  min-height: 100px;
}
.min-h-\[120px\]{
  min-height: 120px;
}
.min-h-\[140px\]{
  min-height: 140px;
}
.min-h-\[200px\]{
  min-height: 200px;
}
.min-h-\[20px\]{
  min-height: 20px;
}
.min-h-\[250px\]{
  min-height: 250px;
}
.min-h-\[300px\]{
  min-height: 300px;
}
.min-h-\[320px\]{
  min-height: 320px;
}
.min-h-\[32px\]{
  min-height: 32px;
}
.min-h-\[36px\]{
  min-height: 36px;
}
.min-h-\[400px\]{
  min-height: 400px;
}
.min-h-\[40px\]{
  min-height: 40px;
}
.min-h-\[44px\]{
  min-height: 44px;
}
.min-h-\[450px\]{
  min-height: 450px;
}
.min-h-\[480px\]{
  min-height: 480px;
}
.min-h-\[48px\]{
  min-height: 48px;
}
.min-h-\[500px\]{
  min-height: 500px;
}
.min-h-\[50px\]{
  min-height: 50px;
}
.min-h-\[50vh\]{
  min-height: 50vh;
}
.min-h-\[56px\]{
  min-height: 56px;
}
.min-h-\[60px\]{
  min-height: 60px;
}
.min-h-\[60vh\]{
  min-height: 60vh;
}
.min-h-\[72px\]{
  min-height: 72px;
}
.min-h-\[80px\]{
  min-height: 80px;
}
.min-h-full{
  min-height: 100%;
}
.min-h-screen{
  min-height: 100vh;
}
.w-0\.5{
  width: 0.125rem;
}
.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-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-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-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-\[100px\]{
  width: 100px;
}
.w-\[10px\]{
  width: 10px;
}
.w-\[110px\]{
  width: 110px;
}
.w-\[120px\]{
  width: 120px;
}
.w-\[130px\]{
  width: 130px;
}
.w-\[140px\]{
  width: 140px;
}
.w-\[15\%\]{
  width: 15%;
}
.w-\[150px\]{
  width: 150px;
}
.w-\[160px\]{
  width: 160px;
}
.w-\[180px\]{
  width: 180px;
}
.w-\[1px\]{
  width: 1px;
}
.w-\[20\%\]{
  width: 20%;
}
.w-\[200px\]{
  width: 200px;
}
.w-\[250px\]{
  width: 250px;
}
.w-\[280px\]{
  width: 280px;
}
.w-\[300px\]{
  width: 300px;
}
.w-\[30px\]{
  width: 30px;
}
.w-\[340px\]{
  width: 340px;
}
.w-\[360px\]{
  width: 360px;
}
.w-\[380px\]{
  width: 380px;
}
.w-\[400px\]{
  width: 400px;
}
.w-\[40px\]{
  width: 40px;
}
.w-\[420px\]{
  width: 420px;
}
.w-\[45\%\]{
  width: 45%;
}
.w-\[480px\]{
  width: 480px;
}
.w-\[500px\]{
  width: 500px;
}
.w-\[50px\]{
  width: 50px;
}
.w-\[600px\]{
  width: 600px;
}
.w-\[60px\]{
  width: 60px;
}
.w-\[70px\]{
  width: 70px;
}
.w-\[80px\]{
  width: 80px;
}
.w-\[80vw\]{
  width: 80vw;
}
.w-\[85vw\]{
  width: 85vw;
}
.w-\[95vw\]{
  width: 95vw;
}
.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-10{
  min-width: 2.5rem;
}
.min-w-11{
  min-width: 2.75rem;
}
.min-w-12{
  min-width: 3rem;
}
.min-w-24{
  min-width: 6rem;
}
.min-w-5{
  min-width: 1.25rem;
}
.min-w-6{
  min-width: 1.5rem;
}
.min-w-\[1\.5rem\]{
  min-width: 1.5rem;
}
.min-w-\[100px\]{
  min-width: 100px;
}
.min-w-\[120px\]{
  min-width: 120px;
}
.min-w-\[12rem\]{
  min-width: 12rem;
}
.min-w-\[130px\]{
  min-width: 130px;
}
.min-w-\[140px\]{
  min-width: 140px;
}
.min-w-\[150px\]{
  min-width: 150px;
}
.min-w-\[160px\]{
  min-width: 160px;
}
.min-w-\[16px\]{
  min-width: 16px;
}
.min-w-\[180px\]{
  min-width: 180px;
}
.min-w-\[200px\]{
  min-width: 200px;
}
.min-w-\[20px\]{
  min-width: 20px;
}
.min-w-\[220px\]{
  min-width: 220px;
}
.min-w-\[240px\]{
  min-width: 240px;
}
.min-w-\[24px\]{
  min-width: 24px;
}
.min-w-\[280px\]{
  min-width: 280px;
}
.min-w-\[300px\]{
  min-width: 300px;
}
.min-w-\[320px\]{
  min-width: 320px;
}
.min-w-\[3px\]{
  min-width: 3px;
}
.min-w-\[40px\]{
  min-width: 40px;
}
.min-w-\[44px\]{
  min-width: 44px;
}
.min-w-\[45px\]{
  min-width: 45px;
}
.min-w-\[4rem\]{
  min-width: 4rem;
}
.min-w-\[50px\]{
  min-width: 50px;
}
.min-w-\[60px\]{
  min-width: 60px;
}
.min-w-\[640px\]{
  min-width: 640px;
}
.min-w-\[800px\]{
  min-width: 800px;
}
.min-w-\[80px\]{
  min-width: 80px;
}
.min-w-\[85px\]{
  min-width: 85px;
}
.min-w-\[88px\]{
  min-width: 88px;
}
.min-w-\[8rem\]{
  min-width: 8rem;
}
.min-w-\[90px\]{
  min-width: 90px;
}
.min-w-\[var\(--radix-select-trigger-width\)\]{
  min-width: var(--radix-select-trigger-width);
}
.min-w-full{
  min-width: 100%;
}
.min-w-max{
  min-width: max-content;
}
.max-w-20{
  max-width: 5rem;
}
.max-w-2xl{
  max-width: 42rem;
}
.max-w-3xl{
  max-width: 48rem;
}
.max-w-4xl{
  max-width: 56rem;
}
.max-w-5xl{
  max-width: 64rem;
}
.max-w-6xl{
  max-width: 72rem;
}
.max-w-7xl{
  max-width: 80rem;
}
.max-w-\[100px\]{
  max-width: 100px;
}
.max-w-\[120px\]{
  max-width: 120px;
}
.max-w-\[1400px\]{
  max-width: 1400px;
}
.max-w-\[140px\]{
  max-width: 140px;
}
.max-w-\[150px\]{
  max-width: 150px;
}
.max-w-\[1600px\]{
  max-width: 1600px;
}
.max-w-\[160px\]{
  max-width: 160px;
}
.max-w-\[180px\]{
  max-width: 180px;
}
.max-w-\[1920px\]{
  max-width: 1920px;
}
.max-w-\[200px\]{
  max-width: 200px;
}
.max-w-\[240px\]{
  max-width: 240px;
}
.max-w-\[24rem\]{
  max-width: 24rem;
}
.max-w-\[280px\]{
  max-width: 280px;
}
.max-w-\[300px\]{
  max-width: 300px;
}
.max-w-\[320px\]{
  max-width: 320px;
}
.max-w-\[60\%\]{
  max-width: 60%;
}
.max-w-\[60px\]{
  max-width: 60px;
}
.max-w-\[70\%\]{
  max-width: 70%;
}
.max-w-\[75\%\]{
  max-width: 75%;
}
.max-w-\[80\%\]{
  max-width: 80%;
}
.max-w-\[80px\]{
  max-width: 80px;
}
.max-w-\[85\%\]{
  max-width: 85%;
}
.max-w-\[90\%\]{
  max-width: 90%;
}
.max-w-\[90vw\]{
  max-width: 90vw;
}
.max-w-\[95vw\]{
  max-width: 95vw;
}
.max-w-\[calc\(100\%-380px\)\]{
  max-width: calc(100% - 380px);
}
.max-w-full{
  max-width: 100%;
}
.max-w-lg{
  max-width: 32rem;
}
.max-w-max{
  max-width: max-content;
}
.max-w-md{
  max-width: 28rem;
}
.max-w-none{
  max-width: none;
}
.max-w-screen-2xl{
  max-width: 1536px;
}
.max-w-screen-xl{
  max-width: 1280px;
}
.max-w-sm{
  max-width: 24rem;
}
.max-w-xl{
  max-width: 36rem;
}
.max-w-xs{
  max-width: 20rem;
}
.flex-1{
  flex: 1 1 0%;
}
.flex-\[2\]{
  flex: 2;
}
.flex-none{
  flex: none;
}
.flex-shrink-0{
  flex-shrink: 0;
}
.shrink-0{
  flex-shrink: 0;
}
.grow{
  flex-grow: 1;
}
.grow-0{
  flex-grow: 0;
}
.basis-full{
  flex-basis: 100%;
}
.caption-bottom{
  caption-side: bottom;
}
.border-collapse{
  border-collapse: collapse;
}
.origin-\[--radix-context-menu-content-transform-origin\]{
  transform-origin: var(--radix-context-menu-content-transform-origin);
}
.origin-\[--radix-dropdown-menu-content-transform-origin\]{
  transform-origin: var(--radix-dropdown-menu-content-transform-origin);
}
.origin-\[--radix-hover-card-content-transform-origin\]{
  transform-origin: var(--radix-hover-card-content-transform-origin);
}
.origin-\[--radix-menubar-content-transform-origin\]{
  transform-origin: var(--radix-menubar-content-transform-origin);
}
.origin-\[--radix-popover-content-transform-origin\]{
  transform-origin: var(--radix-popover-content-transform-origin);
}
.origin-\[--radix-select-content-transform-origin\]{
  transform-origin: var(--radix-select-content-transform-origin);
}
.origin-\[--radix-tooltip-content-transform-origin\]{
  transform-origin: var(--radix-tooltip-content-transform-origin);
}
.origin-bottom{
  transform-origin: bottom;
}
.-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-x-1\/3{
  --tw-translate-x: -33.333333%;
  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-x-1\/4{
  --tw-translate-x: -25%;
  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-x-0{
  --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));
}
.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-x-1\/3{
  --tw-translate-x: 33.333333%;
  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-x-1\/4{
  --tw-translate-x: 25%;
  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-x-\[-50\%\]{
  --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-x-full{
  --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));
}
.translate-y-0{
  --tw-translate-y: 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));
}
.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-1\/3{
  --tw-translate-y: 33.333333%;
  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-8{
  --tw-translate-y: 2rem;
  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-\[-50\%\]{
  --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-full{
  --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));
}
.-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));
}
.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-45{
  --tw-rotate: 45deg;
  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));
}
.scale-100{
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  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));
}
.scale-105{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  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));
}
.scale-110{
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  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));
}
.scale-125{
  --tw-scale-x: 1.25;
  --tw-scale-y: 1.25;
  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));
}
.scale-75{
  --tw-scale-x: .75;
  --tw-scale-y: .75;
  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));
}
.scale-90{
  --tw-scale-x: .9;
  --tw-scale-y: .9;
  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));
}
.scale-95{
  --tw-scale-x: .95;
  --tw-scale-y: .95;
  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));
}
.scale-\[1\.01\]{
  --tw-scale-x: 1.01;
  --tw-scale-y: 1.01;
  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));
}
.scale-\[1\.02\]{
  --tw-scale-x: 1.02;
  --tw-scale-y: 1.02;
  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));
}
.scale-x-\[-1\]{
  --tw-scale-x: -1;
  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 bounce{

  0%, 100%{
    transform: translateY(-25%);
    animation-timing-function: cubic-bezier(0.8,0,1,1);
  }

  50%{
    transform: none;
    animation-timing-function: cubic-bezier(0,0,0.2,1);
  }
}
.animate-bounce{
  animation: bounce 1s infinite;
}
@keyframes ping{

  75%, 100%{
    transform: scale(2);
    opacity: 0;
  }
}
.animate-ping{
  animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
}
@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-crosshair{
  cursor: crosshair;
}
.cursor-default{
  cursor: default;
}
.cursor-e-resize{
  cursor: e-resize;
}
.cursor-ew-resize{
  cursor: ew-resize;
}
.cursor-grab{
  cursor: grab;
}
.cursor-grabbing{
  cursor: grabbing;
}
.cursor-help{
  cursor: help;
}
.cursor-move{
  cursor: move;
}
.cursor-n-resize{
  cursor: n-resize;
}
.cursor-ne-resize{
  cursor: ne-resize;
}
.cursor-not-allowed{
  cursor: not-allowed;
}
.cursor-nw-resize{
  cursor: nw-resize;
}
.cursor-pointer{
  cursor: pointer;
}
.cursor-s-resize{
  cursor: s-resize;
}
.cursor-se-resize{
  cursor: se-resize;
}
.cursor-sw-resize{
  cursor: sw-resize;
}
.cursor-w-resize{
  cursor: w-resize;
}
.cursor-zoom-in{
  cursor: zoom-in;
}
.touch-none{
  touch-action: none;
}
.touch-pan-x{
  --tw-pan-x: pan-x;
  touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom);
}
.touch-pan-y{
  --tw-pan-y: pan-y;
  touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom);
}
.touch-manipulation{
  touch-action: manipulation;
}
.select-none{
  -webkit-user-select: none;
          user-select: none;
}
.resize-none{
  resize: none;
}
.resize{
  resize: both;
}
.list-inside{
  list-style-position: inside;
}
.list-decimal{
  list-style-type: decimal;
}
.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-12{
  grid-template-columns: repeat(12, 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-5{
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.grid-cols-6{
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.grid-cols-7{
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.grid-cols-8{
  grid-template-columns: repeat(8, minmax(0, 1fr));
}
.grid-cols-\[1fr_auto_1fr\]{
  grid-template-columns: 1fr auto 1fr;
}
.grid-cols-\[min-content_1fr\]{
  grid-template-columns: min-content 1fr;
}
.flex-row{
  flex-direction: row;
}
.flex-row-reverse{
  flex-direction: row-reverse;
}
.flex-col{
  flex-direction: column;
}
.flex-col-reverse{
  flex-direction: column-reverse;
}
.flex-wrap{
  flex-wrap: wrap;
}
.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-around{
  justify-content: space-around;
}
.gap-0{
  gap: 0px;
}
.gap-0\.5{
  gap: 0.125rem;
}
.gap-1{
  gap: 0.25rem;
}
.gap-1\.5{
  gap: 0.375rem;
}
.gap-12{
  gap: 3rem;
}
.gap-2{
  gap: 0.5rem;
}
.gap-2\.5{
  gap: 0.625rem;
}
.gap-3{
  gap: 0.75rem;
}
.gap-4{
  gap: 1rem;
}
.gap-5{
  gap: 1.25rem;
}
.gap-6{
  gap: 1.5rem;
}
.gap-8{
  gap: 2rem;
}
.gap-px{
  gap: 1px;
}
.gap-x-2{
  column-gap: 0.5rem;
}
.gap-x-3{
  column-gap: 0.75rem;
}
.gap-x-4{
  column-gap: 1rem;
}
.gap-x-6{
  column-gap: 1.5rem;
}
.gap-y-0\.5{
  row-gap: 0.125rem;
}
.gap-y-1{
  row-gap: 0.25rem;
}
.gap-y-2{
  row-gap: 0.5rem;
}
.gap-y-2\.5{
  row-gap: 0.625rem;
}
.space-x-1 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(0.25rem * var(--tw-space-x-reverse));
  margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-2 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(0.5rem * var(--tw-space-x-reverse));
  margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-3 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(0.75rem * var(--tw-space-x-reverse));
  margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-4 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(1rem * var(--tw-space-x-reverse));
  margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-y-0 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0px * var(--tw-space-y-reverse));
}
.space-y-0\.5 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  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 * 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 * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}
.space-y-10 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2.5rem * var(--tw-space-y-reverse));
}
.space-y-16 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(4rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(4rem * var(--tw-space-y-reverse));
}
.space-y-2 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  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 * 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 * 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 * 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 * 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 * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.space-y-8 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}
.divide-y > :not([hidden]) ~ :not([hidden]){
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.divide-slate-100 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 1;
  border-color: rgb(241 245 249 / var(--tw-divide-opacity, 1));
}
.divide-slate-700 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 1;
  border-color: rgb(51 65 85 / var(--tw-divide-opacity, 1));
}
.divide-slate-700\/50 > :not([hidden]) ~ :not([hidden]){
  border-color: rgb(51 65 85 / 0.5);
}
.divide-slate-800\/30 > :not([hidden]) ~ :not([hidden]){
  border-color: rgb(30 41 59 / 0.3);
}
.divide-slate-800\/40 > :not([hidden]) ~ :not([hidden]){
  border-color: rgb(30 41 59 / 0.4);
}
.divide-slate-800\/50 > :not([hidden]) ~ :not([hidden]){
  border-color: rgb(30 41 59 / 0.5);
}
.divide-zinc-800\/20 > :not([hidden]) ~ :not([hidden]){
  border-color: rgb(39 39 42 / 0.2);
}
.divide-zinc-800\/30 > :not([hidden]) ~ :not([hidden]){
  border-color: rgb(39 39 42 / 0.3);
}
.divide-zinc-800\/50 > :not([hidden]) ~ :not([hidden]){
  border-color: rgb(39 39 42 / 0.5);
}
.self-start{
  align-self: flex-start;
}
.self-end{
  align-self: flex-end;
}
.self-center{
  align-self: center;
}
.overflow-auto{
  overflow: auto;
}
.overflow-hidden{
  overflow: hidden;
}
.overflow-visible{
  overflow: visible;
}
.overflow-scroll{
  overflow: scroll;
}
.overflow-x-auto{
  overflow-x: auto;
}
.overflow-y-auto{
  overflow-y: auto;
}
.overflow-x-hidden{
  overflow-x: hidden;
}
.overflow-x-scroll{
  overflow-x: scroll;
}
.overflow-y-scroll{
  overflow-y: scroll;
}
.overscroll-contain{
  overscroll-behavior: contain;
}
.truncate{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.whitespace-normal{
  white-space: normal;
}
.whitespace-nowrap{
  white-space: nowrap;
}
.whitespace-pre{
  white-space: pre;
}
.whitespace-pre-wrap{
  white-space: pre-wrap;
}
.break-words{
  overflow-wrap: break-word;
}
.break-all{
  word-break: break-all;
}
.rounded{
  border-radius: 0.25rem;
}
.rounded-2xl{
  border-radius: 1rem;
}
.rounded-3xl{
  border-radius: 1.5rem;
}
.rounded-\[inherit\]{
  border-radius: inherit;
}
.rounded-full{
  border-radius: 9999px;
}
.rounded-lg{
  border-radius: var(--radius);
}
.rounded-md{
  border-radius: calc(var(--radius) - 2px);
}
.rounded-none{
  border-radius: 0px;
}
.rounded-sm{
  border-radius: calc(var(--radius) - 4px);
}
.rounded-xl{
  border-radius: 0.75rem;
}
.rounded-b{
  border-bottom-right-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}
.rounded-b-lg{
  border-bottom-right-radius: var(--radius);
  border-bottom-left-radius: var(--radius);
}
.rounded-b-none{
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
}
.rounded-b-xl{
  border-bottom-right-radius: 0.75rem;
  border-bottom-left-radius: 0.75rem;
}
.rounded-l-lg{
  border-top-left-radius: var(--radius);
  border-bottom-left-radius: var(--radius);
}
.rounded-l-none{
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}
.rounded-r{
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}
.rounded-r-none{
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
}
.rounded-t{
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}
.rounded-t-2xl{
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
}
.rounded-t-3xl{
  border-top-left-radius: 1.5rem;
  border-top-right-radius: 1.5rem;
}
.rounded-t-\[10px\]{
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.rounded-t-lg{
  border-top-left-radius: var(--radius);
  border-top-right-radius: var(--radius);
}
.rounded-t-md{
  border-top-left-radius: calc(var(--radius) - 2px);
  border-top-right-radius: calc(var(--radius) - 2px);
}
.rounded-t-none{
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
}
.rounded-t-sm{
  border-top-left-radius: calc(var(--radius) - 4px);
  border-top-right-radius: calc(var(--radius) - 4px);
}
.rounded-bl-lg{
  border-bottom-left-radius: var(--radius);
}
.rounded-bl-md{
  border-bottom-left-radius: calc(var(--radius) - 2px);
}
.rounded-br{
  border-bottom-right-radius: 0.25rem;
}
.rounded-br-md{
  border-bottom-right-radius: calc(var(--radius) - 2px);
}
.rounded-tl{
  border-top-left-radius: 0.25rem;
}
.rounded-tl-sm{
  border-top-left-radius: calc(var(--radius) - 4px);
}
.rounded-tr-md{
  border-top-right-radius: calc(var(--radius) - 2px);
}
.rounded-tr-sm{
  border-top-right-radius: calc(var(--radius) - 4px);
}
.border{
  border-width: 1px;
}
.border-0{
  border-width: 0px;
}
.border-2{
  border-width: 2px;
}
.border-4{
  border-width: 4px;
}
.border-x{
  border-left-width: 1px;
  border-right-width: 1px;
}
.border-y{
  border-top-width: 1px;
  border-bottom-width: 1px;
}
.border-y-0{
  border-top-width: 0px;
  border-bottom-width: 0px;
}
.border-b{
  border-bottom-width: 1px;
}
.border-b-0{
  border-bottom-width: 0px;
}
.border-b-2{
  border-bottom-width: 2px;
}
.border-b-4{
  border-bottom-width: 4px;
}
.border-l{
  border-left-width: 1px;
}
.border-l-2{
  border-left-width: 2px;
}
.border-l-4{
  border-left-width: 4px;
}
.border-l-8{
  border-left-width: 8px;
}
.border-r{
  border-right-width: 1px;
}
.border-r-2{
  border-right-width: 2px;
}
.border-t{
  border-top-width: 1px;
}
.border-t-0{
  border-top-width: 0px;
}
.border-t-2{
  border-top-width: 2px;
}
.border-dashed{
  border-style: dashed;
}
.border-none{
  border-style: none;
}
.border-\[hsl\(190\2c 40\%\2c 30\%\)\]{
  --tw-border-opacity: 1;
  border-color: hsl(190 40% 30% / var(--tw-border-opacity, 1));
}
.border-\[hsl\(220\2c 12\%\2c 18\%\)\]{
  --tw-border-opacity: 1;
  border-color: hsl(220 12% 18% / var(--tw-border-opacity, 1));
}
.border-\[hsl\(220\2c 12\%\2c 20\%\)\]{
  --tw-border-opacity: 1;
  border-color: hsl(220 12% 20% / var(--tw-border-opacity, 1));
}
.border-\[hsl\(220\2c 12\%\2c 22\%\)\]{
  --tw-border-opacity: 1;
  border-color: hsl(220 12% 22% / var(--tw-border-opacity, 1));
}
.border-\[hsl\(220\2c 12\%\2c 28\%\)\]{
  --tw-border-opacity: 1;
  border-color: hsl(220 12% 28% / var(--tw-border-opacity, 1));
}
.border-\[hsl\(330\2c 40\%\2c 30\%\)\]{
  --tw-border-opacity: 1;
  border-color: hsl(330 40% 30% / var(--tw-border-opacity, 1));
}
.border-\[hsl\(40\2c 40\%\2c 30\%\)\]{
  --tw-border-opacity: 1;
  border-color: hsl(40 40% 30% / var(--tw-border-opacity, 1));
}
.border-amber-100{
  --tw-border-opacity: 1;
  border-color: rgb(254 243 199 / var(--tw-border-opacity, 1));
}
.border-amber-200{
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
}
.border-amber-300{
  --tw-border-opacity: 1;
  border-color: rgb(252 211 77 / var(--tw-border-opacity, 1));
}
.border-amber-300\/40{
  border-color: rgb(252 211 77 / 0.4);
}
.border-amber-400{
  --tw-border-opacity: 1;
  border-color: rgb(251 191 36 / var(--tw-border-opacity, 1));
}
.border-amber-400\/50{
  border-color: rgb(251 191 36 / 0.5);
}
.border-amber-500{
  --tw-border-opacity: 1;
  border-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}
.border-amber-500\/10{
  border-color: rgb(245 158 11 / 0.1);
}
.border-amber-500\/15{
  border-color: rgb(245 158 11 / 0.15);
}
.border-amber-500\/20{
  border-color: rgb(245 158 11 / 0.2);
}
.border-amber-500\/25{
  border-color: rgb(245 158 11 / 0.25);
}
.border-amber-500\/30{
  border-color: rgb(245 158 11 / 0.3);
}
.border-amber-500\/40{
  border-color: rgb(245 158 11 / 0.4);
}
.border-amber-500\/50{
  border-color: rgb(245 158 11 / 0.5);
}
.border-amber-600{
  --tw-border-opacity: 1;
  border-color: rgb(217 119 6 / var(--tw-border-opacity, 1));
}
.border-amber-600\/30{
  border-color: rgb(217 119 6 / 0.3);
}
.border-amber-600\/40{
  border-color: rgb(217 119 6 / 0.4);
}
.border-amber-600\/50{
  border-color: rgb(217 119 6 / 0.5);
}
.border-amber-600\/60{
  border-color: rgb(217 119 6 / 0.6);
}
.border-amber-700{
  --tw-border-opacity: 1;
  border-color: rgb(180 83 9 / var(--tw-border-opacity, 1));
}
.border-amber-700\/30{
  border-color: rgb(180 83 9 / 0.3);
}
.border-amber-700\/40{
  border-color: rgb(180 83 9 / 0.4);
}
.border-amber-700\/50{
  border-color: rgb(180 83 9 / 0.5);
}
.border-amber-700\/60{
  border-color: rgb(180 83 9 / 0.6);
}
.border-amber-700\/70{
  border-color: rgb(180 83 9 / 0.7);
}
.border-amber-800{
  --tw-border-opacity: 1;
  border-color: rgb(146 64 14 / var(--tw-border-opacity, 1));
}
.border-amber-800\/20{
  border-color: rgb(146 64 14 / 0.2);
}
.border-amber-800\/30{
  border-color: rgb(146 64 14 / 0.3);
}
.border-amber-800\/40{
  border-color: rgb(146 64 14 / 0.4);
}
.border-amber-800\/50{
  border-color: rgb(146 64 14 / 0.5);
}
.border-amber-800\/60{
  border-color: rgb(146 64 14 / 0.6);
}
.border-amber-900\/30{
  border-color: rgb(120 53 15 / 0.3);
}
.border-background{
  border-color: hsl(var(--background));
}
.border-black{
  --tw-border-opacity: 1;
  border-color: rgb(0 0 0 / var(--tw-border-opacity, 1));
}
.border-blue-100{
  --tw-border-opacity: 1;
  border-color: rgb(219 234 254 / var(--tw-border-opacity, 1));
}
.border-blue-200{
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
}
.border-blue-300{
  --tw-border-opacity: 1;
  border-color: rgb(147 197 253 / var(--tw-border-opacity, 1));
}
.border-blue-400{
  --tw-border-opacity: 1;
  border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
}
.border-blue-500{
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}
.border-blue-500\/20{
  border-color: rgb(59 130 246 / 0.2);
}
.border-blue-500\/30{
  border-color: rgb(59 130 246 / 0.3);
}
.border-blue-500\/40{
  border-color: rgb(59 130 246 / 0.4);
}
.border-blue-500\/50{
  border-color: rgb(59 130 246 / 0.5);
}
.border-blue-600{
  --tw-border-opacity: 1;
  border-color: rgb(37 99 235 / var(--tw-border-opacity, 1));
}
.border-blue-600\/50{
  border-color: rgb(37 99 235 / 0.5);
}
.border-blue-600\/60{
  border-color: rgb(37 99 235 / 0.6);
}
.border-blue-700{
  --tw-border-opacity: 1;
  border-color: rgb(29 78 216 / var(--tw-border-opacity, 1));
}
.border-blue-700\/30{
  border-color: rgb(29 78 216 / 0.3);
}
.border-blue-700\/50{
  border-color: rgb(29 78 216 / 0.5);
}
.border-blue-800\/30{
  border-color: rgb(30 64 175 / 0.3);
}
.border-border{
  border-color: hsl(var(--border));
}
.border-current{
  border-color: currentColor;
}
.border-cyan-200{
  --tw-border-opacity: 1;
  border-color: rgb(165 243 252 / var(--tw-border-opacity, 1));
}
.border-cyan-300{
  --tw-border-opacity: 1;
  border-color: rgb(103 232 249 / var(--tw-border-opacity, 1));
}
.border-cyan-400{
  --tw-border-opacity: 1;
  border-color: rgb(34 211 238 / var(--tw-border-opacity, 1));
}
.border-cyan-500{
  --tw-border-opacity: 1;
  border-color: rgb(6 182 212 / var(--tw-border-opacity, 1));
}
.border-cyan-500\/15{
  border-color: rgb(6 182 212 / 0.15);
}
.border-cyan-500\/20{
  border-color: rgb(6 182 212 / 0.2);
}
.border-cyan-500\/25{
  border-color: rgb(6 182 212 / 0.25);
}
.border-cyan-500\/30{
  border-color: rgb(6 182 212 / 0.3);
}
.border-cyan-500\/40{
  border-color: rgb(6 182 212 / 0.4);
}
.border-cyan-500\/50{
  border-color: rgb(6 182 212 / 0.5);
}
.border-cyan-600{
  --tw-border-opacity: 1;
  border-color: rgb(8 145 178 / var(--tw-border-opacity, 1));
}
.border-cyan-600\/60{
  border-color: rgb(8 145 178 / 0.6);
}
.border-cyan-700\/50{
  border-color: rgb(14 116 144 / 0.5);
}
.border-cyan-700\/60{
  border-color: rgb(14 116 144 / 0.6);
}
.border-cyan-800\/30{
  border-color: rgb(21 94 117 / 0.3);
}
.border-cyan-800\/40{
  border-color: rgb(21 94 117 / 0.4);
}
.border-cyan-800\/50{
  border-color: rgb(21 94 117 / 0.5);
}
.border-destructive{
  border-color: hsl(var(--destructive));
}
.border-destructive\/20{
  border-color: hsl(var(--destructive) / 0.2);
}
.border-destructive\/50{
  border-color: hsl(var(--destructive) / 0.5);
}
.border-emerald-200{
  --tw-border-opacity: 1;
  border-color: rgb(167 243 208 / var(--tw-border-opacity, 1));
}
.border-emerald-300{
  --tw-border-opacity: 1;
  border-color: rgb(110 231 183 / var(--tw-border-opacity, 1));
}
.border-emerald-300\/40{
  border-color: rgb(110 231 183 / 0.4);
}
.border-emerald-400{
  --tw-border-opacity: 1;
  border-color: rgb(52 211 153 / var(--tw-border-opacity, 1));
}
.border-emerald-500{
  --tw-border-opacity: 1;
  border-color: rgb(16 185 129 / var(--tw-border-opacity, 1));
}
.border-emerald-500\/15{
  border-color: rgb(16 185 129 / 0.15);
}
.border-emerald-500\/20{
  border-color: rgb(16 185 129 / 0.2);
}
.border-emerald-500\/25{
  border-color: rgb(16 185 129 / 0.25);
}
.border-emerald-500\/30{
  border-color: rgb(16 185 129 / 0.3);
}
.border-emerald-500\/40{
  border-color: rgb(16 185 129 / 0.4);
}
.border-emerald-500\/50{
  border-color: rgb(16 185 129 / 0.5);
}
.border-emerald-600{
  --tw-border-opacity: 1;
  border-color: rgb(5 150 105 / var(--tw-border-opacity, 1));
}
.border-emerald-600\/40{
  border-color: rgb(5 150 105 / 0.4);
}
.border-emerald-600\/50{
  border-color: rgb(5 150 105 / 0.5);
}
.border-emerald-600\/60{
  border-color: rgb(5 150 105 / 0.6);
}
.border-emerald-700\/30{
  border-color: rgb(4 120 87 / 0.3);
}
.border-emerald-700\/40{
  border-color: rgb(4 120 87 / 0.4);
}
.border-emerald-700\/50{
  border-color: rgb(4 120 87 / 0.5);
}
.border-emerald-700\/60{
  border-color: rgb(4 120 87 / 0.6);
}
.border-emerald-700\/70{
  border-color: rgb(4 120 87 / 0.7);
}
.border-emerald-800\/30{
  border-color: rgb(6 95 70 / 0.3);
}
.border-emerald-800\/40{
  border-color: rgb(6 95 70 / 0.4);
}
.border-emerald-800\/50{
  border-color: rgb(6 95 70 / 0.5);
}
.border-emerald-800\/60{
  border-color: rgb(6 95 70 / 0.6);
}
.border-foreground{
  border-color: hsl(var(--foreground));
}
.border-fuchsia-200{
  --tw-border-opacity: 1;
  border-color: rgb(245 208 254 / var(--tw-border-opacity, 1));
}
.border-fuchsia-300{
  --tw-border-opacity: 1;
  border-color: rgb(240 171 252 / var(--tw-border-opacity, 1));
}
.border-fuchsia-600\/60{
  border-color: rgb(192 38 211 / 0.6);
}
.border-gray-100{
  --tw-border-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
}
.border-gray-200{
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}
.border-gray-300{
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.border-gray-400{
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
}
.border-gray-500{
  --tw-border-opacity: 1;
  border-color: rgb(107 114 128 / var(--tw-border-opacity, 1));
}
.border-gray-500\/30{
  border-color: rgb(107 114 128 / 0.3);
}
.border-gray-700{
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}
.border-gray-700\/30{
  border-color: rgb(55 65 81 / 0.3);
}
.border-gray-700\/50{
  border-color: rgb(55 65 81 / 0.5);
}
.border-gray-800{
  --tw-border-opacity: 1;
  border-color: rgb(31 41 55 / var(--tw-border-opacity, 1));
}
.border-gray-800\/50{
  border-color: rgb(31 41 55 / 0.5);
}
.border-green-100{
  --tw-border-opacity: 1;
  border-color: rgb(220 252 231 / var(--tw-border-opacity, 1));
}
.border-green-200{
  --tw-border-opacity: 1;
  border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));
}
.border-green-300{
  --tw-border-opacity: 1;
  border-color: rgb(134 239 172 / var(--tw-border-opacity, 1));
}
.border-green-400{
  --tw-border-opacity: 1;
  border-color: rgb(74 222 128 / var(--tw-border-opacity, 1));
}
.border-green-400\/30{
  border-color: rgb(74 222 128 / 0.3);
}
.border-green-400\/50{
  border-color: rgb(74 222 128 / 0.5);
}
.border-green-500{
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}
.border-green-500\/20{
  border-color: rgb(34 197 94 / 0.2);
}
.border-green-500\/30{
  border-color: rgb(34 197 94 / 0.3);
}
.border-green-500\/40{
  border-color: rgb(34 197 94 / 0.4);
}
.border-green-500\/50{
  border-color: rgb(34 197 94 / 0.5);
}
.border-green-600{
  --tw-border-opacity: 1;
  border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));
}
.border-green-700{
  --tw-border-opacity: 1;
  border-color: rgb(21 128 61 / var(--tw-border-opacity, 1));
}
.border-indigo-100{
  --tw-border-opacity: 1;
  border-color: rgb(224 231 255 / var(--tw-border-opacity, 1));
}
.border-indigo-200{
  --tw-border-opacity: 1;
  border-color: rgb(199 210 254 / var(--tw-border-opacity, 1));
}
.border-indigo-300{
  --tw-border-opacity: 1;
  border-color: rgb(165 180 252 / var(--tw-border-opacity, 1));
}
.border-indigo-400{
  --tw-border-opacity: 1;
  border-color: rgb(129 140 248 / var(--tw-border-opacity, 1));
}
.border-indigo-500{
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
}
.border-indigo-500\/10{
  border-color: rgb(99 102 241 / 0.1);
}
.border-indigo-500\/15{
  border-color: rgb(99 102 241 / 0.15);
}
.border-indigo-500\/20{
  border-color: rgb(99 102 241 / 0.2);
}
.border-indigo-500\/25{
  border-color: rgb(99 102 241 / 0.25);
}
.border-indigo-500\/30{
  border-color: rgb(99 102 241 / 0.3);
}
.border-indigo-500\/40{
  border-color: rgb(99 102 241 / 0.4);
}
.border-indigo-500\/50{
  border-color: rgb(99 102 241 / 0.5);
}
.border-indigo-800\/50{
  border-color: rgb(55 48 163 / 0.5);
}
.border-input{
  border-color: hsl(var(--input));
}
.border-lime-200{
  --tw-border-opacity: 1;
  border-color: rgb(217 249 157 / var(--tw-border-opacity, 1));
}
.border-muted{
  border-color: hsl(var(--muted));
}
.border-muted-foreground{
  border-color: hsl(var(--muted-foreground));
}
.border-muted-foreground\/20{
  border-color: hsl(var(--muted-foreground) / 0.2);
}
.border-muted-foreground\/25{
  border-color: hsl(var(--muted-foreground) / 0.25);
}
.border-muted-foreground\/30{
  border-color: hsl(var(--muted-foreground) / 0.3);
}
.border-muted\/50{
  border-color: hsl(var(--muted) / 0.5);
}
.border-orange-200{
  --tw-border-opacity: 1;
  border-color: rgb(254 215 170 / var(--tw-border-opacity, 1));
}
.border-orange-300{
  --tw-border-opacity: 1;
  border-color: rgb(253 186 116 / var(--tw-border-opacity, 1));
}
.border-orange-400{
  --tw-border-opacity: 1;
  border-color: rgb(251 146 60 / var(--tw-border-opacity, 1));
}
.border-orange-400\/30{
  border-color: rgb(251 146 60 / 0.3);
}
.border-orange-500{
  --tw-border-opacity: 1;
  border-color: rgb(249 115 22 / var(--tw-border-opacity, 1));
}
.border-orange-500\/15{
  border-color: rgb(249 115 22 / 0.15);
}
.border-orange-500\/20{
  border-color: rgb(249 115 22 / 0.2);
}
.border-orange-500\/25{
  border-color: rgb(249 115 22 / 0.25);
}
.border-orange-500\/30{
  border-color: rgb(249 115 22 / 0.3);
}
.border-orange-500\/40{
  border-color: rgb(249 115 22 / 0.4);
}
.border-orange-500\/50{
  border-color: rgb(249 115 22 / 0.5);
}
.border-orange-600{
  --tw-border-opacity: 1;
  border-color: rgb(234 88 12 / var(--tw-border-opacity, 1));
}
.border-orange-600\/60{
  border-color: rgb(234 88 12 / 0.6);
}
.border-orange-700\/50{
  border-color: rgb(194 65 12 / 0.5);
}
.border-orange-700\/60{
  border-color: rgb(194 65 12 / 0.6);
}
.border-orange-800\/30{
  border-color: rgb(154 52 18 / 0.3);
}
.border-orange-900\/30{
  border-color: rgb(124 45 18 / 0.3);
}
.border-pink-200{
  --tw-border-opacity: 1;
  border-color: rgb(251 207 232 / var(--tw-border-opacity, 1));
}
.border-pink-500\/15{
  border-color: rgb(236 72 153 / 0.15);
}
.border-pink-500\/20{
  border-color: rgb(236 72 153 / 0.2);
}
.border-pink-500\/30{
  border-color: rgb(236 72 153 / 0.3);
}
.border-pink-700{
  --tw-border-opacity: 1;
  border-color: rgb(190 24 93 / var(--tw-border-opacity, 1));
}
.border-primary{
  border-color: hsl(var(--primary));
}
.border-primary\/20{
  border-color: hsl(var(--primary) / 0.2);
}
.border-primary\/30{
  border-color: hsl(var(--primary) / 0.3);
}
.border-primary\/40{
  border-color: hsl(var(--primary) / 0.4);
}
.border-purple-100{
  --tw-border-opacity: 1;
  border-color: rgb(243 232 255 / var(--tw-border-opacity, 1));
}
.border-purple-200{
  --tw-border-opacity: 1;
  border-color: rgb(233 213 255 / var(--tw-border-opacity, 1));
}
.border-purple-300{
  --tw-border-opacity: 1;
  border-color: rgb(216 180 254 / var(--tw-border-opacity, 1));
}
.border-purple-300\/30{
  border-color: rgb(216 180 254 / 0.3);
}
.border-purple-400{
  --tw-border-opacity: 1;
  border-color: rgb(192 132 252 / var(--tw-border-opacity, 1));
}
.border-purple-500{
  --tw-border-opacity: 1;
  border-color: rgb(168 85 247 / var(--tw-border-opacity, 1));
}
.border-purple-500\/20{
  border-color: rgb(168 85 247 / 0.2);
}
.border-purple-500\/25{
  border-color: rgb(168 85 247 / 0.25);
}
.border-purple-500\/30{
  border-color: rgb(168 85 247 / 0.3);
}
.border-purple-500\/40{
  border-color: rgb(168 85 247 / 0.4);
}
.border-purple-500\/50{
  border-color: rgb(168 85 247 / 0.5);
}
.border-purple-600{
  --tw-border-opacity: 1;
  border-color: rgb(147 51 234 / var(--tw-border-opacity, 1));
}
.border-purple-700\/30{
  border-color: rgb(126 34 206 / 0.3);
}
.border-purple-700\/40{
  border-color: rgb(126 34 206 / 0.4);
}
.border-purple-700\/50{
  border-color: rgb(126 34 206 / 0.5);
}
.border-purple-800\/30{
  border-color: rgb(107 33 168 / 0.3);
}
.border-purple-800\/50{
  border-color: rgb(107 33 168 / 0.5);
}
.border-red-100{
  --tw-border-opacity: 1;
  border-color: rgb(254 226 226 / var(--tw-border-opacity, 1));
}
.border-red-200{
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
}
.border-red-300{
  --tw-border-opacity: 1;
  border-color: rgb(252 165 165 / var(--tw-border-opacity, 1));
}
.border-red-400{
  --tw-border-opacity: 1;
  border-color: rgb(248 113 113 / var(--tw-border-opacity, 1));
}
.border-red-400\/30{
  border-color: rgb(248 113 113 / 0.3);
}
.border-red-400\/50{
  border-color: rgb(248 113 113 / 0.5);
}
.border-red-500{
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}
.border-red-500\/10{
  border-color: rgb(239 68 68 / 0.1);
}
.border-red-500\/15{
  border-color: rgb(239 68 68 / 0.15);
}
.border-red-500\/20{
  border-color: rgb(239 68 68 / 0.2);
}
.border-red-500\/25{
  border-color: rgb(239 68 68 / 0.25);
}
.border-red-500\/30{
  border-color: rgb(239 68 68 / 0.3);
}
.border-red-500\/40{
  border-color: rgb(239 68 68 / 0.4);
}
.border-red-500\/50{
  border-color: rgb(239 68 68 / 0.5);
}
.border-red-600{
  --tw-border-opacity: 1;
  border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));
}
.border-red-600\/30{
  border-color: rgb(220 38 38 / 0.3);
}
.border-red-600\/40{
  border-color: rgb(220 38 38 / 0.4);
}
.border-red-600\/50{
  border-color: rgb(220 38 38 / 0.5);
}
.border-red-700{
  --tw-border-opacity: 1;
  border-color: rgb(185 28 28 / var(--tw-border-opacity, 1));
}
.border-red-700\/30{
  border-color: rgb(185 28 28 / 0.3);
}
.border-red-700\/40{
  border-color: rgb(185 28 28 / 0.4);
}
.border-red-700\/50{
  border-color: rgb(185 28 28 / 0.5);
}
.border-red-800{
  --tw-border-opacity: 1;
  border-color: rgb(153 27 27 / var(--tw-border-opacity, 1));
}
.border-red-800\/30{
  border-color: rgb(153 27 27 / 0.3);
}
.border-red-800\/40{
  border-color: rgb(153 27 27 / 0.4);
}
.border-red-800\/60{
  border-color: rgb(153 27 27 / 0.6);
}
.border-red-900\/30{
  border-color: rgb(127 29 29 / 0.3);
}
.border-red-900\/40{
  border-color: rgb(127 29 29 / 0.4);
}
.border-rose-200{
  --tw-border-opacity: 1;
  border-color: rgb(254 205 211 / var(--tw-border-opacity, 1));
}
.border-rose-300{
  --tw-border-opacity: 1;
  border-color: rgb(253 164 175 / var(--tw-border-opacity, 1));
}
.border-rose-400{
  --tw-border-opacity: 1;
  border-color: rgb(251 113 133 / var(--tw-border-opacity, 1));
}
.border-rose-500{
  --tw-border-opacity: 1;
  border-color: rgb(244 63 94 / var(--tw-border-opacity, 1));
}
.border-rose-500\/15{
  border-color: rgb(244 63 94 / 0.15);
}
.border-rose-500\/20{
  border-color: rgb(244 63 94 / 0.2);
}
.border-rose-500\/25{
  border-color: rgb(244 63 94 / 0.25);
}
.border-rose-500\/30{
  border-color: rgb(244 63 94 / 0.3);
}
.border-rose-500\/40{
  border-color: rgb(244 63 94 / 0.4);
}
.border-rose-600\/70{
  border-color: rgb(225 29 72 / 0.7);
}
.border-rose-700\/50{
  border-color: rgb(190 18 60 / 0.5);
}
.border-rose-700\/60{
  border-color: rgb(190 18 60 / 0.6);
}
.border-rose-700\/70{
  border-color: rgb(190 18 60 / 0.7);
}
.border-rose-900\/40{
  border-color: rgb(136 19 55 / 0.4);
}
.border-sky-200{
  --tw-border-opacity: 1;
  border-color: rgb(186 230 253 / var(--tw-border-opacity, 1));
}
.border-sky-300{
  --tw-border-opacity: 1;
  border-color: rgb(125 211 252 / var(--tw-border-opacity, 1));
}
.border-sky-500{
  --tw-border-opacity: 1;
  border-color: rgb(14 165 233 / var(--tw-border-opacity, 1));
}
.border-sky-500\/10{
  border-color: rgb(14 165 233 / 0.1);
}
.border-sky-500\/15{
  border-color: rgb(14 165 233 / 0.15);
}
.border-sky-500\/20{
  border-color: rgb(14 165 233 / 0.2);
}
.border-sky-500\/30{
  border-color: rgb(14 165 233 / 0.3);
}
.border-sky-500\/40{
  border-color: rgb(14 165 233 / 0.4);
}
.border-sky-600{
  --tw-border-opacity: 1;
  border-color: rgb(2 132 199 / var(--tw-border-opacity, 1));
}
.border-sky-700\/50{
  border-color: rgb(3 105 161 / 0.5);
}
.border-sky-700\/60{
  border-color: rgb(3 105 161 / 0.6);
}
.border-slate-100{
  --tw-border-opacity: 1;
  border-color: rgb(241 245 249 / var(--tw-border-opacity, 1));
}
.border-slate-200{
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
}
.border-slate-200\/50{
  border-color: rgb(226 232 240 / 0.5);
}
.border-slate-300{
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}
.border-slate-400{
  --tw-border-opacity: 1;
  border-color: rgb(148 163 184 / var(--tw-border-opacity, 1));
}
.border-slate-500{
  --tw-border-opacity: 1;
  border-color: rgb(100 116 139 / var(--tw-border-opacity, 1));
}
.border-slate-500\/20{
  border-color: rgb(100 116 139 / 0.2);
}
.border-slate-500\/30{
  border-color: rgb(100 116 139 / 0.3);
}
.border-slate-500\/40{
  border-color: rgb(100 116 139 / 0.4);
}
.border-slate-500\/50{
  border-color: rgb(100 116 139 / 0.5);
}
.border-slate-600{
  --tw-border-opacity: 1;
  border-color: rgb(71 85 105 / var(--tw-border-opacity, 1));
}
.border-slate-600\/30{
  border-color: rgb(71 85 105 / 0.3);
}
.border-slate-600\/50{
  border-color: rgb(71 85 105 / 0.5);
}
.border-slate-700{
  --tw-border-opacity: 1;
  border-color: rgb(51 65 85 / var(--tw-border-opacity, 1));
}
.border-slate-700\/20{
  border-color: rgb(51 65 85 / 0.2);
}
.border-slate-700\/30{
  border-color: rgb(51 65 85 / 0.3);
}
.border-slate-700\/40{
  border-color: rgb(51 65 85 / 0.4);
}
.border-slate-700\/50{
  border-color: rgb(51 65 85 / 0.5);
}
.border-slate-700\/60{
  border-color: rgb(51 65 85 / 0.6);
}
.border-slate-800{
  --tw-border-opacity: 1;
  border-color: rgb(30 41 59 / var(--tw-border-opacity, 1));
}
.border-slate-800\/30{
  border-color: rgb(30 41 59 / 0.3);
}
.border-slate-800\/40{
  border-color: rgb(30 41 59 / 0.4);
}
.border-slate-800\/50{
  border-color: rgb(30 41 59 / 0.5);
}
.border-slate-800\/60{
  border-color: rgb(30 41 59 / 0.6);
}
.border-slate-900{
  --tw-border-opacity: 1;
  border-color: rgb(15 23 42 / var(--tw-border-opacity, 1));
}
.border-stone-300{
  --tw-border-opacity: 1;
  border-color: rgb(214 211 209 / var(--tw-border-opacity, 1));
}
.border-teal-200{
  --tw-border-opacity: 1;
  border-color: rgb(153 246 228 / var(--tw-border-opacity, 1));
}
.border-teal-300{
  --tw-border-opacity: 1;
  border-color: rgb(94 234 212 / var(--tw-border-opacity, 1));
}
.border-teal-500{
  --tw-border-opacity: 1;
  border-color: rgb(20 184 166 / var(--tw-border-opacity, 1));
}
.border-teal-500\/10{
  border-color: rgb(20 184 166 / 0.1);
}
.border-teal-500\/15{
  border-color: rgb(20 184 166 / 0.15);
}
.border-teal-500\/20{
  border-color: rgb(20 184 166 / 0.2);
}
.border-teal-500\/30{
  border-color: rgb(20 184 166 / 0.3);
}
.border-teal-500\/50{
  border-color: rgb(20 184 166 / 0.5);
}
.border-teal-700\/40{
  border-color: rgb(15 118 110 / 0.4);
}
.border-transparent{
  border-color: transparent;
}
.border-violet-200{
  --tw-border-opacity: 1;
  border-color: rgb(221 214 254 / var(--tw-border-opacity, 1));
}
.border-violet-300{
  --tw-border-opacity: 1;
  border-color: rgb(196 181 253 / var(--tw-border-opacity, 1));
}
.border-violet-500\/10{
  border-color: rgb(139 92 246 / 0.1);
}
.border-violet-500\/15{
  border-color: rgb(139 92 246 / 0.15);
}
.border-violet-500\/20{
  border-color: rgb(139 92 246 / 0.2);
}
.border-violet-500\/25{
  border-color: rgb(139 92 246 / 0.25);
}
.border-violet-500\/30{
  border-color: rgb(139 92 246 / 0.3);
}
.border-violet-600\/60{
  border-color: rgb(124 58 237 / 0.6);
}
.border-violet-700\/50{
  border-color: rgb(109 40 217 / 0.5);
}
.border-violet-800\/50{
  border-color: rgb(91 33 182 / 0.5);
}
.border-white{
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}
.border-white\/10{
  border-color: rgb(255 255 255 / 0.1);
}
.border-white\/20{
  border-color: rgb(255 255 255 / 0.2);
}
.border-white\/5{
  border-color: rgb(255 255 255 / 0.05);
}
.border-yellow-200{
  --tw-border-opacity: 1;
  border-color: rgb(254 240 138 / var(--tw-border-opacity, 1));
}
.border-yellow-300{
  --tw-border-opacity: 1;
  border-color: rgb(253 224 71 / var(--tw-border-opacity, 1));
}
.border-yellow-400{
  --tw-border-opacity: 1;
  border-color: rgb(250 204 21 / var(--tw-border-opacity, 1));
}
.border-yellow-500{
  --tw-border-opacity: 1;
  border-color: rgb(234 179 8 / var(--tw-border-opacity, 1));
}
.border-yellow-500\/20{
  border-color: rgb(234 179 8 / 0.2);
}
.border-yellow-500\/30{
  border-color: rgb(234 179 8 / 0.3);
}
.border-yellow-500\/50{
  border-color: rgb(234 179 8 / 0.5);
}
.border-yellow-600{
  --tw-border-opacity: 1;
  border-color: rgb(202 138 4 / var(--tw-border-opacity, 1));
}
.border-yellow-700{
  --tw-border-opacity: 1;
  border-color: rgb(161 98 7 / var(--tw-border-opacity, 1));
}
.border-zinc-100{
  --tw-border-opacity: 1;
  border-color: rgb(244 244 245 / var(--tw-border-opacity, 1));
}
.border-zinc-200{
  --tw-border-opacity: 1;
  border-color: rgb(228 228 231 / var(--tw-border-opacity, 1));
}
.border-zinc-300{
  --tw-border-opacity: 1;
  border-color: rgb(212 212 216 / var(--tw-border-opacity, 1));
}
.border-zinc-500\/30{
  border-color: rgb(113 113 122 / 0.3);
}
.border-zinc-600{
  --tw-border-opacity: 1;
  border-color: rgb(82 82 91 / var(--tw-border-opacity, 1));
}
.border-zinc-600\/20{
  border-color: rgb(82 82 91 / 0.2);
}
.border-zinc-600\/25{
  border-color: rgb(82 82 91 / 0.25);
}
.border-zinc-600\/30{
  border-color: rgb(82 82 91 / 0.3);
}
.border-zinc-700{
  --tw-border-opacity: 1;
  border-color: rgb(63 63 70 / var(--tw-border-opacity, 1));
}
.border-zinc-700\/30{
  border-color: rgb(63 63 70 / 0.3);
}
.border-zinc-700\/40{
  border-color: rgb(63 63 70 / 0.4);
}
.border-zinc-700\/50{
  border-color: rgb(63 63 70 / 0.5);
}
.border-zinc-700\/60{
  border-color: rgb(63 63 70 / 0.6);
}
.border-zinc-800{
  --tw-border-opacity: 1;
  border-color: rgb(39 39 42 / var(--tw-border-opacity, 1));
}
.border-zinc-800\/20{
  border-color: rgb(39 39 42 / 0.2);
}
.border-zinc-800\/30{
  border-color: rgb(39 39 42 / 0.3);
}
.border-zinc-800\/40{
  border-color: rgb(39 39 42 / 0.4);
}
.border-zinc-800\/50{
  border-color: rgb(39 39 42 / 0.5);
}
.border-zinc-800\/60{
  border-color: rgb(39 39 42 / 0.6);
}
.border-zinc-950{
  --tw-border-opacity: 1;
  border-color: rgb(9 9 11 / var(--tw-border-opacity, 1));
}
.border-l-amber-400{
  --tw-border-opacity: 1;
  border-left-color: rgb(251 191 36 / var(--tw-border-opacity, 1));
}
.border-l-amber-400\/60{
  border-left-color: rgb(251 191 36 / 0.6);
}
.border-l-amber-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}
.border-l-blue-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}
.border-l-cyan-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(6 182 212 / var(--tw-border-opacity, 1));
}
.border-l-emerald-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(16 185 129 / var(--tw-border-opacity, 1));
}
.border-l-gray-300{
  --tw-border-opacity: 1;
  border-left-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.border-l-gray-400{
  --tw-border-opacity: 1;
  border-left-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
}
.border-l-green-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}
.border-l-indigo-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
}
.border-l-orange-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(249 115 22 / var(--tw-border-opacity, 1));
}
.border-l-pink-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(236 72 153 / var(--tw-border-opacity, 1));
}
.border-l-primary{
  border-left-color: hsl(var(--primary));
}
.border-l-purple-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(168 85 247 / var(--tw-border-opacity, 1));
}
.border-l-red-400{
  --tw-border-opacity: 1;
  border-left-color: rgb(248 113 113 / var(--tw-border-opacity, 1));
}
.border-l-red-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}
.border-l-red-600{
  --tw-border-opacity: 1;
  border-left-color: rgb(220 38 38 / var(--tw-border-opacity, 1));
}
.border-l-red-700{
  --tw-border-opacity: 1;
  border-left-color: rgb(185 28 28 / var(--tw-border-opacity, 1));
}
.border-l-rose-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(244 63 94 / var(--tw-border-opacity, 1));
}
.border-l-slate-300{
  --tw-border-opacity: 1;
  border-left-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}
.border-l-slate-400{
  --tw-border-opacity: 1;
  border-left-color: rgb(148 163 184 / var(--tw-border-opacity, 1));
}
.border-l-slate-600{
  --tw-border-opacity: 1;
  border-left-color: rgb(71 85 105 / var(--tw-border-opacity, 1));
}
.border-l-teal-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(20 184 166 / var(--tw-border-opacity, 1));
}
.border-l-transparent{
  border-left-color: transparent;
}
.border-l-yellow-400{
  --tw-border-opacity: 1;
  border-left-color: rgb(250 204 21 / var(--tw-border-opacity, 1));
}
.border-l-yellow-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(234 179 8 / var(--tw-border-opacity, 1));
}
.border-t-cyan-500{
  --tw-border-opacity: 1;
  border-top-color: rgb(6 182 212 / var(--tw-border-opacity, 1));
}
.border-t-purple-500{
  --tw-border-opacity: 1;
  border-top-color: rgb(168 85 247 / var(--tw-border-opacity, 1));
}
.border-t-stone-600{
  --tw-border-opacity: 1;
  border-top-color: rgb(87 83 78 / var(--tw-border-opacity, 1));
}
.border-t-transparent{
  border-top-color: transparent;
}
.border-t-white\/40{
  border-top-color: rgb(255 255 255 / 0.4);
}
.border-opacity-40{
  --tw-border-opacity: 0.4;
}
.\!bg-cyan-500{
  --tw-bg-opacity: 1 !important;
  background-color: rgb(6 182 212 / var(--tw-bg-opacity, 1)) !important;
}
.\!bg-emerald-500{
  --tw-bg-opacity: 1 !important;
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1)) !important;
}
.\!bg-slate-300{
  --tw-bg-opacity: 1 !important;
  background-color: rgb(203 213 225 / var(--tw-bg-opacity, 1)) !important;
}
.bg-\[\#F9F7F2\]{
  --tw-bg-opacity: 1;
  background-color: rgb(249 247 242 / var(--tw-bg-opacity, 1));
}
.bg-\[hsl\(195\2c 35\%\2c 10\%\)\]{
  --tw-bg-opacity: 1;
  background-color: hsl(195 35% 10% / var(--tw-bg-opacity, 1));
}
.bg-\[hsl\(220\2c 18\%\2c 10\%\)\]{
  --tw-bg-opacity: 1;
  background-color: hsl(220 18% 10% / var(--tw-bg-opacity, 1));
}
.bg-\[hsl\(220\2c 18\%\2c 11\%\)\]{
  --tw-bg-opacity: 1;
  background-color: hsl(220 18% 11% / var(--tw-bg-opacity, 1));
}
.bg-\[hsl\(220\2c 18\%\2c 12\%\)\]{
  --tw-bg-opacity: 1;
  background-color: hsl(220 18% 12% / var(--tw-bg-opacity, 1));
}
.bg-\[hsl\(220\2c 18\%\2c 13\%\)\]{
  --tw-bg-opacity: 1;
  background-color: hsl(220 18% 13% / var(--tw-bg-opacity, 1));
}
.bg-\[hsl\(220\2c 18\%\2c 7\%\)\]{
  --tw-bg-opacity: 1;
  background-color: hsl(220 18% 7% / var(--tw-bg-opacity, 1));
}
.bg-\[hsl\(220\2c 18\%\2c 8\%\)\]{
  --tw-bg-opacity: 1;
  background-color: hsl(220 18% 8% / var(--tw-bg-opacity, 1));
}
.bg-\[hsl\(220\2c 18\%\2c 9\%\)\]{
  --tw-bg-opacity: 1;
  background-color: hsl(220 18% 9% / var(--tw-bg-opacity, 1));
}
.bg-\[hsl\(220\2c 20\%\2c 7\%\)\]{
  --tw-bg-opacity: 1;
  background-color: hsl(220 20% 7% / var(--tw-bg-opacity, 1));
}
.bg-\[hsl\(220\2c 22\%\2c 10\%\)\]{
  --tw-bg-opacity: 1;
  background-color: hsl(220 22% 10% / var(--tw-bg-opacity, 1));
}
.bg-\[hsl\(220\2c 22\%\2c 7\%\)\]{
  --tw-bg-opacity: 1;
  background-color: hsl(220 22% 7% / var(--tw-bg-opacity, 1));
}
.bg-\[hsl\(220\2c 22\%\2c 8\%\)\]{
  --tw-bg-opacity: 1;
  background-color: hsl(220 22% 8% / var(--tw-bg-opacity, 1));
}
.bg-\[hsl\(330\2c 35\%\2c 10\%\)\]{
  --tw-bg-opacity: 1;
  background-color: hsl(330 35% 10% / var(--tw-bg-opacity, 1));
}
.bg-\[hsl\(40\2c 35\%\2c 10\%\)\]{
  --tw-bg-opacity: 1;
  background-color: hsl(40 35% 10% / var(--tw-bg-opacity, 1));
}
.bg-accent{
  background-color: hsl(var(--accent));
}
.bg-accent\/50{
  background-color: hsl(var(--accent) / 0.5);
}
.bg-amber-100{
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}
.bg-amber-200{
  --tw-bg-opacity: 1;
  background-color: rgb(253 230 138 / var(--tw-bg-opacity, 1));
}
.bg-amber-200\/50{
  background-color: rgb(253 230 138 / 0.5);
}
.bg-amber-300{
  --tw-bg-opacity: 1;
  background-color: rgb(252 211 77 / var(--tw-bg-opacity, 1));
}
.bg-amber-400{
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
}
.bg-amber-400\/10{
  background-color: rgb(251 191 36 / 0.1);
}
.bg-amber-50{
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}
.bg-amber-50\/30{
  background-color: rgb(255 251 235 / 0.3);
}
.bg-amber-50\/40{
  background-color: rgb(255 251 235 / 0.4);
}
.bg-amber-50\/50{
  background-color: rgb(255 251 235 / 0.5);
}
.bg-amber-50\/60{
  background-color: rgb(255 251 235 / 0.6);
}
.bg-amber-500{
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}
.bg-amber-500\/10{
  background-color: rgb(245 158 11 / 0.1);
}
.bg-amber-500\/15{
  background-color: rgb(245 158 11 / 0.15);
}
.bg-amber-500\/20{
  background-color: rgb(245 158 11 / 0.2);
}
.bg-amber-500\/30{
  background-color: rgb(245 158 11 / 0.3);
}
.bg-amber-500\/5{
  background-color: rgb(245 158 11 / 0.05);
}
.bg-amber-500\/60{
  background-color: rgb(245 158 11 / 0.6);
}
.bg-amber-500\/80{
  background-color: rgb(245 158 11 / 0.8);
}
.bg-amber-600{
  --tw-bg-opacity: 1;
  background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1));
}
.bg-amber-700{
  --tw-bg-opacity: 1;
  background-color: rgb(180 83 9 / var(--tw-bg-opacity, 1));
}
.bg-amber-700\/60{
  background-color: rgb(180 83 9 / 0.6);
}
.bg-amber-900{
  --tw-bg-opacity: 1;
  background-color: rgb(120 53 15 / var(--tw-bg-opacity, 1));
}
.bg-amber-900\/10{
  background-color: rgb(120 53 15 / 0.1);
}
.bg-amber-900\/20{
  background-color: rgb(120 53 15 / 0.2);
}
.bg-amber-900\/30{
  background-color: rgb(120 53 15 / 0.3);
}
.bg-amber-900\/40{
  background-color: rgb(120 53 15 / 0.4);
}
.bg-amber-900\/50{
  background-color: rgb(120 53 15 / 0.5);
}
.bg-amber-900\/60{
  background-color: rgb(120 53 15 / 0.6);
}
.bg-amber-900\/90{
  background-color: rgb(120 53 15 / 0.9);
}
.bg-amber-950\/30{
  background-color: rgb(69 26 3 / 0.3);
}
.bg-amber-950\/40{
  background-color: rgb(69 26 3 / 0.4);
}
.bg-amber-950\/50{
  background-color: rgb(69 26 3 / 0.5);
}
.bg-amber-950\/60{
  background-color: rgb(69 26 3 / 0.6);
}
.bg-amber-950\/80{
  background-color: rgb(69 26 3 / 0.8);
}
.bg-amber-950\/90{
  background-color: rgb(69 26 3 / 0.9);
}
.bg-background{
  background-color: hsl(var(--background));
}
.bg-background\/50{
  background-color: hsl(var(--background) / 0.5);
}
.bg-background\/80{
  background-color: hsl(var(--background) / 0.8);
}
.bg-background\/90{
  background-color: hsl(var(--background) / 0.9);
}
.bg-background\/95{
  background-color: hsl(var(--background) / 0.95);
}
.bg-black{
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.bg-black\/10{
  background-color: rgb(0 0 0 / 0.1);
}
.bg-black\/20{
  background-color: rgb(0 0 0 / 0.2);
}
.bg-black\/30{
  background-color: rgb(0 0 0 / 0.3);
}
.bg-black\/40{
  background-color: rgb(0 0 0 / 0.4);
}
.bg-black\/5{
  background-color: rgb(0 0 0 / 0.05);
}
.bg-black\/50{
  background-color: rgb(0 0 0 / 0.5);
}
.bg-black\/60{
  background-color: rgb(0 0 0 / 0.6);
}
.bg-black\/70{
  background-color: rgb(0 0 0 / 0.7);
}
.bg-black\/80{
  background-color: rgb(0 0 0 / 0.8);
}
.bg-black\/90{
  background-color: rgb(0 0 0 / 0.9);
}
.bg-black\/95{
  background-color: rgb(0 0 0 / 0.95);
}
.bg-blue-100{
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}
.bg-blue-200{
  --tw-bg-opacity: 1;
  background-color: rgb(191 219 254 / var(--tw-bg-opacity, 1));
}
.bg-blue-300{
  --tw-bg-opacity: 1;
  background-color: rgb(147 197 253 / var(--tw-bg-opacity, 1));
}
.bg-blue-400{
  --tw-bg-opacity: 1;
  background-color: rgb(96 165 250 / var(--tw-bg-opacity, 1));
}
.bg-blue-400\/10{
  background-color: rgb(96 165 250 / 0.1);
}
.bg-blue-400\/20{
  background-color: rgb(96 165 250 / 0.2);
}
.bg-blue-50{
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}
.bg-blue-50\/30{
  background-color: rgb(239 246 255 / 0.3);
}
.bg-blue-50\/50{
  background-color: rgb(239 246 255 / 0.5);
}
.bg-blue-50\/60{
  background-color: rgb(239 246 255 / 0.6);
}
.bg-blue-500{
  --tw-bg-opacity: 1;
  background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));
}
.bg-blue-500\/10{
  background-color: rgb(59 130 246 / 0.1);
}
.bg-blue-500\/15{
  background-color: rgb(59 130 246 / 0.15);
}
.bg-blue-500\/20{
  background-color: rgb(59 130 246 / 0.2);
}
.bg-blue-500\/5{
  background-color: rgb(59 130 246 / 0.05);
}
.bg-blue-600{
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}
.bg-blue-900{
  --tw-bg-opacity: 1;
  background-color: rgb(30 58 138 / var(--tw-bg-opacity, 1));
}
.bg-blue-900\/20{
  background-color: rgb(30 58 138 / 0.2);
}
.bg-blue-900\/30{
  background-color: rgb(30 58 138 / 0.3);
}
.bg-blue-900\/40{
  background-color: rgb(30 58 138 / 0.4);
}
.bg-blue-900\/50{
  background-color: rgb(30 58 138 / 0.5);
}
.bg-border{
  background-color: hsl(var(--border));
}
.bg-card{
  background-color: hsl(var(--card));
}
.bg-card\/95{
  background-color: hsl(var(--card) / 0.95);
}
.bg-current{
  background-color: currentColor;
}
.bg-cyan-100{
  --tw-bg-opacity: 1;
  background-color: rgb(207 250 254 / var(--tw-bg-opacity, 1));
}
.bg-cyan-400{
  --tw-bg-opacity: 1;
  background-color: rgb(34 211 238 / var(--tw-bg-opacity, 1));
}
.bg-cyan-400\/80{
  background-color: rgb(34 211 238 / 0.8);
}
.bg-cyan-50{
  --tw-bg-opacity: 1;
  background-color: rgb(236 254 255 / var(--tw-bg-opacity, 1));
}
.bg-cyan-500{
  --tw-bg-opacity: 1;
  background-color: rgb(6 182 212 / var(--tw-bg-opacity, 1));
}
.bg-cyan-500\/10{
  background-color: rgb(6 182 212 / 0.1);
}
.bg-cyan-500\/15{
  background-color: rgb(6 182 212 / 0.15);
}
.bg-cyan-500\/20{
  background-color: rgb(6 182 212 / 0.2);
}
.bg-cyan-500\/30{
  background-color: rgb(6 182 212 / 0.3);
}
.bg-cyan-500\/5{
  background-color: rgb(6 182 212 / 0.05);
}
.bg-cyan-500\/50{
  background-color: rgb(6 182 212 / 0.5);
}
.bg-cyan-600{
  --tw-bg-opacity: 1;
  background-color: rgb(8 145 178 / var(--tw-bg-opacity, 1));
}
.bg-cyan-600\/20{
  background-color: rgb(8 145 178 / 0.2);
}
.bg-cyan-600\/30{
  background-color: rgb(8 145 178 / 0.3);
}
.bg-cyan-600\/40{
  background-color: rgb(8 145 178 / 0.4);
}
.bg-cyan-600\/70{
  background-color: rgb(8 145 178 / 0.7);
}
.bg-cyan-700{
  --tw-bg-opacity: 1;
  background-color: rgb(14 116 144 / var(--tw-bg-opacity, 1));
}
.bg-cyan-700\/50{
  background-color: rgb(14 116 144 / 0.5);
}
.bg-cyan-900{
  --tw-bg-opacity: 1;
  background-color: rgb(22 78 99 / var(--tw-bg-opacity, 1));
}
.bg-cyan-900\/10{
  background-color: rgb(22 78 99 / 0.1);
}
.bg-cyan-900\/20{
  background-color: rgb(22 78 99 / 0.2);
}
.bg-cyan-900\/40{
  background-color: rgb(22 78 99 / 0.4);
}
.bg-cyan-950\/30{
  background-color: rgb(8 51 68 / 0.3);
}
.bg-cyan-950\/40{
  background-color: rgb(8 51 68 / 0.4);
}
.bg-destructive{
  background-color: hsl(var(--destructive));
}
.bg-destructive\/10{
  background-color: hsl(var(--destructive) / 0.1);
}
.bg-emerald-100{
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));
}
.bg-emerald-200{
  --tw-bg-opacity: 1;
  background-color: rgb(167 243 208 / var(--tw-bg-opacity, 1));
}
.bg-emerald-300{
  --tw-bg-opacity: 1;
  background-color: rgb(110 231 183 / var(--tw-bg-opacity, 1));
}
.bg-emerald-400{
  --tw-bg-opacity: 1;
  background-color: rgb(52 211 153 / var(--tw-bg-opacity, 1));
}
.bg-emerald-400\/10{
  background-color: rgb(52 211 153 / 0.1);
}
.bg-emerald-50{
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));
}
.bg-emerald-50\/40{
  background-color: rgb(236 253 245 / 0.4);
}
.bg-emerald-50\/50{
  background-color: rgb(236 253 245 / 0.5);
}
.bg-emerald-50\/60{
  background-color: rgb(236 253 245 / 0.6);
}
.bg-emerald-500{
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
}
.bg-emerald-500\/10{
  background-color: rgb(16 185 129 / 0.1);
}
.bg-emerald-500\/15{
  background-color: rgb(16 185 129 / 0.15);
}
.bg-emerald-500\/20{
  background-color: rgb(16 185 129 / 0.2);
}
.bg-emerald-500\/25{
  background-color: rgb(16 185 129 / 0.25);
}
.bg-emerald-500\/30{
  background-color: rgb(16 185 129 / 0.3);
}
.bg-emerald-500\/40{
  background-color: rgb(16 185 129 / 0.4);
}
.bg-emerald-500\/5{
  background-color: rgb(16 185 129 / 0.05);
}
.bg-emerald-500\/50{
  background-color: rgb(16 185 129 / 0.5);
}
.bg-emerald-500\/60{
  background-color: rgb(16 185 129 / 0.6);
}
.bg-emerald-500\/70{
  background-color: rgb(16 185 129 / 0.7);
}
.bg-emerald-500\/80{
  background-color: rgb(16 185 129 / 0.8);
}
.bg-emerald-600{
  --tw-bg-opacity: 1;
  background-color: rgb(5 150 105 / var(--tw-bg-opacity, 1));
}
.bg-emerald-600\/20{
  background-color: rgb(5 150 105 / 0.2);
}
.bg-emerald-700{
  --tw-bg-opacity: 1;
  background-color: rgb(4 120 87 / var(--tw-bg-opacity, 1));
}
.bg-emerald-900\/20{
  background-color: rgb(6 78 59 / 0.2);
}
.bg-emerald-900\/30{
  background-color: rgb(6 78 59 / 0.3);
}
.bg-emerald-900\/40{
  background-color: rgb(6 78 59 / 0.4);
}
.bg-emerald-900\/60{
  background-color: rgb(6 78 59 / 0.6);
}
.bg-emerald-900\/95{
  background-color: rgb(6 78 59 / 0.95);
}
.bg-emerald-950\/30{
  background-color: rgb(2 44 34 / 0.3);
}
.bg-emerald-950\/40{
  background-color: rgb(2 44 34 / 0.4);
}
.bg-emerald-950\/50{
  background-color: rgb(2 44 34 / 0.5);
}
.bg-emerald-950\/60{
  background-color: rgb(2 44 34 / 0.6);
}
.bg-emerald-950\/80{
  background-color: rgb(2 44 34 / 0.8);
}
.bg-foreground{
  background-color: hsl(var(--foreground));
}
.bg-fuchsia-100{
  --tw-bg-opacity: 1;
  background-color: rgb(250 232 255 / var(--tw-bg-opacity, 1));
}
.bg-fuchsia-50{
  --tw-bg-opacity: 1;
  background-color: rgb(253 244 255 / var(--tw-bg-opacity, 1));
}
.bg-fuchsia-50\/40{
  background-color: rgb(253 244 255 / 0.4);
}
.bg-fuchsia-600{
  --tw-bg-opacity: 1;
  background-color: rgb(192 38 211 / var(--tw-bg-opacity, 1));
}
.bg-fuchsia-700{
  --tw-bg-opacity: 1;
  background-color: rgb(162 28 175 / var(--tw-bg-opacity, 1));
}
.bg-fuchsia-900\/40{
  background-color: rgb(112 26 117 / 0.4);
}
.bg-gray-100{
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.bg-gray-200{
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}
.bg-gray-300{
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}
.bg-gray-400{
  --tw-bg-opacity: 1;
  background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
}
.bg-gray-400\/10{
  background-color: rgb(156 163 175 / 0.1);
}
.bg-gray-50{
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.bg-gray-50\/50{
  background-color: rgb(249 250 251 / 0.5);
}
.bg-gray-50\/80{
  background-color: rgb(249 250 251 / 0.8);
}
.bg-gray-500{
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
}
.bg-gray-500\/10{
  background-color: rgb(107 114 128 / 0.1);
}
.bg-gray-500\/20{
  background-color: rgb(107 114 128 / 0.2);
}
.bg-gray-500\/30{
  background-color: rgb(107 114 128 / 0.3);
}
.bg-gray-600{
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}
.bg-gray-600\/20{
  background-color: rgb(75 85 99 / 0.2);
}
.bg-gray-700{
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}
.bg-gray-700\/50{
  background-color: rgb(55 65 81 / 0.5);
}
.bg-gray-800{
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}
.bg-gray-800\/30{
  background-color: rgb(31 41 55 / 0.3);
}
.bg-gray-800\/40{
  background-color: rgb(31 41 55 / 0.4);
}
.bg-gray-800\/50{
  background-color: rgb(31 41 55 / 0.5);
}
.bg-gray-900{
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}
.bg-gray-950{
  --tw-bg-opacity: 1;
  background-color: rgb(3 7 18 / var(--tw-bg-opacity, 1));
}
.bg-green-100{
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}
.bg-green-200{
  --tw-bg-opacity: 1;
  background-color: rgb(187 247 208 / var(--tw-bg-opacity, 1));
}
.bg-green-300{
  --tw-bg-opacity: 1;
  background-color: rgb(134 239 172 / var(--tw-bg-opacity, 1));
}
.bg-green-400{
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));
}
.bg-green-50{
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}
.bg-green-50\/20{
  background-color: rgb(240 253 244 / 0.2);
}
.bg-green-50\/30{
  background-color: rgb(240 253 244 / 0.3);
}
.bg-green-50\/50{
  background-color: rgb(240 253 244 / 0.5);
}
.bg-green-50\/80{
  background-color: rgb(240 253 244 / 0.8);
}
.bg-green-500{
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}
.bg-green-500\/10{
  background-color: rgb(34 197 94 / 0.1);
}
.bg-green-500\/20{
  background-color: rgb(34 197 94 / 0.2);
}
.bg-green-500\/30{
  background-color: rgb(34 197 94 / 0.3);
}
.bg-green-500\/5{
  background-color: rgb(34 197 94 / 0.05);
}
.bg-green-600{
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}
.bg-green-900{
  --tw-bg-opacity: 1;
  background-color: rgb(20 83 45 / var(--tw-bg-opacity, 1));
}
.bg-green-900\/30{
  background-color: rgb(20 83 45 / 0.3);
}
.bg-indigo-100{
  --tw-bg-opacity: 1;
  background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1));
}
.bg-indigo-400{
  --tw-bg-opacity: 1;
  background-color: rgb(129 140 248 / var(--tw-bg-opacity, 1));
}
.bg-indigo-50{
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 255 / var(--tw-bg-opacity, 1));
}
.bg-indigo-50\/30{
  background-color: rgb(238 242 255 / 0.3);
}
.bg-indigo-50\/40{
  background-color: rgb(238 242 255 / 0.4);
}
.bg-indigo-500{
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}
.bg-indigo-500\/10{
  background-color: rgb(99 102 241 / 0.1);
}
.bg-indigo-500\/15{
  background-color: rgb(99 102 241 / 0.15);
}
.bg-indigo-500\/20{
  background-color: rgb(99 102 241 / 0.2);
}
.bg-indigo-500\/40{
  background-color: rgb(99 102 241 / 0.4);
}
.bg-indigo-500\/5{
  background-color: rgb(99 102 241 / 0.05);
}
.bg-indigo-500\/\[0\.02\]{
  background-color: rgb(99 102 241 / 0.02);
}
.bg-indigo-600{
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}
.bg-indigo-600\/15{
  background-color: rgb(79 70 229 / 0.15);
}
.bg-indigo-600\/20{
  background-color: rgb(79 70 229 / 0.2);
}
.bg-lime-100{
  --tw-bg-opacity: 1;
  background-color: rgb(236 252 203 / var(--tw-bg-opacity, 1));
}
.bg-lime-500{
  --tw-bg-opacity: 1;
  background-color: rgb(132 204 22 / var(--tw-bg-opacity, 1));
}
.bg-lime-500\/10{
  background-color: rgb(132 204 22 / 0.1);
}
.bg-muted{
  background-color: hsl(var(--muted));
}
.bg-muted-foreground\/30{
  background-color: hsl(var(--muted-foreground) / 0.3);
}
.bg-muted\/10{
  background-color: hsl(var(--muted) / 0.1);
}
.bg-muted\/15{
  background-color: hsl(var(--muted) / 0.15);
}
.bg-muted\/20{
  background-color: hsl(var(--muted) / 0.2);
}
.bg-muted\/30{
  background-color: hsl(var(--muted) / 0.3);
}
.bg-muted\/40{
  background-color: hsl(var(--muted) / 0.4);
}
.bg-muted\/50{
  background-color: hsl(var(--muted) / 0.5);
}
.bg-muted\/60{
  background-color: hsl(var(--muted) / 0.6);
}
.bg-muted\/80{
  background-color: hsl(var(--muted) / 0.8);
}
.bg-orange-100{
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));
}
.bg-orange-400{
  --tw-bg-opacity: 1;
  background-color: rgb(251 146 60 / var(--tw-bg-opacity, 1));
}
.bg-orange-400\/10{
  background-color: rgb(251 146 60 / 0.1);
}
.bg-orange-50{
  --tw-bg-opacity: 1;
  background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));
}
.bg-orange-50\/30{
  background-color: rgb(255 247 237 / 0.3);
}
.bg-orange-50\/40{
  background-color: rgb(255 247 237 / 0.4);
}
.bg-orange-50\/50{
  background-color: rgb(255 247 237 / 0.5);
}
.bg-orange-500{
  --tw-bg-opacity: 1;
  background-color: rgb(249 115 22 / var(--tw-bg-opacity, 1));
}
.bg-orange-500\/10{
  background-color: rgb(249 115 22 / 0.1);
}
.bg-orange-500\/15{
  background-color: rgb(249 115 22 / 0.15);
}
.bg-orange-500\/20{
  background-color: rgb(249 115 22 / 0.2);
}
.bg-orange-500\/5{
  background-color: rgb(249 115 22 / 0.05);
}
.bg-orange-600{
  --tw-bg-opacity: 1;
  background-color: rgb(234 88 12 / var(--tw-bg-opacity, 1));
}
.bg-orange-700{
  --tw-bg-opacity: 1;
  background-color: rgb(194 65 12 / var(--tw-bg-opacity, 1));
}
.bg-orange-900{
  --tw-bg-opacity: 1;
  background-color: rgb(124 45 18 / var(--tw-bg-opacity, 1));
}
.bg-orange-900\/40{
  background-color: rgb(124 45 18 / 0.4);
}
.bg-orange-950\/50{
  background-color: rgb(67 20 7 / 0.5);
}
.bg-pink-100{
  --tw-bg-opacity: 1;
  background-color: rgb(252 231 243 / var(--tw-bg-opacity, 1));
}
.bg-pink-50{
  --tw-bg-opacity: 1;
  background-color: rgb(253 242 248 / var(--tw-bg-opacity, 1));
}
.bg-pink-500{
  --tw-bg-opacity: 1;
  background-color: rgb(236 72 153 / var(--tw-bg-opacity, 1));
}
.bg-pink-500\/10{
  background-color: rgb(236 72 153 / 0.1);
}
.bg-pink-500\/15{
  background-color: rgb(236 72 153 / 0.15);
}
.bg-pink-500\/20{
  background-color: rgb(236 72 153 / 0.2);
}
.bg-pink-500\/5{
  background-color: rgb(236 72 153 / 0.05);
}
.bg-pink-600{
  --tw-bg-opacity: 1;
  background-color: rgb(219 39 119 / var(--tw-bg-opacity, 1));
}
.bg-pink-900\/30{
  background-color: rgb(131 24 67 / 0.3);
}
.bg-popover{
  background-color: hsl(var(--popover));
}
.bg-primary{
  background-color: hsl(var(--primary));
}
.bg-primary\/10{
  background-color: hsl(var(--primary) / 0.1);
}
.bg-primary\/20{
  background-color: hsl(var(--primary) / 0.2);
}
.bg-primary\/5{
  background-color: hsl(var(--primary) / 0.05);
}
.bg-primary\/70{
  background-color: hsl(var(--primary) / 0.7);
}
.bg-purple-100{
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
}
.bg-purple-200{
  --tw-bg-opacity: 1;
  background-color: rgb(233 213 255 / var(--tw-bg-opacity, 1));
}
.bg-purple-400{
  --tw-bg-opacity: 1;
  background-color: rgb(192 132 252 / var(--tw-bg-opacity, 1));
}
.bg-purple-400\/20{
  background-color: rgb(192 132 252 / 0.2);
}
.bg-purple-50{
  --tw-bg-opacity: 1;
  background-color: rgb(250 245 255 / var(--tw-bg-opacity, 1));
}
.bg-purple-50\/40{
  background-color: rgb(250 245 255 / 0.4);
}
.bg-purple-50\/50{
  background-color: rgb(250 245 255 / 0.5);
}
.bg-purple-500{
  --tw-bg-opacity: 1;
  background-color: rgb(168 85 247 / var(--tw-bg-opacity, 1));
}
.bg-purple-500\/10{
  background-color: rgb(168 85 247 / 0.1);
}
.bg-purple-500\/15{
  background-color: rgb(168 85 247 / 0.15);
}
.bg-purple-500\/20{
  background-color: rgb(168 85 247 / 0.2);
}
.bg-purple-500\/30{
  background-color: rgb(168 85 247 / 0.3);
}
.bg-purple-500\/5{
  background-color: rgb(168 85 247 / 0.05);
}
.bg-purple-500\/50{
  background-color: rgb(168 85 247 / 0.5);
}
.bg-purple-600{
  --tw-bg-opacity: 1;
  background-color: rgb(147 51 234 / var(--tw-bg-opacity, 1));
}
.bg-purple-600\/20{
  background-color: rgb(147 51 234 / 0.2);
}
.bg-purple-900{
  --tw-bg-opacity: 1;
  background-color: rgb(88 28 135 / var(--tw-bg-opacity, 1));
}
.bg-purple-900\/20{
  background-color: rgb(88 28 135 / 0.2);
}
.bg-purple-900\/40{
  background-color: rgb(88 28 135 / 0.4);
}
.bg-purple-950\/30{
  background-color: rgb(59 7 100 / 0.3);
}
.bg-red-100{
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}
.bg-red-200{
  --tw-bg-opacity: 1;
  background-color: rgb(254 202 202 / var(--tw-bg-opacity, 1));
}
.bg-red-300{
  --tw-bg-opacity: 1;
  background-color: rgb(252 165 165 / var(--tw-bg-opacity, 1));
}
.bg-red-400{
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));
}
.bg-red-400\/10{
  background-color: rgb(248 113 113 / 0.1);
}
.bg-red-50{
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}
.bg-red-50\/30{
  background-color: rgb(254 242 242 / 0.3);
}
.bg-red-50\/40{
  background-color: rgb(254 242 242 / 0.4);
}
.bg-red-50\/50{
  background-color: rgb(254 242 242 / 0.5);
}
.bg-red-500{
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.bg-red-500\/10{
  background-color: rgb(239 68 68 / 0.1);
}
.bg-red-500\/15{
  background-color: rgb(239 68 68 / 0.15);
}
.bg-red-500\/20{
  background-color: rgb(239 68 68 / 0.2);
}
.bg-red-500\/30{
  background-color: rgb(239 68 68 / 0.3);
}
.bg-red-500\/5{
  background-color: rgb(239 68 68 / 0.05);
}
.bg-red-500\/50{
  background-color: rgb(239 68 68 / 0.5);
}
.bg-red-500\/70{
  background-color: rgb(239 68 68 / 0.7);
}
.bg-red-500\/80{
  background-color: rgb(239 68 68 / 0.8);
}
.bg-red-600{
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}
.bg-red-600\/10{
  background-color: rgb(220 38 38 / 0.1);
}
.bg-red-600\/20{
  background-color: rgb(220 38 38 / 0.2);
}
.bg-red-700{
  --tw-bg-opacity: 1;
  background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));
}
.bg-red-800{
  --tw-bg-opacity: 1;
  background-color: rgb(153 27 27 / var(--tw-bg-opacity, 1));
}
.bg-red-900{
  --tw-bg-opacity: 1;
  background-color: rgb(127 29 29 / var(--tw-bg-opacity, 1));
}
.bg-red-900\/10{
  background-color: rgb(127 29 29 / 0.1);
}
.bg-red-900\/20{
  background-color: rgb(127 29 29 / 0.2);
}
.bg-red-900\/30{
  background-color: rgb(127 29 29 / 0.3);
}
.bg-red-900\/40{
  background-color: rgb(127 29 29 / 0.4);
}
.bg-red-900\/50{
  background-color: rgb(127 29 29 / 0.5);
}
.bg-red-900\/60{
  background-color: rgb(127 29 29 / 0.6);
}
.bg-red-950\/30{
  background-color: rgb(69 10 10 / 0.3);
}
.bg-red-950\/50{
  background-color: rgb(69 10 10 / 0.5);
}
.bg-red-950\/60{
  background-color: rgb(69 10 10 / 0.6);
}
.bg-red-950\/80{
  background-color: rgb(69 10 10 / 0.8);
}
.bg-rose-100{
  --tw-bg-opacity: 1;
  background-color: rgb(255 228 230 / var(--tw-bg-opacity, 1));
}
.bg-rose-200{
  --tw-bg-opacity: 1;
  background-color: rgb(254 205 211 / var(--tw-bg-opacity, 1));
}
.bg-rose-400{
  --tw-bg-opacity: 1;
  background-color: rgb(251 113 133 / var(--tw-bg-opacity, 1));
}
.bg-rose-50{
  --tw-bg-opacity: 1;
  background-color: rgb(255 241 242 / var(--tw-bg-opacity, 1));
}
.bg-rose-50\/40{
  background-color: rgb(255 241 242 / 0.4);
}
.bg-rose-50\/50{
  background-color: rgb(255 241 242 / 0.5);
}
.bg-rose-50\/60{
  background-color: rgb(255 241 242 / 0.6);
}
.bg-rose-500{
  --tw-bg-opacity: 1;
  background-color: rgb(244 63 94 / var(--tw-bg-opacity, 1));
}
.bg-rose-500\/10{
  background-color: rgb(244 63 94 / 0.1);
}
.bg-rose-500\/15{
  background-color: rgb(244 63 94 / 0.15);
}
.bg-rose-500\/20{
  background-color: rgb(244 63 94 / 0.2);
}
.bg-rose-500\/5{
  background-color: rgb(244 63 94 / 0.05);
}
.bg-rose-500\/70{
  background-color: rgb(244 63 94 / 0.7);
}
.bg-rose-600{
  --tw-bg-opacity: 1;
  background-color: rgb(225 29 72 / var(--tw-bg-opacity, 1));
}
.bg-rose-700{
  --tw-bg-opacity: 1;
  background-color: rgb(190 18 60 / var(--tw-bg-opacity, 1));
}
.bg-rose-900\/20{
  background-color: rgb(136 19 55 / 0.2);
}
.bg-rose-900\/30{
  background-color: rgb(136 19 55 / 0.3);
}
.bg-rose-900\/40{
  background-color: rgb(136 19 55 / 0.4);
}
.bg-rose-950\/50{
  background-color: rgb(76 5 25 / 0.5);
}
.bg-rose-950\/60{
  background-color: rgb(76 5 25 / 0.6);
}
.bg-secondary{
  background-color: hsl(var(--secondary));
}
.bg-secondary\/50{
  background-color: hsl(var(--secondary) / 0.5);
}
.bg-sky-100{
  --tw-bg-opacity: 1;
  background-color: rgb(224 242 254 / var(--tw-bg-opacity, 1));
}
.bg-sky-400{
  --tw-bg-opacity: 1;
  background-color: rgb(56 189 248 / var(--tw-bg-opacity, 1));
}
.bg-sky-50{
  --tw-bg-opacity: 1;
  background-color: rgb(240 249 255 / var(--tw-bg-opacity, 1));
}
.bg-sky-50\/40{
  background-color: rgb(240 249 255 / 0.4);
}
.bg-sky-50\/60{
  background-color: rgb(240 249 255 / 0.6);
}
.bg-sky-500{
  --tw-bg-opacity: 1;
  background-color: rgb(14 165 233 / var(--tw-bg-opacity, 1));
}
.bg-sky-500\/10{
  background-color: rgb(14 165 233 / 0.1);
}
.bg-sky-500\/15{
  background-color: rgb(14 165 233 / 0.15);
}
.bg-sky-500\/20{
  background-color: rgb(14 165 233 / 0.2);
}
.bg-sky-500\/30{
  background-color: rgb(14 165 233 / 0.3);
}
.bg-sky-500\/5{
  background-color: rgb(14 165 233 / 0.05);
}
.bg-sky-600{
  --tw-bg-opacity: 1;
  background-color: rgb(2 132 199 / var(--tw-bg-opacity, 1));
}
.bg-sky-900\/20{
  background-color: rgb(12 74 110 / 0.2);
}
.bg-sky-900\/30{
  background-color: rgb(12 74 110 / 0.3);
}
.bg-sky-900\/40{
  background-color: rgb(12 74 110 / 0.4);
}
.bg-sky-950\/30{
  background-color: rgb(8 47 73 / 0.3);
}
.bg-slate-100{
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}
.bg-slate-100\/50{
  background-color: rgb(241 245 249 / 0.5);
}
.bg-slate-100\/60{
  background-color: rgb(241 245 249 / 0.6);
}
.bg-slate-200{
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}
.bg-slate-300{
  --tw-bg-opacity: 1;
  background-color: rgb(203 213 225 / var(--tw-bg-opacity, 1));
}
.bg-slate-400{
  --tw-bg-opacity: 1;
  background-color: rgb(148 163 184 / var(--tw-bg-opacity, 1));
}
.bg-slate-400\/10{
  background-color: rgb(148 163 184 / 0.1);
}
.bg-slate-50{
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}
.bg-slate-50\/30{
  background-color: rgb(248 250 252 / 0.3);
}
.bg-slate-50\/40{
  background-color: rgb(248 250 252 / 0.4);
}
.bg-slate-50\/50{
  background-color: rgb(248 250 252 / 0.5);
}
.bg-slate-50\/60{
  background-color: rgb(248 250 252 / 0.6);
}
.bg-slate-50\/80{
  background-color: rgb(248 250 252 / 0.8);
}
.bg-slate-500{
  --tw-bg-opacity: 1;
  background-color: rgb(100 116 139 / var(--tw-bg-opacity, 1));
}
.bg-slate-500\/10{
  background-color: rgb(100 116 139 / 0.1);
}
.bg-slate-500\/15{
  background-color: rgb(100 116 139 / 0.15);
}
.bg-slate-500\/20{
  background-color: rgb(100 116 139 / 0.2);
}
.bg-slate-500\/5{
  background-color: rgb(100 116 139 / 0.05);
}
.bg-slate-600{
  --tw-bg-opacity: 1;
  background-color: rgb(71 85 105 / var(--tw-bg-opacity, 1));
}
.bg-slate-600\/20{
  background-color: rgb(71 85 105 / 0.2);
}
.bg-slate-600\/50{
  background-color: rgb(71 85 105 / 0.5);
}
.bg-slate-700{
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}
.bg-slate-700\/10{
  background-color: rgb(51 65 85 / 0.1);
}
.bg-slate-700\/30{
  background-color: rgb(51 65 85 / 0.3);
}
.bg-slate-700\/40{
  background-color: rgb(51 65 85 / 0.4);
}
.bg-slate-700\/50{
  background-color: rgb(51 65 85 / 0.5);
}
.bg-slate-700\/60{
  background-color: rgb(51 65 85 / 0.6);
}
.bg-slate-800{
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}
.bg-slate-800\/20{
  background-color: rgb(30 41 59 / 0.2);
}
.bg-slate-800\/30{
  background-color: rgb(30 41 59 / 0.3);
}
.bg-slate-800\/40{
  background-color: rgb(30 41 59 / 0.4);
}
.bg-slate-800\/50{
  background-color: rgb(30 41 59 / 0.5);
}
.bg-slate-800\/60{
  background-color: rgb(30 41 59 / 0.6);
}
.bg-slate-800\/70{
  background-color: rgb(30 41 59 / 0.7);
}
.bg-slate-800\/80{
  background-color: rgb(30 41 59 / 0.8);
}
.bg-slate-800\/95{
  background-color: rgb(30 41 59 / 0.95);
}
.bg-slate-900{
  --tw-bg-opacity: 1;
  background-color: rgb(15 23 42 / var(--tw-bg-opacity, 1));
}
.bg-slate-900\/30{
  background-color: rgb(15 23 42 / 0.3);
}
.bg-slate-900\/40{
  background-color: rgb(15 23 42 / 0.4);
}
.bg-slate-900\/50{
  background-color: rgb(15 23 42 / 0.5);
}
.bg-slate-900\/60{
  background-color: rgb(15 23 42 / 0.6);
}
.bg-slate-900\/80{
  background-color: rgb(15 23 42 / 0.8);
}
.bg-slate-900\/85{
  background-color: rgb(15 23 42 / 0.85);
}
.bg-slate-900\/90{
  background-color: rgb(15 23 42 / 0.9);
}
.bg-slate-900\/95{
  background-color: rgb(15 23 42 / 0.95);
}
.bg-slate-950{
  --tw-bg-opacity: 1;
  background-color: rgb(2 6 23 / var(--tw-bg-opacity, 1));
}
.bg-slate-950\/50{
  background-color: rgb(2 6 23 / 0.5);
}
.bg-slate-950\/80{
  background-color: rgb(2 6 23 / 0.8);
}
.bg-slate-950\/95{
  background-color: rgb(2 6 23 / 0.95);
}
.bg-stone-100{
  --tw-bg-opacity: 1;
  background-color: rgb(245 245 244 / var(--tw-bg-opacity, 1));
}
.bg-teal-100{
  --tw-bg-opacity: 1;
  background-color: rgb(204 251 241 / var(--tw-bg-opacity, 1));
}
.bg-teal-400{
  --tw-bg-opacity: 1;
  background-color: rgb(45 212 191 / var(--tw-bg-opacity, 1));
}
.bg-teal-50{
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 250 / var(--tw-bg-opacity, 1));
}
.bg-teal-500\/10{
  background-color: rgb(20 184 166 / 0.1);
}
.bg-teal-500\/20{
  background-color: rgb(20 184 166 / 0.2);
}
.bg-teal-500\/5{
  background-color: rgb(20 184 166 / 0.05);
}
.bg-teal-600{
  --tw-bg-opacity: 1;
  background-color: rgb(13 148 136 / var(--tw-bg-opacity, 1));
}
.bg-teal-600\/20{
  background-color: rgb(13 148 136 / 0.2);
}
.bg-teal-950\/30{
  background-color: rgb(4 47 46 / 0.3);
}
.bg-transparent{
  background-color: transparent;
}
.bg-violet-100{
  --tw-bg-opacity: 1;
  background-color: rgb(237 233 254 / var(--tw-bg-opacity, 1));
}
.bg-violet-400{
  --tw-bg-opacity: 1;
  background-color: rgb(167 139 250 / var(--tw-bg-opacity, 1));
}
.bg-violet-50{
  --tw-bg-opacity: 1;
  background-color: rgb(245 243 255 / var(--tw-bg-opacity, 1));
}
.bg-violet-50\/40{
  background-color: rgb(245 243 255 / 0.4);
}
.bg-violet-500{
  --tw-bg-opacity: 1;
  background-color: rgb(139 92 246 / var(--tw-bg-opacity, 1));
}
.bg-violet-500\/10{
  background-color: rgb(139 92 246 / 0.1);
}
.bg-violet-500\/15{
  background-color: rgb(139 92 246 / 0.15);
}
.bg-violet-500\/20{
  background-color: rgb(139 92 246 / 0.2);
}
.bg-violet-500\/30{
  background-color: rgb(139 92 246 / 0.3);
}
.bg-violet-500\/5{
  background-color: rgb(139 92 246 / 0.05);
}
.bg-violet-600{
  --tw-bg-opacity: 1;
  background-color: rgb(124 58 237 / var(--tw-bg-opacity, 1));
}
.bg-violet-600\/20{
  background-color: rgb(124 58 237 / 0.2);
}
.bg-violet-900\/30{
  background-color: rgb(76 29 149 / 0.3);
}
.bg-violet-900\/40{
  background-color: rgb(76 29 149 / 0.4);
}
.bg-violet-950\/30{
  background-color: rgb(46 16 101 / 0.3);
}
.bg-white{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-white\/10{
  background-color: rgb(255 255 255 / 0.1);
}
.bg-white\/15{
  background-color: rgb(255 255 255 / 0.15);
}
.bg-white\/20{
  background-color: rgb(255 255 255 / 0.2);
}
.bg-white\/30{
  background-color: rgb(255 255 255 / 0.3);
}
.bg-white\/40{
  background-color: rgb(255 255 255 / 0.4);
}
.bg-white\/5{
  background-color: rgb(255 255 255 / 0.05);
}
.bg-white\/50{
  background-color: rgb(255 255 255 / 0.5);
}
.bg-white\/60{
  background-color: rgb(255 255 255 / 0.6);
}
.bg-white\/70{
  background-color: rgb(255 255 255 / 0.7);
}
.bg-white\/80{
  background-color: rgb(255 255 255 / 0.8);
}
.bg-white\/90{
  background-color: rgb(255 255 255 / 0.9);
}
.bg-white\/95{
  background-color: rgb(255 255 255 / 0.95);
}
.bg-yellow-100{
  --tw-bg-opacity: 1;
  background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
}
.bg-yellow-200{
  --tw-bg-opacity: 1;
  background-color: rgb(254 240 138 / var(--tw-bg-opacity, 1));
}
.bg-yellow-400\/10{
  background-color: rgb(250 204 21 / 0.1);
}
.bg-yellow-50{
  --tw-bg-opacity: 1;
  background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));
}
.bg-yellow-50\/20{
  background-color: rgb(254 252 232 / 0.2);
}
.bg-yellow-50\/30{
  background-color: rgb(254 252 232 / 0.3);
}
.bg-yellow-50\/50{
  background-color: rgb(254 252 232 / 0.5);
}
.bg-yellow-500{
  --tw-bg-opacity: 1;
  background-color: rgb(234 179 8 / var(--tw-bg-opacity, 1));
}
.bg-yellow-500\/10{
  background-color: rgb(234 179 8 / 0.1);
}
.bg-yellow-500\/15{
  background-color: rgb(234 179 8 / 0.15);
}
.bg-yellow-500\/20{
  background-color: rgb(234 179 8 / 0.2);
}
.bg-yellow-500\/5{
  background-color: rgb(234 179 8 / 0.05);
}
.bg-yellow-600{
  --tw-bg-opacity: 1;
  background-color: rgb(202 138 4 / var(--tw-bg-opacity, 1));
}
.bg-yellow-900{
  --tw-bg-opacity: 1;
  background-color: rgb(113 63 18 / var(--tw-bg-opacity, 1));
}
.bg-zinc-100{
  --tw-bg-opacity: 1;
  background-color: rgb(244 244 245 / var(--tw-bg-opacity, 1));
}
.bg-zinc-400{
  --tw-bg-opacity: 1;
  background-color: rgb(161 161 170 / var(--tw-bg-opacity, 1));
}
.bg-zinc-50{
  --tw-bg-opacity: 1;
  background-color: rgb(250 250 250 / var(--tw-bg-opacity, 1));
}
.bg-zinc-500{
  --tw-bg-opacity: 1;
  background-color: rgb(113 113 122 / var(--tw-bg-opacity, 1));
}
.bg-zinc-500\/10{
  background-color: rgb(113 113 122 / 0.1);
}
.bg-zinc-500\/15{
  background-color: rgb(113 113 122 / 0.15);
}
.bg-zinc-500\/5{
  background-color: rgb(113 113 122 / 0.05);
}
.bg-zinc-600{
  --tw-bg-opacity: 1;
  background-color: rgb(82 82 91 / var(--tw-bg-opacity, 1));
}
.bg-zinc-600\/20{
  background-color: rgb(82 82 91 / 0.2);
}
.bg-zinc-700{
  --tw-bg-opacity: 1;
  background-color: rgb(63 63 70 / var(--tw-bg-opacity, 1));
}
.bg-zinc-700\/20{
  background-color: rgb(63 63 70 / 0.2);
}
.bg-zinc-700\/30{
  background-color: rgb(63 63 70 / 0.3);
}
.bg-zinc-700\/50{
  background-color: rgb(63 63 70 / 0.5);
}
.bg-zinc-800{
  --tw-bg-opacity: 1;
  background-color: rgb(39 39 42 / var(--tw-bg-opacity, 1));
}
.bg-zinc-800\/20{
  background-color: rgb(39 39 42 / 0.2);
}
.bg-zinc-800\/30{
  background-color: rgb(39 39 42 / 0.3);
}
.bg-zinc-800\/40{
  background-color: rgb(39 39 42 / 0.4);
}
.bg-zinc-800\/50{
  background-color: rgb(39 39 42 / 0.5);
}
.bg-zinc-800\/60{
  background-color: rgb(39 39 42 / 0.6);
}
.bg-zinc-800\/80{
  background-color: rgb(39 39 42 / 0.8);
}
.bg-zinc-900{
  --tw-bg-opacity: 1;
  background-color: rgb(24 24 27 / var(--tw-bg-opacity, 1));
}
.bg-zinc-900\/20{
  background-color: rgb(24 24 27 / 0.2);
}
.bg-zinc-900\/30{
  background-color: rgb(24 24 27 / 0.3);
}
.bg-zinc-900\/40{
  background-color: rgb(24 24 27 / 0.4);
}
.bg-zinc-900\/50{
  background-color: rgb(24 24 27 / 0.5);
}
.bg-zinc-900\/60{
  background-color: rgb(24 24 27 / 0.6);
}
.bg-zinc-900\/80{
  background-color: rgb(24 24 27 / 0.8);
}
.bg-zinc-950{
  --tw-bg-opacity: 1;
  background-color: rgb(9 9 11 / var(--tw-bg-opacity, 1));
}
.bg-zinc-950\/50{
  background-color: rgb(9 9 11 / 0.5);
}
.bg-zinc-950\/60{
  background-color: rgb(9 9 11 / 0.6);
}
.bg-zinc-950\/80{
  background-color: rgb(9 9 11 / 0.8);
}
.bg-opacity-10{
  --tw-bg-opacity: 0.1;
}
.bg-opacity-20{
  --tw-bg-opacity: 0.2;
}
.bg-\[url\(\'data\:image\/svg\+xml\;base64\2c PHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHZpZXdCb3g9IjAgMCA2MCA2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMC4xIj48cGF0aCBkPSJNMzYgMzRjMC0yIDItNCAyLTRzMiAyIDIgNC0yIDQtMiA0LTItMi0yLTR6Ii8\+PC9nPjwvZz48L3N2Zz4\=\'\)\]{
  background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHZpZXdCb3g9IjAgMCA2MCA2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMC4xIj48cGF0aCBkPSJNMzYgMzRjMC0yIDItNCAyLTRzMiAyIDIgNC0yIDQtMiA0LTItMi0yLTR6Ii8+PC9nPjwvZz48L3N2Zz4=');
}
.bg-\[url\(\'data\:image\/svg\+xml\;base64\2c PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMDAiIGhlaWdodD0iMzAwIj48ZmlsdGVyIGlkPSJhIiB4PSIwIiB5PSIwIj48ZmVUdXJidWxlbmNlIGJhc2VGcmVxdWVuY3k9Ii43NSIgc3RpdGNoVGlsZXM9InN0aXRjaCIgdHlwZT0iZnJhY3RhbE5vaXNlIi8\+PGZlQ29sb3JNYXRyaXggdHlwZT0ic2F0dXJhdGUiIHZhbHVlcz0iMCIvPjwvZmlsdGVyPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbHRlcj0idXJsKCNhKSIgb3BhY2l0eT0iMC4wNSIvPjwvc3ZnPg\=\=\'\)\]{
  background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMDAiIGhlaWdodD0iMzAwIj48ZmlsdGVyIGlkPSJhIiB4PSIwIiB5PSIwIj48ZmVUdXJidWxlbmNlIGJhc2VGcmVxdWVuY3k9Ii43NSIgc3RpdGNoVGlsZXM9InN0aXRjaCIgdHlwZT0iZnJhY3RhbE5vaXNlIi8+PGZlQ29sb3JNYXRyaXggdHlwZT0ic2F0dXJhdGUiIHZhbHVlcz0iMCIvPjwvZmlsdGVyPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbHRlcj0idXJsKCNhKSIgb3BhY2l0eT0iMC4wNSIvPjwvc3ZnPg==');
}
.bg-gradient-to-b{
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}
.bg-gradient-to-br{
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.bg-gradient-to-l{
  background-image: linear-gradient(to left, var(--tw-gradient-stops));
}
.bg-gradient-to-r{
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.bg-gradient-to-t{
  background-image: linear-gradient(to top, var(--tw-gradient-stops));
}
.from-\[\#faf8f5\]{
  --tw-gradient-from: #faf8f5 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(250 248 245 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[hsl\(220\2c 24\%\2c 6\%\)\]{
  --tw-gradient-from: hsl(220,24%,6%) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(220 24% 6% / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-100{
  --tw-gradient-from: #fef3c7 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(254 243 199 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-400{
  --tw-gradient-from: #fbbf24 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(251 191 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-50{
  --tw-gradient-from: #fffbeb var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 251 235 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-500{
  --tw-gradient-from: #f59e0b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-500\/10{
  --tw-gradient-from: rgb(245 158 11 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-500\/20{
  --tw-gradient-from: rgb(245 158 11 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-500\/80{
  --tw-gradient-from: rgb(245 158 11 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-600{
  --tw-gradient-from: #d97706 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(217 119 6 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-black\/50{
  --tw-gradient-from: rgb(0 0 0 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-black\/70{
  --tw-gradient-from: rgb(0 0 0 / 0.7) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-black\/80{
  --tw-gradient-from: rgb(0 0 0 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-100{
  --tw-gradient-from: #dbeafe var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(219 234 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-50{
  --tw-gradient-from: #eff6ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-500{
  --tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-500\/10{
  --tw-gradient-from: rgb(59 130 246 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-500\/20{
  --tw-gradient-from: rgb(59 130 246 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-500\/5{
  --tw-gradient-from: rgb(59 130 246 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-600{
  --tw-gradient-from: #2563eb var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-600\/10{
  --tw-gradient-from: rgb(37 99 235 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-900{
  --tw-gradient-from: #1e3a8a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(30 58 138 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-100{
  --tw-gradient-from: #cffafe var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(207 250 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-400{
  --tw-gradient-from: #22d3ee var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(34 211 238 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-50{
  --tw-gradient-from: #ecfeff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(236 254 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-500{
  --tw-gradient-from: #06b6d4 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-500\/10{
  --tw-gradient-from: rgb(6 182 212 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-500\/20{
  --tw-gradient-from: rgb(6 182 212 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-500\/5{
  --tw-gradient-from: rgb(6 182 212 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-500\/80{
  --tw-gradient-from: rgb(6 182 212 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-600{
  --tw-gradient-from: #0891b2 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(8 145 178 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-400{
  --tw-gradient-from: #34d399 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(52 211 153 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-50{
  --tw-gradient-from: #ecfdf5 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(236 253 245 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-500{
  --tw-gradient-from: #10b981 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-500\/10{
  --tw-gradient-from: rgb(16 185 129 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-500\/20{
  --tw-gradient-from: rgb(16 185 129 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-500\/80{
  --tw-gradient-from: rgb(16 185 129 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-600{
  --tw-gradient-from: #059669 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(5 150 105 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-foreground{
  --tw-gradient-from: hsl(var(--foreground)) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--foreground) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-200{
  --tw-gradient-from: #e5e7eb var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(229 231 235 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-300{
  --tw-gradient-from: #d1d5db var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(209 213 219 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-50{
  --tw-gradient-from: #f9fafb var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(249 250 251 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-50\/80{
  --tw-gradient-from: rgb(249 250 251 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(249 250 251 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-100{
  --tw-gradient-from: #dcfce7 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(220 252 231 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-50{
  --tw-gradient-from: #f0fdf4 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(240 253 244 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-500{
  --tw-gradient-from: #22c55e var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-500\/10{
  --tw-gradient-from: rgb(34 197 94 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-500\/20{
  --tw-gradient-from: rgb(34 197 94 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-600{
  --tw-gradient-from: #16a34a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(22 163 74 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-400{
  --tw-gradient-from: #818cf8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(129 140 248 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-50{
  --tw-gradient-from: #eef2ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(238 242 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-500{
  --tw-gradient-from: #6366f1 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-500\/10{
  --tw-gradient-from: rgb(99 102 241 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-500\/5{
  --tw-gradient-from: rgb(99 102 241 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-600{
  --tw-gradient-from: #4f46e5 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(79 70 229 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-lime-50{
  --tw-gradient-from: #f7fee7 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(247 254 231 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-muted{
  --tw-gradient-from: hsl(var(--muted)) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--muted) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-50{
  --tw-gradient-from: #fff7ed var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 247 237 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-500{
  --tw-gradient-from: #f97316 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-500\/10{
  --tw-gradient-from: rgb(249 115 22 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-500\/20{
  --tw-gradient-from: rgb(249 115 22 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-600{
  --tw-gradient-from: #ea580c var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(234 88 12 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-50{
  --tw-gradient-from: #fdf2f8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(253 242 248 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-500{
  --tw-gradient-from: #ec4899 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(236 72 153 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-500\/80{
  --tw-gradient-from: rgb(236 72 153 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(236 72 153 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary\/20{
  --tw-gradient-from: hsl(var(--primary) / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary\/5{
  --tw-gradient-from: hsl(var(--primary) / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-50{
  --tw-gradient-from: #faf5ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(250 245 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-500{
  --tw-gradient-from: #a855f7 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-500\/10{
  --tw-gradient-from: rgb(168 85 247 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-500\/20{
  --tw-gradient-from: rgb(168 85 247 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-500\/5{
  --tw-gradient-from: rgb(168 85 247 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-600{
  --tw-gradient-from: #9333ea var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(147 51 234 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-red-50{
  --tw-gradient-from: #fef2f2 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(254 242 242 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-red-500{
  --tw-gradient-from: #ef4444 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-red-500\/10{
  --tw-gradient-from: rgb(239 68 68 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-red-500\/20{
  --tw-gradient-from: rgb(239 68 68 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-red-500\/5{
  --tw-gradient-from: rgb(239 68 68 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-rose-50{
  --tw-gradient-from: #fff1f2 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 241 242 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-rose-500\/20{
  --tw-gradient-from: rgb(244 63 94 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(244 63 94 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-sky-400{
  --tw-gradient-from: #38bdf8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(56 189 248 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-sky-50{
  --tw-gradient-from: #f0f9ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(240 249 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-sky-500{
  --tw-gradient-from: #0ea5e9 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(14 165 233 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-sky-500\/10{
  --tw-gradient-from: rgb(14 165 233 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(14 165 233 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-sky-500\/20{
  --tw-gradient-from: rgb(14 165 233 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(14 165 233 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-sky-600{
  --tw-gradient-from: #0284c7 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(2 132 199 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-100{
  --tw-gradient-from: #f1f5f9 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(241 245 249 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-50{
  --tw-gradient-from: #f8fafc var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(248 250 252 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-500{
  --tw-gradient-from: #64748b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(100 116 139 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-500\/10{
  --tw-gradient-from: rgb(100 116 139 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(100 116 139 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-500\/80{
  --tw-gradient-from: rgb(100 116 139 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(100 116 139 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-700{
  --tw-gradient-from: #334155 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(51 65 85 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-800{
  --tw-gradient-from: #1e293b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(30 41 59 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-800\/50{
  --tw-gradient-from: rgb(30 41 59 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(30 41 59 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-900{
  --tw-gradient-from: #0f172a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(15 23 42 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-900\/50{
  --tw-gradient-from: rgb(15 23 42 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(15 23 42 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-950{
  --tw-gradient-from: #020617 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(2 6 23 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-950\/40{
  --tw-gradient-from: rgb(2 6 23 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(2 6 23 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-950\/50{
  --tw-gradient-from: rgb(2 6 23 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(2 6 23 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-950\/80{
  --tw-gradient-from: rgb(2 6 23 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(2 6 23 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-teal-50{
  --tw-gradient-from: #f0fdfa var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(240 253 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-teal-500\/20{
  --tw-gradient-from: rgb(20 184 166 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(20 184 166 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-transparent{
  --tw-gradient-from: transparent var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-50{
  --tw-gradient-from: #f5f3ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 243 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-500\/10{
  --tw-gradient-from: rgb(139 92 246 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-500\/20{
  --tw-gradient-from: rgb(139 92 246 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-500\/80{
  --tw-gradient-from: rgb(139 92 246 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-white{
  --tw-gradient-from: #fff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-white\/5{
  --tw-gradient-from: rgb(255 255 255 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-white\/50{
  --tw-gradient-from: rgb(255 255 255 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-yellow-400{
  --tw-gradient-from: #facc15 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(250 204 21 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-yellow-50{
  --tw-gradient-from: #fefce8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(254 252 232 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-yellow-500\/5{
  --tw-gradient-from: rgb(234 179 8 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(234 179 8 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-\[\#f5f2ed\]{
  --tw-gradient-to: rgb(245 242 237 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #f5f2ed var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[hsl\(220\2c 22\%\2c 8\%\)\]{
  --tw-gradient-to: hsl(220 22% 8% / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(220,22%,8%) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-amber-800\/40{
  --tw-gradient-to: rgb(146 64 14 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(146 64 14 / 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-blue-400{
  --tw-gradient-to: rgb(96 165 250 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #60a5fa var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-blue-50\/30{
  --tw-gradient-to: rgb(239 246 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(239 246 255 / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-blue-600{
  --tw-gradient-to: rgb(37 99 235 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #2563eb var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-blue-900{
  --tw-gradient-to: rgb(30 58 138 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1e3a8a var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-cyan-50\/30{
  --tw-gradient-to: rgb(236 254 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(236 254 255 / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-cyan-600{
  --tw-gradient-to: rgb(8 145 178 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #0891b2 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-cyan-800\/40{
  --tw-gradient-to: rgb(21 94 117 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(21 94 117 / 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-emerald-50{
  --tw-gradient-to: rgb(236 253 245 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #ecfdf5 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-emerald-500\/10{
  --tw-gradient-to: rgb(16 185 129 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(16 185 129 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-gray-100{
  --tw-gradient-to: rgb(243 244 246 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #f3f4f6 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-indigo-50{
  --tw-gradient-to: rgb(238 242 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #eef2ff var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-muted\/50{
  --tw-gradient-to: hsl(var(--muted) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--muted) / 0.5) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-orange-50{
  --tw-gradient-to: rgb(255 247 237 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fff7ed var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-orange-500\/10{
  --tw-gradient-to: rgb(249 115 22 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(249 115 22 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-sky-500\/10{
  --tw-gradient-to: rgb(14 165 233 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(14 165 233 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-slate-800{
  --tw-gradient-to: rgb(30 41 59 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1e293b var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-slate-900{
  --tw-gradient-to: rgb(15 23 42 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #0f172a var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-slate-950\/30{
  --tw-gradient-to: rgb(2 6 23 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(2 6 23 / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-transparent{
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-white\/15{
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.15) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-white\/5{
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.05) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-\[\#faf8f5\]{
  --tw-gradient-to: #faf8f5 var(--tw-gradient-to-position);
}
.to-\[hsl\(220\2c 24\%\2c 6\%\)\]{
  --tw-gradient-to: hsl(220,24%,6%) var(--tw-gradient-to-position);
}
.to-amber-100{
  --tw-gradient-to: #fef3c7 var(--tw-gradient-to-position);
}
.to-amber-200{
  --tw-gradient-to: #fde68a var(--tw-gradient-to-position);
}
.to-amber-400{
  --tw-gradient-to: #fbbf24 var(--tw-gradient-to-position);
}
.to-amber-50{
  --tw-gradient-to: #fffbeb var(--tw-gradient-to-position);
}
.to-amber-500{
  --tw-gradient-to: #f59e0b var(--tw-gradient-to-position);
}
.to-amber-500\/10{
  --tw-gradient-to: rgb(245 158 11 / 0.1) var(--tw-gradient-to-position);
}
.to-amber-500\/5{
  --tw-gradient-to: rgb(245 158 11 / 0.05) var(--tw-gradient-to-position);
}
.to-amber-600{
  --tw-gradient-to: #d97706 var(--tw-gradient-to-position);
}
.to-amber-600\/5{
  --tw-gradient-to: rgb(217 119 6 / 0.05) var(--tw-gradient-to-position);
}
.to-black\/30{
  --tw-gradient-to: rgb(0 0 0 / 0.3) var(--tw-gradient-to-position);
}
.to-blue-100{
  --tw-gradient-to: #dbeafe var(--tw-gradient-to-position);
}
.to-blue-400{
  --tw-gradient-to: #60a5fa var(--tw-gradient-to-position);
}
.to-blue-50{
  --tw-gradient-to: #eff6ff var(--tw-gradient-to-position);
}
.to-blue-500{
  --tw-gradient-to: #3b82f6 var(--tw-gradient-to-position);
}
.to-blue-500\/10{
  --tw-gradient-to: rgb(59 130 246 / 0.1) var(--tw-gradient-to-position);
}
.to-blue-500\/20{
  --tw-gradient-to: rgb(59 130 246 / 0.2) var(--tw-gradient-to-position);
}
.to-blue-500\/5{
  --tw-gradient-to: rgb(59 130 246 / 0.05) var(--tw-gradient-to-position);
}
.to-blue-600{
  --tw-gradient-to: #2563eb var(--tw-gradient-to-position);
}
.to-blue-600\/5{
  --tw-gradient-to: rgb(37 99 235 / 0.05) var(--tw-gradient-to-position);
}
.to-blue-600\/80{
  --tw-gradient-to: rgb(37 99 235 / 0.8) var(--tw-gradient-to-position);
}
.to-cyan-50{
  --tw-gradient-to: #ecfeff var(--tw-gradient-to-position);
}
.to-cyan-500{
  --tw-gradient-to: #06b6d4 var(--tw-gradient-to-position);
}
.to-cyan-500\/10{
  --tw-gradient-to: rgb(6 182 212 / 0.1) var(--tw-gradient-to-position);
}
.to-cyan-500\/20{
  --tw-gradient-to: rgb(6 182 212 / 0.2) var(--tw-gradient-to-position);
}
.to-cyan-500\/5{
  --tw-gradient-to: rgb(6 182 212 / 0.05) var(--tw-gradient-to-position);
}
.to-cyan-600{
  --tw-gradient-to: #0891b2 var(--tw-gradient-to-position);
}
.to-cyan-600\/5{
  --tw-gradient-to: rgb(8 145 178 / 0.05) var(--tw-gradient-to-position);
}
.to-emerald-100{
  --tw-gradient-to: #d1fae5 var(--tw-gradient-to-position);
}
.to-emerald-400{
  --tw-gradient-to: #34d399 var(--tw-gradient-to-position);
}
.to-emerald-50{
  --tw-gradient-to: #ecfdf5 var(--tw-gradient-to-position);
}
.to-emerald-500{
  --tw-gradient-to: #10b981 var(--tw-gradient-to-position);
}
.to-emerald-500\/10{
  --tw-gradient-to: rgb(16 185 129 / 0.1) var(--tw-gradient-to-position);
}
.to-emerald-500\/20{
  --tw-gradient-to: rgb(16 185 129 / 0.2) var(--tw-gradient-to-position);
}
.to-emerald-500\/5{
  --tw-gradient-to: rgb(16 185 129 / 0.05) var(--tw-gradient-to-position);
}
.to-emerald-600{
  --tw-gradient-to: #059669 var(--tw-gradient-to-position);
}
.to-foreground\/80{
  --tw-gradient-to: hsl(var(--foreground) / 0.8) var(--tw-gradient-to-position);
}
.to-gray-100{
  --tw-gradient-to: #f3f4f6 var(--tw-gradient-to-position);
}
.to-gray-200{
  --tw-gradient-to: #e5e7eb var(--tw-gradient-to-position);
}
.to-gray-50{
  --tw-gradient-to: #f9fafb var(--tw-gradient-to-position);
}
.to-gray-50\/50{
  --tw-gradient-to: rgb(249 250 251 / 0.5) var(--tw-gradient-to-position);
}
.to-green-100{
  --tw-gradient-to: #dcfce7 var(--tw-gradient-to-position);
}
.to-green-50{
  --tw-gradient-to: #f0fdf4 var(--tw-gradient-to-position);
}
.to-green-600\/5{
  --tw-gradient-to: rgb(22 163 74 / 0.05) var(--tw-gradient-to-position);
}
.to-indigo-100{
  --tw-gradient-to: #e0e7ff var(--tw-gradient-to-position);
}
.to-indigo-50{
  --tw-gradient-to: #eef2ff var(--tw-gradient-to-position);
}
.to-indigo-500{
  --tw-gradient-to: #6366f1 var(--tw-gradient-to-position);
}
.to-indigo-500\/5{
  --tw-gradient-to: rgb(99 102 241 / 0.05) var(--tw-gradient-to-position);
}
.to-indigo-600{
  --tw-gradient-to: #4f46e5 var(--tw-gradient-to-position);
}
.to-lime-50{
  --tw-gradient-to: #f7fee7 var(--tw-gradient-to-position);
}
.to-muted{
  --tw-gradient-to: hsl(var(--muted)) var(--tw-gradient-to-position);
}
.to-orange-100{
  --tw-gradient-to: #ffedd5 var(--tw-gradient-to-position);
}
.to-orange-50{
  --tw-gradient-to: #fff7ed var(--tw-gradient-to-position);
}
.to-orange-500{
  --tw-gradient-to: #f97316 var(--tw-gradient-to-position);
}
.to-orange-500\/10{
  --tw-gradient-to: rgb(249 115 22 / 0.1) var(--tw-gradient-to-position);
}
.to-orange-500\/20{
  --tw-gradient-to: rgb(249 115 22 / 0.2) var(--tw-gradient-to-position);
}
.to-orange-500\/5{
  --tw-gradient-to: rgb(249 115 22 / 0.05) var(--tw-gradient-to-position);
}
.to-orange-600{
  --tw-gradient-to: #ea580c var(--tw-gradient-to-position);
}
.to-orange-600\/80{
  --tw-gradient-to: rgb(234 88 12 / 0.8) var(--tw-gradient-to-position);
}
.to-pink-50{
  --tw-gradient-to: #fdf2f8 var(--tw-gradient-to-position);
}
.to-pink-500{
  --tw-gradient-to: #ec4899 var(--tw-gradient-to-position);
}
.to-pink-500\/10{
  --tw-gradient-to: rgb(236 72 153 / 0.1) var(--tw-gradient-to-position);
}
.to-pink-500\/20{
  --tw-gradient-to: rgb(236 72 153 / 0.2) var(--tw-gradient-to-position);
}
.to-pink-600{
  --tw-gradient-to: #db2777 var(--tw-gradient-to-position);
}
.to-primary\/5{
  --tw-gradient-to: hsl(var(--primary) / 0.05) var(--tw-gradient-to-position);
}
.to-purple-100{
  --tw-gradient-to: #f3e8ff var(--tw-gradient-to-position);
}
.to-purple-400{
  --tw-gradient-to: #c084fc var(--tw-gradient-to-position);
}
.to-purple-50{
  --tw-gradient-to: #faf5ff var(--tw-gradient-to-position);
}
.to-purple-500{
  --tw-gradient-to: #a855f7 var(--tw-gradient-to-position);
}
.to-purple-500\/10{
  --tw-gradient-to: rgb(168 85 247 / 0.1) var(--tw-gradient-to-position);
}
.to-purple-500\/20{
  --tw-gradient-to: rgb(168 85 247 / 0.2) var(--tw-gradient-to-position);
}
.to-purple-600{
  --tw-gradient-to: #9333ea var(--tw-gradient-to-position);
}
.to-purple-600\/80{
  --tw-gradient-to: rgb(147 51 234 / 0.8) var(--tw-gradient-to-position);
}
.to-red-100{
  --tw-gradient-to: #fee2e2 var(--tw-gradient-to-position);
}
.to-red-50{
  --tw-gradient-to: #fef2f2 var(--tw-gradient-to-position);
}
.to-red-500{
  --tw-gradient-to: #ef4444 var(--tw-gradient-to-position);
}
.to-red-500\/10{
  --tw-gradient-to: rgb(239 68 68 / 0.1) var(--tw-gradient-to-position);
}
.to-red-500\/20{
  --tw-gradient-to: rgb(239 68 68 / 0.2) var(--tw-gradient-to-position);
}
.to-red-600{
  --tw-gradient-to: #dc2626 var(--tw-gradient-to-position);
}
.to-rose-50{
  --tw-gradient-to: #fff1f2 var(--tw-gradient-to-position);
}
.to-rose-500{
  --tw-gradient-to: #f43f5e var(--tw-gradient-to-position);
}
.to-rose-500\/10{
  --tw-gradient-to: rgb(244 63 94 / 0.1) var(--tw-gradient-to-position);
}
.to-rose-500\/20{
  --tw-gradient-to: rgb(244 63 94 / 0.2) var(--tw-gradient-to-position);
}
.to-rose-500\/5{
  --tw-gradient-to: rgb(244 63 94 / 0.05) var(--tw-gradient-to-position);
}
.to-rose-600{
  --tw-gradient-to: #e11d48 var(--tw-gradient-to-position);
}
.to-rose-600\/80{
  --tw-gradient-to: rgb(225 29 72 / 0.8) var(--tw-gradient-to-position);
}
.to-sky-300{
  --tw-gradient-to: #7dd3fc var(--tw-gradient-to-position);
}
.to-sky-50{
  --tw-gradient-to: #f0f9ff var(--tw-gradient-to-position);
}
.to-sky-500\/10{
  --tw-gradient-to: rgb(14 165 233 / 0.1) var(--tw-gradient-to-position);
}
.to-sky-500\/20{
  --tw-gradient-to: rgb(14 165 233 / 0.2) var(--tw-gradient-to-position);
}
.to-sky-500\/5{
  --tw-gradient-to: rgb(14 165 233 / 0.05) var(--tw-gradient-to-position);
}
.to-sky-600{
  --tw-gradient-to: #0284c7 var(--tw-gradient-to-position);
}
.to-slate-100{
  --tw-gradient-to: #f1f5f9 var(--tw-gradient-to-position);
}
.to-slate-200{
  --tw-gradient-to: #e2e8f0 var(--tw-gradient-to-position);
}
.to-slate-50{
  --tw-gradient-to: #f8fafc var(--tw-gradient-to-position);
}
.to-slate-500\/5{
  --tw-gradient-to: rgb(100 116 139 / 0.05) var(--tw-gradient-to-position);
}
.to-slate-600{
  --tw-gradient-to: #475569 var(--tw-gradient-to-position);
}
.to-slate-600\/80{
  --tw-gradient-to: rgb(71 85 105 / 0.8) var(--tw-gradient-to-position);
}
.to-slate-800{
  --tw-gradient-to: #1e293b var(--tw-gradient-to-position);
}
.to-slate-800\/50{
  --tw-gradient-to: rgb(30 41 59 / 0.5) var(--tw-gradient-to-position);
}
.to-slate-900{
  --tw-gradient-to: #0f172a var(--tw-gradient-to-position);
}
.to-slate-900\/50{
  --tw-gradient-to: rgb(15 23 42 / 0.5) var(--tw-gradient-to-position);
}
.to-slate-950{
  --tw-gradient-to: #020617 var(--tw-gradient-to-position);
}
.to-slate-950\/50{
  --tw-gradient-to: rgb(2 6 23 / 0.5) var(--tw-gradient-to-position);
}
.to-teal-50{
  --tw-gradient-to: #f0fdfa var(--tw-gradient-to-position);
}
.to-teal-500{
  --tw-gradient-to: #14b8a6 var(--tw-gradient-to-position);
}
.to-teal-500\/10{
  --tw-gradient-to: rgb(20 184 166 / 0.1) var(--tw-gradient-to-position);
}
.to-teal-600{
  --tw-gradient-to: #0d9488 var(--tw-gradient-to-position);
}
.to-teal-600\/80{
  --tw-gradient-to: rgb(13 148 136 / 0.8) var(--tw-gradient-to-position);
}
.to-transparent{
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.to-violet-100{
  --tw-gradient-to: #ede9fe var(--tw-gradient-to-position);
}
.to-violet-50{
  --tw-gradient-to: #f5f3ff var(--tw-gradient-to-position);
}
.to-violet-500{
  --tw-gradient-to: #8b5cf6 var(--tw-gradient-to-position);
}
.to-violet-500\/10{
  --tw-gradient-to: rgb(139 92 246 / 0.1) var(--tw-gradient-to-position);
}
.to-violet-500\/5{
  --tw-gradient-to: rgb(139 92 246 / 0.05) var(--tw-gradient-to-position);
}
.to-violet-600{
  --tw-gradient-to: #7c3aed var(--tw-gradient-to-position);
}
.to-white{
  --tw-gradient-to: #fff var(--tw-gradient-to-position);
}
.to-white\/80{
  --tw-gradient-to: rgb(255 255 255 / 0.8) var(--tw-gradient-to-position);
}
.to-yellow-100{
  --tw-gradient-to: #fef9c3 var(--tw-gradient-to-position);
}
.to-yellow-200{
  --tw-gradient-to: #fef08a var(--tw-gradient-to-position);
}
.to-yellow-50{
  --tw-gradient-to: #fefce8 var(--tw-gradient-to-position);
}
.to-zinc-900\/50{
  --tw-gradient-to: rgb(24 24 27 / 0.5) var(--tw-gradient-to-position);
}
.to-zinc-900\/60{
  --tw-gradient-to: rgb(24 24 27 / 0.6) var(--tw-gradient-to-position);
}
.bg-\[length\:200\%_100\%\]{
  background-size: 200% 100%;
}
.bg-\[size\:50px_50px\]{
  background-size: 50px 50px;
}
.bg-cover{
  background-size: cover;
}
.bg-clip-text{
  background-clip: text;
}
.bg-center{
  background-position: center;
}
.fill-amber-400{
  fill: #fbbf24;
}
.fill-amber-500{
  fill: #f59e0b;
}
.fill-blue-500{
  fill: #3b82f6;
}
.fill-blue-500\/30{
  fill: rgb(59 130 246 / 0.3);
}
.fill-blue-700{
  fill: #1d4ed8;
}
.fill-current{
  fill: currentColor;
}
.fill-primary{
  fill: hsl(var(--primary));
}
.fill-red-500{
  fill: #ef4444;
}
.fill-slate-400{
  fill: #94a3b8;
}
.fill-slate-500{
  fill: #64748b;
}
.fill-transparent{
  fill: transparent;
}
.fill-white{
  fill: #fff;
}
.fill-yellow-200{
  fill: #fef08a;
}
.fill-yellow-400{
  fill: #facc15;
}
.fill-yellow-400\/50{
  fill: rgb(250 204 21 / 0.5);
}
.fill-yellow-500{
  fill: #eab308;
}
.stroke-blue-500{
  stroke: #3b82f6;
}
.stroke-cyan-500{
  stroke: #06b6d4;
}
.stroke-green-500{
  stroke: #22c55e;
}
.stroke-muted\/30{
  stroke: hsl(var(--muted) / 0.3);
}
.stroke-orange-500{
  stroke: #f97316;
}
.stroke-red-500{
  stroke: #ef4444;
}
.stroke-slate-300{
  stroke: #cbd5e1;
}
.stroke-slate-400{
  stroke: #94a3b8;
}
.stroke-yellow-500{
  stroke: #eab308;
}
.object-contain{
  object-fit: contain;
}
.object-cover{
  object-fit: cover;
}
.p-0{
  padding: 0px;
}
.p-0\.5{
  padding: 0.125rem;
}
.p-1{
  padding: 0.25rem;
}
.p-1\.5{
  padding: 0.375rem;
}
.p-10{
  padding: 2.5rem;
}
.p-12{
  padding: 3rem;
}
.p-16{
  padding: 4rem;
}
.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;
  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-12{
  padding-left: 3rem;
  padding-right: 3rem;
}
.px-16{
  padding-left: 4rem;
  padding-right: 4rem;
}
.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-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-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-14{
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}
.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-20{
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.py-24{
  padding-top: 6rem;
  padding-bottom: 6rem;
}
.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-8{
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.py-\[1px\]{
  padding-top: 1px;
  padding-bottom: 1px;
}
.py-\[3px\]{
  padding-top: 3px;
  padding-bottom: 3px;
}
.pb-0{
  padding-bottom: 0px;
}
.pb-1{
  padding-bottom: 0.25rem;
}
.pb-1\.5{
  padding-bottom: 0.375rem;
}
.pb-12{
  padding-bottom: 3rem;
}
.pb-16{
  padding-bottom: 4rem;
}
.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-32{
  padding-bottom: 8rem;
}
.pb-4{
  padding-bottom: 1rem;
}
.pb-5{
  padding-bottom: 1.25rem;
}
.pb-6{
  padding-bottom: 1.5rem;
}
.pb-8{
  padding-bottom: 2rem;
}
.pl-0{
  padding-left: 0px;
}
.pl-1{
  padding-left: 0.25rem;
}
.pl-10{
  padding-left: 2.5rem;
}
.pl-12{
  padding-left: 3rem;
}
.pl-16{
  padding-left: 4rem;
}
.pl-2{
  padding-left: 0.5rem;
}
.pl-2\.5{
  padding-left: 0.625rem;
}
.pl-3{
  padding-left: 0.75rem;
}
.pl-4{
  padding-left: 1rem;
}
.pl-5{
  padding-left: 1.25rem;
}
.pl-6{
  padding-left: 1.5rem;
}
.pl-7{
  padding-left: 1.75rem;
}
.pl-8{
  padding-left: 2rem;
}
.pl-9{
  padding-left: 2.25rem;
}
.pl-\[26px\]{
  padding-left: 26px;
}
.pr-0{
  padding-right: 0px;
}
.pr-1{
  padding-right: 0.25rem;
}
.pr-1\.5{
  padding-right: 0.375rem;
}
.pr-10{
  padding-right: 2.5rem;
}
.pr-2{
  padding-right: 0.5rem;
}
.pr-2\.5{
  padding-right: 0.625rem;
}
.pr-20{
  padding-right: 5rem;
}
.pr-3{
  padding-right: 0.75rem;
}
.pr-4{
  padding-right: 1rem;
}
.pr-6{
  padding-right: 1.5rem;
}
.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-12{
  padding-top: 3rem;
}
.pt-16{
  padding-top: 4rem;
}
.pt-2{
  padding-top: 0.5rem;
}
.pt-20{
  padding-top: 5rem;
}
.pt-3{
  padding-top: 0.75rem;
}
.pt-32{
  padding-top: 8rem;
}
.pt-4{
  padding-top: 1rem;
}
.pt-6{
  padding-top: 1.5rem;
}
.pt-8{
  padding-top: 2rem;
}
.pt-\[100px\]{
  padding-top: 100px;
}
.pt-\[10vh\]{
  padding-top: 10vh;
}
.text-left{
  text-align: left;
}
.text-center{
  text-align: center;
}
.text-right{
  text-align: right;
}
.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: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
.text-2xl{
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-3xl{
  font-size: 1.875rem;
  line-height: 2.25rem;
}
.text-4xl{
  font-size: 2.25rem;
  line-height: 2.5rem;
}
.text-5xl{
  font-size: 3rem;
  line-height: 1;
}
.text-6xl{
  font-size: 3.75rem;
  line-height: 1;
}
.text-\[0\.5rem\]{
  font-size: 0.5rem;
}
.text-\[0\.625rem\]{
  font-size: 0.625rem;
}
.text-\[0\.6875rem\]{
  font-size: 0.6875rem;
}
.text-\[0\.72rem\]{
  font-size: 0.72rem;
}
.text-\[0\.78rem\]{
  font-size: 0.78rem;
}
.text-\[0\.85rem\]{
  font-size: 0.85rem;
}
.text-\[0\.8rem\]{
  font-size: 0.8rem;
}
.text-\[10px\]{
  font-size: 10px;
}
.text-\[11px\]{
  font-size: 11px;
}
.text-\[12px\]{
  font-size: 12px;
}
.text-\[6px\]{
  font-size: 6px;
}
.text-\[7px\]{
  font-size: 7px;
}
.text-\[8px\]{
  font-size: 8px;
}
.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-black{
  font-weight: 900;
}
.font-bold{
  font-weight: 700;
}
.font-light{
  font-weight: 300;
}
.font-medium{
  font-weight: 500;
}
.font-normal{
  font-weight: 400;
}
.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;
}
.tabular-nums{
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.leading-6{
  line-height: 1.5rem;
}
.leading-8{
  line-height: 2rem;
}
.leading-none{
  line-height: 1;
}
.leading-relaxed{
  line-height: 1.625;
}
.leading-snug{
  line-height: 1.375;
}
.leading-tight{
  line-height: 1.25;
}
.tracking-\[0\.14em\]{
  letter-spacing: 0.14em;
}
.tracking-\[0\.15em\]{
  letter-spacing: 0.15em;
}
.tracking-\[0\.25em\]{
  letter-spacing: 0.25em;
}
.tracking-\[0\.2em\]{
  letter-spacing: 0.2em;
}
.tracking-\[0\.3em\]{
  letter-spacing: 0.3em;
}
.tracking-\[0\.4em\]{
  letter-spacing: 0.4em;
}
.tracking-\[0\.5em\]{
  letter-spacing: 0.5em;
}
.tracking-normal{
  letter-spacing: 0em;
}
.tracking-tight{
  letter-spacing: -0.025em;
}
.tracking-tighter{
  letter-spacing: -0.05em;
}
.tracking-wide{
  letter-spacing: 0.025em;
}
.tracking-wider{
  letter-spacing: 0.05em;
}
.tracking-widest{
  letter-spacing: 0.1em;
}
.text-accent-foreground{
  color: hsl(var(--accent-foreground));
}
.text-amber-100{
  --tw-text-opacity: 1;
  color: rgb(254 243 199 / var(--tw-text-opacity, 1));
}
.text-amber-200{
  --tw-text-opacity: 1;
  color: rgb(253 230 138 / var(--tw-text-opacity, 1));
}
.text-amber-200\/40{
  color: rgb(253 230 138 / 0.4);
}
.text-amber-200\/60{
  color: rgb(253 230 138 / 0.6);
}
.text-amber-200\/70{
  color: rgb(253 230 138 / 0.7);
}
.text-amber-300{
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}
.text-amber-300\/70{
  color: rgb(252 211 77 / 0.7);
}
.text-amber-300\/80{
  color: rgb(252 211 77 / 0.8);
}
.text-amber-300\/90{
  color: rgb(252 211 77 / 0.9);
}
.text-amber-400{
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.text-amber-400\/30{
  color: rgb(251 191 36 / 0.3);
}
.text-amber-400\/40{
  color: rgb(251 191 36 / 0.4);
}
.text-amber-400\/50{
  color: rgb(251 191 36 / 0.5);
}
.text-amber-400\/60{
  color: rgb(251 191 36 / 0.6);
}
.text-amber-400\/70{
  color: rgb(251 191 36 / 0.7);
}
.text-amber-400\/80{
  color: rgb(251 191 36 / 0.8);
}
.text-amber-400\/90{
  color: rgb(251 191 36 / 0.9);
}
.text-amber-500{
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.text-amber-500\/50{
  color: rgb(245 158 11 / 0.5);
}
.text-amber-500\/60{
  color: rgb(245 158 11 / 0.6);
}
.text-amber-500\/70{
  color: rgb(245 158 11 / 0.7);
}
.text-amber-500\/80{
  color: rgb(245 158 11 / 0.8);
}
.text-amber-600{
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}
.text-amber-600\/80{
  color: rgb(217 119 6 / 0.8);
}
.text-amber-700{
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}
.text-amber-800{
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}
.text-amber-900{
  --tw-text-opacity: 1;
  color: rgb(120 53 15 / var(--tw-text-opacity, 1));
}
.text-amber-900\/70{
  color: rgb(120 53 15 / 0.7);
}
.text-amber-900\/80{
  color: rgb(120 53 15 / 0.8);
}
.text-amber-950{
  --tw-text-opacity: 1;
  color: rgb(69 26 3 / var(--tw-text-opacity, 1));
}
.text-black{
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
.text-black\/80{
  color: rgb(0 0 0 / 0.8);
}
.text-blue-100{
  --tw-text-opacity: 1;
  color: rgb(219 234 254 / var(--tw-text-opacity, 1));
}
.text-blue-200{
  --tw-text-opacity: 1;
  color: rgb(191 219 254 / var(--tw-text-opacity, 1));
}
.text-blue-300{
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}
.text-blue-400{
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}
.text-blue-400\/70{
  color: rgb(96 165 250 / 0.7);
}
.text-blue-500{
  --tw-text-opacity: 1;
  color: rgb(59 130 246 / var(--tw-text-opacity, 1));
}
.text-blue-600{
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}
.text-blue-600\/70{
  color: rgb(37 99 235 / 0.7);
}
.text-blue-600\/80{
  color: rgb(37 99 235 / 0.8);
}
.text-blue-700{
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}
.text-blue-800{
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}
.text-blue-800\/70{
  color: rgb(30 64 175 / 0.7);
}
.text-blue-900{
  --tw-text-opacity: 1;
  color: rgb(30 58 138 / var(--tw-text-opacity, 1));
}
.text-card-foreground{
  color: hsl(var(--card-foreground));
}
.text-current{
  color: currentColor;
}
.text-cyan-100{
  --tw-text-opacity: 1;
  color: rgb(207 250 254 / var(--tw-text-opacity, 1));
}
.text-cyan-200{
  --tw-text-opacity: 1;
  color: rgb(165 243 252 / var(--tw-text-opacity, 1));
}
.text-cyan-300{
  --tw-text-opacity: 1;
  color: rgb(103 232 249 / var(--tw-text-opacity, 1));
}
.text-cyan-300\/70{
  color: rgb(103 232 249 / 0.7);
}
.text-cyan-400{
  --tw-text-opacity: 1;
  color: rgb(34 211 238 / var(--tw-text-opacity, 1));
}
.text-cyan-400\/30{
  color: rgb(34 211 238 / 0.3);
}
.text-cyan-400\/80{
  color: rgb(34 211 238 / 0.8);
}
.text-cyan-500{
  --tw-text-opacity: 1;
  color: rgb(6 182 212 / var(--tw-text-opacity, 1));
}
.text-cyan-500\/60{
  color: rgb(6 182 212 / 0.6);
}
.text-cyan-500\/70{
  color: rgb(6 182 212 / 0.7);
}
.text-cyan-600{
  --tw-text-opacity: 1;
  color: rgb(8 145 178 / var(--tw-text-opacity, 1));
}
.text-cyan-600\/80{
  color: rgb(8 145 178 / 0.8);
}
.text-cyan-700{
  --tw-text-opacity: 1;
  color: rgb(14 116 144 / var(--tw-text-opacity, 1));
}
.text-cyan-800{
  --tw-text-opacity: 1;
  color: rgb(21 94 117 / var(--tw-text-opacity, 1));
}
.text-cyan-900{
  --tw-text-opacity: 1;
  color: rgb(22 78 99 / var(--tw-text-opacity, 1));
}
.text-destructive{
  color: hsl(var(--destructive));
}
.text-destructive-foreground{
  color: hsl(var(--destructive-foreground));
}
.text-emerald-100{
  --tw-text-opacity: 1;
  color: rgb(209 250 229 / var(--tw-text-opacity, 1));
}
.text-emerald-200{
  --tw-text-opacity: 1;
  color: rgb(167 243 208 / var(--tw-text-opacity, 1));
}
.text-emerald-300{
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity, 1));
}
.text-emerald-400{
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.text-emerald-400\/30{
  color: rgb(52 211 153 / 0.3);
}
.text-emerald-400\/60{
  color: rgb(52 211 153 / 0.6);
}
.text-emerald-400\/70{
  color: rgb(52 211 153 / 0.7);
}
.text-emerald-400\/80{
  color: rgb(52 211 153 / 0.8);
}
.text-emerald-500{
  --tw-text-opacity: 1;
  color: rgb(16 185 129 / var(--tw-text-opacity, 1));
}
.text-emerald-500\/40{
  color: rgb(16 185 129 / 0.4);
}
.text-emerald-500\/50{
  color: rgb(16 185 129 / 0.5);
}
.text-emerald-500\/60{
  color: rgb(16 185 129 / 0.6);
}
.text-emerald-500\/70{
  color: rgb(16 185 129 / 0.7);
}
.text-emerald-500\/80{
  color: rgb(16 185 129 / 0.8);
}
.text-emerald-600{
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}
.text-emerald-700{
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}
.text-emerald-800{
  --tw-text-opacity: 1;
  color: rgb(6 95 70 / var(--tw-text-opacity, 1));
}
.text-emerald-900{
  --tw-text-opacity: 1;
  color: rgb(6 78 59 / var(--tw-text-opacity, 1));
}
.text-emerald-900\/80{
  color: rgb(6 78 59 / 0.8);
}
.text-emerald-950{
  --tw-text-opacity: 1;
  color: rgb(2 44 34 / var(--tw-text-opacity, 1));
}
.text-foreground{
  color: hsl(var(--foreground));
}
.text-foreground\/50{
  color: hsl(var(--foreground) / 0.5);
}
.text-foreground\/90{
  color: hsl(var(--foreground) / 0.9);
}
.text-fuchsia-200{
  --tw-text-opacity: 1;
  color: rgb(245 208 254 / var(--tw-text-opacity, 1));
}
.text-fuchsia-400{
  --tw-text-opacity: 1;
  color: rgb(232 121 249 / var(--tw-text-opacity, 1));
}
.text-fuchsia-700{
  --tw-text-opacity: 1;
  color: rgb(162 28 175 / var(--tw-text-opacity, 1));
}
.text-fuchsia-900{
  --tw-text-opacity: 1;
  color: rgb(112 26 117 / var(--tw-text-opacity, 1));
}
.text-fuchsia-900\/70{
  color: rgb(112 26 117 / 0.7);
}
.text-gray-100{
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}
.text-gray-200{
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}
.text-gray-300{
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}
.text-gray-400{
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
.text-gray-400\/50{
  color: rgb(156 163 175 / 0.5);
}
.text-gray-500{
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.text-gray-600{
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}
.text-gray-700{
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.text-gray-800{
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}
.text-gray-900{
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}
.text-green-100{
  --tw-text-opacity: 1;
  color: rgb(220 252 231 / var(--tw-text-opacity, 1));
}
.text-green-300{
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}
.text-green-400{
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}
.text-green-400\/70{
  color: rgb(74 222 128 / 0.7);
}
.text-green-500{
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}
.text-green-500\/50{
  color: rgb(34 197 94 / 0.5);
}
.text-green-600{
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}
.text-green-600\/70{
  color: rgb(22 163 74 / 0.7);
}
.text-green-700{
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}
.text-green-800{
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}
.text-green-900{
  --tw-text-opacity: 1;
  color: rgb(20 83 45 / var(--tw-text-opacity, 1));
}
.text-indigo-100{
  --tw-text-opacity: 1;
  color: rgb(224 231 255 / var(--tw-text-opacity, 1));
}
.text-indigo-200{
  --tw-text-opacity: 1;
  color: rgb(199 210 254 / var(--tw-text-opacity, 1));
}
.text-indigo-300{
  --tw-text-opacity: 1;
  color: rgb(165 180 252 / var(--tw-text-opacity, 1));
}
.text-indigo-300\/90{
  color: rgb(165 180 252 / 0.9);
}
.text-indigo-400{
  --tw-text-opacity: 1;
  color: rgb(129 140 248 / var(--tw-text-opacity, 1));
}
.text-indigo-400\/40{
  color: rgb(129 140 248 / 0.4);
}
.text-indigo-400\/50{
  color: rgb(129 140 248 / 0.5);
}
.text-indigo-400\/60{
  color: rgb(129 140 248 / 0.6);
}
.text-indigo-400\/70{
  color: rgb(129 140 248 / 0.7);
}
.text-indigo-500{
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}
.text-indigo-500\/50{
  color: rgb(99 102 241 / 0.5);
}
.text-indigo-600{
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}
.text-indigo-700{
  --tw-text-opacity: 1;
  color: rgb(67 56 202 / var(--tw-text-opacity, 1));
}
.text-indigo-800{
  --tw-text-opacity: 1;
  color: rgb(55 48 163 / var(--tw-text-opacity, 1));
}
.text-indigo-900{
  --tw-text-opacity: 1;
  color: rgb(49 46 129 / var(--tw-text-opacity, 1));
}
.text-indigo-900\/70{
  color: rgb(49 46 129 / 0.7);
}
.text-indigo-900\/80{
  color: rgb(49 46 129 / 0.8);
}
.text-indigo-950{
  --tw-text-opacity: 1;
  color: rgb(30 27 75 / var(--tw-text-opacity, 1));
}
.text-lime-400{
  --tw-text-opacity: 1;
  color: rgb(163 230 53 / var(--tw-text-opacity, 1));
}
.text-lime-500{
  --tw-text-opacity: 1;
  color: rgb(132 204 22 / var(--tw-text-opacity, 1));
}
.text-lime-600{
  --tw-text-opacity: 1;
  color: rgb(101 163 13 / var(--tw-text-opacity, 1));
}
.text-muted-foreground{
  color: hsl(var(--muted-foreground));
}
.text-muted-foreground\/20{
  color: hsl(var(--muted-foreground) / 0.2);
}
.text-muted-foreground\/30{
  color: hsl(var(--muted-foreground) / 0.3);
}
.text-muted-foreground\/40{
  color: hsl(var(--muted-foreground) / 0.4);
}
.text-muted-foreground\/50{
  color: hsl(var(--muted-foreground) / 0.5);
}
.text-muted-foreground\/60{
  color: hsl(var(--muted-foreground) / 0.6);
}
.text-muted-foreground\/70{
  color: hsl(var(--muted-foreground) / 0.7);
}
.text-muted-foreground\/80{
  color: hsl(var(--muted-foreground) / 0.8);
}
.text-muted\/20{
  color: hsl(var(--muted) / 0.2);
}
.text-orange-100{
  --tw-text-opacity: 1;
  color: rgb(255 237 213 / var(--tw-text-opacity, 1));
}
.text-orange-200{
  --tw-text-opacity: 1;
  color: rgb(254 215 170 / var(--tw-text-opacity, 1));
}
.text-orange-300{
  --tw-text-opacity: 1;
  color: rgb(253 186 116 / var(--tw-text-opacity, 1));
}
.text-orange-400{
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity, 1));
}
.text-orange-500{
  --tw-text-opacity: 1;
  color: rgb(249 115 22 / var(--tw-text-opacity, 1));
}
.text-orange-500\/50{
  color: rgb(249 115 22 / 0.5);
}
.text-orange-600{
  --tw-text-opacity: 1;
  color: rgb(234 88 12 / var(--tw-text-opacity, 1));
}
.text-orange-700{
  --tw-text-opacity: 1;
  color: rgb(194 65 12 / var(--tw-text-opacity, 1));
}
.text-orange-800{
  --tw-text-opacity: 1;
  color: rgb(154 52 18 / var(--tw-text-opacity, 1));
}
.text-orange-900{
  --tw-text-opacity: 1;
  color: rgb(124 45 18 / var(--tw-text-opacity, 1));
}
.text-pink-200{
  --tw-text-opacity: 1;
  color: rgb(251 207 232 / var(--tw-text-opacity, 1));
}
.text-pink-300{
  --tw-text-opacity: 1;
  color: rgb(249 168 212 / var(--tw-text-opacity, 1));
}
.text-pink-400{
  --tw-text-opacity: 1;
  color: rgb(244 114 182 / var(--tw-text-opacity, 1));
}
.text-pink-500{
  --tw-text-opacity: 1;
  color: rgb(236 72 153 / var(--tw-text-opacity, 1));
}
.text-pink-600{
  --tw-text-opacity: 1;
  color: rgb(219 39 119 / var(--tw-text-opacity, 1));
}
.text-pink-700{
  --tw-text-opacity: 1;
  color: rgb(190 24 93 / var(--tw-text-opacity, 1));
}
.text-pink-800{
  --tw-text-opacity: 1;
  color: rgb(157 23 77 / var(--tw-text-opacity, 1));
}
.text-popover-foreground{
  color: hsl(var(--popover-foreground));
}
.text-primary{
  color: hsl(var(--primary));
}
.text-primary-foreground{
  color: hsl(var(--primary-foreground));
}
.text-primary-foreground\/70{
  color: hsl(var(--primary-foreground) / 0.7);
}
.text-purple-100{
  --tw-text-opacity: 1;
  color: rgb(243 232 255 / var(--tw-text-opacity, 1));
}
.text-purple-200{
  --tw-text-opacity: 1;
  color: rgb(233 213 255 / var(--tw-text-opacity, 1));
}
.text-purple-300{
  --tw-text-opacity: 1;
  color: rgb(216 180 254 / var(--tw-text-opacity, 1));
}
.text-purple-400{
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / var(--tw-text-opacity, 1));
}
.text-purple-400\/30{
  color: rgb(192 132 252 / 0.3);
}
.text-purple-400\/70{
  color: rgb(192 132 252 / 0.7);
}
.text-purple-400\/80{
  color: rgb(192 132 252 / 0.8);
}
.text-purple-500{
  --tw-text-opacity: 1;
  color: rgb(168 85 247 / var(--tw-text-opacity, 1));
}
.text-purple-600{
  --tw-text-opacity: 1;
  color: rgb(147 51 234 / var(--tw-text-opacity, 1));
}
.text-purple-700{
  --tw-text-opacity: 1;
  color: rgb(126 34 206 / var(--tw-text-opacity, 1));
}
.text-purple-800{
  --tw-text-opacity: 1;
  color: rgb(107 33 168 / var(--tw-text-opacity, 1));
}
.text-purple-900{
  --tw-text-opacity: 1;
  color: rgb(88 28 135 / var(--tw-text-opacity, 1));
}
.text-red-100{
  --tw-text-opacity: 1;
  color: rgb(254 226 226 / var(--tw-text-opacity, 1));
}
.text-red-200{
  --tw-text-opacity: 1;
  color: rgb(254 202 202 / var(--tw-text-opacity, 1));
}
.text-red-300{
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
.text-red-300\/80{
  color: rgb(252 165 165 / 0.8);
}
.text-red-400{
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.text-red-400\/50{
  color: rgb(248 113 113 / 0.5);
}
.text-red-400\/60{
  color: rgb(248 113 113 / 0.6);
}
.text-red-400\/70{
  color: rgb(248 113 113 / 0.7);
}
.text-red-400\/80{
  color: rgb(248 113 113 / 0.8);
}
.text-red-400\/90{
  color: rgb(248 113 113 / 0.9);
}
.text-red-500{
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.text-red-500\/50{
  color: rgb(239 68 68 / 0.5);
}
.text-red-600{
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.text-red-700{
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.text-red-800{
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}
.text-red-900{
  --tw-text-opacity: 1;
  color: rgb(127 29 29 / var(--tw-text-opacity, 1));
}
.text-red-900\/90{
  color: rgb(127 29 29 / 0.9);
}
.text-red-950{
  --tw-text-opacity: 1;
  color: rgb(69 10 10 / var(--tw-text-opacity, 1));
}
.text-rose-100{
  --tw-text-opacity: 1;
  color: rgb(255 228 230 / var(--tw-text-opacity, 1));
}
.text-rose-200{
  --tw-text-opacity: 1;
  color: rgb(254 205 211 / var(--tw-text-opacity, 1));
}
.text-rose-300{
  --tw-text-opacity: 1;
  color: rgb(253 164 175 / var(--tw-text-opacity, 1));
}
.text-rose-400{
  --tw-text-opacity: 1;
  color: rgb(251 113 133 / var(--tw-text-opacity, 1));
}
.text-rose-400\/70{
  color: rgb(251 113 133 / 0.7);
}
.text-rose-400\/80{
  color: rgb(251 113 133 / 0.8);
}
.text-rose-500{
  --tw-text-opacity: 1;
  color: rgb(244 63 94 / var(--tw-text-opacity, 1));
}
.text-rose-500\/70{
  color: rgb(244 63 94 / 0.7);
}
.text-rose-600{
  --tw-text-opacity: 1;
  color: rgb(225 29 72 / var(--tw-text-opacity, 1));
}
.text-rose-700{
  --tw-text-opacity: 1;
  color: rgb(190 18 60 / var(--tw-text-opacity, 1));
}
.text-rose-800{
  --tw-text-opacity: 1;
  color: rgb(159 18 57 / var(--tw-text-opacity, 1));
}
.text-rose-900{
  --tw-text-opacity: 1;
  color: rgb(136 19 55 / var(--tw-text-opacity, 1));
}
.text-secondary-foreground{
  color: hsl(var(--secondary-foreground));
}
.text-sky-100{
  --tw-text-opacity: 1;
  color: rgb(224 242 254 / var(--tw-text-opacity, 1));
}
.text-sky-200{
  --tw-text-opacity: 1;
  color: rgb(186 230 253 / var(--tw-text-opacity, 1));
}
.text-sky-200\/70{
  color: rgb(186 230 253 / 0.7);
}
.text-sky-300{
  --tw-text-opacity: 1;
  color: rgb(125 211 252 / var(--tw-text-opacity, 1));
}
.text-sky-400{
  --tw-text-opacity: 1;
  color: rgb(56 189 248 / var(--tw-text-opacity, 1));
}
.text-sky-400\/70{
  color: rgb(56 189 248 / 0.7);
}
.text-sky-500{
  --tw-text-opacity: 1;
  color: rgb(14 165 233 / var(--tw-text-opacity, 1));
}
.text-sky-600{
  --tw-text-opacity: 1;
  color: rgb(2 132 199 / var(--tw-text-opacity, 1));
}
.text-sky-700{
  --tw-text-opacity: 1;
  color: rgb(3 105 161 / var(--tw-text-opacity, 1));
}
.text-sky-700\/80{
  color: rgb(3 105 161 / 0.8);
}
.text-sky-800{
  --tw-text-opacity: 1;
  color: rgb(7 89 133 / var(--tw-text-opacity, 1));
}
.text-sky-900{
  --tw-text-opacity: 1;
  color: rgb(12 74 110 / var(--tw-text-opacity, 1));
}
.text-sky-900\/70{
  color: rgb(12 74 110 / 0.7);
}
.text-sky-900\/80{
  color: rgb(12 74 110 / 0.8);
}
.text-slate-100{
  --tw-text-opacity: 1;
  color: rgb(241 245 249 / var(--tw-text-opacity, 1));
}
.text-slate-200{
  --tw-text-opacity: 1;
  color: rgb(226 232 240 / var(--tw-text-opacity, 1));
}
.text-slate-300{
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}
.text-slate-300\/70{
  color: rgb(203 213 225 / 0.7);
}
.text-slate-400{
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.text-slate-400\/70{
  color: rgb(148 163 184 / 0.7);
}
.text-slate-400\/80{
  color: rgb(148 163 184 / 0.8);
}
.text-slate-50{
  --tw-text-opacity: 1;
  color: rgb(248 250 252 / var(--tw-text-opacity, 1));
}
.text-slate-500{
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.text-slate-500\/50{
  color: rgb(100 116 139 / 0.5);
}
.text-slate-500\/70{
  color: rgb(100 116 139 / 0.7);
}
.text-slate-500\/80{
  color: rgb(100 116 139 / 0.8);
}
.text-slate-600{
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}
.text-slate-600\/50{
  color: rgb(71 85 105 / 0.5);
}
.text-slate-600\/60{
  color: rgb(71 85 105 / 0.6);
}
.text-slate-700{
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
.text-slate-700\/70{
  color: rgb(51 65 85 / 0.7);
}
.text-slate-800{
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}
.text-slate-900{
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
.text-slate-950{
  --tw-text-opacity: 1;
  color: rgb(2 6 23 / var(--tw-text-opacity, 1));
}
.text-stone-800{
  --tw-text-opacity: 1;
  color: rgb(41 37 36 / var(--tw-text-opacity, 1));
}
.text-teal-300{
  --tw-text-opacity: 1;
  color: rgb(94 234 212 / var(--tw-text-opacity, 1));
}
.text-teal-400{
  --tw-text-opacity: 1;
  color: rgb(45 212 191 / var(--tw-text-opacity, 1));
}
.text-teal-400\/80{
  color: rgb(45 212 191 / 0.8);
}
.text-teal-500{
  --tw-text-opacity: 1;
  color: rgb(20 184 166 / var(--tw-text-opacity, 1));
}
.text-teal-600{
  --tw-text-opacity: 1;
  color: rgb(13 148 136 / var(--tw-text-opacity, 1));
}
.text-teal-700{
  --tw-text-opacity: 1;
  color: rgb(15 118 110 / var(--tw-text-opacity, 1));
}
.text-teal-800{
  --tw-text-opacity: 1;
  color: rgb(17 94 89 / var(--tw-text-opacity, 1));
}
.text-teal-900{
  --tw-text-opacity: 1;
  color: rgb(19 78 74 / var(--tw-text-opacity, 1));
}
.text-transparent{
  color: transparent;
}
.text-violet-200{
  --tw-text-opacity: 1;
  color: rgb(221 214 254 / var(--tw-text-opacity, 1));
}
.text-violet-300{
  --tw-text-opacity: 1;
  color: rgb(196 181 253 / var(--tw-text-opacity, 1));
}
.text-violet-400{
  --tw-text-opacity: 1;
  color: rgb(167 139 250 / var(--tw-text-opacity, 1));
}
.text-violet-400\/30{
  color: rgb(167 139 250 / 0.3);
}
.text-violet-500{
  --tw-text-opacity: 1;
  color: rgb(139 92 246 / var(--tw-text-opacity, 1));
}
.text-violet-500\/50{
  color: rgb(139 92 246 / 0.5);
}
.text-violet-500\/60{
  color: rgb(139 92 246 / 0.6);
}
.text-violet-600{
  --tw-text-opacity: 1;
  color: rgb(124 58 237 / var(--tw-text-opacity, 1));
}
.text-violet-700{
  --tw-text-opacity: 1;
  color: rgb(109 40 217 / var(--tw-text-opacity, 1));
}
.text-violet-800{
  --tw-text-opacity: 1;
  color: rgb(91 33 182 / var(--tw-text-opacity, 1));
}
.text-violet-900{
  --tw-text-opacity: 1;
  color: rgb(76 29 149 / var(--tw-text-opacity, 1));
}
.text-white{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-white\/10{
  color: rgb(255 255 255 / 0.1);
}
.text-white\/15{
  color: rgb(255 255 255 / 0.15);
}
.text-white\/20{
  color: rgb(255 255 255 / 0.2);
}
.text-white\/30{
  color: rgb(255 255 255 / 0.3);
}
.text-white\/40{
  color: rgb(255 255 255 / 0.4);
}
.text-white\/50{
  color: rgb(255 255 255 / 0.5);
}
.text-white\/60{
  color: rgb(255 255 255 / 0.6);
}
.text-white\/70{
  color: rgb(255 255 255 / 0.7);
}
.text-white\/80{
  color: rgb(255 255 255 / 0.8);
}
.text-white\/90{
  color: rgb(255 255 255 / 0.9);
}
.text-white\/95{
  color: rgb(255 255 255 / 0.95);
}
.text-yellow-100{
  --tw-text-opacity: 1;
  color: rgb(254 249 195 / var(--tw-text-opacity, 1));
}
.text-yellow-300{
  --tw-text-opacity: 1;
  color: rgb(253 224 71 / var(--tw-text-opacity, 1));
}
.text-yellow-400{
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}
.text-yellow-400\/70{
  color: rgb(250 204 21 / 0.7);
}
.text-yellow-500{
  --tw-text-opacity: 1;
  color: rgb(234 179 8 / var(--tw-text-opacity, 1));
}
.text-yellow-600{
  --tw-text-opacity: 1;
  color: rgb(202 138 4 / var(--tw-text-opacity, 1));
}
.text-yellow-700{
  --tw-text-opacity: 1;
  color: rgb(161 98 7 / var(--tw-text-opacity, 1));
}
.text-yellow-800{
  --tw-text-opacity: 1;
  color: rgb(133 77 14 / var(--tw-text-opacity, 1));
}
.text-yellow-900{
  --tw-text-opacity: 1;
  color: rgb(113 63 18 / var(--tw-text-opacity, 1));
}
.text-zinc-100{
  --tw-text-opacity: 1;
  color: rgb(244 244 245 / var(--tw-text-opacity, 1));
}
.text-zinc-200{
  --tw-text-opacity: 1;
  color: rgb(228 228 231 / var(--tw-text-opacity, 1));
}
.text-zinc-300{
  --tw-text-opacity: 1;
  color: rgb(212 212 216 / var(--tw-text-opacity, 1));
}
.text-zinc-400{
  --tw-text-opacity: 1;
  color: rgb(161 161 170 / var(--tw-text-opacity, 1));
}
.text-zinc-500{
  --tw-text-opacity: 1;
  color: rgb(113 113 122 / var(--tw-text-opacity, 1));
}
.text-zinc-600{
  --tw-text-opacity: 1;
  color: rgb(82 82 91 / var(--tw-text-opacity, 1));
}
.text-zinc-700{
  --tw-text-opacity: 1;
  color: rgb(63 63 70 / var(--tw-text-opacity, 1));
}
.text-zinc-800{
  --tw-text-opacity: 1;
  color: rgb(39 39 42 / var(--tw-text-opacity, 1));
}
.text-zinc-900{
  --tw-text-opacity: 1;
  color: rgb(24 24 27 / var(--tw-text-opacity, 1));
}
.text-zinc-950{
  --tw-text-opacity: 1;
  color: rgb(9 9 11 / var(--tw-text-opacity, 1));
}
.underline{
  text-decoration-line: underline;
}
.line-through{
  text-decoration-line: line-through;
}
.no-underline{
  text-decoration-line: none;
}
.decoration-dotted{
  text-decoration-style: dotted;
}
.underline-offset-2{
  text-underline-offset: 2px;
}
.underline-offset-4{
  text-underline-offset: 4px;
}
.placeholder-slate-500::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgb(100 116 139 / var(--tw-placeholder-opacity, 1));
}
.placeholder-zinc-600::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgb(82 82 91 / var(--tw-placeholder-opacity, 1));
}
.accent-blue-500{
  accent-color: #3b82f6;
}
.opacity-0{
  opacity: 0;
}
.opacity-10{
  opacity: 0.1;
}
.opacity-100{
  opacity: 1;
}
.opacity-20{
  opacity: 0.2;
}
.opacity-25{
  opacity: 0.25;
}
.opacity-30{
  opacity: 0.3;
}
.opacity-40{
  opacity: 0.4;
}
.opacity-5{
  opacity: 0.05;
}
.opacity-50{
  opacity: 0.5;
}
.opacity-60{
  opacity: 0.6;
}
.opacity-70{
  opacity: 0.7;
}
.opacity-75{
  opacity: 0.75;
}
.opacity-80{
  opacity: 0.8;
}
.opacity-90{
  opacity: 0.9;
}
.opacity-\[3-5\]{
  opacity: 3-5;
}
.shadow{
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(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: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-2xl{
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_0_1px_rgba\(244\2c 63\2c 94\2c 0\.35\)\]{
  --tw-shadow: 0 0 0 1px rgba(244,63,94,0.35);
  --tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_-5px_rgba\(245\2c 158\2c 11\2c 0\.4\)\]{
  --tw-shadow: 0 0 20px -5px rgba(245,158,11,0.4);
  --tw-shadow-colored: 0 0 20px -5px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_rgba\(0\2c 0\2c 0\2c 0\.4\)\]{
  --tw-shadow: 0 0 20px rgba(0,0,0,0.4);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_30px_-5px_rgba\(239\2c 68\2c 68\2c 0\.5\)\]{
  --tw-shadow: 0 0 30px -5px rgba(239,68,68,0.5);
  --tw-shadow-colored: 0 0 30px -5px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[2px_0_4px_-2px_rgba\(0\2c 0\2c 0\2c 0\.15\)\]{
  --tw-shadow: 2px 0 4px -2px rgba(0,0,0,0.15);
  --tw-shadow-colored: 2px 0 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-inner{
  --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg{
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(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: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-md{
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(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: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-none{
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sm{
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-xl{
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-amber-500\/20{
  --tw-shadow-color: rgb(245 158 11 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-amber-500\/30{
  --tw-shadow-color: rgb(245 158 11 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-amber-900\/10{
  --tw-shadow-color: rgb(120 53 15 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-black\/20{
  --tw-shadow-color: rgb(0 0 0 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-black\/40{
  --tw-shadow-color: rgb(0 0 0 / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-blue-500\/20{
  --tw-shadow-color: rgb(59 130 246 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-cyan-500\/20{
  --tw-shadow-color: rgb(6 182 212 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-cyan-500\/25{
  --tw-shadow-color: rgb(6 182 212 / 0.25);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-destructive\/20{
  --tw-shadow-color: hsl(var(--destructive) / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-emerald-500\/20{
  --tw-shadow-color: rgb(16 185 129 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-emerald-500\/30{
  --tw-shadow-color: rgb(16 185 129 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-green-500\/20{
  --tw-shadow-color: rgb(34 197 94 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-green-500\/50{
  --tw-shadow-color: rgb(34 197 94 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-indigo-500\/20{
  --tw-shadow-color: rgb(99 102 241 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-indigo-500\/5{
  --tw-shadow-color: rgb(99 102 241 / 0.05);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-indigo-600\/30{
  --tw-shadow-color: rgb(79 70 229 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-orange-500\/20{
  --tw-shadow-color: rgb(249 115 22 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-orange-500\/25{
  --tw-shadow-color: rgb(249 115 22 / 0.25);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-orange-900\/10{
  --tw-shadow-color: rgb(124 45 18 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-primary\/20{
  --tw-shadow-color: hsl(var(--primary) / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-purple-500\/20{
  --tw-shadow-color: rgb(168 85 247 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-purple-500\/25{
  --tw-shadow-color: rgb(168 85 247 / 0.25);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-red-800\/20{
  --tw-shadow-color: rgb(153 27 27 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-red-900\/10{
  --tw-shadow-color: rgb(127 29 29 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-red-900\/20{
  --tw-shadow-color: rgb(127 29 29 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-sky-500\/20{
  --tw-shadow-color: rgb(14 165 233 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-sky-500\/30{
  --tw-shadow-color: rgb(14 165 233 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-sky-500\/50{
  --tw-shadow-color: rgb(14 165 233 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-white\/10{
  --tw-shadow-color: rgb(255 255 255 / 0.1);
  --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), var(--tw-shadow, 0 0 #0000);
}
.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), var(--tw-shadow, 0 0 #0000);
}
.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), var(--tw-shadow, 0 0 #0000);
}
.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), var(--tw-shadow, 0 0 #0000);
}
.ring-4{
  --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(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-inset{
  --tw-ring-inset: inset;
}
.ring-amber-200{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(253 230 138 / var(--tw-ring-opacity, 1));
}
.ring-amber-300{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(252 211 77 / var(--tw-ring-opacity, 1));
}
.ring-amber-400{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(251 191 36 / var(--tw-ring-opacity, 1));
}
.ring-amber-500{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(245 158 11 / var(--tw-ring-opacity, 1));
}
.ring-amber-500\/20{
  --tw-ring-color: rgb(245 158 11 / 0.2);
}
.ring-amber-500\/30{
  --tw-ring-color: rgb(245 158 11 / 0.3);
}
.ring-amber-500\/50{
  --tw-ring-color: rgb(245 158 11 / 0.5);
}
.ring-blue-300{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(147 197 253 / var(--tw-ring-opacity, 1));
}
.ring-blue-400{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(96 165 250 / var(--tw-ring-opacity, 1));
}
.ring-blue-500{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
}
.ring-blue-500\/20{
  --tw-ring-color: rgb(59 130 246 / 0.2);
}
.ring-cyan-400{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(34 211 238 / var(--tw-ring-opacity, 1));
}
.ring-cyan-500{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(6 182 212 / var(--tw-ring-opacity, 1));
}
.ring-cyan-500\/20{
  --tw-ring-color: rgb(6 182 212 / 0.2);
}
.ring-cyan-500\/30{
  --tw-ring-color: rgb(6 182 212 / 0.3);
}
.ring-emerald-200{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(167 243 208 / var(--tw-ring-opacity, 1));
}
.ring-emerald-500\/30{
  --tw-ring-color: rgb(16 185 129 / 0.3);
}
.ring-green-300{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(134 239 172 / var(--tw-ring-opacity, 1));
}
.ring-green-400{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(74 222 128 / var(--tw-ring-opacity, 1));
}
.ring-green-400\/30{
  --tw-ring-color: rgb(74 222 128 / 0.3);
}
.ring-green-400\/50{
  --tw-ring-color: rgb(74 222 128 / 0.5);
}
.ring-green-500{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(34 197 94 / var(--tw-ring-opacity, 1));
}
.ring-green-500\/20{
  --tw-ring-color: rgb(34 197 94 / 0.2);
}
.ring-indigo-200{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(199 210 254 / var(--tw-ring-opacity, 1));
}
.ring-indigo-500\/10{
  --tw-ring-color: rgb(99 102 241 / 0.1);
}
.ring-indigo-500\/20{
  --tw-ring-color: rgb(99 102 241 / 0.2);
}
.ring-orange-400{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(251 146 60 / var(--tw-ring-opacity, 1));
}
.ring-orange-400\/50{
  --tw-ring-color: rgb(251 146 60 / 0.5);
}
.ring-orange-500{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(249 115 22 / var(--tw-ring-opacity, 1));
}
.ring-orange-500\/20{
  --tw-ring-color: rgb(249 115 22 / 0.2);
}
.ring-pink-500{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(236 72 153 / var(--tw-ring-opacity, 1));
}
.ring-primary{
  --tw-ring-color: hsl(var(--primary));
}
.ring-primary\/20{
  --tw-ring-color: hsl(var(--primary) / 0.2);
}
.ring-primary\/30{
  --tw-ring-color: hsl(var(--primary) / 0.3);
}
.ring-purple-300{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(216 180 254 / var(--tw-ring-opacity, 1));
}
.ring-purple-400{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(192 132 252 / var(--tw-ring-opacity, 1));
}
.ring-purple-500{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(168 85 247 / var(--tw-ring-opacity, 1));
}
.ring-purple-500\/20{
  --tw-ring-color: rgb(168 85 247 / 0.2);
}
.ring-red-200{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 202 202 / var(--tw-ring-opacity, 1));
}
.ring-red-300{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(252 165 165 / var(--tw-ring-opacity, 1));
}
.ring-red-400{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1));
}
.ring-red-400\/50{
  --tw-ring-color: rgb(248 113 113 / 0.5);
}
.ring-red-500{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1));
}
.ring-red-500\/20{
  --tw-ring-color: rgb(239 68 68 / 0.2);
}
.ring-red-500\/40{
  --tw-ring-color: rgb(239 68 68 / 0.4);
}
.ring-ring{
  --tw-ring-color: hsl(var(--ring));
}
.ring-rose-400{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(251 113 133 / var(--tw-ring-opacity, 1));
}
.ring-sky-200{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(186 230 253 / var(--tw-ring-opacity, 1));
}
.ring-sky-500\/50{
  --tw-ring-color: rgb(14 165 233 / 0.5);
}
.ring-slate-200{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(226 232 240 / var(--tw-ring-opacity, 1));
}
.ring-slate-400{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(148 163 184 / var(--tw-ring-opacity, 1));
}
.ring-slate-500\/20{
  --tw-ring-color: rgb(100 116 139 / 0.2);
}
.ring-transparent{
  --tw-ring-color: transparent;
}
.ring-violet-200{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(221 214 254 / var(--tw-ring-opacity, 1));
}
.ring-white{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1));
}
.ring-white\/30{
  --tw-ring-color: rgb(255 255 255 / 0.3);
}
.ring-yellow-300{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(253 224 71 / var(--tw-ring-opacity, 1));
}
.ring-yellow-400{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(250 204 21 / var(--tw-ring-opacity, 1));
}
.ring-yellow-400\/50{
  --tw-ring-color: rgb(250 204 21 / 0.5);
}
.ring-offset-1{
  --tw-ring-offset-width: 1px;
}
.ring-offset-2{
  --tw-ring-offset-width: 2px;
}
.ring-offset-background{
  --tw-ring-offset-color: hsl(var(--background));
}
.ring-offset-slate-900{
  --tw-ring-offset-color: #0f172a;
}
.ring-offset-slate-950{
  --tw-ring-offset-color: #020617;
}
.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-3xl{
  --tw-blur: blur(64px);
  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-lg{
  --tw-blur: blur(16px);
  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);
}
.drop-shadow{
  --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
  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);
}
.drop-shadow-\[0_0_12px_rgba\(0\2c 200\2c 200\2c 0\.15\)\]{
  --tw-drop-shadow: drop-shadow(0 0 12px rgba(0,200,200,0.15));
  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);
}
.drop-shadow-lg{
  --tw-drop-shadow: drop-shadow(0 10px 8px rgb(0 0 0 / 0.04)) drop-shadow(0 4px 3px rgb(0 0 0 / 0.1));
  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);
}
.grayscale{
  --tw-grayscale: grayscale(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);
}
.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) !important;
}
.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{
  --tw-backdrop-blur: blur(8px);
  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-\[2px\]{
  --tw-backdrop-blur: blur(2px);
  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-md{
  --tw-backdrop-blur: blur(12px);
  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);
  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-xl{
  --tw-backdrop-blur: blur(24px);
  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{
  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, backdrop-filter;
  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;
}
.delay-200{
  transition-delay: 200ms;
}
.duration-1000{
  transition-duration: 1000ms;
}
.duration-150{
  transition-duration: 150ms;
}
.duration-200{
  transition-duration: 200ms;
}
.duration-300{
  transition-duration: 300ms;
}
.duration-500{
  transition-duration: 500ms;
}
.duration-700{
  transition-duration: 700ms;
}
.ease-in{
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}
.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: var(--tw-enter-opacity, 1);
    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: var(--tw-exit-opacity, 1);
    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));
  }
}
.animate-in{
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}
.fade-in{
  --tw-enter-opacity: 0;
}
.fade-in-0{
  --tw-enter-opacity: 0;
}
.zoom-in{
  --tw-enter-scale: 0;
}
.zoom-in-95{
  --tw-enter-scale: .95;
}
.slide-in-from-bottom-4{
  --tw-enter-translate-y: 1rem;
}
.slide-in-from-bottom-8{
  --tw-enter-translate-y: 2rem;
}
.slide-in-from-left-4{
  --tw-enter-translate-x: -1rem;
}
.slide-in-from-right{
  --tw-enter-translate-x: 100%;
}
.slide-in-from-right-2{
  --tw-enter-translate-x: 0.5rem;
}
.slide-in-from-top-1{
  --tw-enter-translate-y: -0.25rem;
}
.slide-in-from-top-2{
  --tw-enter-translate-y: -0.5rem;
}
.duration-1000{
  animation-duration: 1000ms;
}
.duration-150{
  animation-duration: 150ms;
}
.duration-200{
  animation-duration: 200ms;
}
.duration-300{
  animation-duration: 300ms;
}
.duration-500{
  animation-duration: 500ms;
}
.duration-700{
  animation-duration: 700ms;
}
.delay-200{
  animation-delay: 200ms;
}
.ease-in{
  animation-timing-function: cubic-bezier(0.4, 0, 1, 1);
}
.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 !important;
}
.running{
  animation-play-state: running;
}
.paused{
  animation-play-state: paused;
}
.scrollbar-hide {
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
.scrollbar-hide::-webkit-scrollbar {
        display: none;
    }
/* Safe area padding for notched devices */
.scrollbar-hide {
        -ms-overflow-style: none;  /* IE and Edge */
        scrollbar-width: none;  /* Firefox */
    }
.scrollbar-hide::-webkit-scrollbar {
        display: none;  /* Chrome, Safari, Opera */
    }
/* Touch scrolling fixes for mobile */
.\[color-scheme\:dark\]{
  color-scheme: dark;
}

/* Hide scrollbar for horizontal scroll containers on mobile */

body {
    margin: 0;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
        "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
        sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Manrope', sans-serif;
    font-weight: 700;
}

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

/* Hide scrollbar utility class for cleaner mobile UI */

/* Fix ScrollArea touch scrolling on mobile */
[data-radix-scroll-area-viewport] {
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-x pan-y !important;
}

/* Ensure all overflow areas can scroll on touch */
.overflow-auto,
.overflow-y-auto,
.overflow-x-auto,
.overflow-scroll {
    -webkit-overflow-scrolling: touch;
}

/* Navigation Mode - Enhanced Dark Theme Styles */

.dark .file\:border::file-selector-button {
        border-color: hsl(0 40% 20% / 0.4) !important;
    }

@media (min-width: 640px){
    .dark .sm\:border {
        border-color: hsl(0 40% 20% / 0.4) !important;
    }
}

.dark .\[\&_td\]\:border td {
        border-color: hsl(0 40% 20% / 0.4) !important;
    }

.dark .\[\&_th\]\:border th {
        border-color: hsl(0 40% 20% / 0.4) !important;
    }


    .dark .file\:border.rounded-xl::file-selector-button,
    .dark .file\:border.rounded-lg::file-selector-button,
    .dark .file\:border.rounded-md::file-selector-button {
        border: 1px solid hsla(0, 70%, 40%, 0.35) !important;
        box-shadow: 0 0 0 1px hsla(0, 70%, 35%, 0.2), 
                    0 0 10px hsla(0, 70%, 30%, 0.15),
                    0 4px 12px rgba(0, 0, 0, 0.4) !important;
    }


    .dark .file\:rounded-lg.border::file-selector-button {
        border: 1px solid hsla(0, 70%, 40%, 0.35) !important;
        box-shadow: 0 0 0 1px hsla(0, 70%, 35%, 0.2), 
                    0 0 10px hsla(0, 70%, 30%, 0.15),
                    0 4px 12px rgba(0, 0, 0, 0.4) !important;
    }


    .dark .file\:border.rounded-xl::file-selector-button,
    .dark .file\:border.rounded-lg::file-selector-button,
    .dark .file\:border.rounded-md::file-selector-button {
        border: 1px solid hsla(0, 70%, 40%, 0.35) !important;
        box-shadow: 0 0 0 1px hsla(0, 70%, 35%, 0.2), 
                    0 0 10px hsla(0, 70%, 30%, 0.15),
                    0 4px 12px rgba(0, 0, 0, 0.4) !important;
    }


    .dark .file\:rounded-md.border::file-selector-button {
        border: 1px solid hsla(0, 70%, 40%, 0.35) !important;
        box-shadow: 0 0 0 1px hsla(0, 70%, 35%, 0.2), 
                    0 0 10px hsla(0, 70%, 30%, 0.15),
                    0 4px 12px rgba(0, 0, 0, 0.4) !important;
    }


    .dark .file\:border.rounded-xl::file-selector-button,
    .dark .file\:border.rounded-lg::file-selector-button,
    .dark .file\:border.rounded-md::file-selector-button {
        border: 1px solid hsla(0, 70%, 40%, 0.35) !important;
        box-shadow: 0 0 0 1px hsla(0, 70%, 35%, 0.2), 
                    0 0 10px hsla(0, 70%, 30%, 0.15),
                    0 4px 12px rgba(0, 0, 0, 0.4) !important;
    }


    .dark .file\:bg-blue-50::file-selector-button {
        background: hsla(200, 65%, 45%, 0.15) !important;
    }

.dark .file\:rounded-lg::file-selector-button {
        border-color: hsl(220 15% 14%);
    }


    .dark .file\:rounded-md::file-selector-button {
        border-color: hsl(220 15% 14%);
    }

.dark .placeholder\:text-muted-foreground::placeholder {
        color: hsl(210 10% 65%) !important;
    }


    .dark .placeholder\:text-slate-500::placeholder {
        color: hsl(210 10% 65%) !important;
    }


    .dark .placeholder\:text-slate-600::placeholder {
        color: hsl(210 10% 65%) !important;
    }


    .dark .hover\:shadow-sm:hover {
        box-shadow: 0 0 0 1px hsla(0, 70%, 35%, 0.2), 
                    0 0 8px hsla(0, 70%, 30%, 0.1),
                    0 2px 8px rgba(0, 0, 0, 0.5) !important;
    }


    .dark .hover\:shadow-md:hover {
        box-shadow: 0 0 0 1px hsla(0, 70%, 35%, 0.2), 
                    0 0 8px hsla(0, 70%, 30%, 0.1),
                    0 2px 8px rgba(0, 0, 0, 0.5) !important;
    }


    .dark .hover\:shadow-lg:hover {
        box-shadow: 0 0 0 1px hsla(0, 70%, 35%, 0.2), 
                    0 0 8px hsla(0, 70%, 30%, 0.1),
                    0 2px 8px rgba(0, 0, 0, 0.5) !important;
    }


    .dark .hover\:shadow-xl:hover {
        box-shadow: 0 0 0 1px hsla(0, 70%, 35%, 0.2), 
                    0 0 8px hsla(0, 70%, 30%, 0.1),
                    0 2px 8px rgba(0, 0, 0, 0.5) !important;
    }

.dark .hover\:border-primary:hover { border-color: hsl(0 75% 55%) !important; }

.dark .hover\:bg-white:hover {
        background: hsl(220 18% 10%) !important;
    }


    .dark .hover\:bg-white\/50:hover {
        background: hsla(220, 18%, 10%, 0.95) !important;
    }


    .dark .hover\:bg-white\/10:hover {
        background: hsla(220, 18%, 10%, 0.95) !important;
    }

.dark .hover\:bg-gray-50:hover {
        background: hsl(220 15% 12%) !important;
    }


    .dark .hover\:bg-gray-100:hover {
        background: hsl(220 15% 12%) !important;
    }


    .dark .hover\:bg-slate-50:hover {
        background: hsl(220 15% 12%) !important;
    }


    .dark .hover\:bg-slate-100:hover {
        background: hsl(220 15% 12%) !important;
    }

.dark .hover\:bg-gray-200:hover {
        background: hsl(220 15% 15%) !important;
    }


    .dark .hover\:bg-slate-200:hover {
        background: hsl(220 15% 15%) !important;
    }


    .dark .hover\:bg-slate-300:hover {
        background: hsl(220 15% 15%) !important;
    }

.dark .hover\:text-muted-foreground:hover {
        color: hsl(210 10% 65%) !important;
    }


    .dark .hover\:text-slate-600:hover {
        color: hsl(210 10% 65%) !important;
    }


    .dark .hover\:text-slate-700:hover {
        color: hsl(210 10% 80%) !important;
    }


    .dark .hover\:text-slate-800:hover {
        color: hsl(210 10% 80%) !important;
    }


    .dark .hover\:text-slate-900:hover {
        color: hsl(210 15% 93%) !important;
    }

.dark .hover\:bg-green-100:hover {
        background: hsla(150, 55%, 40%, 0.15) !important;
    }


    .dark .hover\:bg-green-50:hover {
        background: hsla(150, 55%, 40%, 0.15) !important;
    }

.dark .hover\:bg-green-500:hover {
        background: hsl(150 55% 40%) !important;
    }


    .dark .hover\:bg-green-600:hover {
        background: hsl(150 55% 40%) !important;
    }


    .dark .hover\:text-yellow-600:hover {
        color: hsl(40 75% 55%) !important;
    }


    .dark .hover\:text-yellow-500:hover {
        color: hsl(40 75% 55%) !important;
    }


    .dark .hover\:text-amber-600:hover {
        color: hsl(40 75% 55%) !important;
    }


    .dark .hover\:text-amber-500:hover {
        color: hsl(40 75% 55%) !important;
    }

.dark .hover\:bg-yellow-100:hover {
        background: hsla(40, 75%, 45%, 0.15) !important;
    }


    .dark .hover\:bg-amber-100:hover {
        background: hsla(40, 75%, 45%, 0.15) !important;
    }


    .dark .hover\:bg-amber-50:hover {
        background: hsla(40, 75%, 45%, 0.15) !important;
    }


    .dark .hover\:bg-amber-500:hover {
        background: hsl(40 75% 45%) !important;
    }


    .dark .hover\:text-red-600:hover {
        color: hsl(0 65% 55%) !important;
    }


    .dark .hover\:text-red-500:hover {
        color: hsl(0 65% 55%) !important;
    }

.dark .hover\:bg-red-100:hover {
        background: hsla(0, 65%, 45%, 0.15) !important;
    }


    .dark .hover\:bg-red-50:hover {
        background: hsla(0, 65%, 45%, 0.15) !important;
    }

.dark .hover\:bg-red-500:hover {
        background: hsl(0 65% 45%) !important;
    }


    .dark .hover\:bg-red-600:hover {
        background: hsl(0 65% 45%) !important;
    }

.dark .hover\:border-red-300:hover {
        border-color: hsla(0, 65%, 45%, 0.3) !important;
    }


    .dark .hover\:text-blue-600:hover {
        color: hsl(200 65% 55%) !important;
    }

.dark .hover\:bg-blue-100:hover {
        background: hsla(200, 65%, 45%, 0.15) !important;
    }


    .dark .hover\:bg-blue-50:hover {
        background: hsla(200, 65%, 45%, 0.15) !important;
    }

.dark .hover\:bg-blue-500:hover {
        background: hsl(200 65% 45%) !important;
    }


    .dark .hover\:bg-blue-600:hover {
        background: hsl(200 65% 45%) !important;
    }

.dark .hover\:border-blue-300:hover {
        border-color: hsla(200, 65%, 45%, 0.3) !important;
    }


    .dark .hover\:border-blue-200:hover {
        border-color: hsla(200, 65%, 45%, 0.3) !important;
    }

.dark .hover\:bg-purple-100:hover {
        background: hsla(270, 60%, 45%, 0.15) !important;
    }


    .dark .hover\:bg-violet-100:hover {
        background: hsla(270, 60%, 45%, 0.15) !important;
    }


    .dark .hover\:border-gray-200:hover {
        border-color: hsl(220 15% 14%) !important;
    }


    .dark .hover\:border-gray-300:hover {
        border-color: hsl(220 15% 14%) !important;
    }


    .dark .hover\:border-slate-300:hover {
        border-color: hsl(220 15% 14%) !important;
    }

.dark .hover\:bg-white:hover {
        background: hsl(220 18% 11%) !important;
    }


    .dark .hover\:bg-white\/50:hover {
        background: hsla(220, 18%, 11%, 0.9) !important;
    }

.dark .hover\:bg-gray-50:hover {
        background: hsl(220 15% 13%) !important;
    }


    .dark .hover\:bg-gray-100:hover {
        background: hsl(220 15% 13%) !important;
    }


    .dark .hover\:bg-slate-50:hover {
        background: hsl(220 15% 13%) !important;
    }


    .dark .hover\:bg-slate-100:hover {
        background: hsl(220 15% 13%) !important;
    }

.dark .hover\:bg-gray-200:hover {
        background: hsl(220 15% 16%) !important;
    }


    .dark .hover\:bg-slate-200:hover {
        background: hsl(220 15% 16%) !important;
    }

.dark .hover\:bg-blue-100:hover {
        background: hsla(217, 91%, 60%, 0.2) !important;
    }

.dark .hover\:bg-blue-200:hover {
        background: hsla(217, 91%, 60%, 0.3) !important;
    }


    .dark .hover\:shadow-sm:hover {
        --tw-shadow-color: rgba(0, 0, 0, 0.5) !important;
    }


    .dark .hover\:shadow-md:hover {
        --tw-shadow-color: rgba(0, 0, 0, 0.5) !important;
    }


    .dark .hover\:shadow-lg:hover {
        --tw-shadow-color: rgba(0, 0, 0, 0.5) !important;
    }


    .dark .hover\:shadow-xl:hover {
        --tw-shadow-color: rgba(0, 0, 0, 0.5) !important;
    }

.dark .hover\:file\:bg-blue-100::file-selector-button:hover {
        background: hsla(200, 65%, 45%, 0.15) !important;
        background: hsla(217, 91%, 60%, 0.2) !important;
    }


    .dark .focus\:bg-white\/10:focus {
        background: hsla(220, 18%, 10%, 0.95) !important;
    }

.dark .focus-visible\:border-primary:focus-visible { border-color: hsl(0 75% 55%) !important; }


    .dark .active\:bg-slate-200:active {
        background: hsl(220 15% 15%) !important;
        background: hsl(220 15% 16%) !important;
    }

.dark .group:hover .group-hover\:text-muted-foreground {
        color: hsl(210 10% 65%) !important;
    }


    .dark .group:hover .group-hover\:text-gray-600 {
        color: hsl(210 10% 65%) !important;
    }


    .dark .group:hover .group-hover\:text-red-600 {
        color: hsl(0 65% 55%) !important;
    }


    .dark .group.toaster .group-\[\.toaster\]\:rounded-xl.border {
        border: 1px solid hsla(0, 70%, 40%, 0.35) !important;
        box-shadow: 0 0 0 1px hsla(0, 70%, 35%, 0.2), 
                    0 0 10px hsla(0, 70%, 30%, 0.15),
                    0 4px 12px rgba(0, 0, 0, 0.4) !important;
    }


    .dark .group.toast .group-\[\.toast\]\:rounded-lg.border {
        border: 1px solid hsla(0, 70%, 40%, 0.35) !important;
        box-shadow: 0 0 0 1px hsla(0, 70%, 35%, 0.2), 
                    0 0 10px hsla(0, 70%, 30%, 0.15),
                    0 4px 12px rgba(0, 0, 0, 0.4) !important;
    }


    .dark .group.toast .group-\[\.toast\]\:shadow-md {
        box-shadow: 0 0 0 1px hsla(0, 70%, 35%, 0.2), 
                    0 0 8px hsla(0, 70%, 30%, 0.1),
                    0 2px 8px rgba(0, 0, 0, 0.5) !important;
    }

.dark .group.toaster .group-\[\.toaster\]\:border-l-red-500 { border-left-color: hsl(0 84% 60%) !important; }

.dark .group.toaster .group-\[\.toaster\]\:border-l-green-500 { border-left-color: hsl(142 71% 45%) !important; }

.dark .group.toaster .group-\[\.toaster\]\:border-l-blue-500 { border-left-color: hsl(217 91% 60%) !important; }

.dark .group.toaster .group-\[\.toaster\]\:backdrop-blur-md {
        background: hsla(220, 18%, 6%, 0.98) !important;
    }

.dark .group.toast .group-\[\.toast\]\:text-muted-foreground {
        color: hsl(210 10% 65%) !important;
    }

.dark .group.toaster .group-\[\.toaster\]\:backdrop-blur-md {
        background: hsla(220, 18%, 10%, 0.95) !important;
    }


    .dark .group.toast .group-\[\.toast\]\:shadow-md {
        --tw-shadow-color: rgba(0, 0, 0, 0.5) !important;
    }

.dark .group.toast .group-\[\.toast\]\:rounded-lg {
        border-color: hsl(220 15% 14%);
    }


    .dark .group.toaster .group-\[\.toaster\]\:rounded-xl {
        border-color: hsl(220 15% 14%);
    }

.dark .peer:checked ~ .peer-checked\:bg-green-500 {
        background: hsl(150 55% 40%) !important;
    }

.dark .aria-selected\:text-muted-foreground[aria-selected="true"] {
        color: hsl(210 10% 65%) !important;
    }

.dark .data-\[state\=active\]\:shadow[data-state="active"] {
        box-shadow: 0 0 0 1px hsla(0, 70%, 35%, 0.2), 
                    0 0 8px hsla(0, 70%, 30%, 0.1),
                    0 2px 8px rgba(0, 0, 0, 0.5) !important;
    }

.dark .data-\[placeholder\]\:text-muted-foreground[data-placeholder] {
        color: hsl(210 10% 65%) !important;
    }

.dark .data-\[state\=open\]\:text-muted-foreground[data-state="open"] {
        color: hsl(210 10% 65%) !important;
    }


    .dark .data-\[state\=active\]\:text-green-600[data-state="active"] {
        color: hsl(150 55% 55%) !important;
    }

.dark .data-\[state\=active\]\:bg-green-100[data-state="active"] {
        background: hsla(150, 55%, 40%, 0.15) !important;
    }


    .dark .data-\[state\=active\]\:bg-green-600[data-state="active"] {
        background: hsl(150 55% 40%) !important;
    }


    .dark .data-\[state\=active\]\:text-amber-600[data-state="active"] {
        color: hsl(40 75% 55%) !important;
    }

.dark .data-\[state\=active\]\:bg-yellow-100[data-state="active"] {
        background: hsla(40, 75%, 45%, 0.15) !important;
    }


    .dark .data-\[state\=active\]\:bg-amber-100[data-state="active"] {
        background: hsla(40, 75%, 45%, 0.15) !important;
    }

.dark .data-\[state\=active\]\:bg-blue-100[data-state="active"] {
        background: hsla(200, 65%, 45%, 0.15) !important;
    }

.dark .data-\[state\=active\]\:bg-blue-500[data-state="active"] {
        background: hsl(200 65% 45%) !important;
    }


    .dark .data-\[state\=active\]\:bg-blue-600[data-state="active"] {
        background: hsl(200 65% 45%) !important;
    }

.dark .data-\[state\=active\]\:text-purple-600[data-state="active"] {
        color: hsl(270 60% 60%) !important;
    }

.dark .data-\[state\=active\]\:bg-purple-100[data-state="active"] {
        background: hsla(270, 60%, 45%, 0.15) !important;
    }

.dark .data-\[state\=active\]\:bg-blue-100[data-state="active"] {
        background: hsla(217, 91%, 60%, 0.2) !important;
    }

.dark .data-\[state\=active\]\:shadow[data-state="active"] {
        --tw-shadow-color: rgba(0, 0, 0, 0.5) !important;
    }

.dark .dark\:text-gray-500:is(.dark *) {
        color: hsl(210 10% 65%) !important;
    }


    .dark .dark\:text-gray-600:is(.dark *) {
        color: hsl(210 10% 65%) !important;
    }


    .dark .dark\:text-slate-500:is(.dark *) {
        color: hsl(210 10% 65%) !important;
    }


    .dark .dark\:text-slate-600:is(.dark *) {
        color: hsl(210 10% 65%) !important;
    }

.dark .dark\:text-gray-700:is(.dark *) {
        color: hsl(210 10% 80%) !important;
    }


    .dark .dark\:text-slate-900:is(.dark *) {
        color: hsl(210 15% 93%) !important;
    }


    .dark .dark\:text-green-500:is(.dark *) {
        color: hsl(150 55% 55%) !important;
    }


    .dark .dark\:text-yellow-500:is(.dark *) {
        color: hsl(40 75% 55%) !important;
    }


    .dark .dark\:bg-red-600:is(.dark *) {
        background: hsl(0 65% 45%) !important;
    }


    .dark .dark\:text-blue-500:is(.dark *) {
        color: hsl(200 65% 55%) !important;
    }


    .dark .peer:checked ~ .peer-checked\:dark\:bg-green-600:is(.dark *) {
        background: hsl(150 55% 40%) !important;
    }

@media (min-width: 640px){
    
    .dark .sm\:rounded-xl.border {
        border: 1px solid hsla(0, 70%, 40%, 0.35) !important;
        box-shadow: 0 0 0 1px hsla(0, 70%, 35%, 0.2), 
                    0 0 10px hsla(0, 70%, 30%, 0.15),
                    0 4px 12px rgba(0, 0, 0, 0.4) !important;
    }
    
    .dark .sm\:border.rounded-xl,
    .dark .sm\:border.rounded-lg,
    .dark .sm\:border.rounded-md {
        border: 1px solid hsla(0, 70%, 40%, 0.35) !important;
        box-shadow: 0 0 0 1px hsla(0, 70%, 35%, 0.2), 
                    0 0 10px hsla(0, 70%, 30%, 0.15),
                    0 4px 12px rgba(0, 0, 0, 0.4) !important;
    }
    
    .dark .sm\:rounded-lg.border {
        border: 1px solid hsla(0, 70%, 40%, 0.35) !important;
        box-shadow: 0 0 0 1px hsla(0, 70%, 35%, 0.2), 
                    0 0 10px hsla(0, 70%, 30%, 0.15),
                    0 4px 12px rgba(0, 0, 0, 0.4) !important;
    }
    
    .dark .sm\:border.rounded-xl,
    .dark .sm\:border.rounded-lg,
    .dark .sm\:border.rounded-md {
        border: 1px solid hsla(0, 70%, 40%, 0.35) !important;
        box-shadow: 0 0 0 1px hsla(0, 70%, 35%, 0.2), 
                    0 0 10px hsla(0, 70%, 30%, 0.15),
                    0 4px 12px rgba(0, 0, 0, 0.4) !important;
    }
    .dark .sm\:rounded-lg {
        border-color: hsl(220 15% 14%);
    }
    
    .dark .sm\:rounded-xl {
        border-color: hsl(220 15% 14%);
    }
}

@media (min-width: 1024px){
    .dark .lg\:sticky {
        background: hsl(220 18% 7%) !important;
        background: hsl(220 18% 10%) !important;
    }
}

@media print{
    .dark .print\:bg-white {
        background: hsl(220 18% 10%) !important;
        background: hsl(220 18% 11%) !important;
    }
}


    .dark .\[\&\:has\(\[aria-selected\]\)\]\:rounded-md:has([aria-selected]).border {
        border: 1px solid hsla(0, 70%, 40%, 0.35) !important;
        box-shadow: 0 0 0 1px hsla(0, 70%, 35%, 0.2), 
                    0 0 10px hsla(0, 70%, 30%, 0.15),
                    0 4px 12px rgba(0, 0, 0, 0.4) !important;
    }


    .dark .\[\&\:has\(\[aria-selected\]\)\]\:rounded-md:has([aria-selected]) {
        border-color: hsl(220 15% 14%);
    }

.dark .\[\&\>div\]\:bg-green-500>div {
        background: hsl(150 55% 40%) !important;
    }


    .dark .\[\&\>div\]\:bg-amber-500>div {
        background: hsl(40 75% 45%) !important;
    }

.dark .\[\&\>div\]\:bg-red-500>div {
        background: hsl(0 65% 45%) !important;
    }

.dark .\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading] {
        color: hsl(210 10% 65%) !important;
    }


    .dark .\[\&_td\]\:border td.rounded-xl,
    .dark .\[\&_td\]\:border td.rounded-lg,
    .dark .\[\&_td\]\:border td.rounded-md {
        border: 1px solid hsla(0, 70%, 40%, 0.35) !important;
        box-shadow: 0 0 0 1px hsla(0, 70%, 35%, 0.2), 
                    0 0 10px hsla(0, 70%, 30%, 0.15),
                    0 4px 12px rgba(0, 0, 0, 0.4) !important;
    }


    .dark .\[\&_th\]\:border th.rounded-xl,
    .dark .\[\&_th\]\:border th.rounded-lg,
    .dark .\[\&_th\]\:border th.rounded-md {
        border: 1px solid hsla(0, 70%, 40%, 0.35) !important;
        box-shadow: 0 0 0 1px hsla(0, 70%, 35%, 0.2), 
                    0 0 10px hsla(0, 70%, 30%, 0.15),
                    0 4px 12px rgba(0, 0, 0, 0.4) !important;
    }

.file\:mr-3::file-selector-button{
  margin-right: 0.75rem;
}

.file\:mr-4::file-selector-button{
  margin-right: 1rem;
}

.file\:rounded-lg::file-selector-button{
  border-radius: var(--radius);
}

.file\:rounded-md::file-selector-button{
  border-radius: calc(var(--radius) - 2px);
}

.file\:border::file-selector-button{
  border-width: 1px;
}

.file\:border-0::file-selector-button{
  border-width: 0px;
}

.file\:border-slate-600::file-selector-button{
  --tw-border-opacity: 1;
  border-color: rgb(71 85 105 / var(--tw-border-opacity, 1));
}

.file\:bg-blue-50::file-selector-button{
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}

.file\:bg-slate-800::file-selector-button{
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}

.file\:bg-transparent::file-selector-button{
  background-color: transparent;
}

.file\:px-4::file-selector-button{
  padding-left: 1rem;
  padding-right: 1rem;
}

.file\:py-1\.5::file-selector-button{
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.file\:py-2::file-selector-button{
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.file\:text-sm::file-selector-button{
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.file\:text-xs::file-selector-button{
  font-size: 0.75rem;
  line-height: 1rem;
}

.file\:font-medium::file-selector-button{
  font-weight: 500;
}

.file\:font-semibold::file-selector-button{
  font-weight: 600;
}

.file\:text-blue-700::file-selector-button{
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}

.file\:text-foreground::file-selector-button{
  color: hsl(var(--foreground));
}

.file\:text-slate-300::file-selector-button{
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}

.placeholder\:text-base::placeholder{
  font-size: 1rem;
  line-height: 1.5rem;
}

.placeholder\:tracking-normal::placeholder{
  letter-spacing: 0em;
}

.placeholder\:tracking-widest::placeholder{
  letter-spacing: 0.1em;
}

.placeholder\:text-muted-foreground::placeholder{
  color: hsl(var(--muted-foreground));
}

.placeholder\:text-muted-foreground\/60::placeholder{
  color: hsl(var(--muted-foreground) / 0.6);
}

.placeholder\:text-slate-400::placeholder{
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}

.placeholder\:text-slate-500::placeholder{
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}

.placeholder\:text-slate-500\/50::placeholder{
  color: rgb(100 116 139 / 0.5);
}

.placeholder\:text-slate-600::placeholder{
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}

.placeholder\:text-white\/30::placeholder{
  color: rgb(255 255 255 / 0.3);
}

.placeholder\:text-white\/40::placeholder{
  color: rgb(255 255 255 / 0.4);
}

.placeholder\:text-zinc-600::placeholder{
  --tw-text-opacity: 1;
  color: rgb(82 82 91 / var(--tw-text-opacity, 1));
}

.placeholder\:text-zinc-700::placeholder{
  --tw-text-opacity: 1;
  color: rgb(63 63 70 / var(--tw-text-opacity, 1));
}

.before\:absolute::before{
  content: var(--tw-content);
  position: absolute;
}

.before\:-inset-2::before{
  content: var(--tw-content);
  inset: -0.5rem;
}

.before\:-inset-3::before{
  content: var(--tw-content);
  inset: -0.75rem;
}

.before\:left-\[-23px\]::before{
  content: var(--tw-content);
  left: -23px;
}

.before\:top-2::before{
  content: var(--tw-content);
  top: 0.5rem;
}

.before\:h-2\.5::before{
  content: var(--tw-content);
  height: 0.625rem;
}

.before\:w-2\.5::before{
  content: var(--tw-content);
  width: 0.625rem;
}

.before\:rounded-full::before{
  content: var(--tw-content);
  border-radius: 9999px;
}

.before\:bg-border::before{
  content: var(--tw-content);
  background-color: hsl(var(--border));
}

.before\:content-\[\'\'\]::before{
  --tw-content: '';
  content: var(--tw-content);
}

.after\:absolute::after{
  content: var(--tw-content);
  position: absolute;
}

.after\:inset-y-0::after{
  content: var(--tw-content);
  top: 0px;
  bottom: 0px;
}

.after\:left-1\/2::after{
  content: var(--tw-content);
  left: 50%;
}

.after\:w-1::after{
  content: var(--tw-content);
  width: 0.25rem;
}

.after\:-translate-x-1\/2::after{
  content: var(--tw-content);
  --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));
}

.first\:mt-0:first-child{
  margin-top: 0px;
}

.first\:rounded-l-md:first-child{
  border-top-left-radius: calc(var(--radius) - 2px);
  border-bottom-left-radius: calc(var(--radius) - 2px);
}

.first\:border-0:first-child{
  border-width: 0px;
}

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

.first\:pt-0:first-child{
  padding-top: 0px;
}

.last\:mb-0:last-child{
  margin-bottom: 0px;
}

.last\:rounded-r-md:last-child{
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}

.last\:border-0:last-child{
  border-width: 0px;
}

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

.last\:pb-0:last-child{
  padding-bottom: 0px;
}

.focus-within\:relative:focus-within{
  position: relative;
}

.focus-within\:z-20:focus-within{
  z-index: 20;
}

.focus-within\:border-indigo-500\/30:focus-within{
  border-color: rgb(99 102 241 / 0.3);
}

.focus-within\:shadow-indigo-500\/5:focus-within{
  --tw-shadow-color: rgb(99 102 241 / 0.05);
  --tw-shadow: var(--tw-shadow-colored);
}

.focus-within\:ring-2:focus-within{
  --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), var(--tw-shadow, 0 0 #0000);
}

.focus-within\:ring-blue-500\/50:focus-within{
  --tw-ring-color: rgb(59 130 246 / 0.5);
}

.focus-within\:ring-offset-2:focus-within{
  --tw-ring-offset-width: 2px;
}

.hover\:scale-105:hover{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  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));
}

.hover\:scale-110:hover{
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  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));
}

.hover\:scale-\[1\.01\]:hover{
  --tw-scale-x: 1.01;
  --tw-scale-y: 1.01;
  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));
}

.hover\:scale-\[1\.02\]:hover{
  --tw-scale-x: 1.02;
  --tw-scale-y: 1.02;
  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));
}

.hover\:scale-y-110:hover{
  --tw-scale-y: 1.1;
  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));
}

.hover\:border-2:hover{
  border-width: 2px;
}

.hover\:border-amber-500:hover{
  --tw-border-opacity: 1;
  border-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}

.hover\:border-amber-500\/20:hover{
  border-color: rgb(245 158 11 / 0.2);
}

.hover\:border-amber-500\/30:hover{
  border-color: rgb(245 158 11 / 0.3);
}

.hover\:border-amber-500\/40:hover{
  border-color: rgb(245 158 11 / 0.4);
}

.hover\:border-amber-500\/50:hover{
  border-color: rgb(245 158 11 / 0.5);
}

.hover\:border-blue-200:hover{
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
}

.hover\:border-blue-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(147 197 253 / var(--tw-border-opacity, 1));
}

.hover\:border-blue-400:hover{
  --tw-border-opacity: 1;
  border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
}

.hover\:border-blue-500:hover{
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}

.hover\:border-blue-500\/30:hover{
  border-color: rgb(59 130 246 / 0.3);
}

.hover\:border-blue-500\/50:hover{
  border-color: rgb(59 130 246 / 0.5);
}

.hover\:border-border:hover{
  border-color: hsl(var(--border));
}

.hover\:border-cyan-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(103 232 249 / var(--tw-border-opacity, 1));
}

.hover\:border-cyan-400:hover{
  --tw-border-opacity: 1;
  border-color: rgb(34 211 238 / var(--tw-border-opacity, 1));
}

.hover\:border-cyan-500:hover{
  --tw-border-opacity: 1;
  border-color: rgb(6 182 212 / var(--tw-border-opacity, 1));
}

.hover\:border-cyan-500\/50:hover{
  border-color: rgb(6 182 212 / 0.5);
}

.hover\:border-cyan-700\/50:hover{
  border-color: rgb(14 116 144 / 0.5);
}

.hover\:border-emerald-400:hover{
  --tw-border-opacity: 1;
  border-color: rgb(52 211 153 / var(--tw-border-opacity, 1));
}

.hover\:border-emerald-500:hover{
  --tw-border-opacity: 1;
  border-color: rgb(16 185 129 / var(--tw-border-opacity, 1));
}

.hover\:border-emerald-500\/30:hover{
  border-color: rgb(16 185 129 / 0.3);
}

.hover\:border-gray-200:hover{
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}

.hover\:border-gray-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}

.hover\:border-gray-400:hover{
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
}

.hover\:border-indigo-500\/20:hover{
  border-color: rgb(99 102 241 / 0.2);
}

.hover\:border-indigo-500\/25:hover{
  border-color: rgb(99 102 241 / 0.25);
}

.hover\:border-indigo-500\/30:hover{
  border-color: rgb(99 102 241 / 0.3);
}

.hover\:border-indigo-500\/40:hover{
  border-color: rgb(99 102 241 / 0.4);
}

.hover\:border-muted-foreground\/20:hover{
  border-color: hsl(var(--muted-foreground) / 0.2);
}

.hover\:border-muted-foreground\/50:hover{
  border-color: hsl(var(--muted-foreground) / 0.5);
}

.hover\:border-pink-500:hover{
  --tw-border-opacity: 1;
  border-color: rgb(236 72 153 / var(--tw-border-opacity, 1));
}

.hover\:border-primary:hover{
  border-color: hsl(var(--primary));
}

.hover\:border-primary\/30:hover{
  border-color: hsl(var(--primary) / 0.3);
}

.hover\:border-primary\/50:hover{
  border-color: hsl(var(--primary) / 0.5);
}

.hover\:border-purple-400\/50:hover{
  border-color: rgb(192 132 252 / 0.5);
}

.hover\:border-purple-500:hover{
  --tw-border-opacity: 1;
  border-color: rgb(168 85 247 / var(--tw-border-opacity, 1));
}

.hover\:border-red-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(252 165 165 / var(--tw-border-opacity, 1));
}

.hover\:border-slate-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}

.hover\:border-slate-400:hover{
  --tw-border-opacity: 1;
  border-color: rgb(148 163 184 / var(--tw-border-opacity, 1));
}

.hover\:border-slate-500:hover{
  --tw-border-opacity: 1;
  border-color: rgb(100 116 139 / var(--tw-border-opacity, 1));
}

.hover\:border-slate-600:hover{
  --tw-border-opacity: 1;
  border-color: rgb(71 85 105 / var(--tw-border-opacity, 1));
}

.hover\:border-slate-600\/50:hover{
  border-color: rgb(71 85 105 / 0.5);
}

.hover\:border-slate-700:hover{
  --tw-border-opacity: 1;
  border-color: rgb(51 65 85 / var(--tw-border-opacity, 1));
}

.hover\:border-slate-700\/50:hover{
  border-color: rgb(51 65 85 / 0.5);
}

.hover\:border-teal-500\/20:hover{
  border-color: rgb(20 184 166 / 0.2);
}

.hover\:border-teal-500\/30:hover{
  border-color: rgb(20 184 166 / 0.3);
}

.hover\:border-white\/10:hover{
  border-color: rgb(255 255 255 / 0.1);
}

.hover\:border-white\/20:hover{
  border-color: rgb(255 255 255 / 0.2);
}

.hover\:border-white\/30:hover{
  border-color: rgb(255 255 255 / 0.3);
}

.hover\:border-white\/40:hover{
  border-color: rgb(255 255 255 / 0.4);
}

.hover\:border-zinc-500:hover{
  --tw-border-opacity: 1;
  border-color: rgb(113 113 122 / var(--tw-border-opacity, 1));
}

.hover\:border-zinc-600:hover{
  --tw-border-opacity: 1;
  border-color: rgb(82 82 91 / var(--tw-border-opacity, 1));
}

.hover\:border-zinc-600\/40:hover{
  border-color: rgb(82 82 91 / 0.4);
}

.hover\:border-zinc-700:hover{
  --tw-border-opacity: 1;
  border-color: rgb(63 63 70 / var(--tw-border-opacity, 1));
}

.hover\:border-zinc-700\/30:hover{
  border-color: rgb(63 63 70 / 0.3);
}

.hover\:border-zinc-700\/50:hover{
  border-color: rgb(63 63 70 / 0.5);
}

.hover\:border-zinc-700\/60:hover{
  border-color: rgb(63 63 70 / 0.6);
}

.hover\:border-zinc-800\/50:hover{
  border-color: rgb(39 39 42 / 0.5);
}

.hover\:bg-accent:hover{
  background-color: hsl(var(--accent));
}

.hover\:bg-accent\/30:hover{
  background-color: hsl(var(--accent) / 0.3);
}

.hover\:bg-accent\/50:hover{
  background-color: hsl(var(--accent) / 0.5);
}

.hover\:bg-amber-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}

.hover\:bg-amber-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(253 230 138 / var(--tw-bg-opacity, 1));
}

.hover\:bg-amber-300:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(252 211 77 / var(--tw-bg-opacity, 1));
}

.hover\:bg-amber-300\/80:hover{
  background-color: rgb(252 211 77 / 0.8);
}

.hover\:bg-amber-400:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
}

.hover\:bg-amber-400\/10:hover{
  background-color: rgb(251 191 36 / 0.1);
}

.hover\:bg-amber-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}

.hover\:bg-amber-500:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}

.hover\:bg-amber-500\/10:hover{
  background-color: rgb(245 158 11 / 0.1);
}

.hover\:bg-amber-500\/15:hover{
  background-color: rgb(245 158 11 / 0.15);
}

.hover\:bg-amber-500\/20:hover{
  background-color: rgb(245 158 11 / 0.2);
}

.hover\:bg-amber-500\/25:hover{
  background-color: rgb(245 158 11 / 0.25);
}

.hover\:bg-amber-500\/40:hover{
  background-color: rgb(245 158 11 / 0.4);
}

.hover\:bg-amber-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1));
}

.hover\:bg-amber-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(180 83 9 / var(--tw-bg-opacity, 1));
}

.hover\:bg-amber-900\/50:hover{
  background-color: rgb(120 53 15 / 0.5);
}

.hover\:bg-background:hover{
  background-color: hsl(var(--background));
}

.hover\:bg-black\/5:hover{
  background-color: rgb(0 0 0 / 0.05);
}

.hover\:bg-black\/50:hover{
  background-color: rgb(0 0 0 / 0.5);
}

.hover\:bg-blue-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(191 219 254 / var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-50\/50:hover{
  background-color: rgb(239 246 255 / 0.5);
}

.hover\:bg-blue-500:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-500\/10:hover{
  background-color: rgb(59 130 246 / 0.1);
}

.hover\:bg-blue-500\/20:hover{
  background-color: rgb(59 130 246 / 0.2);
}

.hover\:bg-blue-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));
}

.hover\:bg-cyan-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(207 250 254 / var(--tw-bg-opacity, 1));
}

.hover\:bg-cyan-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(236 254 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-cyan-500:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(6 182 212 / var(--tw-bg-opacity, 1));
}

.hover\:bg-cyan-500\/10:hover{
  background-color: rgb(6 182 212 / 0.1);
}

.hover\:bg-cyan-500\/15:hover{
  background-color: rgb(6 182 212 / 0.15);
}

.hover\:bg-cyan-500\/20:hover{
  background-color: rgb(6 182 212 / 0.2);
}

.hover\:bg-cyan-500\/25:hover{
  background-color: rgb(6 182 212 / 0.25);
}

.hover\:bg-cyan-500\/30:hover{
  background-color: rgb(6 182 212 / 0.3);
}

.hover\:bg-cyan-500\/5:hover{
  background-color: rgb(6 182 212 / 0.05);
}

.hover\:bg-cyan-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(8 145 178 / var(--tw-bg-opacity, 1));
}

.hover\:bg-cyan-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(14 116 144 / var(--tw-bg-opacity, 1));
}

.hover\:bg-destructive\/10:hover{
  background-color: hsl(var(--destructive) / 0.1);
}

.hover\:bg-destructive\/20:hover{
  background-color: hsl(var(--destructive) / 0.2);
}

.hover\:bg-destructive\/80:hover{
  background-color: hsl(var(--destructive) / 0.8);
}

.hover\:bg-destructive\/90:hover{
  background-color: hsl(var(--destructive) / 0.9);
}

.hover\:bg-emerald-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));
}

.hover\:bg-emerald-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(167 243 208 / var(--tw-bg-opacity, 1));
}

.hover\:bg-emerald-400:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(52 211 153 / var(--tw-bg-opacity, 1));
}

.hover\:bg-emerald-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));
}

.hover\:bg-emerald-500:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
}

.hover\:bg-emerald-500\/10:hover{
  background-color: rgb(16 185 129 / 0.1);
}

.hover\:bg-emerald-500\/15:hover{
  background-color: rgb(16 185 129 / 0.15);
}

.hover\:bg-emerald-500\/20:hover{
  background-color: rgb(16 185 129 / 0.2);
}

.hover\:bg-emerald-500\/25:hover{
  background-color: rgb(16 185 129 / 0.25);
}

.hover\:bg-emerald-500\/30:hover{
  background-color: rgb(16 185 129 / 0.3);
}

.hover\:bg-emerald-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(5 150 105 / var(--tw-bg-opacity, 1));
}

.hover\:bg-emerald-600\/20:hover{
  background-color: rgb(5 150 105 / 0.2);
}

.hover\:bg-emerald-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(4 120 87 / var(--tw-bg-opacity, 1));
}

.hover\:bg-emerald-800\/60:hover{
  background-color: rgb(6 95 70 / 0.6);
}

.hover\:bg-emerald-900\/50:hover{
  background-color: rgb(6 78 59 / 0.5);
}

.hover\:bg-fuchsia-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(192 38 211 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-400:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-50\/50:hover{
  background-color: rgb(249 250 251 / 0.5);
}

.hover\:bg-gray-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-600\/30:hover{
  background-color: rgb(75 85 99 / 0.3);
}

.hover\:bg-gray-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-800\/70:hover{
  background-color: rgb(31 41 55 / 0.7);
}

.hover\:bg-green-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(187 247 208 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-400\/10:hover{
  background-color: rgb(74 222 128 / 0.1);
}

.hover\:bg-green-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-500:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-500\/20:hover{
  background-color: rgb(34 197 94 / 0.2);
}

.hover\:bg-green-500\/30:hover{
  background-color: rgb(34 197 94 / 0.3);
}

.hover\:bg-green-500\/40:hover{
  background-color: rgb(34 197 94 / 0.4);
}

.hover\:bg-green-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-700\/20:hover{
  background-color: rgb(21 128 61 / 0.2);
}

.hover\:bg-indigo-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-indigo-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-indigo-500:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}

.hover\:bg-indigo-500\/10:hover{
  background-color: rgb(99 102 241 / 0.1);
}

.hover\:bg-indigo-500\/15:hover{
  background-color: rgb(99 102 241 / 0.15);
}

.hover\:bg-indigo-500\/20:hover{
  background-color: rgb(99 102 241 / 0.2);
}

.hover\:bg-indigo-500\/5:hover{
  background-color: rgb(99 102 241 / 0.05);
}

.hover\:bg-indigo-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}

.hover\:bg-indigo-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(67 56 202 / var(--tw-bg-opacity, 1));
}

.hover\:bg-muted:hover{
  background-color: hsl(var(--muted));
}

.hover\:bg-muted-foreground\/20:hover{
  background-color: hsl(var(--muted-foreground) / 0.2);
}

.hover\:bg-muted\/20:hover{
  background-color: hsl(var(--muted) / 0.2);
}

.hover\:bg-muted\/30:hover{
  background-color: hsl(var(--muted) / 0.3);
}

.hover\:bg-muted\/40:hover{
  background-color: hsl(var(--muted) / 0.4);
}

.hover\:bg-muted\/50:hover{
  background-color: hsl(var(--muted) / 0.5);
}

.hover\:bg-muted\/70:hover{
  background-color: hsl(var(--muted) / 0.7);
}

.hover\:bg-muted\/80:hover{
  background-color: hsl(var(--muted) / 0.8);
}

.hover\:bg-orange-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));
}

.hover\:bg-orange-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(254 215 170 / var(--tw-bg-opacity, 1));
}

.hover\:bg-orange-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));
}

.hover\:bg-orange-50\/50:hover{
  background-color: rgb(255 247 237 / 0.5);
}

.hover\:bg-orange-500:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(249 115 22 / var(--tw-bg-opacity, 1));
}

.hover\:bg-orange-500\/20:hover{
  background-color: rgb(249 115 22 / 0.2);
}

.hover\:bg-orange-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(234 88 12 / var(--tw-bg-opacity, 1));
}

.hover\:bg-orange-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(194 65 12 / var(--tw-bg-opacity, 1));
}

.hover\:bg-pink-500\/10:hover{
  background-color: rgb(236 72 153 / 0.1);
}

.hover\:bg-pink-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(219 39 119 / var(--tw-bg-opacity, 1));
}

.hover\:bg-pink-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(190 24 93 / var(--tw-bg-opacity, 1));
}

.hover\:bg-primary:hover{
  background-color: hsl(var(--primary));
}

.hover\:bg-primary\/10:hover{
  background-color: hsl(var(--primary) / 0.1);
}

.hover\:bg-primary\/80:hover{
  background-color: hsl(var(--primary) / 0.8);
}

.hover\:bg-primary\/90:hover{
  background-color: hsl(var(--primary) / 0.9);
}

.hover\:bg-purple-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-purple-500:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(168 85 247 / var(--tw-bg-opacity, 1));
}

.hover\:bg-purple-500\/10:hover{
  background-color: rgb(168 85 247 / 0.1);
}

.hover\:bg-purple-500\/25:hover{
  background-color: rgb(168 85 247 / 0.25);
}

.hover\:bg-purple-500\/30:hover{
  background-color: rgb(168 85 247 / 0.3);
}

.hover\:bg-purple-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(147 51 234 / var(--tw-bg-opacity, 1));
}

.hover\:bg-purple-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(126 34 206 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(254 202 202 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-400\/10:hover{
  background-color: rgb(248 113 113 / 0.1);
}

.hover\:bg-red-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-500:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-500\/10:hover{
  background-color: rgb(239 68 68 / 0.1);
}

.hover\:bg-red-500\/20:hover{
  background-color: rgb(239 68 68 / 0.2);
}

.hover\:bg-red-500\/30:hover{
  background-color: rgb(239 68 68 / 0.3);
}

.hover\:bg-red-500\/40:hover{
  background-color: rgb(239 68 68 / 0.4);
}

.hover\:bg-red-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-600\/20:hover{
  background-color: rgb(220 38 38 / 0.2);
}

.hover\:bg-red-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-700\/20:hover{
  background-color: rgb(185 28 28 / 0.2);
}

.hover\:bg-red-800:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(153 27 27 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-800\/80:hover{
  background-color: rgb(153 27 27 / 0.8);
}

.hover\:bg-red-900\/50:hover{
  background-color: rgb(127 29 29 / 0.5);
}

.hover\:bg-red-950\/30:hover{
  background-color: rgb(69 10 10 / 0.3);
}

.hover\:bg-rose-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(255 228 230 / var(--tw-bg-opacity, 1));
}

.hover\:bg-rose-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(254 205 211 / var(--tw-bg-opacity, 1));
}

.hover\:bg-rose-500\/10:hover{
  background-color: rgb(244 63 94 / 0.1);
}

.hover\:bg-rose-500\/15:hover{
  background-color: rgb(244 63 94 / 0.15);
}

.hover\:bg-rose-500\/20:hover{
  background-color: rgb(244 63 94 / 0.2);
}

.hover\:bg-rose-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(190 18 60 / var(--tw-bg-opacity, 1));
}

.hover\:bg-secondary:hover{
  background-color: hsl(var(--secondary));
}

.hover\:bg-secondary\/80:hover{
  background-color: hsl(var(--secondary) / 0.8);
}

.hover\:bg-sky-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(224 242 254 / var(--tw-bg-opacity, 1));
}

.hover\:bg-sky-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(240 249 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-sky-500\/10:hover{
  background-color: rgb(14 165 233 / 0.1);
}

.hover\:bg-sky-500\/15:hover{
  background-color: rgb(14 165 233 / 0.15);
}

.hover\:bg-sky-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(2 132 199 / var(--tw-bg-opacity, 1));
}

.hover\:bg-sky-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(3 105 161 / var(--tw-bg-opacity, 1));
}

.hover\:bg-slate-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}

.hover\:bg-slate-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}

.hover\:bg-slate-300:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(203 213 225 / var(--tw-bg-opacity, 1));
}

.hover\:bg-slate-400:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(148 163 184 / var(--tw-bg-opacity, 1));
}

.hover\:bg-slate-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}

.hover\:bg-slate-50\/50:hover{
  background-color: rgb(248 250 252 / 0.5);
}

.hover\:bg-slate-500:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(100 116 139 / var(--tw-bg-opacity, 1));
}

.hover\:bg-slate-500\/10:hover{
  background-color: rgb(100 116 139 / 0.1);
}

.hover\:bg-slate-500\/30:hover{
  background-color: rgb(100 116 139 / 0.3);
}

.hover\:bg-slate-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(71 85 105 / var(--tw-bg-opacity, 1));
}

.hover\:bg-slate-600\/50:hover{
  background-color: rgb(71 85 105 / 0.5);
}

.hover\:bg-slate-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}

.hover\:bg-slate-700\/30:hover{
  background-color: rgb(51 65 85 / 0.3);
}

.hover\:bg-slate-700\/50:hover{
  background-color: rgb(51 65 85 / 0.5);
}

.hover\:bg-slate-700\/80:hover{
  background-color: rgb(51 65 85 / 0.8);
}

.hover\:bg-slate-800:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}

.hover\:bg-slate-800\/20:hover{
  background-color: rgb(30 41 59 / 0.2);
}

.hover\:bg-slate-800\/30:hover{
  background-color: rgb(30 41 59 / 0.3);
}

.hover\:bg-slate-800\/40:hover{
  background-color: rgb(30 41 59 / 0.4);
}

.hover\:bg-slate-800\/50:hover{
  background-color: rgb(30 41 59 / 0.5);
}

.hover\:bg-slate-800\/60:hover{
  background-color: rgb(30 41 59 / 0.6);
}

.hover\:bg-slate-800\/80:hover{
  background-color: rgb(30 41 59 / 0.8);
}

.hover\:bg-slate-900:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(15 23 42 / var(--tw-bg-opacity, 1));
}

.hover\:bg-slate-900\/60:hover{
  background-color: rgb(15 23 42 / 0.6);
}

.hover\:bg-slate-900\/70:hover{
  background-color: rgb(15 23 42 / 0.7);
}

.hover\:bg-teal-500\/15:hover{
  background-color: rgb(20 184 166 / 0.15);
}

.hover\:bg-teal-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(15 118 110 / var(--tw-bg-opacity, 1));
}

.hover\:bg-transparent:hover{
  background-color: transparent;
}

.hover\:bg-violet-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(237 233 254 / var(--tw-bg-opacity, 1));
}

.hover\:bg-violet-500:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(139 92 246 / var(--tw-bg-opacity, 1));
}

.hover\:bg-violet-500\/10:hover{
  background-color: rgb(139 92 246 / 0.1);
}

.hover\:bg-violet-500\/15:hover{
  background-color: rgb(139 92 246 / 0.15);
}

.hover\:bg-violet-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(109 40 217 / var(--tw-bg-opacity, 1));
}

.hover\:bg-white:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-white\/10:hover{
  background-color: rgb(255 255 255 / 0.1);
}

.hover\:bg-white\/20:hover{
  background-color: rgb(255 255 255 / 0.2);
}

.hover\:bg-white\/30:hover{
  background-color: rgb(255 255 255 / 0.3);
}

.hover\:bg-white\/5:hover{
  background-color: rgb(255 255 255 / 0.05);
}

.hover\:bg-white\/50:hover{
  background-color: rgb(255 255 255 / 0.5);
}

.hover\:bg-yellow-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
}

.hover\:bg-yellow-500\/20:hover{
  background-color: rgb(234 179 8 / 0.2);
}

.hover\:bg-zinc-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(250 250 250 / var(--tw-bg-opacity, 1));
}

.hover\:bg-zinc-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(63 63 70 / var(--tw-bg-opacity, 1));
}

.hover\:bg-zinc-700\/50:hover{
  background-color: rgb(63 63 70 / 0.5);
}

.hover\:bg-zinc-800:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(39 39 42 / var(--tw-bg-opacity, 1));
}

.hover\:bg-zinc-800\/20:hover{
  background-color: rgb(39 39 42 / 0.2);
}

.hover\:bg-zinc-800\/30:hover{
  background-color: rgb(39 39 42 / 0.3);
}

.hover\:bg-zinc-800\/40:hover{
  background-color: rgb(39 39 42 / 0.4);
}

.hover\:bg-zinc-800\/50:hover{
  background-color: rgb(39 39 42 / 0.5);
}

.hover\:bg-zinc-800\/60:hover{
  background-color: rgb(39 39 42 / 0.6);
}

.hover\:bg-zinc-800\/70:hover{
  background-color: rgb(39 39 42 / 0.7);
}

.hover\:bg-zinc-900:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(24 24 27 / var(--tw-bg-opacity, 1));
}

.hover\:bg-zinc-900\/80:hover{
  background-color: rgb(24 24 27 / 0.8);
}

.hover\:bg-opacity-30:hover{
  --tw-bg-opacity: 0.3;
}

.hover\:from-amber-400:hover{
  --tw-gradient-from: #fbbf24 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(251 191 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-blue-600:hover{
  --tw-gradient-from: #2563eb var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-blue-700:hover{
  --tw-gradient-from: #1d4ed8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(29 78 216 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-cyan-600:hover{
  --tw-gradient-from: #0891b2 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(8 145 178 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-emerald-600:hover{
  --tw-gradient-from: #059669 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(5 150 105 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-green-600:hover{
  --tw-gradient-from: #16a34a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(22 163 74 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-indigo-600:hover{
  --tw-gradient-from: #4f46e5 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(79 70 229 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-orange-600:hover{
  --tw-gradient-from: #ea580c var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(234 88 12 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-purple-600:hover{
  --tw-gradient-from: #9333ea var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(147 51 234 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:to-amber-500:hover{
  --tw-gradient-to: #f59e0b var(--tw-gradient-to-position);
}

.hover\:to-blue-500:hover{
  --tw-gradient-to: #3b82f6 var(--tw-gradient-to-position);
}

.hover\:to-blue-600:hover{
  --tw-gradient-to: #2563eb var(--tw-gradient-to-position);
}

.hover\:to-cyan-600:hover{
  --tw-gradient-to: #0891b2 var(--tw-gradient-to-position);
}

.hover\:to-cyan-700:hover{
  --tw-gradient-to: #0e7490 var(--tw-gradient-to-position);
}

.hover\:to-emerald-700:hover{
  --tw-gradient-to: #047857 var(--tw-gradient-to-position);
}

.hover\:to-indigo-700:hover{
  --tw-gradient-to: #4338ca var(--tw-gradient-to-position);
}

.hover\:to-pink-600:hover{
  --tw-gradient-to: #db2777 var(--tw-gradient-to-position);
}

.hover\:to-purple-700:hover{
  --tw-gradient-to: #7e22ce var(--tw-gradient-to-position);
}

.hover\:to-red-600:hover{
  --tw-gradient-to: #dc2626 var(--tw-gradient-to-position);
}

.hover\:to-teal-600:hover{
  --tw-gradient-to: #0d9488 var(--tw-gradient-to-position);
}

.hover\:to-teal-700:hover{
  --tw-gradient-to: #0f766e var(--tw-gradient-to-position);
}

.hover\:text-accent-foreground:hover{
  color: hsl(var(--accent-foreground));
}

.hover\:text-amber-300:hover{
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}

.hover\:text-amber-400:hover{
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}

.hover\:text-amber-500:hover{
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}

.hover\:text-amber-600:hover{
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}

.hover\:text-amber-700:hover{
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}

.hover\:text-amber-800:hover{
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}

.hover\:text-amber-900:hover{
  --tw-text-opacity: 1;
  color: rgb(120 53 15 / var(--tw-text-opacity, 1));
}

.hover\:text-blue-200:hover{
  --tw-text-opacity: 1;
  color: rgb(191 219 254 / var(--tw-text-opacity, 1));
}

.hover\:text-blue-400:hover{
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}

.hover\:text-blue-600:hover{
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}

.hover\:text-blue-700:hover{
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}

.hover\:text-blue-800:hover{
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}

.hover\:text-current:hover{
  color: currentColor;
}

.hover\:text-cyan-300:hover{
  --tw-text-opacity: 1;
  color: rgb(103 232 249 / var(--tw-text-opacity, 1));
}

.hover\:text-cyan-400:hover{
  --tw-text-opacity: 1;
  color: rgb(34 211 238 / var(--tw-text-opacity, 1));
}

.hover\:text-cyan-500:hover{
  --tw-text-opacity: 1;
  color: rgb(6 182 212 / var(--tw-text-opacity, 1));
}

.hover\:text-destructive:hover{
  color: hsl(var(--destructive));
}

.hover\:text-emerald-300:hover{
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity, 1));
}

.hover\:text-emerald-400:hover{
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}

.hover\:text-emerald-900:hover{
  --tw-text-opacity: 1;
  color: rgb(6 78 59 / var(--tw-text-opacity, 1));
}

.hover\:text-foreground:hover{
  color: hsl(var(--foreground));
}

.hover\:text-gray-300:hover{
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-400:hover{
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.hover\:text-green-700:hover{
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}

.hover\:text-indigo-200:hover{
  --tw-text-opacity: 1;
  color: rgb(199 210 254 / var(--tw-text-opacity, 1));
}

.hover\:text-indigo-300:hover{
  --tw-text-opacity: 1;
  color: rgb(165 180 252 / var(--tw-text-opacity, 1));
}

.hover\:text-indigo-400:hover{
  --tw-text-opacity: 1;
  color: rgb(129 140 248 / var(--tw-text-opacity, 1));
}

.hover\:text-indigo-900:hover{
  --tw-text-opacity: 1;
  color: rgb(49 46 129 / var(--tw-text-opacity, 1));
}

.hover\:text-muted-foreground:hover{
  color: hsl(var(--muted-foreground));
}

.hover\:text-orange-400:hover{
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity, 1));
}

.hover\:text-orange-700:hover{
  --tw-text-opacity: 1;
  color: rgb(194 65 12 / var(--tw-text-opacity, 1));
}

.hover\:text-orange-800:hover{
  --tw-text-opacity: 1;
  color: rgb(154 52 18 / var(--tw-text-opacity, 1));
}

.hover\:text-primary:hover{
  color: hsl(var(--primary));
}

.hover\:text-primary-foreground:hover{
  color: hsl(var(--primary-foreground));
}

.hover\:text-primary\/80:hover{
  color: hsl(var(--primary) / 0.8);
}

.hover\:text-primary\/90:hover{
  color: hsl(var(--primary) / 0.9);
}

.hover\:text-purple-300:hover{
  --tw-text-opacity: 1;
  color: rgb(216 180 254 / var(--tw-text-opacity, 1));
}

.hover\:text-red-300:hover{
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}

.hover\:text-red-400:hover{
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.hover\:text-red-500:hover{
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}

.hover\:text-red-600:hover{
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.hover\:text-red-700:hover{
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}

.hover\:text-red-800:hover{
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}

.hover\:text-rose-300:hover{
  --tw-text-opacity: 1;
  color: rgb(253 164 175 / var(--tw-text-opacity, 1));
}

.hover\:text-sky-300:hover{
  --tw-text-opacity: 1;
  color: rgb(125 211 252 / var(--tw-text-opacity, 1));
}

.hover\:text-slate-100:hover{
  --tw-text-opacity: 1;
  color: rgb(241 245 249 / var(--tw-text-opacity, 1));
}

.hover\:text-slate-200:hover{
  --tw-text-opacity: 1;
  color: rgb(226 232 240 / var(--tw-text-opacity, 1));
}

.hover\:text-slate-300:hover{
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}

.hover\:text-slate-400:hover{
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}

.hover\:text-slate-600:hover{
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}

.hover\:text-slate-700:hover{
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}

.hover\:text-slate-800:hover{
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}

.hover\:text-slate-900:hover{
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

.hover\:text-teal-300:hover{
  --tw-text-opacity: 1;
  color: rgb(94 234 212 / var(--tw-text-opacity, 1));
}

.hover\:text-teal-400:hover{
  --tw-text-opacity: 1;
  color: rgb(45 212 191 / var(--tw-text-opacity, 1));
}

.hover\:text-white:hover{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.hover\:text-white\/80:hover{
  color: rgb(255 255 255 / 0.8);
}

.hover\:text-yellow-400:hover{
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}

.hover\:text-yellow-500:hover{
  --tw-text-opacity: 1;
  color: rgb(234 179 8 / var(--tw-text-opacity, 1));
}

.hover\:text-yellow-600:hover{
  --tw-text-opacity: 1;
  color: rgb(202 138 4 / var(--tw-text-opacity, 1));
}

.hover\:text-zinc-100:hover{
  --tw-text-opacity: 1;
  color: rgb(244 244 245 / var(--tw-text-opacity, 1));
}

.hover\:text-zinc-200:hover{
  --tw-text-opacity: 1;
  color: rgb(228 228 231 / var(--tw-text-opacity, 1));
}

.hover\:text-zinc-300:hover{
  --tw-text-opacity: 1;
  color: rgb(212 212 216 / var(--tw-text-opacity, 1));
}

.hover\:text-zinc-400:hover{
  --tw-text-opacity: 1;
  color: rgb(161 161 170 / var(--tw-text-opacity, 1));
}

.hover\:underline:hover{
  text-decoration-line: underline;
}

.hover\:no-underline:hover{
  text-decoration-line: none;
}

.hover\:opacity-100:hover{
  opacity: 1;
}

.hover\:opacity-80:hover{
  opacity: 0.8;
}

.hover\:opacity-90:hover{
  opacity: 0.9;
}

.hover\:shadow-2xl:hover{
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-lg:hover{
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(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: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-md:hover{
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(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: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-sm:hover{
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-xl:hover{
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-black\/20:hover{
  --tw-shadow-color: rgb(0 0 0 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-black\/50:hover{
  --tw-shadow-color: rgb(0 0 0 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-blue-500\/30:hover{
  --tw-shadow-color: rgb(59 130 246 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-primary\/30:hover{
  --tw-shadow-color: hsl(var(--primary) / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-purple-500\/10:hover{
  --tw-shadow-color: rgb(168 85 247 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-white\/20:hover{
  --tw-shadow-color: rgb(255 255 255 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:ring-1:hover{
  --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), var(--tw-shadow, 0 0 #0000);
}

.hover\:ring-2:hover{
  --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), var(--tw-shadow, 0 0 #0000);
}

.hover\:ring-amber-400\/40:hover{
  --tw-ring-color: rgb(251 191 36 / 0.4);
}

.hover\:ring-amber-500\/50:hover{
  --tw-ring-color: rgb(245 158 11 / 0.5);
}

.hover\:brightness-110:hover{
  --tw-brightness: brightness(1.1);
  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);
}

.hover\:brightness-125:hover{
  --tw-brightness: brightness(1.25);
  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);
}

.hover\:brightness-95:hover{
  --tw-brightness: brightness(.95);
  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);
}

.hover\:file\:bg-blue-100::file-selector-button:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}

.hover\:file\:bg-slate-700::file-selector-button:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}

.focus\:border-amber-400:focus{
  --tw-border-opacity: 1;
  border-color: rgb(251 191 36 / var(--tw-border-opacity, 1));
}

.focus\:border-amber-500:focus{
  --tw-border-opacity: 1;
  border-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}

.focus\:border-blue-500:focus{
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}

.focus\:border-cyan-500:focus{
  --tw-border-opacity: 1;
  border-color: rgb(6 182 212 / var(--tw-border-opacity, 1));
}

.focus\:border-cyan-500\/40:focus{
  border-color: rgb(6 182 212 / 0.4);
}

.focus\:border-cyan-500\/50:focus{
  border-color: rgb(6 182 212 / 0.5);
}

.focus\:border-indigo-500\/40:focus{
  border-color: rgb(99 102 241 / 0.4);
}

.focus\:border-orange-400:focus{
  --tw-border-opacity: 1;
  border-color: rgb(251 146 60 / var(--tw-border-opacity, 1));
}

.focus\:border-red-500:focus{
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}

.focus\:border-sky-500:focus{
  --tw-border-opacity: 1;
  border-color: rgb(14 165 233 / var(--tw-border-opacity, 1));
}

.focus\:border-sky-500\/50:focus{
  border-color: rgb(14 165 233 / 0.5);
}

.focus\:border-violet-500:focus{
  --tw-border-opacity: 1;
  border-color: rgb(139 92 246 / var(--tw-border-opacity, 1));
}

.focus\:border-white\/20:focus{
  border-color: rgb(255 255 255 / 0.2);
}

.focus\:border-zinc-500:focus{
  --tw-border-opacity: 1;
  border-color: rgb(113 113 122 / var(--tw-border-opacity, 1));
}

.focus\:bg-accent:focus{
  background-color: hsl(var(--accent));
}

.focus\:bg-primary:focus{
  background-color: hsl(var(--primary));
}

.focus\:bg-white\/10:focus{
  background-color: rgb(255 255 255 / 0.1);
}

.focus\:text-accent-foreground:focus{
  color: hsl(var(--accent-foreground));
}

.focus\:text-primary-foreground:focus{
  color: hsl(var(--primary-foreground));
}

.focus\:opacity-100:focus{
  opacity: 1;
}

.focus\:outline-none:focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus\:ring-0: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(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-1: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(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.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), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-amber-400:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(251 191 36 / var(--tw-ring-opacity, 1));
}

.focus\:ring-amber-500\/50:focus{
  --tw-ring-color: rgb(245 158 11 / 0.5);
}

.focus\:ring-blue-300:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(147 197 253 / var(--tw-ring-opacity, 1));
}

.focus\:ring-blue-400:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(96 165 250 / var(--tw-ring-opacity, 1));
}

.focus\:ring-blue-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
}

.focus\:ring-cyan-500\/30:focus{
  --tw-ring-color: rgb(6 182 212 / 0.3);
}

.focus\:ring-indigo-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity, 1));
}

.focus\:ring-primary\/50:focus{
  --tw-ring-color: hsl(var(--primary) / 0.5);
}

.focus\:ring-ring:focus{
  --tw-ring-color: hsl(var(--ring));
}

.focus\:ring-sky-500\/50:focus{
  --tw-ring-color: rgb(14 165 233 / 0.5);
}

.focus\:ring-slate-400:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(148 163 184 / var(--tw-ring-opacity, 1));
}

.focus\:ring-zinc-400:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(161 161 170 / var(--tw-ring-opacity, 1));
}

.focus\:ring-offset-2:focus{
  --tw-ring-offset-width: 2px;
}

.focus-visible\:border-primary:focus-visible{
  border-color: hsl(var(--primary));
}

.focus-visible\:outline-none:focus-visible{
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus-visible\:ring-0: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(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus-visible\:ring-1: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(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.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), var(--tw-shadow, 0 0 #0000);
}

.focus-visible\:ring-blue-500:focus-visible{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
}

.focus-visible\:ring-primary\/20:focus-visible{
  --tw-ring-color: hsl(var(--primary) / 0.2);
}

.focus-visible\:ring-red-500:focus-visible{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1));
}

.focus-visible\:ring-ring:focus-visible{
  --tw-ring-color: hsl(var(--ring));
}

.focus-visible\:ring-white:focus-visible{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1));
}

.focus-visible\:ring-offset-0:focus-visible{
  --tw-ring-offset-width: 0px;
}

.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-background:focus-visible{
  --tw-ring-offset-color: hsl(var(--background));
}

.focus-visible\:ring-offset-slate-950:focus-visible{
  --tw-ring-offset-color: #020617;
}

.active\:scale-95:active{
  --tw-scale-x: .95;
  --tw-scale-y: .95;
  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));
}

.active\:scale-\[0\.98\]:active{
  --tw-scale-x: 0.98;
  --tw-scale-y: 0.98;
  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));
}

.active\:scale-\[0\.99\]:active{
  --tw-scale-x: 0.99;
  --tw-scale-y: 0.99;
  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));
}

.active\:cursor-grabbing:active{
  cursor: grabbing;
}

.active\:bg-accent:active{
  background-color: hsl(var(--accent));
}

.active\:bg-indigo-800:active{
  --tw-bg-opacity: 1;
  background-color: rgb(55 48 163 / var(--tw-bg-opacity, 1));
}

.active\:bg-muted:active{
  background-color: hsl(var(--muted));
}

.active\:bg-muted\/70:active{
  background-color: hsl(var(--muted) / 0.7);
}

.active\:bg-slate-200:active{
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}

.active\:bg-slate-500:active{
  --tw-bg-opacity: 1;
  background-color: rgb(100 116 139 / var(--tw-bg-opacity, 1));
}

.disabled\:pointer-events-none:disabled{
  pointer-events: none;
}

.disabled\:cursor-not-allowed:disabled{
  cursor: not-allowed;
}

.disabled\:bg-sky-500\/50:disabled{
  background-color: rgb(14 165 233 / 0.5);
}

.disabled\:bg-slate-700:disabled{
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}

.disabled\:text-zinc-700:disabled{
  --tw-text-opacity: 1;
  color: rgb(63 63 70 / var(--tw-text-opacity, 1));
}

.disabled\:opacity-20:disabled{
  opacity: 0.2;
}

.disabled\:opacity-30:disabled{
  opacity: 0.3;
}

.disabled\:opacity-40:disabled{
  opacity: 0.4;
}

.disabled\:opacity-50:disabled{
  opacity: 0.5;
}

.group:hover .group-hover\:block{
  display: block;
}

.group:hover .group-hover\:scale-105{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  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\:scale-110{
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  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\:bg-primary\/10{
  background-color: hsl(var(--primary) / 0.1);
}

.group:hover .group-hover\:text-amber-400{
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-blue-400{
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-gray-600{
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-indigo-200{
  --tw-text-opacity: 1;
  color: rgb(199 210 254 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-indigo-400{
  --tw-text-opacity: 1;
  color: rgb(129 140 248 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-muted-foreground{
  color: hsl(var(--muted-foreground));
}

.group:hover .group-hover\:text-red-600{
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-white{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-zinc-400{
  --tw-text-opacity: 1;
  color: rgb(161 161 170 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-zinc-500{
  --tw-text-opacity: 1;
  color: rgb(113 113 122 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:underline{
  text-decoration-line: underline;
}

.group:hover .group-hover\:opacity-100{
  opacity: 1;
}

.group.toast .group-\[\.toast\]\:rounded-lg{
  border-radius: var(--radius);
}

.group.toaster .group-\[\.toaster\]\:rounded-xl{
  border-radius: 0.75rem;
}

.group.toaster .group-\[\.toaster\]\:border-l-4{
  border-left-width: 4px;
}

.group.destructive .group-\[\.destructive\]\:border-muted\/40{
  border-color: hsl(var(--muted) / 0.4);
}

.group.toaster .group-\[\.toaster\]\:border-border{
  border-color: hsl(var(--border));
}

.group.toaster .group-\[\.toaster\]\:border-l-amber-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}

.group.toaster .group-\[\.toaster\]\:border-l-blue-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}

.group.toaster .group-\[\.toaster\]\:border-l-green-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}

.group.toaster .group-\[\.toaster\]\:border-l-red-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}

.group.toast .group-\[\.toast\]\:bg-muted{
  background-color: hsl(var(--muted));
}

.group.toast .group-\[\.toast\]\:bg-primary{
  background-color: hsl(var(--primary));
}

.group.toaster .group-\[\.toaster\]\:bg-amber-50\/95{
  background-color: rgb(255 251 235 / 0.95);
}

.group.toaster .group-\[\.toaster\]\:bg-background\/95{
  background-color: hsl(var(--background) / 0.95);
}

.group.toaster .group-\[\.toaster\]\:bg-blue-50\/95{
  background-color: rgb(239 246 255 / 0.95);
}

.group.toaster .group-\[\.toaster\]\:bg-green-50\/95{
  background-color: rgb(240 253 244 / 0.95);
}

.group.toaster .group-\[\.toaster\]\:bg-red-50\/95{
  background-color: rgb(254 242 242 / 0.95);
}

.group.destructive .group-\[\.destructive\]\:text-red-300{
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}

.group.toast .group-\[\.toast\]\:text-muted-foreground{
  color: hsl(var(--muted-foreground));
}

.group.toast .group-\[\.toast\]\:text-primary-foreground{
  color: hsl(var(--primary-foreground));
}

.group.toaster .group-\[\.toaster\]\:text-foreground{
  color: hsl(var(--foreground));
}

.group.toast .group-\[\.toast\]\:shadow-md{
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(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: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.group.toaster .group-\[\.toaster\]\:shadow-2xl{
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.group.toaster .group-\[\.toaster\]\:backdrop-blur-md{
  --tw-backdrop-blur: blur(12px);
  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);
}

.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{
  border-color: hsl(var(--destructive) / 0.3);
}

.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{
  background-color: hsl(var(--destructive));
}

.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{
  color: hsl(var(--destructive-foreground));
}

.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{
  --tw-text-opacity: 1;
  color: rgb(254 242 242 / var(--tw-text-opacity, 1));
}

.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{
  --tw-ring-color: hsl(var(--destructive));
}

.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1));
}

.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{
  --tw-ring-offset-color: #dc2626;
}

.peer:checked ~ .peer-checked\:translate-x-6{
  --tw-translate-x: 1.5rem;
  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));
}

.peer:checked ~ .peer-checked\:bg-green-500{
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}

.peer:disabled ~ .peer-disabled\:cursor-not-allowed{
  cursor: not-allowed;
}

.peer:disabled ~ .peer-disabled\:opacity-70{
  opacity: 0.7;
}

.has-\[\:disabled\]\:opacity-50:has(:disabled){
  opacity: 0.5;
}

.aria-selected\:bg-accent[aria-selected="true"]{
  background-color: hsl(var(--accent));
}

.aria-selected\:bg-accent\/50[aria-selected="true"]{
  background-color: hsl(var(--accent) / 0.5);
}

.aria-selected\:text-accent-foreground[aria-selected="true"]{
  color: hsl(var(--accent-foreground));
}

.aria-selected\:text-muted-foreground[aria-selected="true"]{
  color: hsl(var(--muted-foreground));
}

.aria-selected\:opacity-100[aria-selected="true"]{
  opacity: 1;
}

.data-\[disabled\=true\]\:pointer-events-none[data-disabled="true"]{
  pointer-events: none;
}

.data-\[disabled\]\:pointer-events-none[data-disabled]{
  pointer-events: none;
}

.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction="vertical"]{
  height: 1px;
}

.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction="vertical"]{
  width: 100%;
}

.data-\[side\=bottom\]\:translate-y-1[data-side="bottom"]{
  --tw-translate-y: 0.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-\[side\=left\]\:-translate-x-1[data-side="left"]{
  --tw-translate-x: -0.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-\[side\=right\]\:translate-x-1[data-side="right"]{
  --tw-translate-x: 0.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-\[side\=top\]\:-translate-y-1[data-side="top"]{
  --tw-translate-y: -0.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\=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\=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));
}

.data-\[swipe\=cancel\]\:translate-x-0[data-swipe="cancel"]{
  --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));
}

.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe="end"]{
  --tw-translate-x: var(--radix-toast-swipe-end-x);
  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-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe="move"]{
  --tw-translate-x: var(--radix-toast-swipe-move-x);
  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 accordion-up{

  from{
    height: var(--radix-accordion-content-height);
  }

  to{
    height: 0;
  }
}

.data-\[state\=closed\]\:animate-accordion-up[data-state="closed"]{
  animation: accordion-up 0.2s ease-out;
}

@keyframes accordion-down{

  from{
    height: 0;
  }

  to{
    height: var(--radix-accordion-content-height);
  }
}

.data-\[state\=open\]\:animate-accordion-down[data-state="open"]{
  animation: accordion-down 0.2s ease-out;
}

.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction="vertical"]{
  flex-direction: column;
}

.data-\[state\=active\]\:border-cyan-500\/30[data-state="active"]{
  border-color: rgb(6 182 212 / 0.3);
}

.data-\[state\=active\]\:border-green-500\/30[data-state="active"]{
  border-color: rgb(34 197 94 / 0.3);
}

.data-\[state\=active\]\:border-orange-500\/30[data-state="active"]{
  border-color: rgb(249 115 22 / 0.3);
}

.data-\[state\=active\]\:border-purple-500\/30[data-state="active"]{
  border-color: rgb(168 85 247 / 0.3);
}

.data-\[selected\=true\]\:bg-accent[data-selected="true"]{
  background-color: hsl(var(--accent));
}

.data-\[state\=active\]\:bg-amber-100[data-state="active"]{
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}

.data-\[state\=active\]\:bg-amber-500\/20[data-state="active"]{
  background-color: rgb(245 158 11 / 0.2);
}

.data-\[state\=active\]\:bg-amber-600[data-state="active"]{
  --tw-bg-opacity: 1;
  background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1));
}

.data-\[state\=active\]\:bg-amber-900\/40[data-state="active"]{
  background-color: rgb(120 53 15 / 0.4);
}

.data-\[state\=active\]\:bg-background[data-state="active"]{
  background-color: hsl(var(--background));
}

.data-\[state\=active\]\:bg-blue-100[data-state="active"]{
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}

.data-\[state\=active\]\:bg-blue-500[data-state="active"]{
  --tw-bg-opacity: 1;
  background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));
}

.data-\[state\=active\]\:bg-blue-600[data-state="active"]{
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}

.data-\[state\=active\]\:bg-cyan-100[data-state="active"]{
  --tw-bg-opacity: 1;
  background-color: rgb(207 250 254 / var(--tw-bg-opacity, 1));
}

.data-\[state\=active\]\:bg-cyan-500\/20[data-state="active"]{
  background-color: rgb(6 182 212 / 0.2);
}

.data-\[state\=active\]\:bg-cyan-900\/40[data-state="active"]{
  background-color: rgb(22 78 99 / 0.4);
}

.data-\[state\=active\]\:bg-emerald-500\/20[data-state="active"]{
  background-color: rgb(16 185 129 / 0.2);
}

.data-\[state\=active\]\:bg-emerald-600[data-state="active"]{
  --tw-bg-opacity: 1;
  background-color: rgb(5 150 105 / var(--tw-bg-opacity, 1));
}

.data-\[state\=active\]\:bg-fuchsia-900\/40[data-state="active"]{
  background-color: rgb(112 26 117 / 0.4);
}

.data-\[state\=active\]\:bg-green-100[data-state="active"]{
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}

.data-\[state\=active\]\:bg-green-600[data-state="active"]{
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}

.data-\[state\=active\]\:bg-indigo-600[data-state="active"]{
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}

.data-\[state\=active\]\:bg-orange-100[data-state="active"]{
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));
}

.data-\[state\=active\]\:bg-orange-500[data-state="active"]{
  --tw-bg-opacity: 1;
  background-color: rgb(249 115 22 / var(--tw-bg-opacity, 1));
}

.data-\[state\=active\]\:bg-pink-100[data-state="active"]{
  --tw-bg-opacity: 1;
  background-color: rgb(252 231 243 / var(--tw-bg-opacity, 1));
}

.data-\[state\=active\]\:bg-pink-600[data-state="active"]{
  --tw-bg-opacity: 1;
  background-color: rgb(219 39 119 / var(--tw-bg-opacity, 1));
}

.data-\[state\=active\]\:bg-purple-100[data-state="active"]{
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
}

.data-\[state\=active\]\:bg-purple-600[data-state="active"]{
  --tw-bg-opacity: 1;
  background-color: rgb(147 51 234 / var(--tw-bg-opacity, 1));
}

.data-\[state\=active\]\:bg-rose-500\/20[data-state="active"]{
  background-color: rgb(244 63 94 / 0.2);
}

.data-\[state\=active\]\:bg-sky-600[data-state="active"]{
  --tw-bg-opacity: 1;
  background-color: rgb(2 132 199 / var(--tw-bg-opacity, 1));
}

.data-\[state\=active\]\:bg-slate-700[data-state="active"]{
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}

.data-\[state\=active\]\:bg-slate-800[data-state="active"]{
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}

.data-\[state\=active\]\:bg-yellow-100[data-state="active"]{
  --tw-bg-opacity: 1;
  background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
}

.data-\[state\=checked\]\:bg-primary[data-state="checked"]{
  background-color: hsl(var(--primary));
}

.data-\[state\=on\]\:bg-accent[data-state="on"]{
  background-color: hsl(var(--accent));
}

.data-\[state\=open\]\:bg-accent[data-state="open"]{
  background-color: hsl(var(--accent));
}

.data-\[state\=open\]\:bg-accent\/50[data-state="open"]{
  background-color: hsl(var(--accent) / 0.5);
}

.data-\[state\=open\]\:bg-secondary[data-state="open"]{
  background-color: hsl(var(--secondary));
}

.data-\[state\=selected\]\:bg-muted[data-state="selected"]{
  background-color: hsl(var(--muted));
}

.data-\[state\=unchecked\]\:bg-input[data-state="unchecked"]{
  background-color: hsl(var(--input));
}

.data-\[state\=active\]\:bg-gradient-to-r[data-state="active"]{
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}

.data-\[state\=active\]\:from-amber-500\/20[data-state="active"]{
  --tw-gradient-from: rgb(245 158 11 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.data-\[state\=active\]\:from-cyan-500\/20[data-state="active"]{
  --tw-gradient-from: rgb(6 182 212 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.data-\[state\=active\]\:from-green-500\/20[data-state="active"]{
  --tw-gradient-from: rgb(34 197 94 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.data-\[state\=active\]\:from-orange-500\/20[data-state="active"]{
  --tw-gradient-from: rgb(249 115 22 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.data-\[state\=active\]\:from-purple-500\/20[data-state="active"]{
  --tw-gradient-from: rgb(168 85 247 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.data-\[state\=active\]\:to-blue-500\/20[data-state="active"]{
  --tw-gradient-to: rgb(59 130 246 / 0.2) var(--tw-gradient-to-position);
}

.data-\[state\=active\]\:to-emerald-500\/20[data-state="active"]{
  --tw-gradient-to: rgb(16 185 129 / 0.2) var(--tw-gradient-to-position);
}

.data-\[state\=active\]\:to-orange-500\/20[data-state="active"]{
  --tw-gradient-to: rgb(249 115 22 / 0.2) var(--tw-gradient-to-position);
}

.data-\[state\=active\]\:to-pink-500\/20[data-state="active"]{
  --tw-gradient-to: rgb(236 72 153 / 0.2) var(--tw-gradient-to-position);
}

.data-\[state\=active\]\:to-red-500\/20[data-state="active"]{
  --tw-gradient-to: rgb(239 68 68 / 0.2) var(--tw-gradient-to-position);
}

.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{
  color: hsl(var(--muted-foreground));
}

.data-\[selected\=true\]\:text-accent-foreground[data-selected="true"]{
  color: hsl(var(--accent-foreground));
}

.data-\[state\=active\]\:text-amber-200[data-state="active"]{
  --tw-text-opacity: 1;
  color: rgb(253 230 138 / var(--tw-text-opacity, 1));
}

.data-\[state\=active\]\:text-amber-400[data-state="active"]{
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}

.data-\[state\=active\]\:text-amber-600[data-state="active"]{
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}

.data-\[state\=active\]\:text-cyan-200[data-state="active"]{
  --tw-text-opacity: 1;
  color: rgb(165 243 252 / var(--tw-text-opacity, 1));
}

.data-\[state\=active\]\:text-cyan-400[data-state="active"]{
  --tw-text-opacity: 1;
  color: rgb(34 211 238 / var(--tw-text-opacity, 1));
}

.data-\[state\=active\]\:text-cyan-600[data-state="active"]{
  --tw-text-opacity: 1;
  color: rgb(8 145 178 / var(--tw-text-opacity, 1));
}

.data-\[state\=active\]\:text-emerald-400[data-state="active"]{
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}

.data-\[state\=active\]\:text-foreground[data-state="active"]{
  color: hsl(var(--foreground));
}

.data-\[state\=active\]\:text-fuchsia-200[data-state="active"]{
  --tw-text-opacity: 1;
  color: rgb(245 208 254 / var(--tw-text-opacity, 1));
}

.data-\[state\=active\]\:text-green-400[data-state="active"]{
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.data-\[state\=active\]\:text-green-600[data-state="active"]{
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

.data-\[state\=active\]\:text-green-800[data-state="active"]{
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}

.data-\[state\=active\]\:text-lime-400[data-state="active"]{
  --tw-text-opacity: 1;
  color: rgb(163 230 53 / var(--tw-text-opacity, 1));
}

.data-\[state\=active\]\:text-orange-400[data-state="active"]{
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity, 1));
}

.data-\[state\=active\]\:text-orange-600[data-state="active"]{
  --tw-text-opacity: 1;
  color: rgb(234 88 12 / var(--tw-text-opacity, 1));
}

.data-\[state\=active\]\:text-purple-400[data-state="active"]{
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / var(--tw-text-opacity, 1));
}

.data-\[state\=active\]\:text-purple-600[data-state="active"]{
  --tw-text-opacity: 1;
  color: rgb(147 51 234 / var(--tw-text-opacity, 1));
}

.data-\[state\=active\]\:text-red-400[data-state="active"]{
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.data-\[state\=active\]\:text-rose-400[data-state="active"]{
  --tw-text-opacity: 1;
  color: rgb(251 113 133 / var(--tw-text-opacity, 1));
}

.data-\[state\=active\]\:text-teal-400[data-state="active"]{
  --tw-text-opacity: 1;
  color: rgb(45 212 191 / var(--tw-text-opacity, 1));
}

.data-\[state\=active\]\:text-violet-400[data-state="active"]{
  --tw-text-opacity: 1;
  color: rgb(167 139 250 / var(--tw-text-opacity, 1));
}

.data-\[state\=active\]\:text-white[data-state="active"]{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.data-\[state\=active\]\:text-yellow-800[data-state="active"]{
  --tw-text-opacity: 1;
  color: rgb(133 77 14 / var(--tw-text-opacity, 1));
}

.data-\[state\=checked\]\:text-primary-foreground[data-state="checked"]{
  color: hsl(var(--primary-foreground));
}

.data-\[state\=on\]\:text-accent-foreground[data-state="on"]{
  color: hsl(var(--accent-foreground));
}

.data-\[state\=open\]\:text-accent-foreground[data-state="open"]{
  color: hsl(var(--accent-foreground));
}

.data-\[state\=open\]\:text-muted-foreground[data-state="open"]{
  color: hsl(var(--muted-foreground));
}

.data-\[disabled\=true\]\:opacity-50[data-disabled="true"]{
  opacity: 0.5;
}

.data-\[disabled\]\:opacity-50[data-disabled]{
  opacity: 0.5;
}

.data-\[state\=active\]\:shadow[data-state="active"]{
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(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: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.data-\[swipe\=move\]\:transition-none[data-swipe="move"]{
  transition-property: none;
}

.data-\[state\=closed\]\:duration-300[data-state="closed"]{
  transition-duration: 300ms;
}

.data-\[state\=open\]\:duration-500[data-state="open"]{
  transition-duration: 500ms;
}

.data-\[motion\^\=from-\]\:animate-in[data-motion^="from-"]{
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}

.data-\[state\=open\]\:animate-in[data-state="open"]{
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}

.data-\[state\=visible\]\:animate-in[data-state="visible"]{
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}

.data-\[motion\^\=to-\]\:animate-out[data-motion^="to-"]{
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}

.data-\[state\=closed\]\:animate-out[data-state="closed"]{
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}

.data-\[state\=hidden\]\:animate-out[data-state="hidden"]{
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}

.data-\[swipe\=end\]\:animate-out[data-swipe="end"]{
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}

.data-\[motion\^\=from-\]\:fade-in[data-motion^="from-"]{
  --tw-enter-opacity: 0;
}

.data-\[motion\^\=to-\]\:fade-out[data-motion^="to-"]{
  --tw-exit-opacity: 0;
}

.data-\[state\=closed\]\:fade-out-0[data-state="closed"]{
  --tw-exit-opacity: 0;
}

.data-\[state\=closed\]\:fade-out-80[data-state="closed"]{
  --tw-exit-opacity: 0.8;
}

.data-\[state\=hidden\]\:fade-out[data-state="hidden"]{
  --tw-exit-opacity: 0;
}

.data-\[state\=open\]\:fade-in-0[data-state="open"]{
  --tw-enter-opacity: 0;
}

.data-\[state\=visible\]\:fade-in[data-state="visible"]{
  --tw-enter-opacity: 0;
}

.data-\[state\=closed\]\:zoom-out-95[data-state="closed"]{
  --tw-exit-scale: .95;
}

.data-\[state\=open\]\:zoom-in-90[data-state="open"]{
  --tw-enter-scale: .9;
}

.data-\[state\=open\]\:zoom-in-95[data-state="open"]{
  --tw-enter-scale: .95;
}

.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion="from-end"]{
  --tw-enter-translate-x: 13rem;
}

.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion="from-start"]{
  --tw-enter-translate-x: -13rem;
}

.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion="to-end"]{
  --tw-exit-translate-x: 13rem;
}

.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion="to-start"]{
  --tw-exit-translate-x: -13rem;
}

.data-\[side\=bottom\]\:slide-in-from-top-2[data-side="bottom"]{
  --tw-enter-translate-y: -0.5rem;
}

.data-\[side\=left\]\:slide-in-from-right-2[data-side="left"]{
  --tw-enter-translate-x: 0.5rem;
}

.data-\[side\=right\]\:slide-in-from-left-2[data-side="right"]{
  --tw-enter-translate-x: -0.5rem;
}

.data-\[side\=top\]\:slide-in-from-bottom-2[data-side="top"]{
  --tw-enter-translate-y: 0.5rem;
}

.data-\[state\=closed\]\:slide-out-to-bottom[data-state="closed"]{
  --tw-exit-translate-y: 100%;
}

.data-\[state\=closed\]\:slide-out-to-left[data-state="closed"]{
  --tw-exit-translate-x: -100%;
}

.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state="closed"]{
  --tw-exit-translate-x: -50%;
}

.data-\[state\=closed\]\:slide-out-to-right[data-state="closed"]{
  --tw-exit-translate-x: 100%;
}

.data-\[state\=closed\]\:slide-out-to-right-full[data-state="closed"]{
  --tw-exit-translate-x: 100%;
}

.data-\[state\=closed\]\:slide-out-to-top[data-state="closed"]{
  --tw-exit-translate-y: -100%;
}

.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state="closed"]{
  --tw-exit-translate-y: -48%;
}

.data-\[state\=open\]\:slide-in-from-bottom[data-state="open"]{
  --tw-enter-translate-y: 100%;
}

.data-\[state\=open\]\:slide-in-from-left[data-state="open"]{
  --tw-enter-translate-x: -100%;
}

.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state="open"]{
  --tw-enter-translate-x: -50%;
}

.data-\[state\=open\]\:slide-in-from-right[data-state="open"]{
  --tw-enter-translate-x: 100%;
}

.data-\[state\=open\]\:slide-in-from-top[data-state="open"]{
  --tw-enter-translate-y: -100%;
}

.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state="open"]{
  --tw-enter-translate-y: -48%;
}

.data-\[state\=open\]\:slide-in-from-top-full[data-state="open"]{
  --tw-enter-translate-y: -100%;
}

.data-\[state\=closed\]\:duration-300[data-state="closed"]{
  animation-duration: 300ms;
}

.data-\[state\=open\]\:duration-500[data-state="open"]{
  animation-duration: 500ms;
}

.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction="vertical"]::after{
  content: var(--tw-content);
  left: 0px;
}

.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction="vertical"]::after{
  content: var(--tw-content);
  height: 0.25rem;
}

.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction="vertical"]::after{
  content: var(--tw-content);
  width: 100%;
}

.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction="vertical"]::after{
  content: var(--tw-content);
  --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));
}

.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction="vertical"]::after{
  content: var(--tw-content);
  --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));
}

.data-\[state\=open\]\:hover\:bg-accent:hover[data-state="open"]{
  background-color: hsl(var(--accent));
}

.data-\[state\=open\]\:focus\:bg-accent:focus[data-state="open"]{
  background-color: hsl(var(--accent));
}

.group[data-state="open"] .group-data-\[state\=open\]\: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));
}

@supports (backdrop-filter: var(--tw)){

  .supports-\[backdrop-filter\]\:bg-background\/60{
    background-color: hsl(var(--background) / 0.6);
  }
}

.dark\:divide-slate-700:is(.dark *) > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 1;
  border-color: rgb(51 65 85 / var(--tw-divide-opacity, 1));
}

.dark\:border-amber-600:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(217 119 6 / var(--tw-border-opacity, 1));
}

.dark\:border-amber-600\/50:is(.dark *){
  border-color: rgb(217 119 6 / 0.5);
}

.dark\:border-amber-700:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(180 83 9 / var(--tw-border-opacity, 1));
}

.dark\:border-amber-800:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(146 64 14 / var(--tw-border-opacity, 1));
}

.dark\:border-amber-800\/50:is(.dark *){
  border-color: rgb(146 64 14 / 0.5);
}

.dark\:border-amber-900:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(120 53 15 / var(--tw-border-opacity, 1));
}

.dark\:border-amber-900\/50:is(.dark *){
  border-color: rgb(120 53 15 / 0.5);
}

.dark\:border-blue-600:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(37 99 235 / var(--tw-border-opacity, 1));
}

.dark\:border-blue-600\/50:is(.dark *){
  border-color: rgb(37 99 235 / 0.5);
}

.dark\:border-blue-700:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(29 78 216 / var(--tw-border-opacity, 1));
}

.dark\:border-blue-700\/50:is(.dark *){
  border-color: rgb(29 78 216 / 0.5);
}

.dark\:border-blue-800:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(30 64 175 / var(--tw-border-opacity, 1));
}

.dark\:border-blue-800\/50:is(.dark *){
  border-color: rgb(30 64 175 / 0.5);
}

.dark\:border-blue-900:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(30 58 138 / var(--tw-border-opacity, 1));
}

.dark\:border-cyan-800:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(21 94 117 / var(--tw-border-opacity, 1));
}

.dark\:border-cyan-800\/50:is(.dark *){
  border-color: rgb(21 94 117 / 0.5);
}

.dark\:border-destructive:is(.dark *){
  border-color: hsl(var(--destructive));
}

.dark\:border-emerald-700:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(4 120 87 / var(--tw-border-opacity, 1));
}

.dark\:border-emerald-800:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(6 95 70 / var(--tw-border-opacity, 1));
}

.dark\:border-emerald-800\/50:is(.dark *){
  border-color: rgb(6 95 70 / 0.5);
}

.dark\:border-gray-600:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
}

.dark\:border-gray-700:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}

.dark\:border-gray-700\/50:is(.dark *){
  border-color: rgb(55 65 81 / 0.5);
}

.dark\:border-gray-800:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(31 41 55 / var(--tw-border-opacity, 1));
}

.dark\:border-green-600\/50:is(.dark *){
  border-color: rgb(22 163 74 / 0.5);
}

.dark\:border-green-700:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(21 128 61 / var(--tw-border-opacity, 1));
}

.dark\:border-green-700\/50:is(.dark *){
  border-color: rgb(21 128 61 / 0.5);
}

.dark\:border-green-800:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(22 101 52 / var(--tw-border-opacity, 1));
}

.dark\:border-green-800\/30:is(.dark *){
  border-color: rgb(22 101 52 / 0.3);
}

.dark\:border-green-800\/50:is(.dark *){
  border-color: rgb(22 101 52 / 0.5);
}

.dark\:border-indigo-700:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(67 56 202 / var(--tw-border-opacity, 1));
}

.dark\:border-indigo-800:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(55 48 163 / var(--tw-border-opacity, 1));
}

.dark\:border-indigo-900:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(49 46 129 / var(--tw-border-opacity, 1));
}

.dark\:border-lime-800:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(63 98 18 / var(--tw-border-opacity, 1));
}

.dark\:border-orange-600:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(234 88 12 / var(--tw-border-opacity, 1));
}

.dark\:border-orange-700:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(194 65 12 / var(--tw-border-opacity, 1));
}

.dark\:border-orange-700\/50:is(.dark *){
  border-color: rgb(194 65 12 / 0.5);
}

.dark\:border-orange-800:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(154 52 18 / var(--tw-border-opacity, 1));
}

.dark\:border-pink-800:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(157 23 77 / var(--tw-border-opacity, 1));
}

.dark\:border-purple-600:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(147 51 234 / var(--tw-border-opacity, 1));
}

.dark\:border-purple-600\/50:is(.dark *){
  border-color: rgb(147 51 234 / 0.5);
}

.dark\:border-purple-700:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(126 34 206 / var(--tw-border-opacity, 1));
}

.dark\:border-purple-800:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(107 33 168 / var(--tw-border-opacity, 1));
}

.dark\:border-purple-800\/50:is(.dark *){
  border-color: rgb(107 33 168 / 0.5);
}

.dark\:border-red-600\/50:is(.dark *){
  border-color: rgb(220 38 38 / 0.5);
}

.dark\:border-red-700:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(185 28 28 / var(--tw-border-opacity, 1));
}

.dark\:border-red-800:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(153 27 27 / var(--tw-border-opacity, 1));
}

.dark\:border-red-800\/50:is(.dark *){
  border-color: rgb(153 27 27 / 0.5);
}

.dark\:border-red-900:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(127 29 29 / var(--tw-border-opacity, 1));
}

.dark\:border-red-900\/30:is(.dark *){
  border-color: rgb(127 29 29 / 0.3);
}

.dark\:border-red-900\/50:is(.dark *){
  border-color: rgb(127 29 29 / 0.5);
}

.dark\:border-rose-800:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(159 18 57 / var(--tw-border-opacity, 1));
}

.dark\:border-sky-800:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(7 89 133 / var(--tw-border-opacity, 1));
}

.dark\:border-sky-900:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(12 74 110 / var(--tw-border-opacity, 1));
}

.dark\:border-slate-600:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(71 85 105 / var(--tw-border-opacity, 1));
}

.dark\:border-slate-700:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(51 65 85 / var(--tw-border-opacity, 1));
}

.dark\:border-slate-700\/50:is(.dark *){
  border-color: rgb(51 65 85 / 0.5);
}

.dark\:border-slate-800:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(30 41 59 / var(--tw-border-opacity, 1));
}

.dark\:border-teal-800:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(17 94 89 / var(--tw-border-opacity, 1));
}

.dark\:border-violet-800:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(91 33 182 / var(--tw-border-opacity, 1));
}

.dark\:border-white:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}

.dark\:border-yellow-800:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(133 77 14 / var(--tw-border-opacity, 1));
}

.dark\:border-l-blue-400:is(.dark *){
  --tw-border-opacity: 1;
  border-left-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
}

.dark\:border-l-slate-600:is(.dark *){
  --tw-border-opacity: 1;
  border-left-color: rgb(71 85 105 / var(--tw-border-opacity, 1));
}

.dark\:bg-amber-800\/50:is(.dark *){
  background-color: rgb(146 64 14 / 0.5);
}

.dark\:bg-amber-900:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(120 53 15 / var(--tw-bg-opacity, 1));
}

.dark\:bg-amber-900\/20:is(.dark *){
  background-color: rgb(120 53 15 / 0.2);
}

.dark\:bg-amber-900\/30:is(.dark *){
  background-color: rgb(120 53 15 / 0.3);
}

.dark\:bg-amber-900\/40:is(.dark *){
  background-color: rgb(120 53 15 / 0.4);
}

.dark\:bg-amber-900\/50:is(.dark *){
  background-color: rgb(120 53 15 / 0.5);
}

.dark\:bg-amber-950:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(69 26 3 / var(--tw-bg-opacity, 1));
}

.dark\:bg-amber-950\/20:is(.dark *){
  background-color: rgb(69 26 3 / 0.2);
}

.dark\:bg-amber-950\/30:is(.dark *){
  background-color: rgb(69 26 3 / 0.3);
}

.dark\:bg-amber-950\/40:is(.dark *){
  background-color: rgb(69 26 3 / 0.4);
}

.dark\:bg-amber-950\/50:is(.dark *){
  background-color: rgb(69 26 3 / 0.5);
}

.dark\:bg-blue-900:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(30 58 138 / var(--tw-bg-opacity, 1));
}

.dark\:bg-blue-900\/10:is(.dark *){
  background-color: rgb(30 58 138 / 0.1);
}

.dark\:bg-blue-900\/20:is(.dark *){
  background-color: rgb(30 58 138 / 0.2);
}

.dark\:bg-blue-900\/30:is(.dark *){
  background-color: rgb(30 58 138 / 0.3);
}

.dark\:bg-blue-900\/40:is(.dark *){
  background-color: rgb(30 58 138 / 0.4);
}

.dark\:bg-blue-900\/50:is(.dark *){
  background-color: rgb(30 58 138 / 0.5);
}

.dark\:bg-blue-950:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(23 37 84 / var(--tw-bg-opacity, 1));
}

.dark\:bg-blue-950\/20:is(.dark *){
  background-color: rgb(23 37 84 / 0.2);
}

.dark\:bg-blue-950\/30:is(.dark *){
  background-color: rgb(23 37 84 / 0.3);
}

.dark\:bg-blue-950\/40:is(.dark *){
  background-color: rgb(23 37 84 / 0.4);
}

.dark\:bg-blue-950\/50:is(.dark *){
  background-color: rgb(23 37 84 / 0.5);
}

.dark\:bg-card:is(.dark *){
  background-color: hsl(var(--card));
}

.dark\:bg-cyan-900:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(22 78 99 / var(--tw-bg-opacity, 1));
}

.dark\:bg-cyan-900\/30:is(.dark *){
  background-color: rgb(22 78 99 / 0.3);
}

.dark\:bg-cyan-950\/30:is(.dark *){
  background-color: rgb(8 51 68 / 0.3);
}

.dark\:bg-emerald-800:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(6 95 70 / var(--tw-bg-opacity, 1));
}

.dark\:bg-emerald-900:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(6 78 59 / var(--tw-bg-opacity, 1));
}

.dark\:bg-emerald-900\/20:is(.dark *){
  background-color: rgb(6 78 59 / 0.2);
}

.dark\:bg-emerald-900\/30:is(.dark *){
  background-color: rgb(6 78 59 / 0.3);
}

.dark\:bg-emerald-900\/40:is(.dark *){
  background-color: rgb(6 78 59 / 0.4);
}

.dark\:bg-emerald-900\/50:is(.dark *){
  background-color: rgb(6 78 59 / 0.5);
}

.dark\:bg-emerald-950:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(2 44 34 / var(--tw-bg-opacity, 1));
}

.dark\:bg-emerald-950\/20:is(.dark *){
  background-color: rgb(2 44 34 / 0.2);
}

.dark\:bg-emerald-950\/30:is(.dark *){
  background-color: rgb(2 44 34 / 0.3);
}

.dark\:bg-emerald-950\/40:is(.dark *){
  background-color: rgb(2 44 34 / 0.4);
}

.dark\:bg-gray-700:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.dark\:bg-gray-800:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.dark\:bg-gray-800\/50:is(.dark *){
  background-color: rgb(31 41 55 / 0.5);
}

.dark\:bg-gray-800\/80:is(.dark *){
  background-color: rgb(31 41 55 / 0.8);
}

.dark\:bg-gray-900:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}

.dark\:bg-gray-900\/30:is(.dark *){
  background-color: rgb(17 24 39 / 0.3);
}

.dark\:bg-gray-900\/40:is(.dark *){
  background-color: rgb(17 24 39 / 0.4);
}

.dark\:bg-gray-900\/50:is(.dark *){
  background-color: rgb(17 24 39 / 0.5);
}

.dark\:bg-gray-900\/70:is(.dark *){
  background-color: rgb(17 24 39 / 0.7);
}

.dark\:bg-gray-900\/80:is(.dark *){
  background-color: rgb(17 24 39 / 0.8);
}

.dark\:bg-green-800:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(22 101 52 / var(--tw-bg-opacity, 1));
}

.dark\:bg-green-900:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(20 83 45 / var(--tw-bg-opacity, 1));
}

.dark\:bg-green-900\/20:is(.dark *){
  background-color: rgb(20 83 45 / 0.2);
}

.dark\:bg-green-900\/30:is(.dark *){
  background-color: rgb(20 83 45 / 0.3);
}

.dark\:bg-green-900\/40:is(.dark *){
  background-color: rgb(20 83 45 / 0.4);
}

.dark\:bg-green-900\/50:is(.dark *){
  background-color: rgb(20 83 45 / 0.5);
}

.dark\:bg-green-950:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(5 46 22 / var(--tw-bg-opacity, 1));
}

.dark\:bg-green-950\/10:is(.dark *){
  background-color: rgb(5 46 22 / 0.1);
}

.dark\:bg-green-950\/20:is(.dark *){
  background-color: rgb(5 46 22 / 0.2);
}

.dark\:bg-green-950\/30:is(.dark *){
  background-color: rgb(5 46 22 / 0.3);
}

.dark\:bg-green-950\/40:is(.dark *){
  background-color: rgb(5 46 22 / 0.4);
}

.dark\:bg-green-950\/50:is(.dark *){
  background-color: rgb(5 46 22 / 0.5);
}

.dark\:bg-indigo-900:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(49 46 129 / var(--tw-bg-opacity, 1));
}

.dark\:bg-indigo-900\/30:is(.dark *){
  background-color: rgb(49 46 129 / 0.3);
}

.dark\:bg-indigo-900\/40:is(.dark *){
  background-color: rgb(49 46 129 / 0.4);
}

.dark\:bg-indigo-950\/40:is(.dark *){
  background-color: rgb(30 27 75 / 0.4);
}

.dark\:bg-lime-900:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(54 83 20 / var(--tw-bg-opacity, 1));
}

.dark\:bg-muted:is(.dark *){
  background-color: hsl(var(--muted));
}

.dark\:bg-orange-900:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(124 45 18 / var(--tw-bg-opacity, 1));
}

.dark\:bg-orange-900\/20:is(.dark *){
  background-color: rgb(124 45 18 / 0.2);
}

.dark\:bg-orange-900\/30:is(.dark *){
  background-color: rgb(124 45 18 / 0.3);
}

.dark\:bg-orange-900\/50:is(.dark *){
  background-color: rgb(124 45 18 / 0.5);
}

.dark\:bg-orange-950:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(67 20 7 / var(--tw-bg-opacity, 1));
}

.dark\:bg-orange-950\/20:is(.dark *){
  background-color: rgb(67 20 7 / 0.2);
}

.dark\:bg-orange-950\/30:is(.dark *){
  background-color: rgb(67 20 7 / 0.3);
}

.dark\:bg-orange-950\/40:is(.dark *){
  background-color: rgb(67 20 7 / 0.4);
}

.dark\:bg-orange-950\/50:is(.dark *){
  background-color: rgb(67 20 7 / 0.5);
}

.dark\:bg-pink-900:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(131 24 67 / var(--tw-bg-opacity, 1));
}

.dark\:bg-pink-900\/30:is(.dark *){
  background-color: rgb(131 24 67 / 0.3);
}

.dark\:bg-pink-950\/30:is(.dark *){
  background-color: rgb(80 7 36 / 0.3);
}

.dark\:bg-purple-800:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(107 33 168 / var(--tw-bg-opacity, 1));
}

.dark\:bg-purple-900:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(88 28 135 / var(--tw-bg-opacity, 1));
}

.dark\:bg-purple-900\/20:is(.dark *){
  background-color: rgb(88 28 135 / 0.2);
}

.dark\:bg-purple-900\/30:is(.dark *){
  background-color: rgb(88 28 135 / 0.3);
}

.dark\:bg-purple-900\/50:is(.dark *){
  background-color: rgb(88 28 135 / 0.5);
}

.dark\:bg-purple-950:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(59 7 100 / var(--tw-bg-opacity, 1));
}

.dark\:bg-purple-950\/20:is(.dark *){
  background-color: rgb(59 7 100 / 0.2);
}

.dark\:bg-purple-950\/30:is(.dark *){
  background-color: rgb(59 7 100 / 0.3);
}

.dark\:bg-purple-950\/40:is(.dark *){
  background-color: rgb(59 7 100 / 0.4);
}

.dark\:bg-red-600:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}

.dark\:bg-red-900:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(127 29 29 / var(--tw-bg-opacity, 1));
}

.dark\:bg-red-900\/20:is(.dark *){
  background-color: rgb(127 29 29 / 0.2);
}

.dark\:bg-red-900\/30:is(.dark *){
  background-color: rgb(127 29 29 / 0.3);
}

.dark\:bg-red-900\/50:is(.dark *){
  background-color: rgb(127 29 29 / 0.5);
}

.dark\:bg-red-950:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(69 10 10 / var(--tw-bg-opacity, 1));
}

.dark\:bg-red-950\/10:is(.dark *){
  background-color: rgb(69 10 10 / 0.1);
}

.dark\:bg-red-950\/20:is(.dark *){
  background-color: rgb(69 10 10 / 0.2);
}

.dark\:bg-red-950\/30:is(.dark *){
  background-color: rgb(69 10 10 / 0.3);
}

.dark\:bg-red-950\/40:is(.dark *){
  background-color: rgb(69 10 10 / 0.4);
}

.dark\:bg-red-950\/50:is(.dark *){
  background-color: rgb(69 10 10 / 0.5);
}

.dark\:bg-rose-900:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(136 19 55 / var(--tw-bg-opacity, 1));
}

.dark\:bg-sky-900:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(12 74 110 / var(--tw-bg-opacity, 1));
}

.dark\:bg-sky-900\/20:is(.dark *){
  background-color: rgb(12 74 110 / 0.2);
}

.dark\:bg-sky-900\/40:is(.dark *){
  background-color: rgb(12 74 110 / 0.4);
}

.dark\:bg-sky-950\/40:is(.dark *){
  background-color: rgb(8 47 73 / 0.4);
}

.dark\:bg-slate-700:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}

.dark\:bg-slate-800:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}

.dark\:bg-slate-800\/30:is(.dark *){
  background-color: rgb(30 41 59 / 0.3);
}

.dark\:bg-slate-800\/40:is(.dark *){
  background-color: rgb(30 41 59 / 0.4);
}

.dark\:bg-slate-800\/50:is(.dark *){
  background-color: rgb(30 41 59 / 0.5);
}

.dark\:bg-slate-900:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(15 23 42 / var(--tw-bg-opacity, 1));
}

.dark\:bg-slate-900\/40:is(.dark *){
  background-color: rgb(15 23 42 / 0.4);
}

.dark\:bg-slate-900\/50:is(.dark *){
  background-color: rgb(15 23 42 / 0.5);
}

.dark\:bg-slate-900\/60:is(.dark *){
  background-color: rgb(15 23 42 / 0.6);
}

.dark\:bg-slate-900\/80:is(.dark *){
  background-color: rgb(15 23 42 / 0.8);
}

.dark\:bg-slate-900\/90:is(.dark *){
  background-color: rgb(15 23 42 / 0.9);
}

.dark\:bg-slate-900\/95:is(.dark *){
  background-color: rgb(15 23 42 / 0.95);
}

.dark\:bg-slate-950:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(2 6 23 / var(--tw-bg-opacity, 1));
}

.dark\:bg-teal-900:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(19 78 74 / var(--tw-bg-opacity, 1));
}

.dark\:bg-violet-900:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(76 29 149 / var(--tw-bg-opacity, 1));
}

.dark\:bg-violet-950\/40:is(.dark *){
  background-color: rgb(46 16 101 / 0.4);
}

.dark\:bg-yellow-900:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(113 63 18 / var(--tw-bg-opacity, 1));
}

.dark\:bg-yellow-900\/20:is(.dark *){
  background-color: rgb(113 63 18 / 0.2);
}

.dark\:bg-yellow-900\/30:is(.dark *){
  background-color: rgb(113 63 18 / 0.3);
}

.dark\:bg-yellow-950:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(66 32 6 / var(--tw-bg-opacity, 1));
}

.dark\:bg-yellow-950\/10:is(.dark *){
  background-color: rgb(66 32 6 / 0.1);
}

.dark\:bg-yellow-950\/20:is(.dark *){
  background-color: rgb(66 32 6 / 0.2);
}

.dark\:bg-yellow-950\/30:is(.dark *){
  background-color: rgb(66 32 6 / 0.3);
}

.dark\:bg-opacity-20:is(.dark *){
  --tw-bg-opacity: 0.2;
}

.dark\:from-amber-900\/30:is(.dark *){
  --tw-gradient-from: rgb(120 53 15 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(120 53 15 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-amber-900\/50:is(.dark *){
  --tw-gradient-from: rgb(120 53 15 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(120 53 15 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-amber-950\/20:is(.dark *){
  --tw-gradient-from: rgb(69 26 3 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(69 26 3 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-amber-950\/30:is(.dark *){
  --tw-gradient-from: rgb(69 26 3 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(69 26 3 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-amber-950\/50:is(.dark *){
  --tw-gradient-from: rgb(69 26 3 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(69 26 3 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-blue-950:is(.dark *){
  --tw-gradient-from: #172554 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(23 37 84 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-blue-950\/30:is(.dark *){
  --tw-gradient-from: rgb(23 37 84 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(23 37 84 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-blue-950\/50:is(.dark *){
  --tw-gradient-from: rgb(23 37 84 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(23 37 84 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-cyan-950\/30:is(.dark *){
  --tw-gradient-from: rgb(8 51 68 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(8 51 68 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-emerald-900\/20:is(.dark *){
  --tw-gradient-from: rgb(6 78 59 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 78 59 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-emerald-950\/30:is(.dark *){
  --tw-gradient-from: rgb(2 44 34 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(2 44 34 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-gray-800:is(.dark *){
  --tw-gradient-from: #1f2937 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(31 41 55 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-gray-900:is(.dark *){
  --tw-gradient-from: #111827 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(17 24 39 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-gray-950:is(.dark *){
  --tw-gradient-from: #030712 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(3 7 18 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-gray-950\/30:is(.dark *){
  --tw-gradient-from: rgb(3 7 18 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(3 7 18 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-green-950:is(.dark *){
  --tw-gradient-from: #052e16 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(5 46 22 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-green-950\/30:is(.dark *){
  --tw-gradient-from: rgb(5 46 22 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(5 46 22 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-green-950\/50:is(.dark *){
  --tw-gradient-from: rgb(5 46 22 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(5 46 22 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-indigo-950:is(.dark *){
  --tw-gradient-from: #1e1b4b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(30 27 75 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-indigo-950\/30:is(.dark *){
  --tw-gradient-from: rgb(30 27 75 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(30 27 75 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-lime-950\/30:is(.dark *){
  --tw-gradient-from: rgb(26 46 5 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(26 46 5 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-orange-950:is(.dark *){
  --tw-gradient-from: #431407 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(67 20 7 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-orange-950\/30:is(.dark *){
  --tw-gradient-from: rgb(67 20 7 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(67 20 7 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-orange-950\/50:is(.dark *){
  --tw-gradient-from: rgb(67 20 7 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(67 20 7 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-pink-950\/30:is(.dark *){
  --tw-gradient-from: rgb(80 7 36 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(80 7 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-purple-950:is(.dark *){
  --tw-gradient-from: #3b0764 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(59 7 100 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-purple-950\/30:is(.dark *){
  --tw-gradient-from: rgb(59 7 100 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(59 7 100 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-purple-950\/50:is(.dark *){
  --tw-gradient-from: rgb(59 7 100 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(59 7 100 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-red-950:is(.dark *){
  --tw-gradient-from: #450a0a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(69 10 10 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-red-950\/30:is(.dark *){
  --tw-gradient-from: rgb(69 10 10 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(69 10 10 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-red-950\/50:is(.dark *){
  --tw-gradient-from: rgb(69 10 10 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(69 10 10 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-rose-950\/30:is(.dark *){
  --tw-gradient-from: rgb(76 5 25 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(76 5 25 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-sky-950\/30:is(.dark *){
  --tw-gradient-from: rgb(8 47 73 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(8 47 73 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-slate-800:is(.dark *){
  --tw-gradient-from: #1e293b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(30 41 59 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-slate-900:is(.dark *){
  --tw-gradient-from: #0f172a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(15 23 42 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-slate-900\/50:is(.dark *){
  --tw-gradient-from: rgb(15 23 42 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(15 23 42 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-slate-950:is(.dark *){
  --tw-gradient-from: #020617 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(2 6 23 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-slate-950\/30:is(.dark *){
  --tw-gradient-from: rgb(2 6 23 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(2 6 23 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-slate-950\/50:is(.dark *){
  --tw-gradient-from: rgb(2 6 23 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(2 6 23 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-teal-950\/30:is(.dark *){
  --tw-gradient-from: rgb(4 47 46 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(4 47 46 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-violet-950\/30:is(.dark *){
  --tw-gradient-from: rgb(46 16 101 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(46 16 101 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-yellow-950:is(.dark *){
  --tw-gradient-from: #422006 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(66 32 6 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-yellow-950\/30:is(.dark *){
  --tw-gradient-from: rgb(66 32 6 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(66 32 6 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-yellow-950\/50:is(.dark *){
  --tw-gradient-from: rgb(66 32 6 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(66 32 6 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:via-blue-950\/20:is(.dark *){
  --tw-gradient-to: rgb(23 37 84 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(23 37 84 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.dark\:via-gray-700:is(.dark *){
  --tw-gradient-to: rgb(55 65 81 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #374151 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.dark\:via-gray-800:is(.dark *){
  --tw-gradient-to: rgb(31 41 55 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1f2937 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.dark\:to-amber-800\/50:is(.dark *){
  --tw-gradient-to: rgb(146 64 14 / 0.5) var(--tw-gradient-to-position);
}

.dark\:to-amber-900\/50:is(.dark *){
  --tw-gradient-to: rgb(120 53 15 / 0.5) var(--tw-gradient-to-position);
}

.dark\:to-amber-950\/30:is(.dark *){
  --tw-gradient-to: rgb(69 26 3 / 0.3) var(--tw-gradient-to-position);
}

.dark\:to-background:is(.dark *){
  --tw-gradient-to: hsl(var(--background)) var(--tw-gradient-to-position);
}

.dark\:to-blue-900:is(.dark *){
  --tw-gradient-to: #1e3a8a var(--tw-gradient-to-position);
}

.dark\:to-blue-900\/50:is(.dark *){
  --tw-gradient-to: rgb(30 58 138 / 0.5) var(--tw-gradient-to-position);
}

.dark\:to-blue-950:is(.dark *){
  --tw-gradient-to: #172554 var(--tw-gradient-to-position);
}

.dark\:to-blue-950\/30:is(.dark *){
  --tw-gradient-to: rgb(23 37 84 / 0.3) var(--tw-gradient-to-position);
}

.dark\:to-cyan-950:is(.dark *){
  --tw-gradient-to: #083344 var(--tw-gradient-to-position);
}

.dark\:to-cyan-950\/30:is(.dark *){
  --tw-gradient-to: rgb(8 51 68 / 0.3) var(--tw-gradient-to-position);
}

.dark\:to-emerald-900:is(.dark *){
  --tw-gradient-to: #064e3b var(--tw-gradient-to-position);
}

.dark\:to-emerald-950:is(.dark *){
  --tw-gradient-to: #022c22 var(--tw-gradient-to-position);
}

.dark\:to-emerald-950\/30:is(.dark *){
  --tw-gradient-to: rgb(2 44 34 / 0.3) var(--tw-gradient-to-position);
}

.dark\:to-gray-800:is(.dark *){
  --tw-gradient-to: #1f2937 var(--tw-gradient-to-position);
}

.dark\:to-gray-900:is(.dark *){
  --tw-gradient-to: #111827 var(--tw-gradient-to-position);
}

.dark\:to-gray-950\/30:is(.dark *){
  --tw-gradient-to: rgb(3 7 18 / 0.3) var(--tw-gradient-to-position);
}

.dark\:to-green-900:is(.dark *){
  --tw-gradient-to: #14532d var(--tw-gradient-to-position);
}

.dark\:to-green-900\/50:is(.dark *){
  --tw-gradient-to: rgb(20 83 45 / 0.5) var(--tw-gradient-to-position);
}

.dark\:to-green-950\/30:is(.dark *){
  --tw-gradient-to: rgb(5 46 22 / 0.3) var(--tw-gradient-to-position);
}

.dark\:to-indigo-900:is(.dark *){
  --tw-gradient-to: #312e81 var(--tw-gradient-to-position);
}

.dark\:to-indigo-950:is(.dark *){
  --tw-gradient-to: #1e1b4b var(--tw-gradient-to-position);
}

.dark\:to-indigo-950\/30:is(.dark *){
  --tw-gradient-to: rgb(30 27 75 / 0.3) var(--tw-gradient-to-position);
}

.dark\:to-orange-900:is(.dark *){
  --tw-gradient-to: #7c2d12 var(--tw-gradient-to-position);
}

.dark\:to-orange-900\/30:is(.dark *){
  --tw-gradient-to: rgb(124 45 18 / 0.3) var(--tw-gradient-to-position);
}

.dark\:to-orange-900\/50:is(.dark *){
  --tw-gradient-to: rgb(124 45 18 / 0.5) var(--tw-gradient-to-position);
}

.dark\:to-orange-950:is(.dark *){
  --tw-gradient-to: #431407 var(--tw-gradient-to-position);
}

.dark\:to-orange-950\/30:is(.dark *){
  --tw-gradient-to: rgb(67 20 7 / 0.3) var(--tw-gradient-to-position);
}

.dark\:to-orange-950\/50:is(.dark *){
  --tw-gradient-to: rgb(67 20 7 / 0.5) var(--tw-gradient-to-position);
}

.dark\:to-pink-950:is(.dark *){
  --tw-gradient-to: #500724 var(--tw-gradient-to-position);
}

.dark\:to-pink-950\/30:is(.dark *){
  --tw-gradient-to: rgb(80 7 36 / 0.3) var(--tw-gradient-to-position);
}

.dark\:to-purple-900:is(.dark *){
  --tw-gradient-to: #581c87 var(--tw-gradient-to-position);
}

.dark\:to-purple-900\/50:is(.dark *){
  --tw-gradient-to: rgb(88 28 135 / 0.5) var(--tw-gradient-to-position);
}

.dark\:to-purple-950:is(.dark *){
  --tw-gradient-to: #3b0764 var(--tw-gradient-to-position);
}

.dark\:to-purple-950\/30:is(.dark *){
  --tw-gradient-to: rgb(59 7 100 / 0.3) var(--tw-gradient-to-position);
}

.dark\:to-red-900:is(.dark *){
  --tw-gradient-to: #7f1d1d var(--tw-gradient-to-position);
}

.dark\:to-red-900\/50:is(.dark *){
  --tw-gradient-to: rgb(127 29 29 / 0.5) var(--tw-gradient-to-position);
}

.dark\:to-red-950:is(.dark *){
  --tw-gradient-to: #450a0a var(--tw-gradient-to-position);
}

.dark\:to-red-950\/30:is(.dark *){
  --tw-gradient-to: rgb(69 10 10 / 0.3) var(--tw-gradient-to-position);
}

.dark\:to-rose-950\/30:is(.dark *){
  --tw-gradient-to: rgb(76 5 25 / 0.3) var(--tw-gradient-to-position);
}

.dark\:to-slate-800:is(.dark *){
  --tw-gradient-to: #1e293b var(--tw-gradient-to-position);
}

.dark\:to-slate-800\/50:is(.dark *){
  --tw-gradient-to: rgb(30 41 59 / 0.5) var(--tw-gradient-to-position);
}

.dark\:to-slate-900:is(.dark *){
  --tw-gradient-to: #0f172a var(--tw-gradient-to-position);
}

.dark\:to-slate-900\/50:is(.dark *){
  --tw-gradient-to: rgb(15 23 42 / 0.5) var(--tw-gradient-to-position);
}

.dark\:to-slate-950\/30:is(.dark *){
  --tw-gradient-to: rgb(2 6 23 / 0.3) var(--tw-gradient-to-position);
}

.dark\:to-teal-900\/20:is(.dark *){
  --tw-gradient-to: rgb(19 78 74 / 0.2) var(--tw-gradient-to-position);
}

.dark\:to-teal-950\/30:is(.dark *){
  --tw-gradient-to: rgb(4 47 46 / 0.3) var(--tw-gradient-to-position);
}

.dark\:to-violet-900:is(.dark *){
  --tw-gradient-to: #4c1d95 var(--tw-gradient-to-position);
}

.dark\:to-yellow-900:is(.dark *){
  --tw-gradient-to: #713f12 var(--tw-gradient-to-position);
}

.dark\:to-yellow-900\/50:is(.dark *){
  --tw-gradient-to: rgb(113 63 18 / 0.5) var(--tw-gradient-to-position);
}

.dark\:to-yellow-950:is(.dark *){
  --tw-gradient-to: #422006 var(--tw-gradient-to-position);
}

.dark\:fill-blue-300:is(.dark *){
  fill: #93c5fd;
}

.dark\:stroke-slate-600:is(.dark *){
  stroke: #475569;
}

.dark\:stroke-slate-700:is(.dark *){
  stroke: #334155;
}

.dark\:text-amber-100:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(254 243 199 / var(--tw-text-opacity, 1));
}

.dark\:text-amber-200:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(253 230 138 / var(--tw-text-opacity, 1));
}

.dark\:text-amber-300:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}

.dark\:text-amber-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}

.dark\:text-blue-100:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(219 234 254 / var(--tw-text-opacity, 1));
}

.dark\:text-blue-200:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(191 219 254 / var(--tw-text-opacity, 1));
}

.dark\:text-blue-300:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}

.dark\:text-blue-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}

.dark\:text-blue-500:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(59 130 246 / var(--tw-text-opacity, 1));
}

.dark\:text-cyan-200:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(165 243 252 / var(--tw-text-opacity, 1));
}

.dark\:text-cyan-300:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(103 232 249 / var(--tw-text-opacity, 1));
}

.dark\:text-cyan-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(34 211 238 / var(--tw-text-opacity, 1));
}

.dark\:text-emerald-100:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(209 250 229 / var(--tw-text-opacity, 1));
}

.dark\:text-emerald-200:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(167 243 208 / var(--tw-text-opacity, 1));
}

.dark\:text-emerald-300:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity, 1));
}

.dark\:text-emerald-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}

.dark\:text-gray-100:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.dark\:text-gray-200:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}

.dark\:text-gray-300:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.dark\:text-gray-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.dark\:text-gray-500:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.dark\:text-gray-600:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.dark\:text-gray-700:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.dark\:text-green-100:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(220 252 231 / var(--tw-text-opacity, 1));
}

.dark\:text-green-200:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(187 247 208 / var(--tw-text-opacity, 1));
}

.dark\:text-green-300:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}

.dark\:text-green-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.dark\:text-green-500:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}

.dark\:text-indigo-100:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(224 231 255 / var(--tw-text-opacity, 1));
}

.dark\:text-indigo-300:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(165 180 252 / var(--tw-text-opacity, 1));
}

.dark\:text-indigo-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(129 140 248 / var(--tw-text-opacity, 1));
}

.dark\:text-orange-100:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(255 237 213 / var(--tw-text-opacity, 1));
}

.dark\:text-orange-200:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(254 215 170 / var(--tw-text-opacity, 1));
}

.dark\:text-orange-300:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(253 186 116 / var(--tw-text-opacity, 1));
}

.dark\:text-orange-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity, 1));
}

.dark\:text-pink-300:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(249 168 212 / var(--tw-text-opacity, 1));
}

.dark\:text-pink-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(244 114 182 / var(--tw-text-opacity, 1));
}

.dark\:text-purple-100:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(243 232 255 / var(--tw-text-opacity, 1));
}

.dark\:text-purple-200:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(233 213 255 / var(--tw-text-opacity, 1));
}

.dark\:text-purple-300:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(216 180 254 / var(--tw-text-opacity, 1));
}

.dark\:text-purple-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / var(--tw-text-opacity, 1));
}

.dark\:text-red-100:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(254 226 226 / var(--tw-text-opacity, 1));
}

.dark\:text-red-200:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(254 202 202 / var(--tw-text-opacity, 1));
}

.dark\:text-red-300:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}

.dark\:text-red-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.dark\:text-sky-300:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(125 211 252 / var(--tw-text-opacity, 1));
}

.dark\:text-sky-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(56 189 248 / var(--tw-text-opacity, 1));
}

.dark\:text-slate-100:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(241 245 249 / var(--tw-text-opacity, 1));
}

.dark\:text-slate-200:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(226 232 240 / var(--tw-text-opacity, 1));
}

.dark\:text-slate-300:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}

.dark\:text-slate-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}

.dark\:text-slate-500:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}

.dark\:text-slate-600:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}

.dark\:text-slate-900:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

.dark\:text-slate-950:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(2 6 23 / var(--tw-text-opacity, 1));
}

.dark\:text-teal-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(45 212 191 / var(--tw-text-opacity, 1));
}

.dark\:text-violet-300:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(196 181 253 / var(--tw-text-opacity, 1));
}

.dark\:text-white:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.dark\:text-yellow-100:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(254 249 195 / var(--tw-text-opacity, 1));
}

.dark\:text-yellow-200:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(254 240 138 / var(--tw-text-opacity, 1));
}

.dark\:text-yellow-300:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(253 224 71 / var(--tw-text-opacity, 1));
}

.dark\:text-yellow-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}

.dark\:text-yellow-500:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(234 179 8 / var(--tw-text-opacity, 1));
}

.dark\:shadow-red-900\/10:is(.dark *){
  --tw-shadow-color: rgb(127 29 29 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}

.dark\:ring-amber-400:is(.dark *){
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(251 191 36 / var(--tw-ring-opacity, 1));
}

.dark\:ring-amber-900:is(.dark *){
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(120 53 15 / var(--tw-ring-opacity, 1));
}

.dark\:ring-blue-400:is(.dark *){
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(96 165 250 / var(--tw-ring-opacity, 1));
}

.dark\:ring-blue-400\/20:is(.dark *){
  --tw-ring-color: rgb(96 165 250 / 0.2);
}

.dark\:ring-emerald-900:is(.dark *){
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(6 78 59 / var(--tw-ring-opacity, 1));
}

.dark\:ring-gray-800:is(.dark *){
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(31 41 55 / var(--tw-ring-opacity, 1));
}

.dark\:ring-green-400:is(.dark *){
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(74 222 128 / var(--tw-ring-opacity, 1));
}

.dark\:ring-indigo-900:is(.dark *){
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(49 46 129 / var(--tw-ring-opacity, 1));
}

.dark\:ring-purple-400:is(.dark *){
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(192 132 252 / var(--tw-ring-opacity, 1));
}

.dark\:ring-red-400:is(.dark *){
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1));
}

.dark\:ring-red-800:is(.dark *){
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(153 27 27 / var(--tw-ring-opacity, 1));
}

.dark\:ring-sky-900:is(.dark *){
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(12 74 110 / var(--tw-ring-opacity, 1));
}

.dark\:ring-slate-700:is(.dark *){
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(51 65 85 / var(--tw-ring-opacity, 1));
}

.dark\:ring-violet-900:is(.dark *){
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(76 29 149 / var(--tw-ring-opacity, 1));
}

.dark\:hover\:border-blue-400:hover:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
}

.dark\:hover\:bg-amber-900\/40:hover:is(.dark *){
  background-color: rgb(120 53 15 / 0.4);
}

.dark\:hover\:bg-amber-900\/50:hover:is(.dark *){
  background-color: rgb(120 53 15 / 0.5);
}

.dark\:hover\:bg-blue-900\/20:hover:is(.dark *){
  background-color: rgb(30 58 138 / 0.2);
}

.dark\:hover\:bg-blue-900\/30:hover:is(.dark *){
  background-color: rgb(30 58 138 / 0.3);
}

.dark\:hover\:bg-blue-900\/50:hover:is(.dark *){
  background-color: rgb(30 58 138 / 0.5);
}

.dark\:hover\:bg-blue-950\/50:hover:is(.dark *){
  background-color: rgb(23 37 84 / 0.5);
}

.dark\:hover\:bg-emerald-900\/20:hover:is(.dark *){
  background-color: rgb(6 78 59 / 0.2);
}

.dark\:hover\:bg-gray-700:hover:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.dark\:hover\:bg-gray-800:hover:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.dark\:hover\:bg-orange-900\/50:hover:is(.dark *){
  background-color: rgb(124 45 18 / 0.5);
}

.dark\:hover\:bg-red-900\/20:hover:is(.dark *){
  background-color: rgb(127 29 29 / 0.2);
}

.dark\:hover\:bg-red-900\/50:hover:is(.dark *){
  background-color: rgb(127 29 29 / 0.5);
}

.dark\:hover\:bg-red-950\/20:hover:is(.dark *){
  background-color: rgb(69 10 10 / 0.2);
}

.dark\:hover\:bg-red-950\/50:hover:is(.dark *){
  background-color: rgb(69 10 10 / 0.5);
}

.dark\:hover\:bg-slate-700:hover:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}

.dark\:hover\:bg-slate-800:hover:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}

.dark\:hover\:bg-slate-800\/50:hover:is(.dark *){
  background-color: rgb(30 41 59 / 0.5);
}

.dark\:hover\:bg-slate-900\/50:hover:is(.dark *){
  background-color: rgb(15 23 42 / 0.5);
}

.dark\:hover\:bg-white\/5:hover:is(.dark *){
  background-color: rgb(255 255 255 / 0.05);
}

.dark\:hover\:bg-yellow-900\/30:hover:is(.dark *){
  background-color: rgb(113 63 18 / 0.3);
}

.dark\:hover\:text-amber-200:hover:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(253 230 138 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-amber-300:hover:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-blue-300:hover:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-slate-100:hover:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(241 245 249 / var(--tw-text-opacity, 1));
}

.dark\:focus-visible\:ring-blue-400:focus-visible:is(.dark *){
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(96 165 250 / var(--tw-ring-opacity, 1));
}

.dark\:focus-visible\:ring-offset-slate-900:focus-visible:is(.dark *){
  --tw-ring-offset-color: #0f172a;
}

.group.toaster .dark\:group-\[\.toaster\]\:bg-amber-950\/95:is(.dark *){
  background-color: rgb(69 26 3 / 0.95);
}

.group.toaster .dark\:group-\[\.toaster\]\:bg-blue-950\/95:is(.dark *){
  background-color: rgb(23 37 84 / 0.95);
}

.group.toaster .dark\:group-\[\.toaster\]\:bg-green-950\/95:is(.dark *){
  background-color: rgb(5 46 22 / 0.95);
}

.group.toaster .dark\:group-\[\.toaster\]\:bg-red-950\/95:is(.dark *){
  background-color: rgb(69 10 10 / 0.95);
}

.peer:checked ~ .peer-checked\:dark\:bg-green-600:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}

.dark\:data-\[state\=active\]\:bg-amber-900[data-state="active"]:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(120 53 15 / var(--tw-bg-opacity, 1));
}

.dark\:data-\[state\=active\]\:bg-blue-900[data-state="active"]:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(30 58 138 / var(--tw-bg-opacity, 1));
}

.dark\:data-\[state\=active\]\:bg-cyan-900[data-state="active"]:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(22 78 99 / var(--tw-bg-opacity, 1));
}

.dark\:data-\[state\=active\]\:bg-green-900[data-state="active"]:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(20 83 45 / var(--tw-bg-opacity, 1));
}

.dark\:data-\[state\=active\]\:bg-orange-900[data-state="active"]:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(124 45 18 / var(--tw-bg-opacity, 1));
}

.dark\:data-\[state\=active\]\:bg-pink-900[data-state="active"]:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(131 24 67 / var(--tw-bg-opacity, 1));
}

.dark\:data-\[state\=active\]\:bg-purple-900[data-state="active"]:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(88 28 135 / var(--tw-bg-opacity, 1));
}

.dark\:data-\[state\=active\]\:bg-yellow-900[data-state="active"]:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(113 63 18 / var(--tw-bg-opacity, 1));
}

.dark\:data-\[state\=active\]\:text-green-100[data-state="active"]:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(220 252 231 / var(--tw-text-opacity, 1));
}

.dark\:data-\[state\=active\]\:text-yellow-100[data-state="active"]:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(254 249 195 / var(--tw-text-opacity, 1));
}

@media (min-width: 640px){

  .sm\:bottom-0{
    bottom: 0px;
  }

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

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

  .sm\:right-0{
    right: 0px;
  }

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

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

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

  .sm\:top-7{
    top: 1.75rem;
  }

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

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

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

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

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

  .sm\:mx-0{
    margin-left: 0px;
    margin-right: 0px;
  }

  .sm\:mx-auto{
    margin-left: auto;
    margin-right: auto;
  }

  .sm\:my-auto{
    margin-top: auto;
    margin-bottom: auto;
  }

  .sm\:mb-1{
    margin-bottom: 0.25rem;
  }

  .sm\:mb-2{
    margin-bottom: 0.5rem;
  }

  .sm\:mb-3{
    margin-bottom: 0.75rem;
  }

  .sm\:mb-4{
    margin-bottom: 1rem;
  }

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

  .sm\:mb-8{
    margin-bottom: 2rem;
  }

  .sm\:ml-11{
    margin-left: 2.75rem;
  }

  .sm\:ml-2{
    margin-left: 0.5rem;
  }

  .sm\:ml-4{
    margin-left: 1rem;
  }

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

  .sm\:mr-1{
    margin-right: 0.25rem;
  }

  .sm\:mr-2{
    margin-right: 0.5rem;
  }

  .sm\:mt-0{
    margin-top: 0px;
  }

  .sm\:mt-1{
    margin-top: 0.25rem;
  }

  .sm\:mt-2{
    margin-top: 0.5rem;
  }

  .sm\:mt-3{
    margin-top: 0.75rem;
  }

  .sm\:mt-4{
    margin-top: 1rem;
  }

  .sm\:mt-6{
    margin-top: 1.5rem;
  }

  .sm\:line-clamp-none{
    overflow: visible;
    display: block;
    -webkit-box-orient: horizontal;
    -webkit-line-clamp: none;
  }

  .sm\:block{
    display: block;
  }

  .sm\:inline{
    display: inline;
  }

  .sm\:flex{
    display: flex;
  }

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

  .sm\:table-cell{
    display: table-cell;
  }

  .sm\:grid{
    display: grid;
  }

  .sm\:hidden{
    display: none;
  }

  .sm\:h-1\.5{
    height: 0.375rem;
  }

  .sm\:h-10{
    height: 2.5rem;
  }

  .sm\:h-11{
    height: 2.75rem;
  }

  .sm\:h-12{
    height: 3rem;
  }

  .sm\:h-16{
    height: 4rem;
  }

  .sm\:h-2{
    height: 0.5rem;
  }

  .sm\:h-20{
    height: 5rem;
  }

  .sm\:h-24{
    height: 6rem;
  }

  .sm\:h-28{
    height: 7rem;
  }

  .sm\:h-3{
    height: 0.75rem;
  }

  .sm\:h-3\.5{
    height: 0.875rem;
  }

  .sm\:h-32{
    height: 8rem;
  }

  .sm\:h-4{
    height: 1rem;
  }

  .sm\:h-40{
    height: 10rem;
  }

  .sm\:h-48{
    height: 12rem;
  }

  .sm\:h-5{
    height: 1.25rem;
  }

  .sm\:h-6{
    height: 1.5rem;
  }

  .sm\:h-64{
    height: 16rem;
  }

  .sm\:h-7{
    height: 1.75rem;
  }

  .sm\:h-8{
    height: 2rem;
  }

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

  .sm\:h-96{
    height: 24rem;
  }

  .sm\:h-\[400px\]{
    height: 400px;
  }

  .sm\:h-\[420px\]{
    height: 420px;
  }

  .sm\:h-\[50vh\]{
    height: 50vh;
  }

  .sm\:h-\[600px\]{
    height: 600px;
  }

  .sm\:h-\[800px\]{
    height: 800px;
  }

  .sm\:h-\[88vh\]{
    height: 88vh;
  }

  .sm\:h-\[calc\(100vh-280px\)\]{
    height: calc(100vh - 280px);
  }

  .sm\:h-auto{
    height: auto;
  }

  .sm\:h-full{
    height: 100%;
  }

  .sm\:min-h-\[100px\]{
    min-height: 100px;
  }

  .sm\:min-h-\[300px\]{
    min-height: 300px;
  }

  .sm\:min-h-\[400px\]{
    min-height: 400px;
  }

  .sm\:w-1\.5{
    width: 0.375rem;
  }

  .sm\:w-10{
    width: 2.5rem;
  }

  .sm\:w-12{
    width: 3rem;
  }

  .sm\:w-16{
    width: 4rem;
  }

  .sm\:w-2{
    width: 0.5rem;
  }

  .sm\:w-20{
    width: 5rem;
  }

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

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

  .sm\:w-3{
    width: 0.75rem;
  }

  .sm\:w-3\.5{
    width: 0.875rem;
  }

  .sm\:w-32{
    width: 8rem;
  }

  .sm\:w-4{
    width: 1rem;
  }

  .sm\:w-40{
    width: 10rem;
  }

  .sm\:w-48{
    width: 12rem;
  }

  .sm\:w-5{
    width: 1.25rem;
  }

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

  .sm\:w-64{
    width: 16rem;
  }

  .sm\:w-7{
    width: 1.75rem;
  }

  .sm\:w-8{
    width: 2rem;
  }

  .sm\:w-80{
    width: 20rem;
  }

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

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

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

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

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

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

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

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

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

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

  .sm\:min-w-32{
    min-width: 8rem;
  }

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

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

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

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

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

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

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

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

  .sm\:max-w-\[95vw\]{
    max-width: 95vw;
  }

  .sm\:max-w-lg{
    max-width: 32rem;
  }

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

  .sm\:max-w-none{
    max-width: none;
  }

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

  .sm\:max-w-xl{
    max-width: 36rem;
  }

  .sm\:max-w-xs{
    max-width: 20rem;
  }

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

  .sm\:flex-initial{
    flex: 0 1 auto;
  }

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

  .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-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

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

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

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

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

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

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

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

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

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

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

  .sm\:gap-0{
    gap: 0px;
  }

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

  .sm\:gap-1\.5{
    gap: 0.375rem;
  }

  .sm\:gap-2{
    gap: 0.5rem;
  }

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

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

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

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

  .sm\:space-x-2 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0.5rem * var(--tw-space-x-reverse));
    margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  .sm\:space-x-4 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(1rem * var(--tw-space-x-reverse));
    margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
  }

  .sm\:space-y-0 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0px * var(--tw-space-y-reverse));
  }

  .sm\:space-y-1 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
  }

  .sm\:space-y-2 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
  }

  .sm\:space-y-3 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
  }

  .sm\:space-y-4 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem * var(--tw-space-y-reverse));
  }

  .sm\:space-y-6 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
  }

  .sm\:space-y-8 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2rem * var(--tw-space-y-reverse));
  }

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

  .sm\:truncate{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .sm\:rounded-2xl{
    border-radius: 1rem;
  }

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

  .sm\:rounded-xl{
    border-radius: 0.75rem;
  }

  .sm\:rounded-t-2xl{
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem;
  }

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

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

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

  .sm\:p-12{
    padding: 3rem;
  }

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

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

  .sm\:p-3{
    padding: 0.75rem;
  }

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

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

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

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

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

  .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-3{
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

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

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

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

  .sm\:py-0{
    padding-top: 0px;
    padding-bottom: 0px;
  }

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

  .sm\:py-1{
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }

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

  .sm\:py-12{
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .sm\:py-16{
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

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

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

  .sm\:py-3{
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }

  .sm\:py-4{
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

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

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

  .sm\:pb-0{
    padding-bottom: 0px;
  }

  .sm\:pb-3{
    padding-bottom: 0.75rem;
  }

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

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

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

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

  .sm\:pt-0{
    padding-top: 0px;
  }

  .sm\:pt-16{
    padding-top: 4rem;
  }

  .sm\:pt-20{
    padding-top: 5rem;
  }

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

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

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

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

  .sm\:text-2xl{
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .sm\:text-3xl{
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .sm\:text-4xl{
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .sm\:text-5xl{
    font-size: 3rem;
    line-height: 1;
  }

  .sm\:text-6xl{
    font-size: 3.75rem;
    line-height: 1;
  }

  .sm\:text-base{
    font-size: 1rem;
    line-height: 1.5rem;
  }

  .sm\:text-lg{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  .sm\:text-sm{
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .sm\:text-xl{
    font-size: 1.25rem;
    line-height: 1.75rem;
  }

  .sm\:text-xs{
    font-size: 0.75rem;
    line-height: 1rem;
  }

  .sm\: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), var(--tw-shadow, 0 0 #0000);
  }

  .data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state="open"]{
    --tw-enter-translate-y: 100%;
  }
}

@media (min-width: 768px){

  .md\:absolute{
    position: absolute;
  }

  .md\:bottom-8{
    bottom: 2rem;
  }

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

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

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

  .md\:right-auto{
    right: auto;
  }

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

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

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

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

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

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

  .md\:mb-1{
    margin-bottom: 0.25rem;
  }

  .md\:mb-3{
    margin-bottom: 0.75rem;
  }

  .md\:ml-1{
    margin-left: 0.25rem;
  }

  .md\:mr-1{
    margin-right: 0.25rem;
  }

  .md\:mr-2{
    margin-right: 0.5rem;
  }

  .md\:mt-0{
    margin-top: 0px;
  }

  .md\:mt-1{
    margin-top: 0.25rem;
  }

  .md\:mt-2{
    margin-top: 0.5rem;
  }

  .md\:block{
    display: block;
  }

  .md\:inline{
    display: inline;
  }

  .md\:flex{
    display: flex;
  }

  .md\:table-cell{
    display: table-cell;
  }

  .md\:grid{
    display: grid;
  }

  .md\:hidden{
    display: none;
  }

  .md\:aspect-\[3\/1\]{
    aspect-ratio: 3/1;
  }

  .md\:h-10{
    height: 2.5rem;
  }

  .md\:h-16{
    height: 4rem;
  }

  .md\:h-2{
    height: 0.5rem;
  }

  .md\:h-3{
    height: 0.75rem;
  }

  .md\:h-4{
    height: 1rem;
  }

  .md\:h-5{
    height: 1.25rem;
  }

  .md\:h-6{
    height: 1.5rem;
  }

  .md\:h-64{
    height: 16rem;
  }

  .md\:h-7{
    height: 1.75rem;
  }

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

  .md\:h-screen{
    height: 100vh;
  }

  .md\:w-12{
    width: 3rem;
  }

  .md\:w-16{
    width: 4rem;
  }

  .md\:w-3{
    width: 0.75rem;
  }

  .md\:w-32{
    width: 8rem;
  }

  .md\:w-4{
    width: 1rem;
  }

  .md\:w-40{
    width: 10rem;
  }

  .md\:w-44{
    width: 11rem;
  }

  .md\:w-48{
    width: 12rem;
  }

  .md\:w-5{
    width: 1.25rem;
  }

  .md\:w-56{
    width: 14rem;
  }

  .md\:w-6{
    width: 1.5rem;
  }

  .md\:w-64{
    width: 16rem;
  }

  .md\:w-7{
    width: 1.75rem;
  }

  .md\:w-72{
    width: 18rem;
  }

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

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

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

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

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

  .md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{
    width: var(--radix-navigation-menu-viewport-width);
  }

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

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

  .md\:max-w-2xl{
    max-width: 42rem;
  }

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

  .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-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

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

  .md\:grid-cols-\[1fr\2c 220px\2c auto\]{
    grid-template-columns: 1fr 220px auto;
  }

  .md\:grid-cols-\[auto\2c 1fr\2c auto\]{
    grid-template-columns: auto 1fr auto;
  }

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

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

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

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

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

  .md\:gap-1{
    gap: 0.25rem;
  }

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

  .md\:gap-2{
    gap: 0.5rem;
  }

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

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

  .md\:gap-6{
    gap: 1.5rem;
  }

  .md\:space-y-1 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
  }

  .md\:space-y-2 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
  }

  .md\:space-y-3 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
  }

  .md\:space-y-6 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
  }

  .md\:rounded-2xl{
    border-radius: 1rem;
  }

  .md\:p-2{
    padding: 0.5rem;
  }

  .md\:p-3{
    padding: 0.75rem;
  }

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

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

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

  .md\:px-3{
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

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

  .md\:py-2{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  .md\:pl-44{
    padding-left: 11rem;
  }

  .md\:pr-2{
    padding-right: 0.5rem;
  }

  .md\:pt-2{
    padding-top: 0.5rem;
  }

  .md\:text-2xl{
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .md\:text-3xl{
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .md\:text-4xl{
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .md\:text-5xl{
    font-size: 3rem;
    line-height: 1;
  }

  .md\:text-6xl{
    font-size: 3.75rem;
    line-height: 1;
  }

  .md\:text-base{
    font-size: 1rem;
    line-height: 1.5rem;
  }

  .md\:text-lg{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  .md\:text-sm{
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .md\:text-xl{
    font-size: 1.25rem;
    line-height: 1.75rem;
  }

  .md\:text-xs{
    font-size: 0.75rem;
    line-height: 1rem;
  }
}

@media (min-width: 1024px){

  .lg\:sticky{
    position: sticky;
  }

  .lg\:top-4{
    top: 1rem;
  }

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

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

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

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

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

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

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

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

  .lg\:mx-0{
    margin-left: 0px;
    margin-right: 0px;
  }

  .lg\:mx-6{
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }

  .lg\:mb-2{
    margin-bottom: 0.5rem;
  }

  .lg\:ml-1{
    margin-left: 0.25rem;
  }

  .lg\:mr-1{
    margin-right: 0.25rem;
  }

  .lg\:mr-2{
    margin-right: 0.5rem;
  }

  .lg\:mt-4{
    margin-top: 1rem;
  }

  .lg\:block{
    display: block;
  }

  .lg\:inline{
    display: inline;
  }

  .lg\:flex{
    display: flex;
  }

  .lg\:grid{
    display: grid;
  }

  .lg\:inline-grid{
    display: inline-grid;
  }

  .lg\:hidden{
    display: none;
  }

  .lg\:h-12{
    height: 3rem;
  }

  .lg\:h-3{
    height: 0.75rem;
  }

  .lg\:h-4{
    height: 1rem;
  }

  .lg\:h-5{
    height: 1.25rem;
  }

  .lg\:h-56{
    height: 14rem;
  }

  .lg\:h-64{
    height: 16rem;
  }

  .lg\:h-7{
    height: 1.75rem;
  }

  .lg\:h-8{
    height: 2rem;
  }

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

  .lg\:h-\[640px\]{
    height: 640px;
  }

  .lg\:h-\[700px\]{
    height: 700px;
  }

  .lg\:max-h-52{
    max-height: 13rem;
  }

  .lg\:max-h-\[calc\(100vh-180px\)\]{
    max-height: calc(100vh - 180px);
  }

  .lg\:max-h-full{
    max-height: 100%;
  }

  .lg\:max-h-none{
    max-height: none;
  }

  .lg\:min-h-\[32px\]{
    min-height: 32px;
  }

  .lg\:min-h-\[500px\]{
    min-height: 500px;
  }

  .lg\:w-12{
    width: 3rem;
  }

  .lg\:w-3{
    width: 0.75rem;
  }

  .lg\:w-4{
    width: 1rem;
  }

  .lg\:w-5{
    width: 1.25rem;
  }

  .lg\:w-56{
    width: 14rem;
  }

  .lg\:w-64{
    width: 16rem;
  }

  .lg\:w-72{
    width: 18rem;
  }

  .lg\:w-8{
    width: 2rem;
  }

  .lg\:w-80{
    width: 20rem;
  }

  .lg\:w-96{
    width: 24rem;
  }

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

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

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

  .lg\:max-w-3xl{
    max-width: 48rem;
  }

  .lg\:max-w-none{
    max-width: none;
  }

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

  .lg\:scale-75{
    --tw-scale-x: .75;
    --tw-scale-y: .75;
    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));
  }

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

  .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-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

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

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

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

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

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

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

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

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

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

  .lg\:space-y-2 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
  }

  .lg\:space-y-4 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem * var(--tw-space-y-reverse));
  }

  .lg\:overflow-hidden{
    overflow: hidden;
  }

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

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

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

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

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

  .lg\:border-zinc-800{
    --tw-border-opacity: 1;
    border-color: rgb(39 39 42 / var(--tw-border-opacity, 1));
  }

  .lg\:p-10{
    padding: 2.5rem;
  }

  .lg\:p-3{
    padding: 0.75rem;
  }

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

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

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

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

  .lg\:px-2\.5{
    padding-left: 0.625rem;
    padding-right: 0.625rem;
  }

  .lg\:px-3{
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  .lg\:px-4{
    padding-left: 1rem;
    padding-right: 1rem;
  }

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

  .lg\:py-1{
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }

  .lg\:py-1\.5{
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
  }

  .lg\:py-2{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  .lg\:pb-0{
    padding-bottom: 0px;
  }

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

  .lg\:text-2xl{
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .lg\:text-3xl{
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .lg\:text-4xl{
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .lg\:text-5xl{
    font-size: 3rem;
    line-height: 1;
  }

  .lg\:text-6xl{
    font-size: 3.75rem;
    line-height: 1;
  }

  .lg\:text-7xl{
    font-size: 4.5rem;
    line-height: 1;
  }

  .lg\:text-base{
    font-size: 1rem;
    line-height: 1.5rem;
  }

  .lg\:text-sm{
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .lg\:text-xs{
    font-size: 0.75rem;
    line-height: 1rem;
  }
}

@media (min-width: 1280px){

  .xl\:flex{
    display: flex;
  }

  .xl\:w-80{
    width: 20rem;
  }

  .xl\:w-96{
    width: 24rem;
  }

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

  .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-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

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

@media print{

  .print\:mb-4{
    margin-bottom: 1rem;
  }

  .print\:mb-8{
    margin-bottom: 2rem;
  }

  .print\:block{
    display: block;
  }

  .print\:hidden{
    display: none;
  }

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

  .print\:break-inside-avoid{
    break-inside: avoid;
  }

  .print\:overflow-visible{
    overflow: visible;
  }

  .print\:bg-white{
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  }

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

  .print\:py-0{
    padding-top: 0px;
    padding-bottom: 0px;
  }
}

.\[\&\+div\]\:text-xs+div{
  font-size: 0.75rem;
  line-height: 1rem;
}

.\[\&\:\:-webkit-slider-thumb\]\:h-3::-webkit-slider-thumb{
  height: 0.75rem;
}

.\[\&\:\:-webkit-slider-thumb\]\:w-3::-webkit-slider-thumb{
  width: 0.75rem;
}

.\[\&\:\:-webkit-slider-thumb\]\:appearance-none::-webkit-slider-thumb{
  appearance: none;
}

.\[\&\:\:-webkit-slider-thumb\]\:rounded-full::-webkit-slider-thumb{
  border-radius: 9999px;
}

.\[\&\:\:-webkit-slider-thumb\]\:bg-purple-400::-webkit-slider-thumb{
  --tw-bg-opacity: 1;
  background-color: rgb(192 132 252 / var(--tw-bg-opacity, 1));
}

.\[\&\:has\(\>\.day-range-end\)\]\:rounded-r-md:has(>.day-range-end){
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}

.\[\&\:has\(\>\.day-range-start\)\]\:rounded-l-md:has(>.day-range-start){
  border-top-left-radius: calc(var(--radius) - 2px);
  border-bottom-left-radius: calc(var(--radius) - 2px);
}

.\[\&\:has\(\[aria-selected\]\)\]\:rounded-md:has([aria-selected]){
  border-radius: calc(var(--radius) - 2px);
}

.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){
  background-color: hsl(var(--accent));
}

.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{
  border-top-left-radius: calc(var(--radius) - 2px);
  border-bottom-left-radius: calc(var(--radius) - 2px);
}

.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}

.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside){
  background-color: hsl(var(--accent) / 0.5);
}

.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}

.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){
  padding-right: 0px;
}

.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{
  --tw-translate-y: 2px;
  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));
}

.\[\&\>div\]\:bg-amber-500>div{
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}

.\[\&\>div\]\:bg-cyan-500>div{
  --tw-bg-opacity: 1;
  background-color: rgb(6 182 212 / var(--tw-bg-opacity, 1));
}

.\[\&\>div\]\:bg-green-500>div{
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}

.\[\&\>div\]\:bg-red-500>div{
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}

.\[\&\>span\]\:line-clamp-1>span{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{
  --tw-translate-y: -3px;
  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));
}

.\[\&\>svg\]\:absolute>svg{
  position: absolute;
}

.\[\&\>svg\]\:left-4>svg{
  left: 1rem;
}

.\[\&\>svg\]\:top-4>svg{
  top: 1rem;
}

.\[\&\>svg\]\:size-4>svg{
  width: 1rem;
  height: 1rem;
}

.\[\&\>svg\]\:h-3\.5>svg{
  height: 0.875rem;
}

.\[\&\>svg\]\:w-3\.5>svg{
  width: 0.875rem;
}

.\[\&\>svg\]\:shrink-0>svg{
  flex-shrink: 0;
}

.\[\&\>svg\]\:text-destructive>svg{
  color: hsl(var(--destructive));
}

.\[\&\>svg\]\:text-foreground>svg{
  color: hsl(var(--foreground));
}

.\[\&\>svg\~\*\]\:pl-7>svg~*{
  padding-left: 1.75rem;
}

.\[\&\>tr\]\:last\:border-b-0:last-child>tr{
  border-bottom-width: 0px;
}

.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{
  --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));
}

.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>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));
}

.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{
  font-size: 0.75rem;
  line-height: 1rem;
}

.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{
  font-weight: 500;
}

.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{
  color: hsl(var(--muted-foreground));
}

.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden]) ~[cmdk-group]{
  padding-top: 0px;
}

.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{
  height: 1.25rem;
}

.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{
  width: 1.25rem;
}

.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{
  height: 3rem;
}

.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{
  height: 1.25rem;
}

.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{
  width: 1.25rem;
}

.\[\&_p\]\:leading-relaxed p{
  line-height: 1.625;
}

.\[\&_svg\]\:pointer-events-none svg{
  pointer-events: none;
}

.\[\&_svg\]\:size-4 svg{
  width: 1rem;
  height: 1rem;
}

.\[\&_svg\]\:shrink-0 svg{
  flex-shrink: 0;
}

.\[\&_tbody_tr\:nth-child\(even\)\]\:bg-muted\/30 tbody tr:nth-child(even){
  background-color: hsl(var(--muted) / 0.3);
}

.\[\&_td\]\:border td{
  border-width: 1px;
}

.\[\&_td\]\:py-1\.5 td{
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.\[\&_th\]\:border th{
  border-width: 1px;
}

.\[\&_th\]\:py-1\.5 th{
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.\[\&_tr\:last-child\]\:border-0 tr:last-child{
  border-width: 0px;
}

.\[\&_tr\]\:border-b tr{
  border-bottom-width: 1px;
}



/* ===== vendor: leaflet/dist/leaflet.css ===== */
/* required styles */

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
	}
.leaflet-container {
	overflow: hidden;
	}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	   -moz-user-select: none;
	        user-select: none;
	  -webkit-user-drag: none;
	}
/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::selection {
	background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}
.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
	}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg {
	max-width: none !important;
	max-height: none !important;
	}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	max-width: none !important;
	max-height: none !important;
	width: auto;
	padding: 0;
	}

.leaflet-container img.leaflet-tile {
	/* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
	mix-blend-mode: plus-lighter;
}

.leaflet-container.leaflet-touch-zoom {
	-ms-touch-action: pan-x pan-y;
	touch-action: pan-x pan-y;
	}
.leaflet-container.leaflet-touch-drag {
	-ms-touch-action: pinch-zoom;
	/* Fallback for FF which doesn't support pinch-zoom */
	touch-action: none;
	touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
	-ms-touch-action: none;
	touch-action: none;
}
.leaflet-container {
	-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
	filter: inherit;
	visibility: hidden;
	}
.leaflet-tile-loaded {
	visibility: inherit;
	}
.leaflet-zoom-box {
	width: 0;
	height: 0;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	z-index: 800;
	}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
	-moz-user-select: none;
	}

.leaflet-pane         { z-index: 400; }

.leaflet-tile-pane    { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane  { z-index: 500; }
.leaflet-marker-pane  { z-index: 600; }
.leaflet-tooltip-pane   { z-index: 650; }
.leaflet-popup-pane   { z-index: 700; }

.leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg    { z-index: 200; }

.leaflet-vml-shape {
	width: 1px;
	height: 1px;
	}
.lvml {
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
	}


/* control positioning */

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}
.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
	}
.leaflet-top {
	top: 0;
	}
.leaflet-right {
	right: 0;
	}
.leaflet-bottom {
	bottom: 0;
	}
.leaflet-left {
	left: 0;
	}
.leaflet-control {
	float: left;
	clear: both;
	}
.leaflet-right .leaflet-control {
	float: right;
	}
.leaflet-top .leaflet-control {
	margin-top: 10px;
	}
.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
	}
.leaflet-left .leaflet-control {
	margin-left: 10px;
	}
.leaflet-right .leaflet-control {
	margin-right: 10px;
	}


/* zoom and fade animations */

.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	-webkit-transition: opacity 0.2s linear;
	   -moz-transition: opacity 0.2s linear;
	        transition: opacity 0.2s linear;
	}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
	}
.leaflet-zoom-animated {
	-webkit-transform-origin: 0 0;
	    -ms-transform-origin: 0 0;
	        transform-origin: 0 0;
	}
svg.leaflet-zoom-animated {
	will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
	-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
	   -moz-transition:    -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
	        transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
	}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	-webkit-transition: none;
	   -moz-transition: none;
	        transition: none;
	}

.leaflet-zoom-anim .leaflet-zoom-hide {
	visibility: hidden;
	}


/* cursors */

.leaflet-interactive {
	cursor: pointer;
	}
.leaflet-grab {
	cursor: -webkit-grab;
	cursor:    -moz-grab;
	cursor:         grab;
	}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
	}
.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
	}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor: -webkit-grabbing;
	cursor:    -moz-grabbing;
	cursor:         grabbing;
	}

/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
	pointer-events: none;
	}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

/* visual tweaks */

.leaflet-container {
	background: #ddd;
	outline-offset: 1px;
	}
.leaflet-container a {
	color: #0078A8;
	}
.leaflet-zoom-box {
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}


/* general typography */
.leaflet-container {
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1.5;
	}


/* general toolbar styles */

.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}
.leaflet-bar a {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	text-decoration: none;
	color: black;
	}
.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}
.leaflet-bar a:hover,
.leaflet-bar a:focus {
	background-color: #f4f4f4;
	}
.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}
.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}
.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}

.leaflet-touch .leaflet-bar a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	}
.leaflet-touch .leaflet-bar a:first-child {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	}
.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
	}

/* zoom control */

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
	font: bold 18px 'Lucida Console', Monaco, monospace;
	text-indent: 1px;
	}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out  {
	font-size: 22px;
	}


/* layers control */

.leaflet-control-layers {
	box-shadow: 0 1px 5px rgba(0,0,0,0.4);
	background: #fff;
	border-radius: 5px;
	}
.leaflet-control-layers-toggle {
	background-image: url(images/layers.png);
	width: 36px;
	height: 36px;
	}
.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url(images/layers-2x.png);
	background-size: 26px 26px;
	}
.leaflet-touch .leaflet-control-layers-toggle {
	width: 44px;
	height: 44px;
	}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
	display: none;
	}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
	display: block;
	position: relative;
	}
.leaflet-control-layers-expanded {
	padding: 6px 10px 6px 6px;
	color: #333;
	background: #fff;
	}
.leaflet-control-layers-scrollbar {
	overflow-y: scroll;
	overflow-x: hidden;
	padding-right: 5px;
	}
.leaflet-control-layers-selector {
	margin-top: 2px;
	position: relative;
	top: 1px;
	}
.leaflet-control-layers label {
	display: block;
	font-size: 13px;
	font-size: 1.08333em;
	}
.leaflet-control-layers-separator {
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px -10px 5px -6px;
	}

/* Default icon URLs */
.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
	background-image: url(images/marker-icon.png);
	}


/* attribution and scale controls */

.leaflet-container .leaflet-control-attribution {
	background: #fff;
	background: rgba(255, 255, 255, 0.8);
	margin: 0;
	}
.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	line-height: 1.4;
	}
.leaflet-control-attribution a {
	text-decoration: none;
	}
.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
	text-decoration: underline;
	}
.leaflet-attribution-flag {
	display: inline !important;
	vertical-align: baseline !important;
	width: 1em;
	height: 0.6669em;
	}
.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
	}
.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
	}
.leaflet-control-scale-line {
	border: 2px solid #777;
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	white-space: nowrap;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	background: rgba(255, 255, 255, 0.8);
	text-shadow: 1px 1px #fff;
	}
.leaflet-control-scale-line:not(:first-child) {
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
	}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
	border-bottom: 2px solid #777;
	}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	box-shadow: none;
	}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	border: 2px solid rgba(0,0,0,0.2);
	background-clip: padding-box;
	}


/* popup */

.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
	}
.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 12px;
	}
.leaflet-popup-content {
	margin: 13px 24px 13px 20px;
	line-height: 1.3;
	font-size: 13px;
	font-size: 1.08333em;
	min-height: 1px;
	}
.leaflet-popup-content p {
	margin: 17px 0;
	margin: 1.3em 0;
	}
.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-top: -1px;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	}
.leaflet-popup-tip {
	width: 17px;
	height: 17px;
	padding: 1px;

	margin: -10px auto 0;
	pointer-events: auto;

	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotate(45deg);
	}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	background: white;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}
.leaflet-container a.leaflet-popup-close-button {
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	text-align: center;
	width: 24px;
	height: 24px;
	font: 16px/24px Tahoma, Verdana, sans-serif;
	color: #757575;
	text-decoration: none;
	background: transparent;
	}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
	color: #585858;
	}
.leaflet-popup-scrolled {
	overflow: auto;
	}

.leaflet-oldie .leaflet-popup-content-wrapper {
	-ms-zoom: 1;
	}
.leaflet-oldie .leaflet-popup-tip {
	width: 24px;
	margin: 0 auto;

	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
	filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
	}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
	border: 1px solid #999;
	}


/* div icon */

.leaflet-div-icon {
	background: #fff;
	border: 1px solid #666;
	}


/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
	position: absolute;
	padding: 6px;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	color: #222;
	white-space: nowrap;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	pointer-events: none;
	box-shadow: 0 1px 3px rgba(0,0,0,0.4);
	}
.leaflet-tooltip.leaflet-interactive {
	cursor: pointer;
	pointer-events: auto;
	}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	position: absolute;
	pointer-events: none;
	border: 6px solid transparent;
	background: transparent;
	content: "";
	}

/* Directions */

.leaflet-tooltip-bottom {
	margin-top: 6px;
}
.leaflet-tooltip-top {
	margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
	left: 50%;
	margin-left: -6px;
	}
.leaflet-tooltip-top:before {
	bottom: 0;
	margin-bottom: -12px;
	border-top-color: #fff;
	}
.leaflet-tooltip-bottom:before {
	top: 0;
	margin-top: -12px;
	margin-left: -6px;
	border-bottom-color: #fff;
	}
.leaflet-tooltip-left {
	margin-left: -6px;
}
.leaflet-tooltip-right {
	margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	top: 50%;
	margin-top: -6px;
	}
.leaflet-tooltip-left:before {
	right: 0;
	margin-right: -12px;
	border-left-color: #fff;
	}
.leaflet-tooltip-right:before {
	left: 0;
	margin-left: -12px;
	border-right-color: #fff;
	}

/* Printing */

@media print {
	/* Prevent printers from removing background-images of controls. */
	.leaflet-control {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		}
	}


/* ===== vendor: react-big-calendar/lib/css/react-big-calendar.css ===== */
@charset "UTF-8";
.rbc-btn {
  color: inherit;
  font: inherit;
  margin: 0;
}

button.rbc-btn {
  overflow: visible;
  text-transform: none;
  -webkit-appearance: button;
     -moz-appearance: button;
          appearance: button;
  cursor: pointer;
}

button[disabled].rbc-btn {
  cursor: not-allowed;
}

button.rbc-input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

.rbc-calendar {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.rbc-m-b-negative-3 {
  margin-bottom: -3px;
}

.rbc-h-full {
  height: 100%;
}

.rbc-calendar *,
.rbc-calendar *:before,
.rbc-calendar *:after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

.rbc-abs-full, .rbc-row-bg {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.rbc-ellipsis, .rbc-show-more, .rbc-row-segment .rbc-event-content, .rbc-event-label {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rbc-rtl {
  direction: rtl;
}

.rbc-off-range {
  color: #999999;
}

.rbc-off-range-bg {
  background: #e6e6e6;
}

.rbc-header {
  overflow: hidden;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0%;
          flex: 1 0 0%;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 0 3px;
  text-align: center;
  vertical-align: middle;
  font-weight: bold;
  font-size: 90%;
  min-height: 0;
  border-bottom: 1px solid #ddd;
}
.rbc-header + .rbc-header {
  border-left: 1px solid #ddd;
}
.rbc-rtl .rbc-header + .rbc-header {
  border-left-width: 0;
  border-right: 1px solid #ddd;
}
.rbc-header > a, .rbc-header > a:active, .rbc-header > a:visited {
  color: inherit;
  text-decoration: none;
}

.rbc-button-link {
  color: inherit;
  background: none;
  margin: 0;
  padding: 0;
  border: none;
  cursor: pointer;
  -webkit-user-select: text;
     -moz-user-select: text;
      -ms-user-select: text;
          user-select: text;
}

.rbc-row-content {
  position: relative;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-user-select: none;
  z-index: 4;
}

.rbc-row-content-scrollable {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
}
.rbc-row-content-scrollable .rbc-row-content-scroll-container {
  height: 100%;
  overflow-y: scroll;
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
  /* Hide scrollbar for Chrome, Safari and Opera */
}
.rbc-row-content-scrollable .rbc-row-content-scroll-container::-webkit-scrollbar {
  display: none;
}

.rbc-today {
  background-color: #eaf6ff;
}

.rbc-toolbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 10px;
  font-size: 16px;
}
.rbc-toolbar .rbc-toolbar-label {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding: 0 10px;
  text-align: center;
}
.rbc-toolbar button {
  color: #373a3c;
  display: inline-block;
  margin: 0;
  text-align: center;
  vertical-align: middle;
  background: none;
  background-image: none;
  border: 1px solid #ccc;
  padding: 0.375rem 1rem;
  border-radius: 4px;
  line-height: normal;
  white-space: nowrap;
}
.rbc-toolbar button:active, .rbc-toolbar button.rbc-active {
  background-image: none;
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
          box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  background-color: #e6e6e6;
  border-color: #adadad;
}
.rbc-toolbar button:active:hover, .rbc-toolbar button:active:focus, .rbc-toolbar button.rbc-active:hover, .rbc-toolbar button.rbc-active:focus {
  color: #373a3c;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
.rbc-toolbar button:focus {
  color: #373a3c;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.rbc-toolbar button:hover {
  color: #373a3c;
  cursor: pointer;
  background-color: #e6e6e6;
  border-color: #adadad;
}

.rbc-btn-group {
  display: inline-block;
  white-space: nowrap;
}
.rbc-btn-group > button:first-child:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.rbc-btn-group > button:last-child:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.rbc-rtl .rbc-btn-group > button:first-child:not(:last-child) {
  border-radius: 4px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.rbc-rtl .rbc-btn-group > button:last-child:not(:first-child) {
  border-radius: 4px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.rbc-btn-group > button:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.rbc-btn-group button + button {
  margin-left: -1px;
}
.rbc-rtl .rbc-btn-group button + button {
  margin-left: 0;
  margin-right: -1px;
}
.rbc-btn-group + .rbc-btn-group, .rbc-btn-group + button {
  margin-left: 10px;
}

@media (max-width: 767px) {
  .rbc-toolbar {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.rbc-event, .rbc-day-slot .rbc-background-event {
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-shadow: none;
          box-shadow: none;
  margin: 0;
  padding: 2px 5px;
  background-color: #3174ad;
  border-radius: 5px;
  color: #fff;
  cursor: pointer;
  width: 100%;
  text-align: left;
}
.rbc-slot-selecting .rbc-event, .rbc-slot-selecting .rbc-day-slot .rbc-background-event, .rbc-day-slot .rbc-slot-selecting .rbc-background-event {
  cursor: inherit;
  pointer-events: none;
}
.rbc-event.rbc-selected, .rbc-day-slot .rbc-selected.rbc-background-event {
  background-color: #265985;
}
.rbc-event:focus, .rbc-day-slot .rbc-background-event:focus {
  outline: 5px auto #3b99fc;
}

.rbc-event-label {
  font-size: 80%;
}

.rbc-event-overlaps {
  -webkit-box-shadow: -1px 1px 5px 0px rgba(51, 51, 51, 0.5);
          box-shadow: -1px 1px 5px 0px rgba(51, 51, 51, 0.5);
}

.rbc-event-continues-prior {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.rbc-event-continues-after {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.rbc-event-continues-earlier {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.rbc-event-continues-later {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.rbc-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

.rbc-row-segment {
  padding: 0 1px 1px 1px;
}
.rbc-selected-cell {
  background-color: rgba(0, 0, 0, 0.1);
}

.rbc-show-more {
  background-color: rgba(255, 255, 255, 0.3);
  z-index: 4;
  font-weight: bold;
  font-size: 85%;
  height: auto;
  line-height: normal;
  color: #3174ad;
}
.rbc-show-more:hover, .rbc-show-more:focus {
  color: #265985;
}

.rbc-month-view {
  position: relative;
  border: 1px solid #ddd;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0px;
          flex: 1 0 0;
  width: 100%;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-user-select: none;
  height: 100%;
}

.rbc-month-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

.rbc-month-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0px;
          flex: 1 0 0;
  -ms-flex-preferred-size: 0px;
      flex-basis: 0px;
  overflow: hidden;
  height: 100%;
}
.rbc-month-row + .rbc-month-row {
  border-top: 1px solid #ddd;
}

.rbc-date-cell {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  min-width: 0;
  padding-right: 5px;
  text-align: right;
}
.rbc-date-cell.rbc-now {
  font-weight: bold;
}
.rbc-date-cell > a, .rbc-date-cell > a:active, .rbc-date-cell > a:visited {
  color: inherit;
  text-decoration: none;
}

.rbc-row-bg {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0px;
          flex: 1 0 0;
  overflow: hidden;
  right: 1px;
}

.rbc-day-bg {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0%;
          flex: 1 0 0%;
}
.rbc-day-bg + .rbc-day-bg {
  border-left: 1px solid #ddd;
}
.rbc-rtl .rbc-day-bg + .rbc-day-bg {
  border-left-width: 0;
  border-right: 1px solid #ddd;
}

.rbc-overlay {
  position: absolute;
  z-index: 5;
  border: 1px solid #e5e5e5;
  background-color: #fff;
  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.25);
          box-shadow: 0 5px 15px rgba(0, 0, 0, 0.25);
  padding: 10px;
}
.rbc-overlay > * + * {
  margin-top: 1px;
}

.rbc-overlay-header {
  border-bottom: 1px solid #e5e5e5;
  margin: -10px -10px 5px -10px;
  padding: 2px 10px;
}

.rbc-agenda-view {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0px;
          flex: 1 0 0;
  overflow: auto;
}
.rbc-agenda-view table.rbc-agenda-table {
  width: 100%;
  border: 1px solid #ddd;
  border-spacing: 0;
  border-collapse: collapse;
}
.rbc-agenda-view table.rbc-agenda-table tbody > tr > td {
  padding: 5px 10px;
  vertical-align: top;
}
.rbc-agenda-view table.rbc-agenda-table .rbc-agenda-time-cell {
  padding-left: 15px;
  padding-right: 15px;
  text-transform: lowercase;
}
.rbc-agenda-view table.rbc-agenda-table tbody > tr > td + td {
  border-left: 1px solid #ddd;
}
.rbc-rtl .rbc-agenda-view table.rbc-agenda-table tbody > tr > td + td {
  border-left-width: 0;
  border-right: 1px solid #ddd;
}
.rbc-agenda-view table.rbc-agenda-table tbody > tr + tr {
  border-top: 1px solid #ddd;
}
.rbc-agenda-view table.rbc-agenda-table thead > tr > th {
  padding: 3px 5px;
  text-align: left;
  border-bottom: 1px solid #ddd;
}
.rbc-rtl .rbc-agenda-view table.rbc-agenda-table thead > tr > th {
  text-align: right;
}

.rbc-agenda-time-cell {
  text-transform: lowercase;
}
.rbc-agenda-time-cell .rbc-continues-after:after {
  content: " »";
}
.rbc-agenda-time-cell .rbc-continues-prior:before {
  content: "« ";
}

.rbc-agenda-date-cell,
.rbc-agenda-time-cell {
  white-space: nowrap;
}

.rbc-agenda-event-cell {
  width: 100%;
}

.rbc-time-column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100%;
}
.rbc-time-column .rbc-timeslot-group {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.rbc-timeslot-group {
  border-bottom: 1px solid #ddd;
  min-height: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
}

.rbc-time-gutter,
.rbc-header-gutter {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
}

.rbc-label {
  padding: 0 5px;
}

.rbc-day-slot {
  position: relative;
}
.rbc-day-slot .rbc-events-container {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  margin-right: 10px;
  top: 0;
}
.rbc-day-slot .rbc-events-container.rbc-rtl {
  left: 10px;
  right: 0;
}
.rbc-day-slot .rbc-event, .rbc-day-slot .rbc-background-event {
  border: 1px solid #265985;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-height: 100%;
  min-height: 20px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column wrap;
          flex-flow: column wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  overflow: hidden;
  position: absolute;
}
.rbc-day-slot .rbc-background-event {
  opacity: 0.75;
}
.rbc-day-slot .rbc-event-label {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  padding-right: 5px;
  width: auto;
}
.rbc-day-slot .rbc-event-content {
  width: 100%;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  word-wrap: break-word;
  line-height: 1;
  height: 100%;
  min-height: 1em;
}
.rbc-day-slot .rbc-time-slot {
  border-top: 1px solid #f7f7f7;
}

.rbc-time-view-resources .rbc-time-gutter,
.rbc-time-view-resources .rbc-time-header-gutter {
  position: sticky;
  left: 0;
  background-color: white;
  border-right: 1px solid #ddd;
  z-index: 10;
  margin-right: -1px;
}
.rbc-time-view-resources .rbc-time-header {
  overflow: hidden;
}
.rbc-time-view-resources .rbc-time-header-content {
  min-width: auto;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0px;
          flex: 1 0 0;
  -ms-flex-preferred-size: 0px;
      flex-basis: 0px;
}
.rbc-time-view-resources .rbc-time-header-cell-single-day {
  display: none;
}
.rbc-time-view-resources .rbc-day-slot {
  min-width: 140px;
}
.rbc-time-view-resources .rbc-header,
.rbc-time-view-resources .rbc-day-bg {
  width: 140px;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  -ms-flex-preferred-size: 0 px;
      flex-basis: 0 px;
}

.rbc-time-header-content + .rbc-time-header-content {
  margin-left: -1px;
}

.rbc-time-slot {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0px;
          flex: 1 0 0;
}
.rbc-time-slot.rbc-now {
  font-weight: bold;
}

.rbc-day-header {
  text-align: center;
}

.rbc-slot-selection {
  z-index: 10;
  position: absolute;
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
  font-size: 75%;
  width: 100%;
  padding: 3px;
}

.rbc-slot-selecting {
  cursor: move;
}

.rbc-time-view {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 100%;
  border: 1px solid #ddd;
  min-height: 0;
}
.rbc-time-view .rbc-time-gutter {
  white-space: nowrap;
  text-align: right;
}
.rbc-time-view .rbc-allday-cell {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  width: 100%;
  height: 100%;
  position: relative;
}
.rbc-time-view .rbc-allday-cell + .rbc-allday-cell {
  border-left: 1px solid #ddd;
}
.rbc-time-view .rbc-allday-events {
  position: relative;
  z-index: 4;
}
.rbc-time-view .rbc-row {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-height: 20px;
}

.rbc-time-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
.rbc-time-header.rbc-overflowing {
  border-right: 1px solid #ddd;
}
.rbc-rtl .rbc-time-header.rbc-overflowing {
  border-right-width: 0;
  border-left: 1px solid #ddd;
}
.rbc-time-header > .rbc-row:first-child {
  border-bottom: 1px solid #ddd;
}
.rbc-time-header > .rbc-row.rbc-row-resource {
  border-bottom: 1px solid #ddd;
}

.rbc-time-header-cell-single-day {
  display: none;
}

.rbc-time-header-content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-width: 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-left: 1px solid #ddd;
}
.rbc-rtl .rbc-time-header-content {
  border-left-width: 0;
  border-right: 1px solid #ddd;
}
.rbc-time-header-content > .rbc-row.rbc-row-resource {
  border-bottom: 1px solid #ddd;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.rbc-time-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0%;
          flex: 1 0 0%;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 100%;
  border-top: 2px solid #ddd;
  overflow-y: auto;
  position: relative;
}
.rbc-time-content > .rbc-time-gutter {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
}
.rbc-time-content > * + * > * {
  border-left: 1px solid #ddd;
}
.rbc-rtl .rbc-time-content > * + * > * {
  border-left-width: 0;
  border-right: 1px solid #ddd;
}
.rbc-time-content > .rbc-day-slot {
  width: 100%;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-user-select: none;
}

.rbc-current-time-indicator {
  position: absolute;
  z-index: 3;
  left: 0;
  right: 0;
  height: 1px;
  background-color: #74ad31;
  pointer-events: none;
}

.rbc-resource-grouping.rbc-time-header-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.rbc-resource-grouping .rbc-row .rbc-header {
  width: 141px;
}

/*# sourceMappingURL=react-big-calendar.css.map */

/* ===== vendor: reactflow/dist/style.css ===== */
/* this gets exported as style.css and can be used for the default theming */
/* these are the necessary styles for React Flow, they get used by base.css and style.css */
.react-flow {
  direction: ltr;
}
.react-flow__container {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.react-flow__pane {
  z-index: 1;
  cursor: -webkit-grab;
  cursor: grab;
}
.react-flow__pane.selection {
    cursor: pointer;
  }
.react-flow__pane.dragging {
    cursor: -webkit-grabbing;
    cursor: grabbing;
  }
.react-flow__viewport {
  transform-origin: 0 0;
  z-index: 2;
  pointer-events: none;
}
.react-flow__renderer {
  z-index: 4;
}
.react-flow__selection {
  z-index: 6;
}
.react-flow__nodesselection-rect:focus,
.react-flow__nodesselection-rect:focus-visible {
  outline: none;
}
.react-flow .react-flow__edges {
  pointer-events: none;
  overflow: visible;
}
.react-flow__edge-path,
.react-flow__connection-path {
  stroke: #b1b1b7;
  stroke-width: 1;
  fill: none;
}
.react-flow__edge {
  pointer-events: visibleStroke;
  cursor: pointer;
}
.react-flow__edge.animated path {
    stroke-dasharray: 5;
    -webkit-animation: dashdraw 0.5s linear infinite;
            animation: dashdraw 0.5s linear infinite;
  }
.react-flow__edge.animated path.react-flow__edge-interaction {
    stroke-dasharray: none;
    -webkit-animation: none;
            animation: none;
  }
.react-flow__edge.inactive {
    pointer-events: none;
  }
.react-flow__edge.selected,
  .react-flow__edge:focus,
  .react-flow__edge:focus-visible {
    outline: none;
  }
.react-flow__edge.selected .react-flow__edge-path,
  .react-flow__edge:focus .react-flow__edge-path,
  .react-flow__edge:focus-visible .react-flow__edge-path {
    stroke: #555;
  }
.react-flow__edge-textwrapper {
    pointer-events: all;
  }
.react-flow__edge-textbg {
    fill: white;
  }
.react-flow__edge .react-flow__edge-text {
    pointer-events: none;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }
.react-flow__connection {
  pointer-events: none;
}
.react-flow__connection .animated {
    stroke-dasharray: 5;
    -webkit-animation: dashdraw 0.5s linear infinite;
            animation: dashdraw 0.5s linear infinite;
  }
.react-flow__connectionline {
  z-index: 1001;
}
.react-flow__nodes {
  pointer-events: none;
  transform-origin: 0 0;
}
.react-flow__node {
  position: absolute;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: all;
  transform-origin: 0 0;
  box-sizing: border-box;
  cursor: -webkit-grab;
  cursor: grab;
}
.react-flow__node.dragging {
    cursor: -webkit-grabbing;
    cursor: grabbing;
  }
.react-flow__nodesselection {
  z-index: 3;
  transform-origin: left top;
  pointer-events: none;
}
.react-flow__nodesselection-rect {
    position: absolute;
    pointer-events: all;
    cursor: -webkit-grab;
    cursor: grab;
  }
.react-flow__handle {
  position: absolute;
  pointer-events: none;
  min-width: 5px;
  min-height: 5px;
  width: 6px;
  height: 6px;
  background: #1a192b;
  border: 1px solid white;
  border-radius: 100%;
}
.react-flow__handle.connectionindicator {
    pointer-events: all;
    cursor: crosshair;
  }
.react-flow__handle-bottom {
    top: auto;
    left: 50%;
    bottom: -4px;
    transform: translate(-50%, 0);
  }
.react-flow__handle-top {
    left: 50%;
    top: -4px;
    transform: translate(-50%, 0);
  }
.react-flow__handle-left {
    top: 50%;
    left: -4px;
    transform: translate(0, -50%);
  }
.react-flow__handle-right {
    right: -4px;
    top: 50%;
    transform: translate(0, -50%);
  }
.react-flow__edgeupdater {
  cursor: move;
  pointer-events: all;
}
.react-flow__panel {
  position: absolute;
  z-index: 5;
  margin: 15px;
}
.react-flow__panel.top {
    top: 0;
  }
.react-flow__panel.bottom {
    bottom: 0;
  }
.react-flow__panel.left {
    left: 0;
  }
.react-flow__panel.right {
    right: 0;
  }
.react-flow__panel.center {
    left: 50%;
    transform: translateX(-50%);
  }
.react-flow__attribution {
  font-size: 10px;
  background: rgba(255, 255, 255, 0.5);
  padding: 2px 3px;
  margin: 0;
}
.react-flow__attribution a {
    text-decoration: none;
    color: #999;
  }
@-webkit-keyframes dashdraw {
  from {
    stroke-dashoffset: 10;
  }
}
@keyframes dashdraw {
  from {
    stroke-dashoffset: 10;
  }
}
.react-flow__edgelabel-renderer {
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.react-flow__edge.updating .react-flow__edge-path {
      stroke: #777;
    }
.react-flow__edge-text {
    font-size: 10px;
  }
.react-flow__node.selectable:focus,
  .react-flow__node.selectable:focus-visible {
    outline: none;
  }
.react-flow__node-default,
.react-flow__node-input,
.react-flow__node-output,
.react-flow__node-group {
  padding: 10px;
  border-radius: 3px;
  width: 150px;
  font-size: 12px;
  color: #222;
  text-align: center;
  border-width: 1px;
  border-style: solid;
  border-color: #1a192b;
  background-color: white;
}
.react-flow__node-default.selectable:hover, .react-flow__node-input.selectable:hover, .react-flow__node-output.selectable:hover, .react-flow__node-group.selectable:hover {
      box-shadow: 0 1px 4px 1px rgba(0, 0, 0, 0.08);
    }
.react-flow__node-default.selectable.selected,
    .react-flow__node-default.selectable:focus,
    .react-flow__node-default.selectable:focus-visible,
    .react-flow__node-input.selectable.selected,
    .react-flow__node-input.selectable:focus,
    .react-flow__node-input.selectable:focus-visible,
    .react-flow__node-output.selectable.selected,
    .react-flow__node-output.selectable:focus,
    .react-flow__node-output.selectable:focus-visible,
    .react-flow__node-group.selectable.selected,
    .react-flow__node-group.selectable:focus,
    .react-flow__node-group.selectable:focus-visible {
      box-shadow: 0 0 0 0.5px #1a192b;
    }
.react-flow__node-group {
  background-color: rgba(240, 240, 240, 0.25);
}
.react-flow__nodesselection-rect,
.react-flow__selection {
  background: rgba(0, 89, 220, 0.08);
  border: 1px dotted rgba(0, 89, 220, 0.8);
}
.react-flow__nodesselection-rect:focus,
  .react-flow__nodesselection-rect:focus-visible,
  .react-flow__selection:focus,
  .react-flow__selection:focus-visible {
    outline: none;
  }
.react-flow__controls {
  box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.08);
}
.react-flow__controls-button {
    border: none;
    background: #fefefe;
    border-bottom: 1px solid #eee;
    box-sizing: content-box;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 16px;
    height: 16px;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    padding: 5px;
  }
.react-flow__controls-button:hover {
      background: #f4f4f4;
    }
.react-flow__controls-button svg {
      width: 100%;
      max-width: 12px;
      max-height: 12px;
    }
.react-flow__controls-button:disabled {
      pointer-events: none;
    }
.react-flow__controls-button:disabled svg {
        fill-opacity: 0.4;
      }
.react-flow__minimap {
  background-color: #fff;
}
.react-flow__minimap svg {
  display: block;
}
.react-flow__resize-control {
  position: absolute;
}
.react-flow__resize-control.left,
.react-flow__resize-control.right {
  cursor: ew-resize;
}
.react-flow__resize-control.top,
.react-flow__resize-control.bottom {
  cursor: ns-resize;
}
.react-flow__resize-control.top.left,
.react-flow__resize-control.bottom.right {
  cursor: nwse-resize;
}
.react-flow__resize-control.bottom.left,
.react-flow__resize-control.top.right {
  cursor: nesw-resize;
}
/* handle styles */
.react-flow__resize-control.handle {
  width: 4px;
  height: 4px;
  border: 1px solid #fff;
  border-radius: 1px;
  background-color: #3367d9;
  transform: translate(-50%, -50%);
}
.react-flow__resize-control.handle.left {
  left: 0;
  top: 50%;
}
.react-flow__resize-control.handle.right {
  left: 100%;
  top: 50%;
}
.react-flow__resize-control.handle.top {
  left: 50%;
  top: 0;
}
.react-flow__resize-control.handle.bottom {
  left: 50%;
  top: 100%;
}
.react-flow__resize-control.handle.top.left {
  left: 0;
}
.react-flow__resize-control.handle.bottom.left {
  left: 0;
}
.react-flow__resize-control.handle.top.right {
  left: 100%;
}
.react-flow__resize-control.handle.bottom.right {
  left: 100%;
}
/* line styles */
.react-flow__resize-control.line {
  border-color: #3367d9;
  border-width: 0;
  border-style: solid;
}
.react-flow__resize-control.line.left,
.react-flow__resize-control.line.right {
  width: 1px;
  transform: translate(-50%, 0);
  top: 0;
  height: 100%;
}
.react-flow__resize-control.line.left {
  left: 0;
  border-left-width: 1px;
}
.react-flow__resize-control.line.right {
  left: 100%;
  border-right-width: 1px;
}
.react-flow__resize-control.line.top,
.react-flow__resize-control.line.bottom {
  height: 1px;
  transform: translate(0, -50%);
  left: 0;
  width: 100%;
}
.react-flow__resize-control.line.top {
  top: 0;
  border-top-width: 1px;
}
.react-flow__resize-control.line.bottom {
  border-bottom-width: 1px;
  top: 100%;
}


/* ===== vendor: mapbox-gl/dist/mapbox-gl.css ===== */
.mapboxgl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.mapboxgl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:-webkit-full-screen{height:100%;width:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom,.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-left,.mapboxgl-ctrl-right,.mapboxgl-ctrl-top,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top{left:50%;top:0;transform:translateX(-50%)}.mapboxgl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-right{right:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl-bottom{bottom:0;left:50%;transform:translateX(-50%)}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-left{left:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl,.mapboxgl-ctrl-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-bottom .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl,.mapboxgl-ctrl-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;overflow:hidden;padding:0;width:29px}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:transparent}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}}@keyframes mapboxgl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='0.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='0.9' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23000'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.mapboxgl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.mapboxgl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover{background-color:rgb(0 0 0/5%)}.mapboxgl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:10px 10px 15px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{left:0;opacity:1;position:absolute;top:0;transition:opacity .2s;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before{animation:mapboxgl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.mapboxgl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{height:0;width:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-bottom:7.5px solid #4aa1eb;content:"";position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid transparent;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid transparent;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{align-items:center;background:rgba(0,0,0,.7);color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;text-align:center;top:0;transition:opacity .75s ease-in-out;transition-delay:1s;width:100%}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}

* {
  box-sizing: border-box;
}

.App {
  min-height: 100vh;
}

.App-header {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: calc(10px + 2vmin);
}

.App-link {
  color: #61dafb;
}

button:hover {
  opacity: 0.9;
}

input:focus,
select:focus,
textarea:focus {
  outline: none;
}

.glass-effect {
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.dark .glass-effect {
  background: rgba(0, 0, 0, 0.2);
}

/*
 * Phase P4 — Causal Flow structuring styling.
 *
 * Purely presentational.  Only applies inside the opt-in
 * CausalFlowGroups component (flag ENABLE_CAUSAL_FLOW=1).  When the
 * flag is off the wrapper never renders and this file contributes
 * nothing.
 *
 * Removing the import + the component restores the P3 UI byte-for-
 * byte.
 */

.causal-group {
  position: relative;
  margin-left: 6px;
}

.causal-group::before {
  content: '';
  position: absolute;
  left: -6px;
  top: 0;
  bottom: 0;
  width: 1px;
  background: rgba(100, 100, 100, 0.15);
}

/*
 * Phase P8 — Causal Flow Linking & Path Readability.
 *
 * Purely presentational.  Only activates inside a container with
 * `data-flow-lines="1"`, which CausalFlowGroups sets only when
 * ENABLE_CAUSAL_FLOW_LINES is on.  When the flag is off, nothing
 * below matches and the P4 visuals render byte-for-byte as before.
 *
 * To avoid doubling the original faint `.causal-group::before`
 * line with the new wrapper line, we explicitly suppress the P4
 * line inside a flow-lines container.
 */
[data-flow-lines="1"] .causal-group {
  margin-left: 0;
}

[data-flow-lines="1"] .causal-group::before {
  display: none;
}

.causal-group-wrapper {
  position: relative;
  padding-left: 16px;
}

.causal-group-wrapper::before {
  content: '';
  position: absolute;
  left: 6px;
  top: 0;
  bottom: 0;
  width: 1px;
  background: rgba(148, 163, 184, 0.3); /* slate-400 */
}

.causal-group-wrapper.focused::before {
  background: rgba(99, 102, 241, 0.6); /* indigo */
}

.causal-group-wrapper.focused [data-relation-type="primary"] {
  background: rgba(99, 102, 241, 0.05);
}

.causal-connector {
  font-size: 10px;
  color: rgba(148, 163, 184, 0.6);
  margin: 4px 0 8px 6px;
  user-select: none;
  line-height: 1;
}

[data-flow-lines="1"] .causal-group-wrapper.focused .causal-connector,
.causal-group-wrapper.focused + .causal-connector {
  color: rgba(99, 102, 241, 0.75);
}

.causal-sub-label {
  font-size: 10px;
  color: rgba(148, 163, 184, 0.85);
  margin-bottom: 4px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 500;
}

/*
 * Phase P9 — Deterministic Comparative Intelligence.
 *
 * Activates only when compare mode + the ENABLE_CAUSAL_COMPARE_ENHANCED
 * flag are both ON.  All selectors are scoped via explicit data
 * attributes set by CausalFlowGroups so they cannot leak into P7/P8
 * visuals when the flag is off.
 */
[data-diff="only-left"] {
  border-left: 3px solid #60a5fa; /* sky-400 */
}

[data-diff="only-right"] {
  border-left: 3px solid #f59e0b; /* amber-500 */
}

[data-risk-mismatch="1"] {
  outline: 1px solid #ef4444; /* red-500 */
  outline-offset: 2px;
  border-radius: 2px;
}

.causal-compare-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 11px;
  color: rgb(71, 85, 105); /* slate-600 */
  background: rgb(248, 250, 252); /* slate-50 */
  border: 1px solid rgb(226, 232, 240); /* slate-200 */
  border-radius: 4px;
  padding: 6px 10px;
  margin-bottom: 6px;
  font-variant-numeric: tabular-nums;
}

.causal-compare-summary > span {
  white-space: nowrap;
}

.causal-compare-summary .summary-positive { color: rgb(15, 118, 110); }  /* teal-700 */
.causal-compare-summary .summary-negative { color: rgb(185, 28, 28); }   /* red-700  */
.causal-compare-summary .summary-strong   { font-weight: 600; }

.causal-col-confidence {
  display: flex;
  align-items: baseline;
  gap: 6px;
  font-size: 11px;
  color: rgb(71, 85, 105);
  font-variant-numeric: tabular-nums;
  margin-bottom: 4px;
}

.causal-col-confidence .delta-pos { color: rgb(15, 118, 110); }
.causal-col-confidence .delta-neg { color: rgb(185, 28, 28); }
.causal-col-confidence .delta-zero { color: rgb(100, 116, 139); }

.causal-risk-chip {
  display: inline-block;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 1px 6px;
  border-radius: 999px;
  margin-left: 6px;
  vertical-align: middle;
}

.causal-risk-chip[data-risk-level="high"] {
  background: rgba(239, 68, 68, 0.1);
  color: rgb(185, 28, 28);
  border: 1px solid rgba(239, 68, 68, 0.4);
}

.causal-risk-chip[data-risk-level="medium"] {
  background: rgba(245, 158, 11, 0.1);
  color: rgb(146, 64, 14);
  border: 1px solid rgba(245, 158, 11, 0.4);
}

.causal-risk-chip[data-risk-level="low"] {
  background: rgba(16, 185, 129, 0.1);
  color: rgb(6, 95, 70);
  border: 1px solid rgba(16, 185, 129, 0.4);
}

.causal-unique-badge {
  display: inline-block;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 1px 6px;
  border-radius: 2px;
  margin-bottom: 3px;
  background: rgba(96, 165, 250, 0.12);
  color: rgb(30, 64, 175);
  border: 1px solid rgba(96, 165, 250, 0.35);
}

.causal-unique-badge[data-side="right"] {
  background: rgba(245, 158, 11, 0.12);
  color: rgb(146, 64, 14);
  border: 1px solid rgba(245, 158, 11, 0.4);
}

/*
 * Phase P10 — Deterministic Decision Layer.
 *
 * Activates only when compare mode + ENABLE_CAUSAL_COMPARE_ENHANCED +
 * ENABLE_CAUSAL_DECISION are ALL on.  All selectors scope via
 * explicit data attributes emitted only in that state.
 */
.causal-decision-strip {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 4px;
  margin-bottom: 4px;
  font-variant-numeric: tabular-nums;
  border: 1px solid transparent;
}

.causal-decision-strip[data-decision-type="preferred"] {
  background: rgba(34, 197, 94, 0.08);
  color: rgb(21, 128, 61);
  border-color: rgba(34, 197, 94, 0.35);
}

.causal-decision-strip[data-decision-type="tradeoff"] {
  background: rgba(245, 158, 11, 0.08);
  color: rgb(146, 64, 14);
  border-color: rgba(245, 158, 11, 0.35);
}

.causal-decision-strip[data-decision-type="conflict"] {
  background: rgba(239, 68, 68, 0.08);
  color: rgb(153, 27, 27);
  border-color: rgba(239, 68, 68, 0.35);
}

.causal-decision-strip .decision-icon {
  font-size: 14px;
  line-height: 1;
}

.causal-decision-strip .decision-strong {
  font-weight: 600;
}

[data-decision="preferred"] {
  box-shadow: inset 0 0 0 2px #22c55e;
  border-radius: 4px;
  padding: 4px;
}

[data-decision="alternative"] {
  opacity: 0.85;
}

[data-decision-conflict="1"] {
  border: 1px dashed #ef4444;
  border-radius: 4px;
  padding: 3px;
}

.causal-tradeoff-label {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: rgb(146, 64, 14);
  background: rgba(245, 158, 11, 0.1);
  border: 1px solid rgba(245, 158, 11, 0.35);
  border-radius: 2px;
  padding: 2px 6px;
  align-self: flex-start;
  font-weight: 600;
}

.causal-action-commitments {
  margin-top: 8px;
  padding: 8px 10px;
  background: rgb(248, 250, 252); /* slate-50 */
  border: 1px solid rgb(226, 232, 240); /* slate-200 */
  border-radius: 4px;
}

.causal-action-commitments .action-commitments-label {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: rgb(71, 85, 105);
  font-weight: 600;
  margin-bottom: 4px;
}

.causal-action-commitments .action-commitments-list {
  list-style: disc;
  padding-left: 18px;
  margin: 0;
  font-size: 12px;
  color: rgb(30, 41, 59);
}

.causal-action-commitments .action-commitments-list li {
  margin-bottom: 2px;
}

/*
 * Phase P11 — Decision Explainability & Action Weighting.
 *
 * All selectors scoped via explicit data attributes set only when
 * ENABLE_CAUSAL_DECISION_EXPLAIN is on.  Zero bleed when the flag
 * is off.
 */
[data-decision-driver="1"] {
  box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.6); /* indigo */
  border-radius: 4px;
}

.causal-decision-strip .decision-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}

.causal-decision-strip .decision-sub {
  font-size: 11px;
  opacity: 0.8;
  margin-top: 2px;
}

.causal-decision-confidence {
  font-size: 11px;
  opacity: 0.7;
  padding: 2px 6px;
  border-radius: 2px;
  background: rgba(15, 23, 42, 0.06);
  white-space: nowrap;
}

.causal-decision-confidence[data-decision-confidence="HIGH"] {
  color: rgb(21, 128, 61);
  background: rgba(34, 197, 94, 0.12);
}

.causal-decision-confidence[data-decision-confidence="MEDIUM"] {
  color: rgb(146, 64, 14);
  background: rgba(245, 158, 11, 0.12);
}

.causal-decision-confidence[data-decision-confidence="LOW"] {
  color: rgb(153, 27, 27);
  background: rgba(239, 68, 68, 0.1);
}

.causal-decision-narrative {
  font-size: 12px;
  opacity: 0.75;
  color: rgb(51, 65, 85); /* slate-700 */
  margin-bottom: 4px;
  padding-left: 2px;
  font-style: italic;
}

.causal-action-weight-high { color: #ef4444; font-weight: 600; }
.causal-action-weight-med  { color: #f59e0b; font-weight: 600; }
.causal-action-weight-low  { color: #6b7280; font-weight: 600; }

.causal-action-commitments .action-weight-tag {
  display: inline-block;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 10px;
  letter-spacing: 0.02em;
  margin-right: 6px;
}

/*
 * Phase P12 — Operator Workflow Layer.
 *
 * All selectors scoped via explicit data attributes emitted only
 * when ENABLE_CAUSAL_WORKFLOW is on.  Zero bleed when the flag is
 * off.
 */
.causal-workflow-copy-btn {
  font-size: 11px;
  padding: 3px 8px;
  margin-left: 6px;
  border: 1px solid rgba(99, 102, 241, 0.4);
  background: rgba(99, 102, 241, 0.08);
  color: rgb(55, 48, 163); /* indigo-800 */
  border-radius: 3px;
  cursor: pointer;
  font-weight: 500;
  letter-spacing: 0.02em;
  transition: background-color 120ms linear, border-color 120ms linear;
  white-space: nowrap;
}

.causal-workflow-copy-btn:hover {
  background: rgba(99, 102, 241, 0.16);
  border-color: rgba(99, 102, 241, 0.6);
}

.causal-workflow-copy-btn:focus-visible {
  outline: 2px solid rgb(99, 102, 241);
  outline-offset: 1px;
}

.causal-decision-narrative-clickable {
  cursor: pointer;
  text-decoration: underline dotted rgba(99, 102, 241, 0.4);
  text-underline-offset: 2px;
}

.causal-decision-narrative-clickable:hover {
  color: rgb(55, 48, 163);
}

.causal-decision-jump-hint {
  font-size: 10px;
  opacity: 0.6;
  font-style: normal;
  margin-left: 4px;
}

/* Selection highlighting on the compare grid. */
[data-workflow-selected="left"]  > [data-testid="chat-causal-column-a"] {
  box-shadow: inset 0 0 0 2px #22c55e;
  border-radius: 4px;
}

[data-workflow-selected="left"]  > [data-testid="chat-causal-column-b"] {
  opacity: 0.6;
}

[data-workflow-selected="right"] > [data-testid="chat-causal-column-b"] {
  box-shadow: inset 0 0 0 2px #22c55e;
  border-radius: 4px;
}

[data-workflow-selected="right"] > [data-testid="chat-causal-column-a"] {
  opacity: 0.6;
}

/*
 * Phase P3 — Relation-Aware UI styling.
 *
 * Purely presentational.  Each rule is scoped to the
 * `data-relation-type` attribute placed on the root wrapper by
 * BlockRenderer.jsx.  No color fills, no shadows — just a thin
 * left border so operators can visually distinguish the role each
 * block plays in the composite response.
 *
 * Removing this file (and the attribute) reverts the UI entirely.
 */

.relation-block-wrapper {
  /* Default: no indent, no border.  Pre-P3 blocks (and any block
     without a relation_type) look EXACTLY as they did before. */
  border-left: 3px solid transparent;
  transition: border-color 140ms ease, padding-left 140ms ease;
}

.relation-block-wrapper[data-relation-type="none"] {
  /* Explicit no-op — matches default.  Reaffirms backward compat. */
  padding-left: 0;
  border-left-color: transparent;
}

/* Any wrapper with an actual relation_type gets the indent + color.
   A single shared rule keeps the layout delta scoped to P3 blocks. */
.relation-block-wrapper[data-relation-type="primary"],
.relation-block-wrapper[data-relation-type="causal_upstream"],
.relation-block-wrapper[data-relation-type="causal_downstream"],
.relation-block-wrapper[data-relation-type="contributing"],
.relation-block-wrapper[data-relation-type="equipment_related"] {
  padding-left: 10px;
}

.relation-block-wrapper[data-relation-type="primary"] {
  /* Emphasised neutral — the "anchor" block. */
  border-left-color: #111827;
}

.relation-block-wrapper[data-relation-type="causal_upstream"] {
  /* Amber = cause (upstream). */
  border-left-color: #f59e0b;
}

.relation-block-wrapper[data-relation-type="causal_downstream"] {
  /* Blue = effect (downstream cascade). */
  border-left-color: #3b82f6;
}

.relation-block-wrapper[data-relation-type="contributing"] {
  /* Violet = contributing factor. */
  border-left-color: #8b5cf6;
}

.relation-block-wrapper[data-relation-type="equipment_related"] {
  /* Muted gray = same-equipment sibling. */
  border-left-color: #6b7280;
}

/**
 * OIK Control Panel — responsive containment.
 * ============================================
 *
 * Pareto fix for the 92 individual OIK sub-panels.  Rather than
 * editing each panel, we apply container-level rules at the
 * `[data-testid="oik-control-panel"]` boundary:
 *
 *   • Every direct child of the section container gets an
 *     `overflow-x: auto` envelope on small screens so internal
 *     grids (which often hard-code multi-column layouts) scroll
 *     horizontally instead of breaking the page.
 *   • All inline `min-width` / `width` >= 500 px declarations
 *     inside panels honour `max-width: 100%` on phones.
 *   • `<table>` elements scroll horizontally on phones (standard
 *     pattern — no change to table content).
 *
 * Strict invariants:
 *   • NO mutation of any panel logic.
 *   • NO mutation of any data-testid contract.
 *   • Pure CSS — desktop layout is unchanged.
 *
 * Imported once from <OIKControlPanel /> so it's loaded only when
 * that surface mounts.
 */

[data-testid="oik-control-panel"] {
  /* Native iOS smooth scroll on horizontal sub-panel scroll. */
  -webkit-overflow-scrolling: touch;
}

/* ------------------------------------------------------------ */
/*  ≤ 1023 px  (phones + tablets)                                */
/* ------------------------------------------------------------ */
@media (max-width: 1023px) {

  /* Cap inline-styled wide panels and let them scroll. */
  [data-testid="oik-control-panel"] [style*="min-width"],
  [data-testid="oik-control-panel"] [style*="width: 7"],
  [data-testid="oik-control-panel"] [style*="width: 8"],
  [data-testid="oik-control-panel"] [style*="width: 9"],
  [data-testid="oik-control-panel"] [style*="width: 1000"] {
    max-width: 100% !important;
    overflow-x: auto;
  }

  /* Wrap every direct sub-panel render in an x-scroll envelope —
     panels themselves keep their internal layout, but they no
     longer push the page wider than the viewport.            */
  [data-testid="oik-control-panel"] > div > div > div > div:not(button) {
    max-width: 100%;
    overflow-x: auto;
  }

  /* Tighten panel internal padding on phones. */
  [data-testid="oik-control-panel"] [class*="p-6"] { padding: 0.75rem !important; }
  [data-testid="oik-control-panel"] [class*="p-5"] { padding: 0.75rem !important; }
  [data-testid="oik-control-panel"] [class*="p-4"] { padding: 0.625rem !important; }

  /* Stack any flex-row grids that don't already have flex-col fallback. */
  [data-testid="oik-control-panel"] [class~="grid-cols-2"]:not([class*="sm:grid-cols-1"]):not([class*="md:grid-cols-2"]),
  [data-testid="oik-control-panel"] [class~="grid-cols-3"]:not([class*="sm:grid-cols-1"]):not([class*="md:grid-cols-3"]),
  [data-testid="oik-control-panel"] [class~="grid-cols-4"]:not([class*="sm:grid-cols-1"]):not([class*="md:grid-cols-4"]) {
    grid-template-columns: 1fr !important;
  }

  /* Tables scroll horizontally on phones. */
  [data-testid="oik-control-panel"] table {
    display: block;
    overflow-x: auto;
    max-width: 100%;
  }

  /* Headlines smaller on phones. */
  [data-testid="oik-control-panel"] h1 { font-size: 1rem !important; }
  [data-testid="oik-control-panel"] h2 { font-size: 0.875rem !important; }
  [data-testid="oik-control-panel"] h3 { font-size: 0.8125rem !important; }
}

/* ------------------------------------------------------------ */
/*  ≤ 480 px  (phone portrait)                                   */
/* ------------------------------------------------------------ */
@media (max-width: 480px) {
  /* Force single-column grids regardless of class. */
  [data-testid="oik-control-panel"] [class*="grid-cols-"] {
    grid-template-columns: 1fr !important;
  }
  /* Side-by-side flex rows fall back to a stack. */
  [data-testid="oik-control-panel"] [class~="flex"][class~="items-center"][class~="justify-between"] {
    flex-wrap: wrap;
    gap: 0.375rem;
  }
}

/* Calendar View Custom Styles */

.calendar-container {
  font-family: 'Inter', sans-serif;
}

.rbc-calendar {
  background: transparent;
}

/* Toolbar styling */
.rbc-toolbar {
  padding: 1rem 0;
  margin-bottom: 1rem;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.rbc-toolbar button {
  padding: 0.5rem 1rem;
  border: 1px solid hsl(var(--border));
  background: hsl(var(--background));
  color: hsl(var(--foreground));
  border-radius: 0.375rem;
  font-size: 0.875rem;
  transition: all 0.2s;
}

.rbc-toolbar button:hover {
  background: hsl(var(--accent));
  border-color: hsl(var(--accent-foreground));
}

.rbc-toolbar button:active,
.rbc-toolbar button.rbc-active {
  background: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
  border-color: hsl(var(--primary));
}

.rbc-toolbar button:focus {
  outline: 2px solid hsl(var(--ring));
  outline-offset: 2px;
}

/* Month view */
.rbc-month-view {
  border: 1px solid hsl(var(--border));
  border-radius: 0.5rem;
  overflow: hidden;
}

.rbc-header {
  padding: 0.75rem;
  font-weight: 600;
  background: hsl(var(--muted));
  border-bottom: 1px solid hsl(var(--border));
}

.rbc-day-bg {
  border-left: 1px solid hsl(var(--border));
}

.rbc-off-range-bg {
  background: hsl(var(--muted) / 0.3);
}

.rbc-today {
  background: hsl(var(--primary) / 0.05);
}

.rbc-date-cell {
  padding: 0.5rem;
}

.rbc-current .rbc-button-link {
  font-weight: 700;
  color: hsl(var(--primary));
}

/* Event styling */
.rbc-event {
  padding: 2px 5px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 0.75rem;
  font-weight: 500;
}

.rbc-event:hover {
  opacity: 1 !important;
}

.rbc-event-label {
  font-size: 0.625rem;
}

.rbc-event-content {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Selected event */
.rbc-selected {
  outline: 2px solid hsl(var(--ring));
  outline-offset: 2px;
}

/* Week and day views */
.rbc-time-view {
  border: 1px solid hsl(var(--border));
  border-radius: 0.5rem;
}

.rbc-time-header-content {
  border-left: 1px solid hsl(var(--border));
}

.rbc-time-content {
  border-top: 1px solid hsl(var(--border));
}

.rbc-time-slot {
  border-top: 1px solid hsl(var(--border) / 0.3);
}

.rbc-current-time-indicator {
  background-color: hsl(var(--destructive));
  height: 2px;
}

/* Agenda view */
.rbc-agenda-view {
  border: 1px solid hsl(var(--border));
  border-radius: 0.5rem;
}

.rbc-agenda-view table.rbc-agenda-table {
  border-collapse: collapse;
}

.rbc-agenda-view table.rbc-agenda-table tbody > tr > td {
  padding: 0.75rem;
  border-top: 1px solid hsl(var(--border));
}

.rbc-agenda-view table.rbc-agenda-table tbody > tr:first-child > td {
  border-top: none;
}

.rbc-agenda-date-cell,
.rbc-agenda-time-cell {
  white-space: nowrap;
  font-weight: 600;
}

.rbc-agenda-event-cell {
  width: 100%;
}

/* Dark mode specific adjustments */
.dark .rbc-toolbar button {
  background: hsl(var(--card));
}

.dark .rbc-toolbar button:hover {
  background: hsl(var(--accent));
}

.dark .rbc-off-range-bg {
  background: hsl(var(--muted) / 0.2);
}

/* Responsive */
@media (max-width: 768px) {
  .rbc-toolbar {
    flex-direction: column;
  }
  
  .rbc-toolbar-label {
    text-align: center;
    width: 100%;
    padding: 0.5rem 0;
  }
}

/* Phase 66 — Operator Console (dark, engine-room friendly) */

.oc-shell {
  min-height: 100vh;
  background: #0b0f14;
  color: #e6edf3;
  font-family: 'Inter', system-ui, sans-serif;
  display: grid;
  grid-template-columns: 32% 1fr;
  gap: 0;
}

.oc-left {
  display: flex;
  flex-direction: column;
  border-right: 1px solid #1f2933;
  height: 100vh;
  background: #0f141b;
}

.oc-right {
  padding: 24px 28px;
  overflow-y: auto;
  height: 100vh;
}

.oc-header {
  padding: 18px 20px;
  border-bottom: 1px solid #1f2933;
  display: flex;
  align-items: center;
  gap: 12px;
}
.oc-header .oc-dot {
  width: 10px; height: 10px; border-radius: 50%;
  background: #22c55e;
}
.oc-header h1 {
  font-size: 15px; font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  margin: 0;
}
.oc-header small {
  color: #7d8b97; font-size: 11px;
}

.oc-chat {
  flex: 1;
  overflow-y: auto;
  padding: 18px 20px;
}
.oc-msg {
  padding: 12px 14px;
  border-radius: 10px;
  margin-bottom: 10px;
  font-size: 14px;
  line-height: 1.5;
  white-space: pre-wrap;
  border: 1px solid transparent;
}
.oc-msg.user {
  background: #1a2230;
  color: #b8d1ec;
  text-align: right;
  border-color: #223248;
}
.oc-msg.system {
  background: #14181f;
  color: #dee7ee;
  border-color: #202b37;
}
.oc-msg.system.blocked { border-left: 3px solid #ef4444; }
.oc-msg.system.success { border-left: 3px solid #22c55e; }
.oc-msg.system.pending { border-left: 3px solid #eab308; }

.oc-actions {
  padding: 12px 20px;
  border-top: 1px solid #1f2933;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.oc-action-btn {
  background: #1a2230;
  color: #e6edf3;
  border: 1px solid #2a3a4c;
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}
.oc-action-btn:hover {
  background: #233045; border-color: #3d5272;
}
.oc-action-btn.primary {
  background: #1d4ed8; border-color: #2b5fe6;
}
.oc-action-btn.primary:hover { background: #2b5fe6; }

.oc-input-row {
  padding: 14px 18px;
  border-top: 1px solid #1f2933;
  display: flex;
  gap: 10px;
}
.oc-input-row input {
  flex: 1;
  background: #0b1220;
  border: 1px solid #2a3a4c;
  color: #e6edf3;
  padding: 11px 14px;
  border-radius: 8px;
  font-size: 14px;
  outline: none;
}
.oc-input-row input:focus { border-color: #3d5272; }
.oc-input-row button {
  background: #1d4ed8;
  color: white; border: none;
  padding: 0 18px; border-radius: 8px;
  font-size: 13px; font-weight: 600;
  cursor: pointer;
}
.oc-input-row button:disabled {
  background: #304055; cursor: not-allowed;
}

/* RIGHT PANEL */
.oc-panel {
  background: #14181f;
  border: 1px solid #1f2933;
  border-radius: 12px;
  padding: 18px 20px;
  margin-bottom: 18px;
}
.oc-panel h2 {
  font-size: 12px; font-weight: 600;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: #7d8b97;
  margin: 0 0 14px;
}

/* State banner */
.oc-state {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  border-radius: 10px;
  margin-bottom: 18px;
  background: #14181f;
  border: 1px solid #1f2933;
}
.oc-state.green { border-left: 4px solid #22c55e; }
.oc-state.yellow { border-left: 4px solid #eab308; }
.oc-state.red   { border-left: 4px solid #ef4444; }
.oc-state strong { font-size: 13px; letter-spacing: 0.02em; }
.oc-state span { color: #7d8b97; font-size: 12px; }

/* Permit table */
.oc-permit-table {
  width: 100%; border-collapse: collapse; font-size: 13px;
}
.oc-permit-table th {
  text-align: left; padding: 8px 10px;
  color: #7d8b97; font-weight: 500;
  font-size: 11px; letter-spacing: 0.08em;
  text-transform: uppercase; border-bottom: 1px solid #1f2933;
}
.oc-permit-table td {
  padding: 10px; border-bottom: 1px solid #1f2933;
}
.oc-status {
  display: inline-block;
  padding: 3px 9px; border-radius: 20px;
  font-size: 11px; font-weight: 500;
  text-transform: uppercase; letter-spacing: 0.05em;
}
.oc-status.verified { background: rgba(34,197,94,.15); color: #4ade80; }
.oc-status.claimed  { background: rgba(234,179,8,.15);  color: #fbbf24; }
.oc-status.pending  { background: rgba(125,139,151,.15);color: #9ca7b3; }
.oc-status.expired  { background: rgba(239,68,68,.15);  color: #fca5a5; }

/* Authority panel */
.oc-auth-kv {
  display: grid; grid-template-columns: 140px 1fr;
  gap: 10px; font-size: 13px;
}
.oc-auth-kv dt {
  color: #7d8b97; font-size: 12px; letter-spacing: 0.04em;
}
.oc-auth-kv dd { margin: 0; }

.oc-list-item {
  padding: 10px 12px; border: 1px solid #1f2933;
  border-radius: 8px; margin-top: 8px; font-size: 13px;
  display: flex; justify-content: space-between; align-items: center;
}
.oc-list-item small { color: #7d8b97; font-size: 11px; }

.oc-empty { color: #7d8b97; font-size: 13px; font-style: italic; }
.oc-empty-error { color: #f97316; font-style: normal; font-size: 12px; padding: 8px 12px; background: rgba(249,115,22,0.06); border-left: 2px solid #f97316; border-radius: 0 4px 4px 0; }

/* Phase 87.2 — Data Health strip */
.oc-data-health { background:#0e141b; border:1px solid #1e2a36; border-radius:6px; padding:10px 12px; margin-bottom:12px; }
.oc-data-health-degraded { border-color:#f97316; box-shadow: inset 0 0 0 1px rgba(249,115,22,0.3); }
.oc-card-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.oc-card-title { font-size:11px; font-weight:600; letter-spacing:0.08em; color:#c3cfdc; }
.oc-card-sub { font-size:11px; color:#7d8b97; }
.oc-data-health-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px; }
.oc-data-health-row { display:grid; grid-template-columns:10px 1fr auto; align-items:center; gap:8px; padding:4px 2px; font-size:12px; }
.oc-data-health-dot { width:8px; height:8px; border-radius:50%; display:inline-block; }
.oc-data-health-label { color:#c3cfdc; }
.oc-data-health-state { font-family:ui-monospace, SFMono-Regular, Consolas, monospace; font-size:10px; color:#93a3b4; letter-spacing:0.04em; }
.oc-data-health-unavailable .oc-data-health-state { color:#ef4444; }
.oc-data-health-invalid     .oc-data-health-state { color:#f97316; }
.oc-data-health-empty-critical    .oc-data-health-state { color:#ef4444; font-weight: 600; }
.oc-data-health-empty-suspicious  .oc-data-health-state { color:#eab308; }
.oc-data-health-empty-expected    .oc-data-health-state { color:#94a3b8; }
.oc-data-health-suggest { margin-top:6px; padding:6px 10px; background:rgba(34,211,238,0.08); border-radius:4px; color:#22d3ee; font-size:11px; font-weight:500; }

/* Phase 87.4 — CVL badge on suggestion rows */
.oal-source-cvl {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 6px;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #22d3ee;
  background: rgba(34,211,238,0.08);
  border: 1px solid rgba(34,211,238,0.4);
  border-radius: 10px;
  vertical-align: middle;
}


.oc-data-health-valid       .oc-data-health-state { color:#22c55e; }
.oc-data-health-empty       .oc-data-health-state { color:#94a3b8; }
.oc-data-health-note { margin-top:8px; padding:6px 10px; background:rgba(249,115,22,0.07); border-radius:4px; color:#f97316; font-size:11px; line-height:1.4; }


/* Form */
.oc-form-row {
  display: flex; justify-content: space-between;
  padding: 8px 0; border-bottom: 1px solid #1f2933;
  font-size: 13px;
}
.oc-form-row:last-child { border: 0; }
.oc-form-row span:first-child { color: #7d8b97; }

/* Timeline */
.oc-event {
  padding: 6px 0; font-size: 12px; color: #9ca7b3;
  border-left: 2px solid #1f2933; padding-left: 12px; margin-left: 4px;
}

/* Phase 66.6 — Context Guidance highlights & scope picker */
.oc-highlight-row {
  background: rgba(251, 191, 36, 0.10);
  border-left: 3px solid #fbbf24;
  box-shadow: inset 0 0 0 1px rgba(251, 191, 36, 0.25);
}
.oc-highlight-row td:first-child {
  border-left: 3px solid #fbbf24;
  padding-left: 9px;
}

.oc-highlight-panel {
  position: relative;
  border: 1px solid rgba(248, 113, 113, 0.55) !important;
  box-shadow:
    0 0 0 1px rgba(248, 113, 113, 0.25),
    0 0 18px -4px rgba(248, 113, 113, 0.35);
}
.oc-highlight-panel::before {
  content: "Action required";
  position: absolute;
  top: -10px; right: 12px;
  background: #7f1d1d; color: #fecaca;
  padding: 2px 10px; border-radius: 10px;
  font-size: 10px; font-weight: 600;
  letter-spacing: 0.03em; text-transform: uppercase;
}

.oc-scope-picker {
  width: 100%;
  padding: 4px 0 8px 0;
}
.oc-scope-picker-label {
  font-size: 11px;
  color: #7d8b97;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.oc-action-btn.oc-scope-btn {
  background: #0f2f44;
  border: 1px solid #1e4e71;
  color: #bae6fd;
  font-weight: 600;
}
.oc-action-btn.oc-scope-btn:hover:not(:disabled) {
  background: #12425f;
  border-color: #38bdf8;
  color: #e0f2fe;
}

/* Phase 70 — Next Actions panel */
.oc-next-summary {
  font-size: 12px;
  color: #9aa5b1;
  margin: 0 0 10px 0;
  padding: 6px 8px;
  background: rgba(31, 41, 51, 0.4);
  border-left: 2px solid #3b82f6;
  border-radius: 3px;
}
.oc-next-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.oc-next-item {
  padding: 10px 12px;
  background: #0f172a;
  border: 1px solid #1e2b3d;
  border-left: 3px solid #334155;
  border-radius: 4px;
  transition: border-color .15s ease, background .15s ease;
}
.oc-next-item.oc-prio-high {
  border-left-color: #ef4444;
  background: rgba(239, 68, 68, 0.05);
}
.oc-next-item.oc-prio-med {
  border-left-color: #fbbf24;
  background: rgba(251, 191, 36, 0.05);
}
.oc-next-item.oc-prio-low {
  border-left-color: #38bdf8;
  background: rgba(56, 189, 248, 0.04);
}
.oc-next-head {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  margin-bottom: 4px;
}
.oc-next-label {
  flex: 1;
  color: #e2e8f0;
  font-weight: 600;
}
.oc-next-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
}
.oc-next-dot.oc-prio-high { background: #ef4444; }
.oc-next-dot.oc-prio-med  { background: #fbbf24; }
.oc-next-dot.oc-prio-low  { background: #38bdf8; }

.oc-next-priority {
  font-size: 10px;
  letter-spacing: 0.04em;
  padding: 1px 7px;
  border-radius: 8px;
  font-weight: 700;
  text-transform: uppercase;
}
.oc-next-priority.oc-prio-high { color: #fecaca; background: #7f1d1d; }
.oc-next-priority.oc-prio-med  { color: #fde68a; background: #78350f; }
.oc-next-priority.oc-prio-low  { color: #bae6fd; background: #0c4a6e; }

.oc-next-reason {
  font-size: 11px;
  color: #9ca3af;
  margin: 2px 0 0 16px;
}
.oc-next-due {
  font-size: 11px;
  color: #c4b5fd;
  margin: 2px 0 0 16px;
  font-family: monospace;
}
.oc-next-btn {
  margin: 8px 0 0 16px;
  padding: 6px 14px;
  font-size: 12px;
  font-weight: 600;
  border-radius: 4px;
  border: 1px solid #334155;
  cursor: pointer;
  background: #1e293b;
  color: #e2e8f0;
  transition: background .1s ease, border-color .1s ease, transform .05s ease;
}
.oc-next-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.oc-next-btn.oc-prio-high {
  background: #7f1d1d;
  color: #fee2e2;
  border-color: #b91c1c;
}
.oc-next-btn.oc-prio-high:hover:not(:disabled) { background: #991b1b; }
.oc-next-btn.oc-prio-med {
  background: #78350f;
  color: #fed7aa;
  border-color: #a16207;
}
.oc-next-btn.oc-prio-med:hover:not(:disabled) { background: #92400e; }
.oc-next-btn.oc-prio-low {
  background: #0c4a6e;
  color: #bae6fd;
  border-color: #0369a1;
}
.oc-next-btn.oc-prio-low:hover:not(:disabled) { background: #075985; }
.oc-next-btn:active:not(:disabled) { transform: translateY(1px); }

/* Phase 73 — Recent Operations panel */
.oc-ops-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.oc-op-item {
  border: 1px solid #334155;
  background: #0f172a;
  border-radius: 6px;
  padding: 8px 10px;
}
.oc-op-item.oc-op-success { border-color: #166534; }
.oc-op-item.oc-op-denied  { border-color: #92400e; }
.oc-op-item.oc-op-failed  { border-color: #7f1d1d; }
.oc-op-head {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.oc-op-status {
  font-size: 11px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 4px;
  letter-spacing: 0.04em;
}
.oc-op-status.oc-op-success { color: #bbf7d0; background: #14532d; }
.oc-op-status.oc-op-denied  { color: #fde68a; background: #78350f; }
.oc-op-status.oc-op-failed  { color: #fecaca; background: #7f1d1d; }
.oc-op-action {
  color: #e2e8f0;
  font-weight: 600;
  font-size: 13px;
}
.oc-op-time {
  color: #64748b;
  font-size: 11px;
  margin-left: auto;
  font-family: ui-monospace, monospace;
}
.oc-op-desc {
  color: #94a3b8;
  font-size: 12px;
  margin-top: 4px;
}
.oc-op-error {
  color: #fca5a5;
  font-size: 12px;
  margin-top: 4px;
  font-family: ui-monospace, monospace;
}

/* Phase 74.2 — schedule-from-guidance companion button */
.oc-next-btn-schedule {
  margin-top: 6px;
  background: #0f172a;
  border: 1px dashed #334155;
  color: #94a3b8;
  font-size: 12px;
  font-weight: 600;
}
.oc-next-btn-schedule:hover:not(:disabled) {
  background: #1e293b;
  border-color: #475569;
  color: #e2e8f0;
}

/* Phase 74.3 — bulk Schedule-All bar */
.oc-bulk-bar {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 10px;
  padding: 8px 10px;
  background: #0b1220;
  border: 1px solid #1e293b;
  border-radius: 6px;
}
.oc-bulk-btn {
  align-self: flex-start;
  background: #1e293b;
  color: #e2e8f0;
  border: 1px solid #475569;
  padding: 6px 12px;
  border-radius: 4px;
  font-weight: 600;
  font-size: 12px;
  cursor: pointer;
}
.oc-bulk-btn:hover:not(:disabled) {
  background: #334155;
  border-color: #64748b;
}
.oc-bulk-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.oc-bulk-summary { display: flex; gap: 6px; flex-wrap: wrap; }
.oc-bulk-tag {
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.oc-bulk-scheduled { color: #bbf7d0; background: #14532d; }
.oc-bulk-conflicts { color: #fde68a; background: #78350f; }
.oc-bulk-skipped   { color: #cbd5e1; background: #334155; }

/* Phase 75 — Active Work Orders panel */
.oc-wo-list { list-style: none; margin: 0; padding: 0; display: flex;
              flex-direction: column; gap: 6px; }
.oc-wo-item { border: 1px solid #334155; background: #0f172a;
              border-radius: 6px; padding: 8px 10px; cursor: pointer; }
.oc-wo-item:hover { border-color: #64748b; }
.oc-wo-head { display: flex; align-items: center; gap: 8px; }
.oc-wo-title { color: #e2e8f0; font-weight: 600; font-size: 13px; }
.oc-wo-state { font-size: 10px; font-weight: 700; padding: 2px 6px;
               border-radius: 4px; letter-spacing: 0.04em; }
.oc-wo-state.oc-wo-created      { color: #cbd5e1; background: #334155; }
.oc-wo-state.oc-wo-inprogress   { color: #bfdbfe; background: #1e3a8a; }
.oc-wo-state.oc-wo-blocked      { color: #fecaca; background: #7f1d1d; }
.oc-wo-state.oc-wo-completed    { color: #bbf7d0; background: #14532d; }
.oc-wo-state.oc-wo-cancelled    { color: #cbd5e1; background: #1e293b; }
.oc-wo-meta { color: #94a3b8; font-size: 11px; margin-top: 4px;
              font-family: ui-monospace, monospace; }
.oc-wo-part { color: #64748b; }

/* ───────────────────────────────────────────────────────────
   Phase 78 — OWL (Operational Workspace Layer)
   3-pane layout + drawer overlays + tabs + schedule blocks
   ─────────────────────────────────────────────────────────── */

/* Make 3-pane when owl-shell class is present (left | center | right) */
.oc-shell.owl-shell {
  grid-template-columns: 30% 1fr 24%;
}
.owl-center {
  padding: 16px 20px;
  overflow-y: auto;
  height: 100vh;
  border-right: 1px solid #1f2933;
  background: #0b1017;
}
.owl-right {
  padding: 16px 20px;
  overflow-y: auto;
  height: 100vh;
  background: #0f141b;
}
.owl-left-scroll {
  overflow-y: auto;
  padding: 0 0 8px 0;
  flex: 1 1 auto;
}

/* ── Center pane tabs ── */
.owl-center-tabs {
  display: flex;
  gap: 2px;
  margin: 12px 0 14px 0;
  border-bottom: 1px solid #1f2933;
}
.owl-tab {
  background: transparent;
  color: #94a3b8;
  border: none;
  padding: 8px 14px;
  font-size: 12px;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  letter-spacing: 0.02em;
}
.owl-tab:hover { color: #e6edf3; }
.owl-tab.active {
  color: #4ade80;
  border-bottom-color: #22c55e;
}
.owl-center-body { padding-bottom: 24px; }

/* ── Shared panel chrome ── */
.owl-panel {
  background: #0f141b;
  border: 1px solid #1f2933;
  border-radius: 6px;
  margin-bottom: 18px;
}
.owl-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  border-bottom: 1px solid #1f2933;
}
.owl-panel-head h3 {
  margin: 0; font-size: 13px; font-weight: 600;
  color: #e6edf3; letter-spacing: 0.02em;
}
.owl-tabs {
  display: flex;
  gap: 2px;
  padding: 0 8px;
  border-bottom: 1px solid #1f2933;
}
.owl-panel .owl-tabs .owl-tab { padding: 6px 12px; font-size: 11.5px; }

/* ── Entity Explorer ── */
.ee-filters, .sch-filters {
  display: flex; gap: 8px; align-items: center;
}
.ee-filters select, .sch-filters select {
  background: #0b1017; color: #cbd5e1;
  border: 1px solid #1f2933; border-radius: 4px;
  padding: 4px 8px; font-size: 11px;
}
.ee-body { padding: 8px; }
.ee-wo-list { list-style: none; margin: 0; padding: 0; }
.ee-wo-row {
  padding: 10px 12px; border-bottom: 1px solid #161d26;
  cursor: pointer; transition: background 0.08s;
}
.ee-wo-row:hover { background: #111922; }
.ee-wo-row-head {
  display: flex; gap: 8px; align-items: center;
}
.ee-wo-row-title {
  color: #e6edf3; font-size: 12.5px; font-weight: 500;
}
.ee-wo-row-meta {
  color: #64748b; font-size: 11px; margin-top: 3px;
  font-family: ui-monospace, monospace;
}

/* ── Schedule Panel blocks ── */
.sch-list { list-style: none; margin: 0; padding: 8px; }
.sch-block {
  padding: 10px 12px;
  border: 1px solid #1f2933;
  border-left-width: 3px;
  border-radius: 4px;
  margin-bottom: 8px;
  background: #0b1017;
  cursor: pointer;
  transition: background 0.08s;
}
.sch-block:hover { background: #111922; }
.sch-block.sch-conflict   { border-left-color: #ef4444; }
.sch-block.sch-scheduled  { border-left-color: #22c55e; }
.sch-block.sch-completed  { border-left-color: #0ea5e9; }
.sch-block.sch-skipped    { border-left-color: #64748b; }
.sch-block.sch-unknown    { border-left-color: #eab308; }
.sch-block-head {
  display: flex; justify-content: space-between; align-items: center;
}
.sch-block-type {
  color: #e6edf3; font-size: 12px; font-weight: 500;
}
.sch-block-status {
  font-size: 10px; letter-spacing: 0.04em;
  padding: 2px 8px; border-radius: 10px;
  text-transform: uppercase;
}
.sch-block-status.sch-conflict   { background: #450a0a; color: #fecaca; }
.sch-block-status.sch-scheduled  { background: #14532d; color: #bbf7d0; }
.sch-block-status.sch-completed  { background: #0c4a6e; color: #bae6fd; }
.sch-block-status.sch-skipped    { background: #1e293b; color: #cbd5e1; }
.sch-block-status.sch-unknown    { background: #422006; color: #fde68a; }
.sch-block-times {
  font-family: ui-monospace, monospace;
  font-size: 11px; color: #94a3b8; margin-top: 4px;
}
.sch-block-wo {
  font-family: ui-monospace, monospace;
  font-size: 11px; color: #4ade80; margin-top: 4px;
}
.sch-block-conflict {
  font-size: 11px; color: #fca5a5; margin-top: 4px;
}

/* ── Drawer overlay (shared by WorkOrderDrawer + AuditDrawer) ── */
.owl-overlay {
  position: fixed; inset: 0;
  background: rgba(0, 0, 0, 0.55);
  z-index: 40;
  display: flex; justify-content: flex-end;
}
.owl-drawer {
  width: min(720px, 94vw);
  max-width: 720px;
  background: #0b0f14;
  border-left: 1px solid #1f2933;
  display: flex; flex-direction: column;
  height: 100vh;
  box-shadow: -12px 0 32px rgba(0, 0, 0, 0.55);
}
.owl-drawer-head {
  display: flex; justify-content: space-between; align-items: center;
  padding: 14px 18px; border-bottom: 1px solid #1f2933;
  background: #0f141b;
}
.owl-drawer-title {
  font-size: 14px; font-weight: 600; color: #e6edf3;
}
.owl-drawer-head small { color: #64748b; font-family: ui-monospace, monospace; }
.owl-close {
  background: transparent; color: #94a3b8;
  border: none; font-size: 22px; line-height: 1;
  cursor: pointer; padding: 0 4px;
}
.owl-close:hover { color: #e6edf3; }
.owl-drawer-body { flex: 1; overflow-y: auto; padding: 16px 20px; }
.owl-drawer .owl-tabs { padding: 0 18px; }

/* Drawer internals */
.wod-tab { font-size: 12px; }
.wod-kv {
  display: grid; grid-template-columns: 1fr 2fr;
  row-gap: 6px; column-gap: 14px;
  font-size: 12px; margin-bottom: 14px;
}
.wod-kv > div { display: contents; }
.wod-kv > div > span {
  color: #64748b; text-transform: uppercase;
  font-size: 10.5px; letter-spacing: 0.04em;
}
.wod-kv > div > code {
  color: #cbd5e1; font-family: ui-monospace, monospace; font-size: 11px;
}
.wod-section {
  font-size: 11px; letter-spacing: 0.05em;
  color: #64748b; text-transform: uppercase;
  margin: 18px 0 8px 0;
}
.wod-notes {
  background: #0f141b; border: 1px solid #1f2933;
  border-radius: 4px; padding: 10px 12px;
  margin-bottom: 12px;
}
.wod-notes-h {
  font-size: 11px; color: #64748b; margin-bottom: 6px;
  text-transform: uppercase; letter-spacing: 0.04em;
}
.wod-notes ul { list-style: none; margin: 0; padding: 0; }
.wod-notes li {
  padding: 6px 0; border-bottom: 1px solid #161d26; font-size: 12px;
}
.wod-notes li:last-child { border-bottom: none; }
.wod-notes small { color: #64748b; font-family: ui-monospace, monospace; font-size: 10px; }
.wod-edit-row {
  display: flex; gap: 8px; margin-bottom: 10px;
}
.wod-edit-row input, .wod-edit-row textarea {
  flex: 1; background: #0b1017; color: #e6edf3;
  border: 1px solid #1f2933; border-radius: 4px;
  padding: 8px 10px; font-size: 12px; font-family: inherit;
}
.wod-edit-row button {
  background: #164e63; color: #bae6fd;
  border: 1px solid #0e7490; border-radius: 4px;
  padding: 6px 14px; font-size: 12px; cursor: pointer;
}
.wod-edit-row button:hover { background: #155e75; }
.wod-hint {
  color: #64748b; font-size: 11px; font-style: italic;
}

/* Timeline list */
.wod-timeline-list { list-style: none; margin: 0; padding: 0; }
.wod-timeline-list li {
  padding: 10px 0; border-bottom: 1px solid #161d26;
}
.wod-tl-head {
  display: flex; gap: 10px; align-items: center;
  font-size: 11px;
}
.wod-tl-type {
  color: #4ade80; font-family: ui-monospace, monospace; font-weight: 500;
}
.wod-tl-ts {
  color: #64748b; font-family: ui-monospace, monospace;
}
.wod-tl-body {
  font-family: ui-monospace, monospace;
  font-size: 12px; color: #cbd5e1; margin-top: 4px;
}
.wod-tl-EXECUTION .wod-tl-type    { color: #fbbf24; }
.wod-tl-STATE_CHANGE .wod-tl-type { color: #22d3ee; }

/* Integrity pill (shared) */
.oc-int-pill {
  font-size: 10px; letter-spacing: 0.04em;
  padding: 2px 8px; border-radius: 10px;
  text-transform: uppercase;
}
.oc-int-pill.oc-int-valid    { background: #14532d; color: #bbf7d0; }
.oc-int-pill.oc-int-tampered { background: #450a0a; color: #fecaca; }
.oc-int-pill.oc-int-unknown  { background: #422006; color: #fde68a; }

/* Audit list inside drawer */
.wod-audit-list { list-style: none; margin: 0; padding: 0; }
.wod-audit-item {
  padding: 10px 0; border-bottom: 1px solid #161d26;
  cursor: pointer;
}
.wod-audit-item:hover { background: #111922; }
.wod-audit-head {
  display: flex; gap: 10px; align-items: center; font-size: 12px;
}
.wod-audit-action {
  color: #e6edf3; font-family: ui-monospace, monospace;
}
.wod-audit-ts {
  color: #64748b; font-family: ui-monospace, monospace; margin-left: auto; font-size: 11px;
}

/* Links tab */
.wod-links-sched { list-style: none; margin: 0; padding: 0; }
.wod-links-sched li {
  padding: 8px 0; border-bottom: 1px solid #161d26;
  font-size: 12px; display: flex; align-items: center; gap: 8px;
}
.wod-links-sched code {
  color: #cbd5e1; font-family: ui-monospace, monospace;
}
.wod-links-sched small { color: #64748b; }

/* ── AuditDrawer ── */
.aud-integrity {
  display: flex; gap: 10px; align-items: center;
  padding-bottom: 12px; border-bottom: 1px solid #1f2933; margin-bottom: 14px;
  flex-wrap: wrap;
}
.aud-integrity code {
  font-family: ui-monospace, monospace; font-size: 11px; color: #94a3b8;
}
.aud-block { margin-bottom: 14px; }
.aud-block-h {
  font-size: 11px; text-transform: uppercase; letter-spacing: 0.04em;
  color: #64748b; margin-bottom: 6px;
}
.aud-json {
  background: #0f141b; border: 1px solid #1f2933; border-radius: 4px;
  padding: 10px 12px; font-size: 11.5px; color: #cbd5e1;
  font-family: ui-monospace, monospace;
  max-height: 280px; overflow: auto; margin: 0;
  white-space: pre-wrap; word-break: break-word;
}

/* Recent Operations rows — interactive when onOpen is wired */
.oc-op-item { cursor: default; }
.oc-op-item[style*="pointer"]:hover { background: #111922; }

/* ── Phase 79 — Deviation tab ── */
.dev-controls {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 14px;
}
.dev-controls label {
  font-size: 11px; text-transform: uppercase; letter-spacing: 0.04em;
  color: #64748b;
}
.dev-controls select {
  background: #0b1017; color: #e6edf3;
  border: 1px solid #1f2933; border-radius: 4px;
  padding: 4px 10px; font-size: 12px;
}
.dev-controls button {
  background: #164e63; color: #bae6fd;
  border: 1px solid #0e7490; border-radius: 4px;
  padding: 4px 14px; font-size: 12px; cursor: pointer;
}
.dev-controls button:hover { background: #155e75; }
.dev-header {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 14px;
  background: #0f141b;
  border: 1px solid #1f2933; border-radius: 4px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}
.dev-score { color: #cbd5e1; font-size: 12px; }
.dev-score strong { color: #4ade80; font-size: 14px; margin-left: 4px; }
.dev-header small { color: #64748b; font-size: 11px; font-family: ui-monospace, monospace; }
.dev-diffs ul { list-style: none; margin: 0; padding: 0; }
.dev-diff {
  padding: 10px 12px;
  border: 1px solid #1f2933; border-left-width: 3px;
  background: #0b1017; margin-bottom: 8px;
  border-radius: 4px;
  display: flex; gap: 10px; align-items: flex-start;
}
.dev-diff.dev-MISSING  { border-left-color: #f97316; }
.dev-diff.dev-EXTRA    { border-left-color: #eab308; }
.dev-diff.dev-ORDER    { border-left-color: #38bdf8; }
.dev-diff.dev-STATE    { border-left-color: #ef4444; }
.dev-diff.dev-AUDIT    { border-left-color: #e11d48; }
.dev-badge {
  font-size: 10px; letter-spacing: 0.04em;
  padding: 2px 8px; border-radius: 10px;
  text-transform: uppercase;
  background: #1e293b; color: #cbd5e1;
  flex-shrink: 0;
}
.dev-badge.dev-MISSING  { background: #431407; color: #fed7aa; }
.dev-badge.dev-EXTRA    { background: #422006; color: #fde68a; }
.dev-badge.dev-ORDER    { background: #0c4a6e; color: #bae6fd; }
.dev-badge.dev-STATE    { background: #450a0a; color: #fecaca; }
.dev-badge.dev-AUDIT    { background: #500724; color: #fbcfe8; }
.dev-diff-body {
  font-size: 12px; color: #cbd5e1; flex: 1;
}
.dev-diff-body code {
  font-family: ui-monospace, monospace; color: #e6edf3;
}
.dev-diff-body em {
  font-style: normal; color: #64748b; font-size: 10.5px;
  text-transform: uppercase; letter-spacing: 0.04em; margin-right: 6px;
}
.dev-diff-body small { color: #64748b; font-family: ui-monospace, monospace; }


/* ─────────────────────────────────────────────────────────────
 * Phase 80 — Canonical Domain Layer (CDL) styles
 * ───────────────────────────────────────────────────────────── */

/* Domain Switcher (top of center pane) */
.owl-domain-switcher {
  display: flex; flex-wrap: wrap; gap: 4px;
  margin: 0 0 10px 0;
  padding: 6px 0;
  border-bottom: 1px solid #1f2933;
}
.owl-domain-btn {
  background: #0b1017;
  color: #94a3b8;
  border: 1px solid #1f2933;
  border-radius: 999px;
  padding: 4px 12px;
  font-size: 11px;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: background 0.08s, color 0.08s, border-color 0.08s;
}
.owl-domain-btn:hover {
  background: #111922; color: #e6edf3;
}
.owl-domain-btn.active {
  background: #14532d;
  border-color: #22c55e;
  color: #bbf7d0;
}

/* Entity Explorer tabs — horizontally scrollable when many tabs */
.ee-tabs-scroll {
  overflow-x: auto;
  scrollbar-width: thin;
}
.ee-tabs-scroll::-webkit-scrollbar { height: 4px; }
.ee-tabs-scroll::-webkit-scrollbar-thumb { background: #1f2933; border-radius: 2px; }

/* Schedule mode toggle */
.sch-mode {
  display: inline-flex;
  border: 1px solid #1f2933;
  border-radius: 4px;
  overflow: hidden;
}
.sch-mode-btn {
  background: #0b1017;
  color: #94a3b8;
  border: none;
  padding: 4px 10px;
  font-size: 11px;
  cursor: pointer;
  border-right: 1px solid #1f2933;
}
.sch-mode-btn:last-child { border-right: none; }
.sch-mode-btn:hover { background: #111922; color: #e6edf3; }
.sch-mode-btn.active {
  background: #14532d; color: #bbf7d0;
}

/* Shared CDL list primitive (used by DomainPanels + Context tab) */
.cdl-list {
  list-style: none; margin: 0; padding: 0;
}
.cdl-row {
  padding: 8px 12px;
  border-bottom: 1px solid #161d26;
  font-size: 12px;
}
.cdl-row.cdl-row-clickable { cursor: pointer; }
.cdl-row.cdl-row-clickable:hover { background: #111922; }
.cdl-row-head {
  display: flex; justify-content: space-between; align-items: center;
  gap: 8px;
}
.cdl-row-title {
  color: #e6edf3; font-weight: 500;
}
.cdl-row-tags {
  display: inline-flex; gap: 4px; flex-shrink: 0;
}
.cdl-tag {
  background: #1e293b;
  color: #cbd5e1;
  font-size: 10px;
  letter-spacing: 0.04em;
  padding: 2px 7px;
  border-radius: 10px;
  text-transform: uppercase;
}
.cdl-row-meta {
  color: #64748b;
  font-size: 11px;
  margin-top: 3px;
  font-family: ui-monospace, monospace;
}

/* Projects panel grouping */
.cdl-proj-group {
  padding: 8px 12px;
  border-bottom: 1px solid #161d26;
}
.cdl-proj-head {
  font-size: 11.5px;
  color: #4ade80;
  font-family: ui-monospace, monospace;
  margin-bottom: 6px;
}
.cdl-proj-sublist {
  list-style: none; margin: 0; padding: 0 0 0 8px;
}
.cdl-proj-wo {
  display: flex; gap: 8px; align-items: center;
  padding: 4px 6px;
  font-size: 11.5px;
  color: #cbd5e1;
  cursor: pointer;
  border-radius: 3px;
}
.cdl-proj-wo:hover { background: #111922; }
.cdl-proj-wo code { color: #e6edf3; font-family: ui-monospace, monospace; }
.cdl-proj-wo small { color: #64748b; font-family: ui-monospace, monospace; }

/* WorkOrderDrawer Context tab sections */
.wod-ctx-section {
  margin-bottom: 14px;
}
.wod-ctx .wod-kv {
  background: #0b1017;
  border: 1px solid #1f2933;
  border-radius: 4px;
  padding: 10px 12px;
}


/* ─────────────────────────────────────────────────────────────
 * Phase 81 — Knowledge Extraction & Suggestion Panel
 * ───────────────────────────────────────────────────────────── */
.sp-drawer { width: min(640px, 94vw); max-width: 640px; }
.sp-body { display: flex; flex-direction: column; gap: 6px; }

.sp-conf {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 12px; border-radius: 999px;
  font-size: 11.5px; align-self: flex-start;
  border: 1px solid #1f2933;
}
.sp-conf.sp-conf-high { background: #14532d; color: #bbf7d0; border-color: #22c55e; }
.sp-conf.sp-conf-med  { background: #422006; color: #fde68a; border-color: #eab308; }
.sp-conf.sp-conf-low  { background: #1e293b; color: #cbd5e1; }
.sp-conf small { color: inherit; opacity: 0.7; font-family: ui-monospace, monospace; }

.sp-field {
  display: grid; grid-template-columns: 140px 1fr;
  align-items: center; gap: 10px;
  margin-bottom: 6px;
}
.sp-field-label {
  color: #64748b; font-size: 11px;
  text-transform: uppercase; letter-spacing: 0.04em;
}
.sp-field input,
.sp-field select {
  background: #0b1017; color: #e6edf3;
  border: 1px solid #1f2933; border-radius: 4px;
  padding: 6px 10px; font-size: 12px;
  font-family: inherit;
  width: 100%;
}
.sp-field input:focus,
.sp-field select:focus {
  outline: none; border-color: #22c55e;
}

.sp-diff-list { list-style: none; margin: 0; padding: 0; }
.sp-diff {
  display: grid;
  grid-template-columns: 120px 1fr 20px 1fr;
  gap: 8px; align-items: center;
  padding: 6px 10px;
  border-bottom: 1px solid #161d26;
  font-size: 12px;
}
.sp-diff-field {
  color: #64748b; font-family: ui-monospace, monospace;
  text-transform: uppercase; font-size: 10.5px; letter-spacing: 0.04em;
}
.sp-diff-old { color: #fca5a5; font-family: ui-monospace, monospace; text-decoration: line-through; }
.sp-diff-arrow { color: #64748b; text-align: center; }
.sp-diff-new { color: #bbf7d0; font-family: ui-monospace, monospace; }

.sp-actions {
  display: flex; gap: 10px; justify-content: flex-end;
  margin-top: 16px;
  border-top: 1px solid #1f2933;
  padding-top: 14px;
}
.sp-btn-cancel, .sp-btn-confirm {
  padding: 8px 16px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  border: 1px solid #1f2933;
}
.sp-btn-cancel {
  background: transparent; color: #94a3b8;
}
.sp-btn-cancel:hover { color: #e6edf3; background: #111922; }
.sp-btn-confirm {
  background: #14532d; color: #bbf7d0;
  border-color: #22c55e;
}
.sp-btn-confirm:hover:not(:disabled) {
  background: #166534; color: #dcfce7;
}
.sp-btn-confirm:disabled {
  opacity: 0.5; cursor: not-allowed;
}

.sp-tags { display: flex; gap: 6px; flex-wrap: wrap; }

.wod-attach-sugg-btn {
  background: #0c4a6e;
  color: #bae6fd;
  border: 1px solid #0ea5e9;
  padding: 8px 14px;
  border-radius: 4px;
  font-size: 12px;
  cursor: pointer;
  width: 100%;
}
.wod-attach-sugg-btn:hover { background: #075985; color: #e0f2fe; }

/* DocumentPicker search input */
.dp-search {
  width: 100%;
  background: #0b1017; color: #e6edf3;
  border: 1px solid #1f2933; border-radius: 4px;
  padding: 6px 10px; font-size: 12px;
  margin-bottom: 10px;
}
.dp-search:focus { outline: none; border-color: #22c55e; }

.dd-summary {
  font-size: 12px; color: #cbd5e1; line-height: 1.5;
  background: #0b1017; border: 1px solid #1f2933;
  border-radius: 4px; padding: 10px 12px;
}

/* ─────────────────────────────────────────────────────────────
 * Phase 81.5 — Compliance Signals
 * ───────────────────────────────────────────────────────────── */

/* Aggregate pill bar (WO Context header, Compliance panel, Crew panel) */
.wod-compl-pills {
  display: flex; gap: 6px; flex-wrap: wrap;
  margin: 0 0 10px 0;
}
.compl-pill {
  display: inline-flex; align-items: center;
  padding: 3px 10px;
  font-size: 10.5px; letter-spacing: 0.04em;
  border-radius: 999px;
  text-transform: uppercase;
  font-weight: 600;
  border: 1px solid transparent;
}
.compl-pill.compl-expired { background: #450a0a; color: #fecaca; border-color: #ef4444; }
.compl-pill.compl-due-30  { background: #422006; color: #fde68a; border-color: #eab308; }
.compl-pill.compl-due-90  { background: #422c06; color: #fcd34d; border-color: #d97706; }
.compl-pill.compl-ok      { background: #14532d; color: #bbf7d0; border-color: #22c55e; }

/* Per-row expiry tint (left border accent) */
.compl-row-expired { border-left: 3px solid #ef4444; }
.compl-row-due_30  { border-left: 3px solid #eab308; }
.compl-row-due_90  { border-left: 3px solid #d97706; }
.compl-row-ok      { border-left: 3px solid #22c55e; }
.compl-row-unknown { border-left: 3px solid #475569; }

/* Tag variants (used inside cdl-tag) */
.cdl-tag.compl-tag-expired { background: #450a0a; color: #fecaca; }
.cdl-tag.compl-tag-due_30  { background: #422006; color: #fde68a; }
.cdl-tag.compl-tag-due_90  { background: #422c06; color: #fcd34d; }
.cdl-tag.compl-tag-ok      { background: #14532d; color: #bbf7d0; }
.cdl-tag.compl-tag-unknown { background: #1e293b; color: #cbd5e1; }

/* Required-doc tags */
.cdl-tag.tag-ok      { background: #14532d; color: #bbf7d0; }
.cdl-tag.tag-missing { background: #450a0a; color: #fecaca; }

.wod-req-missing { border-left: 3px solid #ef4444; }
.wod-req-ok      { border-left: 3px solid #22c55e; }

/* Context tab extracted-field meta row */
.wod-doc-meta {
  display: flex; flex-wrap: wrap; gap: 10px;
  margin-top: 5px;
  font-size: 11px;
  color: #cbd5e1;
  font-family: ui-monospace, monospace;
}
.wod-doc-meta em {
  font-style: normal; color: #64748b;
  text-transform: uppercase; font-size: 10px;
  letter-spacing: 0.04em; margin-right: 3px;
}
.wod-doc-meta code { color: #e6edf3; }

/* EntityExplorer tab badge (compliance counter) */
.ee-tab-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 16px; height: 16px;
  margin-left: 6px;
  padding: 0 5px;
  background: #ef4444; color: #fff5f5;
  font-size: 9.5px; font-weight: 700;
  border-radius: 999px;
  line-height: 1;
}


/* ─────────────────────────────────────────────────────────────
 * Phase 82 — Operational Action Loops
 * ───────────────────────────────────────────────────────────── */

/* Compliance Strip — clickable header summary */
.owl-compl-strip {
  display: flex; align-items: center; gap: 8px;
  width: 100%;
  margin: 0 0 8px 0;
  padding: 8px 14px;
  background: #1a0f0f;
  border: 1px solid #450a0a;
  border-left: 3px solid #ef4444;
  border-radius: 4px;
  color: #fecaca;
  font-size: 11.5px;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: background 0.08s, border-color 0.08s;
}
.owl-compl-strip:hover {
  background: #240f0f;
  border-color: #ef4444;
}
.owl-compl-strip-icon { font-size: 12px; }
.owl-compl-seg {
  padding: 2px 10px;
  border-radius: 999px;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 10.5px;
}
.owl-compl-seg.compl-expired { background: #450a0a; color: #fecaca; }
.owl-compl-seg.compl-due-30  { background: #422006; color: #fde68a; }
.owl-compl-seg.compl-due-90  { background: #422c06; color: #fcd34d; }
.owl-compl-sep { color: #64748b; font-size: 11px; }

/* Actions list (OAL) — shared renderer */
.oal-list { list-style: none; margin: 0; padding: 0; }
.oal-row {
  border: 1px solid #1f2933;
  border-left: 3px solid #475569;
  border-radius: 4px;
  padding: 10px 12px;
  margin-bottom: 8px;
  background: #0b1017;
}
.oal-row.oal-prio-high { border-left-color: #ef4444; }
.oal-row.oal-prio-med  { border-left-color: #eab308; }
.oal-row.oal-prio-low  { border-left-color: #22c55e; }

.oal-row-head {
  display: flex; align-items: center; gap: 8px;
  flex-wrap: wrap;
}
.oal-prio-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: #475569;
  flex-shrink: 0;
}
.oal-prio-dot.oal-prio-high { background: #ef4444; }
.oal-prio-dot.oal-prio-med  { background: #eab308; }
.oal-prio-dot.oal-prio-low  { background: #22c55e; }

.oal-type {
  font-family: ui-monospace, monospace;
  font-size: 10px;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  background: #111922;
  padding: 2px 6px;
  border-radius: 3px;
}
.oal-label {
  color: #e6edf3;
  font-size: 12.5px;
  font-weight: 500;
  flex: 1;
}
.oal-prio {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: 999px;
}
.oal-prio.oal-prio-high { background: #450a0a; color: #fecaca; }
.oal-prio.oal-prio-med  { background: #422006; color: #fde68a; }
.oal-prio.oal-prio-low  { background: #14532d; color: #bbf7d0; }

.oal-row-body { margin-top: 6px; }
.oal-reason-toggle {
  background: transparent;
  border: none;
  color: #94a3b8;
  font-size: 11px;
  cursor: pointer;
  padding: 0;
}
.oal-reason-toggle:hover { color: #e6edf3; }
.oal-reason {
  margin-top: 6px;
  padding: 8px 10px;
  background: #0f141b;
  border: 1px solid #1f2933;
  border-radius: 3px;
  font-size: 11.5px;
  color: #cbd5e1;
  line-height: 1.5;
}
.oal-payload {
  margin-top: 6px;
  font-family: ui-monospace, monospace;
  font-size: 10.5px;
}
.oal-payload summary {
  cursor: pointer;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 10px;
}
.oal-payload pre {
  margin: 6px 0 0 0;
  padding: 8px 10px;
  background: #0b1017;
  border: 1px solid #1f2933;
  border-radius: 3px;
  color: #e6edf3;
  overflow-x: auto;
  max-height: 200px;
}

.oal-row-actions {
  display: flex; justify-content: flex-end; align-items: center;
  gap: 10px;
  margin-top: 10px;
}
.oal-needs-input {
  color: #fbbf24;
  font-size: 10.5px;
  font-style: italic;
}
.oal-confirm {
  background: #14532d;
  color: #bbf7d0;
  border: 1px solid #22c55e;
  padding: 6px 14px;
  border-radius: 4px;
  font-size: 11.5px;
  font-weight: 500;
  cursor: pointer;
}
.oal-confirm:hover:not(:disabled) {
  background: #166534;
}
.oal-confirm:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.oal-confirm.oal-prio-high { border-color: #ef4444; background: #450a0a; color: #fecaca; }
.oal-confirm.oal-prio-high:hover:not(:disabled) { background: #5c0a0a; }


/* ─────────────────────────────────────────────────────────────
 * Phase 83 — Cross-Domain Resolution Engine
 * ───────────────────────────────────────────────────────────── */

/* System Status banner at top of WorkOrderDrawer */
.wod-sys-status {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 18px;
  border-bottom: 1px solid #1f2933;
  font-size: 12px;
}
.wod-sys-status strong { color: #e6edf3; }
.wod-sys-status small  { color: #64748b; font-family: ui-monospace, monospace; }
.wod-sys-dot {
  width: 10px; height: 10px; border-radius: 50%;
  flex-shrink: 0;
}
.wod-sys-resolved   { background: #0b2617; }
.wod-sys-resolved   .wod-sys-dot { background: #22c55e; }
.wod-sys-partial    { background: #2a1e02; }
.wod-sys-partial    .wod-sys-dot { background: #eab308; }
.wod-sys-unresolved { background: #2a0a0a; }
.wod-sys-unresolved .wod-sys-dot { background: #ef4444; }

/* Per-row resolution pill (OAL) */
.oal-status {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 2px 8px;
  border-radius: 999px;
  text-transform: uppercase;
}
.oal-status-tag-resolved   { background: #14532d; color: #bbf7d0; }
.oal-status-tag-unresolved { background: #450a0a; color: #fecaca; }
.oal-status-tag-pending    { background: #422006; color: #fde68a; }

/* Subtle left-border tint on resolved rows */
.oal-row.oal-status-resolved {
  border-left-color: #22c55e !important;
  opacity: 0.85;
}
.oal-row.oal-status-unresolved {
  border-left-color: #ef4444 !important;
}

/* Resolution rationale inline with the expanded reason */
.oal-res {
  margin-top: 6px;
  padding: 6px 8px;
  background: #0b1017;
  border: 1px solid #1f2933;
  border-left: 2px solid #22c55e;
  border-radius: 3px;
  font-size: 11px;
  color: #bbf7d0;
  line-height: 1.5;
}
.oal-row.oal-status-unresolved .oal-res {
  border-left-color: #ef4444;
  color: #fecaca;
}
.oal-row.oal-status-pending .oal-res {
  border-left-color: #eab308;
  color: #fde68a;
}
.oal-res strong {
  color: inherit;
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: 0.04em;
  margin-right: 6px;
}


/* ─────────────────────────────────────────────────────────────
 * Phase 83.5 — Resolution Prioritisation & Action Batching
 * ───────────────────────────────────────────────────────────── */

.oal-wrap { display: flex; flex-direction: column; gap: 12px; }

.oal-group {
  border: 1px solid #1f2933;
  border-radius: 4px;
  background: #0a0f15;
  overflow: hidden;
}
.oal-group-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px;
  padding: 8px 12px;
  background: #0e141c;
  border-bottom: 1px solid #1f2933;
}
.oal-group-head.oal-prio-high { border-left: 3px solid #ef4444; }
.oal-group-head.oal-prio-med  { border-left: 3px solid #eab308; }
.oal-group-head.oal-prio-low  { border-left: 3px solid #22c55e; }

.oal-group-title {
  display: flex; align-items: center; gap: 8px;
  flex-wrap: wrap;
  color: #e6edf3;
  font-size: 12.5px;
}
.oal-group-count {
  color: #64748b;
  font-family: ui-monospace, monospace;
  font-size: 11px;
}

.oal-batch {
  border: 1px solid #1f2933;
  background: #1e293b;
  color: #e6edf3;
  padding: 5px 12px;
  border-radius: 4px;
  font-size: 11.5px;
  font-weight: 500;
  cursor: pointer;
  white-space: nowrap;
}
.oal-batch:hover:not(:disabled) {
  background: #334155;
}
.oal-batch:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.oal-batch.oal-prio-high {
  background: #450a0a;
  border-color: #ef4444;
  color: #fecaca;
}
.oal-batch.oal-prio-high:hover:not(:disabled) { background: #5c0a0a; }
.oal-batch.oal-prio-med {
  background: #422006;
  border-color: #eab308;
  color: #fde68a;
}
.oal-batch.oal-prio-med:hover:not(:disabled) { background: #5c2e06; }

.oal-group .oal-list {
  padding: 8px 12px;
}
.oal-group .oal-row {
  margin-bottom: 6px;
}
.oal-group .oal-row:last-child { margin-bottom: 0; }

/* Resolved collapse section */
.oal-resolved-group {
  margin-top: 8px;
  border: 1px dashed #1f2933;
  border-radius: 4px;
  background: #0a0f15;
}
.oal-resolved-toggle {
  width: 100%;
  padding: 8px 12px;
  background: transparent;
  border: none;
  color: #94a3b8;
  font-size: 11.5px;
  font-weight: 500;
  text-align: left;
  cursor: pointer;
  letter-spacing: 0.02em;
}
.oal-resolved-toggle:hover { color: #e6edf3; }
.oal-list-resolved {
  padding: 0 12px 8px 12px;
}
.oal-list-resolved .oal-row {
  opacity: 0.65;
  margin-bottom: 6px;
}

/* Critical count inside System Status banner */
.wod-sys-critical {
  color: #fecaca;
  margin-left: 4px;
  font-weight: 700;
  font-size: 11.5px;
  letter-spacing: 0.02em;
}

/* Phase 87.2 — Partial visibility badge in System Status banner */
.wod-sys-partial-vis {
  display: inline-block;
  margin-left: 8px;
  padding: 1px 8px;
  border: 1px solid #f97316;
  border-radius: 10px;
  color: #f97316;
  font-weight: 600;
  font-size: 10.5px;
  letter-spacing: 0.08em;
}



/* ─────────────────────────────────────────────────────────────
 * Phase 84 — Causal Chains Engine
 * ───────────────────────────────────────────────────────────── */
.cce-wrap {
  display: flex; flex-direction: column; gap: 8px;
  margin-bottom: 14px;
  padding: 12px;
  border: 1px solid #1f2933;
  border-left: 3px solid #38bdf8;
  border-radius: 4px;
  background: #0a1620;
}
.cce-head {
  display: flex; align-items: baseline; gap: 10px;
  color: #e6edf3;
  font-size: 12.5px;
  margin-bottom: 4px;
}
.cce-head small {
  color: #64748b;
  font-family: ui-monospace, monospace;
  font-size: 10.5px;
}

.cce-card {
  background: #0b1520;
  border: 1px solid #1f2933;
  border-radius: 3px;
  padding: 8px 12px;
}
.cce-card-done {
  opacity: 0.75;
  border-left: 2px solid #22c55e;
}
.cce-card-head {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 8px;
}
.cce-card-head strong { color: #e6edf3; font-size: 12px; flex: 1; }
.cce-count {
  font-size: 10.5px;
  color: #64748b;
  font-family: ui-monospace, monospace;
  letter-spacing: 0.02em;
}
.cce-continue {
  background: #0c4a6e;
  color: #bae6fd;
  border: 1px solid #38bdf8;
  padding: 4px 12px;
  font-size: 11px;
  border-radius: 4px;
  font-weight: 500;
  cursor: pointer;
  white-space: nowrap;
}
.cce-continue:hover { background: #075985; color: #e0f2fe; }
.cce-continue:disabled { opacity: 0.4; cursor: not-allowed; }

.cce-steps {
  list-style: none; margin: 0; padding: 0;
}
.cce-step {
  display: flex; align-items: center; gap: 10px;
  padding: 4px 0;
  font-size: 11.5px;
  color: #cbd5e1;
}
.cce-step-icon {
  font-size: 12px;
  width: 16px; text-align: center;
  flex-shrink: 0;
}
.cce-step-completed { color: #bbf7d0; }
.cce-step-completed .cce-step-icon { color: #22c55e; }
.cce-step-pending   { color: #fde68a; }
.cce-step-pending   .cce-step-icon { color: #eab308; }
.cce-step-blocked   { color: #64748b; }
.cce-step-blocked   .cce-step-icon { color: #475569; }

.cce-step-label { flex: 1; }
.cce-step-status {
  font-size: 9.5px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 1px 7px;
  border-radius: 999px;
  font-weight: 700;
  font-family: ui-monospace, monospace;
}
.cce-step-status-completed { background: #14532d; color: #bbf7d0; }
.cce-step-status-pending   { background: #422006; color: #fde68a; }
.cce-step-status-blocked   { background: #1e293b; color: #94a3b8; }


/* ─────────────────────────────────────────────────────────────
 * Phase 84.5 — Explainability Layer
 * ───────────────────────────────────────────────────────────── */
.exp-wrap {
  margin-top: 6px;
  border-top: 1px dashed #1f2933;
  padding-top: 6px;
}
.exp-toggle {
  background: transparent;
  border: none;
  color: #94a3b8;
  font-size: 10.5px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  padding: 2px 0;
  font-weight: 600;
}
.exp-toggle:hover { color: #e6edf3; }

.exp-body {
  margin-top: 6px;
  display: flex; flex-direction: column; gap: 8px;
}
.exp-block {
  background: #0a0f15;
  border: 1px solid #1f2933;
  border-left: 2px solid #38bdf8;
  border-radius: 3px;
  padding: 8px 10px;
  font-size: 11px;
  line-height: 1.5;
}
.exp-title {
  color: #bae6fd;
  font-weight: 600;
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 4px;
}
.exp-value {
  color: #e6edf3;
  font-family: ui-monospace, monospace;
  font-size: 11px;
  white-space: pre-wrap;
  word-break: break-word;
}
.exp-evidence {
  margin-top: 4px;
  display: flex; flex-direction: column; gap: 2px;
}
.exp-evidence-row {
  display: grid; grid-template-columns: 140px 1fr; gap: 6px;
  font-family: ui-monospace, monospace;
  font-size: 10.5px;
}
.exp-evidence-k {
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.exp-evidence-v {
  color: #e6edf3;
  word-break: break-word;
}
.exp-reason {
  margin-top: 4px;
  color: #94a3b8;
  font-size: 10.5px;
  font-style: italic;
}

/* System-status "Why" block sits right under the banner. */
.wod-sys-explain {
  padding: 6px 18px 10px 18px;
  border-bottom: 1px solid #1f2933;
}


/* ─────────────────────────────────────────────────────────────
 * Phase 85 — Behaviour & Failure Intelligence Layer
 * ───────────────────────────────────────────────────────────── */
.bf-wrap {
  display: flex; flex-direction: column; gap: 12px;
  padding: 10px 12px;
}
.bf-head {
  display: flex; align-items: baseline; gap: 10px;
  color: #e6edf3;
  font-size: 12.5px;
  border-bottom: 1px solid #1f2933;
  padding-bottom: 6px;
}
.bf-head small {
  color: #64748b;
  font-family: ui-monospace, monospace;
  font-size: 10.5px;
}

.bf-card {
  border: 1px solid #1f2933;
  border-left: 3px solid #a855f7;
  border-radius: 4px;
  background: #0b0f1a;
  padding: 10px 12px;
}
.bf-card-highrisk {
  border-left-color: #ef4444;
  background: #1a0f14;
}
.bf-card-head {
  display: flex; align-items: center; gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 6px;
}
.bf-card-head strong { color: #e6edf3; font-size: 12.5px; flex: 1; }
.bf-stage {
  font-size: 10.5px;
  color: #c4b5fd;
  font-family: ui-monospace, monospace;
  letter-spacing: 0.02em;
  background: #1e1b3a;
  padding: 2px 8px;
  border-radius: 999px;
}
.bf-highrisk-pill {
  background: #450a0a;
  color: #fecaca;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 10px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.bf-root-cause {
  display: flex; gap: 8px;
  font-size: 11.5px;
  color: #cbd5e1;
  line-height: 1.5;
  margin-bottom: 8px;
}
.bf-root-cause-label {
  color: #64748b;
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: 0.04em;
  flex-shrink: 0;
  padding-top: 1px;
}

.bf-chain {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 4px;
}
.bf-step {
  display: grid;
  grid-template-columns: 22px 22px 160px 1fr;
  align-items: center;
  gap: 8px;
  padding: 5px 8px;
  border-radius: 3px;
  font-size: 11px;
  background: #0a0f15;
  border: 1px solid #121a22;
}
.bf-step.bf-active          { background: #0f1823; border-color: #334155; }
.bf-step.bf-step-matched    { background: #0c2318; border-color: #22c55e; }
.bf-step.bf-step-current    { background: #2a1e02; border-color: #eab308; }
.bf-step.bf-step-before     { background: #0e1722; color: #94a3b8; }
.bf-step.bf-step-pending    { color: #64748b; opacity: 0.6; }

.bf-step-idx {
  font-family: ui-monospace, monospace;
  font-size: 9.5px;
  color: #64748b;
  text-align: right;
}
.bf-step-icon {
  text-align: center;
  font-size: 13px;
  color: inherit;
}
.bf-step.bf-step-matched .bf-step-icon { color: #22c55e; }
.bf-step.bf-step-current .bf-step-icon { color: #eab308; }

.bf-step-label {
  font-family: ui-monospace, monospace;
  color: #e6edf3;
  font-weight: 500;
  text-transform: lowercase;
}
.bf-step.bf-step-before .bf-step-label,
.bf-step.bf-step-pending .bf-step-label { color: #94a3b8; }

.bf-step-desc {
  color: #cbd5e1;
  font-size: 11px;
}
.bf-step.bf-step-pending .bf-step-desc { color: #64748b; }

.bf-evidence {
  margin-top: 8px;
  padding: 8px 10px;
  background: #0a0f15;
  border: 1px solid #1f2933;
  border-radius: 3px;
}
.bf-evidence-title {
  color: #94a3b8;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 4px;
}
.bf-evidence-row {
  display: grid; grid-template-columns: 160px 1fr;
  gap: 6px;
  font-family: ui-monospace, monospace;
  font-size: 10.5px;
  padding: 2px 0;
}
.bf-evidence-k { color: #64748b; text-transform: uppercase; letter-spacing: 0.04em; }
.bf-evidence-v { color: #e6edf3; word-break: break-word; }

/* Behaviour indicator inside System Status banner */
.wod-sys-behaviour {
  color: #c4b5fd;
  font-size: 11.5px;
  font-weight: 500;
}
.wod-sys-behaviour-high {
  color: #fecaca;
}


/* ─────────────────────────────────────────────────────────────
 * Phase 86 — Predictive Progression Layer
 * ───────────────────────────────────────────────────────────── */
.ppl-row {
  display: grid;
  grid-template-columns: 1fr 20px 1fr 1fr 1fr;
  gap: 8px;
  align-items: center;
  padding: 8px 10px;
  margin-bottom: 8px;
  background: #0a0f18;
  border: 1px solid #1f2933;
  border-radius: 3px;
}
.ppl-cell {
  display: flex; flex-direction: column; gap: 3px;
}
.ppl-arrow {
  text-align: center;
  color: #64748b;
  font-size: 14px;
}
.ppl-label {
  color: #64748b;
  font-size: 9.5px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 700;
}
.ppl-chip {
  display: inline-flex; align-items: center;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 10.5px;
  font-weight: 600;
  font-family: ui-monospace, monospace;
  letter-spacing: 0.02em;
  border: 1px solid transparent;
  white-space: nowrap;
}
.ppl-chip.ppl-sev-critical { background: #450a0a; color: #fecaca; border-color: #ef4444; }
.ppl-chip.ppl-sev-high     { background: #431407; color: #fed7aa; border-color: #fb923c; }
.ppl-chip.ppl-sev-med      { background: #422006; color: #fde68a; border-color: #eab308; }
.ppl-chip.ppl-sev-low      { background: #14532d; color: #bbf7d0; border-color: #22c55e; }
.ppl-chip.ppl-sev-na       { background: #1e293b; color: #94a3b8; }

.ppl-chip-inline {
  padding: 1px 6px;
  font-size: 9px;
  letter-spacing: 0.03em;
}

.ppl-risk {
  display: flex; flex-direction: column; gap: 3px;
  padding: 2px 6px;
  border-radius: 3px;
}
.ppl-risk.ppl-sev-critical { background: rgba(239, 68, 68, 0.08); }
.ppl-risk.ppl-sev-high     { background: rgba(251, 146, 60, 0.08); }

.ppl-steps .ppl-count {
  font-family: ui-monospace, monospace;
  font-size: 14px;
  color: #e6edf3;
  font-weight: 700;
}

/* Extend bf-step to make room for the severity chip column */
.bf-step {
  grid-template-columns: 22px 22px 150px auto 1fr;
}

/* System Status "Risk progressing" indicator */
.wod-sys-progressing {
  color: #fed7aa;
  font-weight: 600;
  font-size: 11.5px;
}
.wod-sys-progressing small {
  color: #fbbf24;
  font-weight: 400;
  font-family: ui-monospace, monospace;
  font-size: 10.5px;
}


/* ───────────── Phase 88.2.3 — Causal Timeline ───────────── */
.wod-causal .wod-causal-list {
  list-style: none;
  padding: 0;
  margin: 12px 0 0 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.wod-causal-entry {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 10px 12px;
  background: #fafbfc;
}
.wod-causal-head {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 6px;
}
.wod-causal-head strong {
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 12px;
  color: #0f172a;
}
.wod-causal-head small { color: #64748b; font-size: 10.5px; font-family: ui-monospace, monospace; }
.wod-causal-warn {
  margin-left: auto;
  font-size: 10.5px;
  color: #b45309;
  background: #fef3c7;
  border: 1px solid #fcd34d;
  padding: 1px 6px;
  border-radius: 4px;
}
.wod-causal-events {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.wod-causal-ev {
  display: grid;
  grid-template-columns: 84px 100px 1fr;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  padding: 4px 8px;
  border-left: 3px solid #cbd5e1;
  background: #fff;
  border-radius: 0 4px 4px 0;
}
.wod-causal-time {
  color: #475569;
  font-family: ui-monospace, monospace;
  font-size: 11px;
}
.wod-causal-type {
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.04em;
}
.wod-causal-label { color: #1e293b; }
.wod-causal-detected   { border-left-color: #94a3b8; }
.wod-causal-detected   .wod-causal-type { color: #475569; }
.wod-causal-dispatched { border-left-color: #3b82f6; background: #eff6ff; }
.wod-causal-dispatched .wod-causal-type { color: #1d4ed8; }
.wod-causal-transition { border-left-color: #f59e0b; background: #fffbeb; }
.wod-causal-transition .wod-causal-type { color: #b45309; }
.wod-causal-resolved   { border-left-color: #10b981; background: #ecfdf5; }
.wod-causal-resolved   .wod-causal-type { color: #047857; }


/* ───────────── Phase 88.2.4 — Unified Actions ───────────── */
.wod-unified {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 10px 12px;
  background: #f8fafc;
  margin: 12px 0;
}
.wod-unified-head {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 8px;
  color: #0f172a;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.wod-unified-head small { color: #64748b; text-transform: none; letter-spacing: 0; }
.wod-unified-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.wod-unified-item {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-left: 4px solid #cbd5e1;
  border-radius: 6px;
  padding: 8px 10px;
}
.wod-unified-item.wod-unified-done { opacity: 0.55; }
.wod-unified-crit { border-left-color: #dc2626; }
.wod-unified-high { border-left-color: #f97316; }
.wod-unified-med  { border-left-color: #3b82f6; }
.wod-unified-low  { border-left-color: #94a3b8; }
.wod-unified-row1 {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  flex-wrap: wrap;
}
.wod-unified-prio {
  font-weight: 700;
  font-size: 10.5px;
  padding: 1px 6px;
  border-radius: 3px;
  color: #fff;
  background: #64748b;
  letter-spacing: 0.04em;
}
.wod-unified-prio.wod-unified-crit { background: #dc2626; }
.wod-unified-prio.wod-unified-high { background: #f97316; }
.wod-unified-prio.wod-unified-med  { background: #3b82f6; }
.wod-unified-prio.wod-unified-low  { background: #94a3b8; }
.wod-unified-src {
  font-size: 10.5px;
  padding: 1px 6px;
  border-radius: 3px;
  color: #475569;
  background: #e2e8f0;
  font-family: ui-monospace, monospace;
  letter-spacing: 0.04em;
}
.wod-unified-src-cvl         { background: #dbeafe; color: #1d4ed8; }
.wod-unified-src-behaviour   { background: #fef3c7; color: #b45309; }
.wod-unified-src-progression { background: #fce7f3; color: #be185d; }
.wod-unified-src-base        { background: #e2e8f0; color: #334155; }
.wod-unified-kind {
  font-size: 12px;
  color: #0f172a;
  font-family: ui-monospace, monospace;
}
.wod-unified-scope, .wod-unified-merged { color: #64748b; font-size: 11px; }
.wod-unified-spacer { flex: 1; }
.wod-unified-dispatch {
  font-size: 11px;
  padding: 3px 10px;
  border-radius: 4px;
  border: 1px solid #1d4ed8;
  background: #1d4ed8;
  color: #fff;
  cursor: pointer;
}
.wod-unified-dispatch:disabled { opacity: 0.5; cursor: not-allowed; }
.wod-unified-nosrc { color: #94a3b8; font-size: 10.5px; font-style: italic; }
.wod-unified-resolved {
  font-size: 10.5px;
  color: #047857;
  background: #d1fae5;
  padding: 2px 8px;
  border-radius: 3px;
}
.wod-unified-label { color: #1e293b; font-size: 12px; margin-top: 4px; }
.wod-unified-reasoning {
  list-style: none;
  margin: 6px 0 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.wod-unified-reasoning code {
  font-size: 10.5px;
  color: #475569;
  background: #f1f5f9;
  padding: 1px 6px;
  border-radius: 3px;
}
.wod-source-signals {
  border: 1px dashed #cbd5e1;
  border-radius: 6px;
  padding: 6px 10px;
  margin: 8px 0;
  background: #fff;
}
.wod-source-signals > summary {
  cursor: pointer;
  color: #64748b;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}


/* ───────────── Phase 90 — Intent Resolution Layer UI ───────────── */
.oc-msg.oc-unknown-input {
  border-left: 4px solid #a855f7;
  background: #faf5ff;
  padding: 10px 14px;
  border-radius: 0 8px 8px 0;
}
.oc-unknown-title {
  color: #6b21a8;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 4px;
}
.oc-unknown-body {
  color: #334155;
  font-size: 12px;
  margin-bottom: 8px;
}
.oc-unknown-help {
  color: #64748b;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 4px;
}
.oc-unknown-examples {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.oc-unknown-examples code {
  font-family: ui-monospace, monospace;
  font-size: 11.5px;
  color: #6b21a8;
  background: #f3e8ff;
  padding: 2px 6px;
  border-radius: 3px;
}
.oc-msg.oc-partial-intent {
  border-left: 4px solid #0ea5e9;
  background: #f0f9ff;
  padding: 10px 14px;
  border-radius: 0 8px 8px 0;
}
.oc-partial-title {
  color: #075985;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 4px;
}
.oc-partial-body {
  color: #334155;
  font-size: 12px;
  margin-bottom: 8px;
}
.oc-partial-cta {
  background: #0ea5e9;
  color: #fff;
  border: none;
  border-radius: 4px;
  padding: 6px 10px;
  font-size: 11.5px;
  cursor: pointer;
  font-family: ui-monospace, monospace;
}
.oc-partial-cta:disabled { opacity: 0.5; cursor: not-allowed; }
.oc-partial-cta code {
  background: transparent;
  color: inherit;
  font-size: 11.5px;
}
.oc-partial-missing {
  margin-top: 6px;
  color: #64748b;
  font-size: 10.5px;
  font-style: italic;
}


/* ───────────── Phase 90.1 — Guided Completion (equipment picker) ───────────── */
.oc-partial-guided {
  margin-top: 8px;
  padding: 8px 10px;
  background: #e0f2fe;
  border-radius: 6px;
}
.oc-partial-guided-label {
  color: #0369a1;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 6px;
  font-weight: 600;
}
.oc-partial-options {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.oc-partial-option-btn {
  width: 100%;
  text-align: left;
  background: #fff;
  color: #0c4a6e;
  border: 1px solid #7dd3fc;
  border-radius: 4px;
  padding: 6px 10px;
  font-size: 12px;
  font-family: inherit;
  cursor: pointer;
  transition: background-color 120ms ease, border-color 120ms ease;
}
.oc-partial-option-btn:hover:not(:disabled) {
  background: #f0f9ff;
  border-color: #0ea5e9;
}
.oc-partial-option-btn:disabled { opacity: 0.55; cursor: not-allowed; }
.oc-partial-noequip {
  margin-top: 8px;
  padding: 8px 10px;
  background: #fef9c3;
  border-left: 3px solid #eab308;
  border-radius: 0 4px 4px 0;
  color: #854d0e;
  font-size: 11.5px;
}
.oc-partial-noequip code {
  background: #fef3c7;
  color: #854d0e;
  padding: 1px 5px;
  border-radius: 3px;
  font-size: 11px;
}


/* ───────────── Phase 90.2 — Effect Completion Bridge ───────────── */
.wod-effect-completion {
  margin-top: 12px;
  padding: 12px 14px;
  border: 1px solid #2b6cb0;
  border-radius: 8px;
  background: #ebf8ff;
}
.wod-effect-head {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 10px;
}
.wod-effect-title {
  color: #1a365d;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.wod-effect-cancel {
  margin-left: auto;
  background: transparent;
  border: 1px solid #90cdf4;
  color: #2b6cb0;
  border-radius: 4px;
  padding: 3px 10px;
  font-size: 11px;
  cursor: pointer;
  font-family: inherit;
}
.wod-effect-cancel:hover { background: #bee3f8; }
.wod-effect-options {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.wod-effect-option-btn {
  width: 100%;
  text-align: left;
  background: #fff;
  color: #1a365d;
  border: 1px solid #63b3ed;
  border-radius: 4px;
  padding: 7px 12px;
  font-size: 12px;
  font-family: inherit;
  cursor: pointer;
  transition: background-color 120ms ease, border-color 120ms ease;
}
.wod-effect-option-btn:hover:not(:disabled) {
  background: #ebf8ff;
  border-color: #2b6cb0;
}
.wod-effect-option-btn:disabled { opacity: 0.55; cursor: not-allowed; }
.wod-effect-empty {
  color: #d69e2e;
  background: #fffaf0;
  border-left: 3px solid #ecc94b;
  border-radius: 0 4px 4px 0;
  padding: 8px 10px;
  font-size: 11.5px;
  margin-bottom: 8px;
}
.wod-effect-empty code {
  background: #fef3c7;
  color: #744210;
  padding: 1px 5px;
  border-radius: 3px;
  font-size: 11px;
}
.wod-effect-hint {
  display: block;
  margin-top: 8px;
  color: #4a5568;
  font-size: 10.5px;
  font-style: italic;
}
.wod-effect-hint code {
  background: #edf2f7;
  color: #2b6cb0;
  padding: 1px 5px;
  border-radius: 3px;
  font-size: 10.5px;
}


/* Phase 91.2 — Deterministic Resolution Engine (DRE) — chat surface. */
.oc-constraint-violations .oc-resolution-options {
  margin-top: 8px;
  padding-top: 6px;
  border-top: 1px dashed rgba(255, 255, 255, 0.15);
}
.oc-constraint-violations .oc-resolution-header {
  font-size: 11px;
  opacity: 0.85;
  margin-bottom: 4px;
}
.oc-constraint-violations .oc-resolution-options ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.oc-resolution-option {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 3px 0;
  font-size: 12px;
}
.oc-resolution-option .oc-resolution-label { flex: 1; }
.oc-resolution-apply {
  font-size: 11px;
  padding: 2px 10px;
  border-radius: 3px;
  border: 1px solid rgba(0, 180, 255, 0.4);
  background: rgba(0, 180, 255, 0.12);
  color: inherit;
  cursor: pointer;
}
.oc-resolution-apply:hover { background: rgba(0, 180, 255, 0.25); }

/* Shared wod-resolution classnames (used by chat + Gantt). */
.cg-resolution-options {
  list-style: none;
  padding: 6px 10px;
  margin: 6px 0 0;
  border-top: 1px dashed rgba(0, 0, 0, 0.15);
}
.cg-resolution-options .wod-resolution-option {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  padding: 2px 0;
}
.cg-resolution-options .wod-resolution-label { flex: 1; }
.cg-resolution-options .wod-resolution-apply {
  font-size: 11px;
  padding: 2px 10px;
  border-radius: 3px;
  border: 1px solid rgba(0, 120, 200, 0.4);
  background: rgba(0, 120, 200, 0.08);
  cursor: pointer;
}

/* Phase 91.10 — KACL Decision Log + Approval Queue panels. */
.kacl-panel-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
.kacl-panel-header h2 {
  margin: 0;
  font-size: 14px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.kacl-refresh-btn {
  font-size: 11px;
  padding: 4px 12px;
  border-radius: 3px;
  border: 1px solid rgba(0, 180, 255, 0.4);
  background: rgba(0, 180, 255, 0.08);
  color: inherit;
  cursor: pointer;
}
.kacl-refresh-btn:hover:not(:disabled) { background: rgba(0, 180, 255, 0.2); }
.kacl-refresh-btn:disabled { opacity: 0.5; cursor: not-allowed; }

.kacl-error {
  font-size: 12px;
  padding: 6px 10px;
  border: 1px solid rgba(239, 68, 68, 0.4);
  background: rgba(239, 68, 68, 0.08);
  border-radius: 3px;
  margin-bottom: 8px;
  word-break: break-word;
}

.kacl-feedback {
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 3px;
  margin-bottom: 8px;
}
.kacl-feedback-ok    { border: 1px solid rgba(34, 197, 94, 0.4); background: rgba(34, 197, 94, 0.08); }
.kacl-feedback-error { border: 1px solid rgba(239, 68, 68, 0.4); background: rgba(239, 68, 68, 0.08); }

.kacl-decision-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.kacl-decision-table th {
  text-align: left;
  padding: 4px 8px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
  font-weight: 600;
  white-space: nowrap;
}
.kacl-decision-table td {
  padding: 4px 8px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  vertical-align: top;
}
.kacl-decision-row { cursor: pointer; }
.kacl-decision-row:hover { background: rgba(0, 180, 255, 0.05); }
.kacl-row-open { background: rgba(0, 180, 255, 0.07); }
.kacl-toggle-caret { font-size: 9px; color: #64748b; }

.kacl-decision-pill {
  display: inline-block;
  padding: 1px 8px;
  border-radius: 10px;
  font-size: 10px;
  font-weight: 700;
  color: white;
  letter-spacing: 0.4px;
}
.kacl-mono {
  font-family: 'SF Mono', Consolas, Menlo, monospace;
  font-size: 11px;
}
.kacl-ellipsis {
  max-width: 360px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: inline-block;
  vertical-align: middle;
}
.kacl-decision-detail td { background: rgba(0, 0, 0, 0.03); }
.kacl-reason-json {
  margin: 0;
  padding: 6px 10px;
  font-size: 11px;
  font-family: 'SF Mono', Consolas, Menlo, monospace;
  background: rgba(0, 0, 0, 0.05);
  border-radius: 3px;
  white-space: pre-wrap;
  word-break: break-word;
}

.kacl-approval-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.kacl-approval-item {
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  padding: 10px 12px;
  margin-bottom: 8px;
  background: rgba(0, 0, 0, 0.02);
}
.kacl-approval-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
}
.kacl-approval-meta {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 3px 12px;
  font-size: 11px;
  margin: 4px 0 8px 0;
}
.kacl-approval-meta dt {
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  font-size: 10px;
}
.kacl-approval-meta dd { margin: 0; }
.kacl-approval-actions {
  display: flex;
  gap: 8px;
}
.kacl-btn {
  font-size: 11px;
  padding: 4px 16px;
  border-radius: 3px;
  border: 1px solid transparent;
  cursor: pointer;
  font-weight: 600;
  letter-spacing: 0.4px;
}
.kacl-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.kacl-btn-approve {
  border-color: rgba(34, 197, 94, 0.5);
  background: rgba(34, 197, 94, 0.12);
  color: #15803d;
}
.kacl-btn-approve:hover:not(:disabled) { background: rgba(34, 197, 94, 0.25); }
.kacl-btn-reject {
  border-color: rgba(239, 68, 68, 0.5);
  background: rgba(239, 68, 68, 0.12);
  color: #b91c1c;
}
.kacl-btn-reject:hover:not(:disabled) { background: rgba(239, 68, 68, 0.25); }

.kacl-governance-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 16px;
}
@media (max-width: 960px) {
  .kacl-governance-row { grid-template-columns: 1fr; }
}

/* Phase 91.4 — Balance Reconciliation Panel. */
.bre-result { font-size: 12px; }
.bre-canonical {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 8px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  margin-bottom: 8px;
}
.bre-label {
  font-size: 10px;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.bre-canonical-value { font-size: 18px; font-weight: 600; }
.bre-state-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 8px 0 10px 0;
  flex-wrap: wrap;
}
.bre-state-pill {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 10px;
  font-size: 10px;
  font-weight: 700;
  color: white;
  letter-spacing: 0.4px;
}
.bre-neg-meta { font-size: 11px; color: #475569; }
.bre-sources-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
  margin: 4px 0 10px 0;
}
.bre-sources-table th {
  text-align: left;
  padding: 4px 8px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
  font-weight: 600;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  font-size: 10px;
}
.bre-sources-table td {
  padding: 4px 8px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.bre-status-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-top: 6px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  flex-wrap: wrap;
}
.bre-status-pill {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 3px;
  font-size: 11px;
  font-weight: 700;
  color: white;
  letter-spacing: 0.4px;
}
.bre-evidence { color: #64748b; font-size: 10px; margin-left: auto; }
.kacl-input {
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 3px;
  background: transparent;
  color: inherit;
  outline: none;
}
.kacl-input:focus { border-color: rgba(0, 180, 255, 0.5); }

/* Calendar View Custom Styles */

.calendar-container {
  font-family: 'Inter', sans-serif;
}

.rbc-calendar {
  background: transparent;
}

/* Toolbar styling */
.rbc-toolbar {
  padding: 1rem 0;
  margin-bottom: 1rem;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.rbc-toolbar button {
  padding: 0.5rem 1rem;
  border: 1px solid hsl(var(--border));
  background: hsl(var(--background));
  color: hsl(var(--foreground));
  border-radius: 0.375rem;
  font-size: 0.875rem;
  transition: all 0.2s;
}

.rbc-toolbar button:hover {
  background: hsl(var(--accent));
  border-color: hsl(var(--accent-foreground));
}

.rbc-toolbar button:active,
.rbc-toolbar button.rbc-active {
  background: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
  border-color: hsl(var(--primary));
}

.rbc-toolbar button:focus {
  outline: 2px solid hsl(var(--ring));
  outline-offset: 2px;
}

/* Month view */
.rbc-month-view {
  border: 1px solid hsl(var(--border));
  border-radius: 0.5rem;
  overflow: hidden;
}

.rbc-header {
  padding: 0.75rem;
  font-weight: 600;
  background: hsl(var(--muted));
  border-bottom: 1px solid hsl(var(--border));
}

.rbc-day-bg {
  border-left: 1px solid hsl(var(--border));
}

.rbc-off-range-bg {
  background: hsl(var(--muted) / 0.3);
}

.rbc-today {
  background: hsl(var(--primary) / 0.05);
}

.rbc-date-cell {
  padding: 0.5rem;
}

.rbc-current .rbc-button-link {
  font-weight: 700;
  color: hsl(var(--primary));
}

/* Event styling */
.rbc-event {
  padding: 2px 5px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 0.75rem;
  font-weight: 500;
}

.rbc-event:hover {
  opacity: 1 !important;
}

.rbc-event-label {
  font-size: 0.625rem;
}

.rbc-event-content {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Selected event */
.rbc-selected {
  outline: 2px solid hsl(var(--ring));
  outline-offset: 2px;
}

/* Week and day views */
.rbc-time-view {
  border: 1px solid hsl(var(--border));
  border-radius: 0.5rem;
}

.rbc-time-header-content {
  border-left: 1px solid hsl(var(--border));
}

.rbc-time-content {
  border-top: 1px solid hsl(var(--border));
}

.rbc-time-slot {
  border-top: 1px solid hsl(var(--border) / 0.3);
}

.rbc-current-time-indicator {
  background-color: hsl(var(--destructive));
  height: 2px;
}

/* Agenda view */
.rbc-agenda-view {
  border: 1px solid hsl(var(--border));
  border-radius: 0.5rem;
}

.rbc-agenda-view table.rbc-agenda-table {
  border-collapse: collapse;
}

.rbc-agenda-view table.rbc-agenda-table tbody > tr > td {
  padding: 0.75rem;
  border-top: 1px solid hsl(var(--border));
}

.rbc-agenda-view table.rbc-agenda-table tbody > tr:first-child > td {
  border-top: none;
}

.rbc-agenda-date-cell,
.rbc-agenda-time-cell {
  white-space: nowrap;
  font-weight: 600;
}

.rbc-agenda-event-cell {
  width: 100%;
}

/* Dark mode specific adjustments */
.dark .rbc-toolbar button {
  background: hsl(var(--card));
}

.dark .rbc-toolbar button:hover {
  background: hsl(var(--accent));
}

.dark .rbc-off-range-bg {
  background: hsl(var(--muted) / 0.2);
}

/* Responsive */
@media (max-width: 768px) {
  .rbc-toolbar {
    flex-direction: column;
  }
  
  .rbc-toolbar-label {
    text-align: center;
    width: 100%;
    padding: 0.5rem 0;
  }
}

/**
 * Advisory Map Styles
 * 
 * Custom CSS for the nautical-styled advisory map.
 * Applied to basemap tiles and map elements.
 */

/* ============================================
   BASEMAP FILTERS
   ============================================ */

/* Light nautical basemap - desaturated, warm */
.basemap-nautical-light {
  filter: 
    saturate(0.3) 
    sepia(0.15) 
    brightness(0.95)
    contrast(0.95);
}

/* Dark nautical basemap - deep navy tones */
.basemap-nautical-dark {
  filter: 
    saturate(0.25) 
    brightness(0.4)
    contrast(1.1)
    hue-rotate(200deg);
}

/* Ocean basemap - enhance blue tones */
.basemap-ocean {
  filter: 
    saturate(0.8)
    brightness(0.9);
}

/* Smooth basemap - subtle, professional */
.basemap-smooth {
  filter: 
    saturate(0.35) 
    brightness(0.92)
    contrast(0.98);
}

/* ============================================
   LEAFLET OVERRIDES
   ============================================ */

/* Map container background */
.leaflet-container {
  background-color: #1a3a5c !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* Popup styling */
.leaflet-popup-content-wrapper {
  background: rgba(15, 23, 42, 0.95);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(71, 85, 105, 0.5);
  border-radius: 8px;
  color: #e2e8f0;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
}

.leaflet-popup-tip {
  background: rgba(15, 23, 42, 0.95);
  border: 1px solid rgba(71, 85, 105, 0.5);
}

.leaflet-popup-content {
  margin: 12px;
  color: #e2e8f0;
}

/* Attribution - minimal */
.leaflet-control-attribution {
  background: rgba(15, 23, 42, 0.7) !important;
  color: #64748b !important;
  font-size: 9px;
  padding: 2px 6px;
  border-radius: 4px 0 0 0;
}

.leaflet-control-attribution a {
  color: #94a3b8 !important;
}

/* Zoom controls */
.leaflet-control-zoom {
  border: none !important;
  border-radius: 6px;
  overflow: hidden;
}

.leaflet-control-zoom a {
  background: rgba(15, 23, 42, 0.9) !important;
  color: #e2e8f0 !important;
  border: 1px solid rgba(71, 85, 105, 0.5) !important;
  width: 32px !important;
  height: 32px !important;
  line-height: 30px !important;
  font-size: 16px;
}

.leaflet-control-zoom a:hover {
  background: rgba(30, 41, 59, 0.95) !important;
  color: #fff !important;
}

.leaflet-control-zoom-in {
  border-radius: 6px 6px 0 0 !important;
}

.leaflet-control-zoom-out {
  border-radius: 0 0 6px 6px !important;
  border-top: none !important;
}

/* ============================================
   DEPTH FIELD LAYER (Phase M2 + M2.5 Refined)
   ============================================ */

/* M2.5: Base depth field cell - soft blur, restrained */
.depth-field-cell {
  filter: blur(3px);  /* M2.5: Increased from 2px for softer look */
  mix-blend-mode: multiply;
  opacity: 0.9;  /* Additional opacity control */
}

/* M2.5: Higher confidence cells - slightly less blur but still soft */
.depth-field-cell-high {
  filter: blur(2px);
  mix-blend-mode: multiply;
  opacity: 0.95;
}

/* M2.5: Low confidence cells - more blur, more uncertain look */
.depth-field-cell-low {
  filter: blur(5px);  /* M2.5: Increased from 4px */
  mix-blend-mode: multiply;
  opacity: 0.7;  /* M2.5: Additional transparency for uncertain areas */
}

/* M2.5: Ensure depth field never fully obscures basemap */
.leaflet-overlay-pane .depth-field-cell,
.leaflet-overlay-pane .depth-field-cell-high,
.leaflet-overlay-pane .depth-field-cell-low {
  pointer-events: none;  /* Don't interfere with map interaction */
}

/* ============================================
   UKC LAYER (Phase M3)
   Pattern-based, muted, never alarming
   ============================================ */

/* Base UKC zone styling - soft, subtle */
[class^="ukc-zone-"] {
  mix-blend-mode: multiply;
  pointer-events: none;
}

/* Minimal clearance - denser stipple, slightly warmer */
.ukc-zone-minimal {
  filter: blur(2px);
}

/* Restricted clearance - medium density */
.ukc-zone-restricted {
  filter: blur(3px);
}

/* Cautious clearance - sparse, very subtle */
.ukc-zone-cautious {
  filter: blur(4px);
}

/* Comfortable clearance - barely visible */
.ukc-zone-comfortable {
  filter: blur(5px);
  opacity: 0.5;
}

/* Grounding (below draft) - more visible but still muted */
.ukc-zone-grounding {
  filter: blur(2px);
}

/* Legend zone indicators */
.ukc-legend-minimal {
  background: rgba(180, 140, 100, 0.4) !important;
}

.ukc-legend-restricted {
  background: rgba(160, 150, 120, 0.35) !important;
}

.ukc-legend-cautious {
  background: rgba(140, 150, 160, 0.25) !important;
}

.ukc-legend-comfortable {
  background: rgba(120, 140, 160, 0.15) !important;
}

/* ============================================
   DEPTH OBSERVATION MARKERS
   ============================================ */

/* Soft glow effect for depth markers */
.depth-marker-glow {
  filter: drop-shadow(0 0 6px rgba(96, 165, 250, 0.4));
}

/* UKC warning markers */
.ukc-critical-marker {
  filter: drop-shadow(0 0 8px rgba(239, 68, 68, 0.5));
}

.ukc-caution-marker {
  filter: drop-shadow(0 0 6px rgba(234, 179, 8, 0.4));
}

/* ============================================
   TRACK STYLES
   ============================================ */

/* Vessel track with subtle glow */
.vessel-track {
  filter: drop-shadow(0 1px 3px rgba(59, 130, 246, 0.3));
}

/* Tender track */
.tender-track {
  filter: drop-shadow(0 1px 2px rgba(16, 185, 129, 0.25));
}

/* ============================================
   RESPONSIVE ADJUSTMENTS - Phase M6 Polish
   ============================================ */

/* Tablet / iPad - Touch-optimized */
@media (max-width: 1024px) {
  /* Larger zoom controls for touch */
  .leaflet-control-zoom a {
    width: 44px !important;
    height: 44px !important;
    line-height: 42px !important;
    font-size: 20px;
  }
  
  /* More comfortable popup sizing */
  .leaflet-popup-content-wrapper {
    max-width: 300px;
  }
  
  .leaflet-popup-content {
    margin: 14px;
  }
  
  /* Layer controls - touch-friendly spacing */
  .advisory-layer-controls {
    min-width: 220px;
    padding: 16px;
  }
  
  .advisory-layer-controls .layer-toggle-row {
    min-height: 44px;  /* Apple HIG minimum */
    padding: 8px 0;
  }
  
  /* Legend panels - touch-friendly */
  .advisory-legend-panel {
    padding: 14px;
  }
  
  .advisory-legend-item {
    min-height: 36px;
    padding: 6px 0;
  }
}

/* Tablet landscape / small desktop */
@media (min-width: 768px) and (max-width: 1024px) {
  /* Ensure legends don't overlap */
  .advisory-bottom-legends {
    flex-wrap: wrap;
    gap: 8px;
  }
}

/* Mobile */
@media (max-width: 640px) {
  .leaflet-control-zoom {
    margin-right: 8px !important;
    margin-bottom: 70px !important;
  }
  
  .leaflet-control-zoom a {
    width: 48px !important;
    height: 48px !important;
    line-height: 46px !important;
    font-size: 22px;
  }
  
  .leaflet-control-attribution {
    font-size: 8px;
  }
  
  /* Compact legends on mobile */
  .advisory-legend-panel {
    max-width: 180px;
    padding: 10px;
  }
  
  .advisory-layer-controls {
    max-width: 200px;
    padding: 12px;
  }
}

/* ============================================
   CONFIDENCE PATTERNS
   ============================================ */

/* Low confidence stipple pattern */
.confidence-low {
  background-image: radial-gradient(
    circle,
    rgba(100, 116, 139, 0.5) 1px,
    transparent 1px
  );
  background-size: 6px 6px;
}

/* Medium confidence pattern */
.confidence-medium {
  background-image: radial-gradient(
    circle,
    rgba(100, 116, 139, 0.3) 1px,
    transparent 1px
  );
  background-size: 8px 8px;
}

/* No data diagonal pattern */
.confidence-none {
  background-image: repeating-linear-gradient(
    45deg,
    transparent,
    transparent 4px,
    rgba(71, 85, 105, 0.2) 4px,
    rgba(71, 85, 105, 0.2) 8px
  );
}

/* ============================================
   UKC PATTERNS
   ============================================ */

/* Grounding risk hatch pattern */
.ukc-grounding-pattern {
  background-image: repeating-linear-gradient(
    45deg,
    transparent,
    transparent 3px,
    rgba(220, 38, 38, 0.35) 3px,
    rgba(220, 38, 38, 0.35) 6px
  );
}

/* ============================================
   ANIMATION
   ============================================ */

/* Pulse animation for current position */
@keyframes position-pulse {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.7;
    transform: scale(1.1);
  }
}

.current-position-pulse {
  animation: position-pulse 2s ease-in-out infinite;
}

/* Subtle fade-in for depth markers */
@keyframes fade-in-up {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.depth-marker-animate {
  animation: fade-in-up 0.3s ease-out forwards;
}

/* ============================================
   PHASE M8: NIGHT/DARK MODE REFINEMENTS
   ============================================ */

/* Dark mode color adjustments */
.advisory-map-dark-mode {
  --water-deep: #0a1628;
  --water-shallow: #1e3a5f;
  --land-fill: #1e293b;
  --text-primary: #e2e8f0;
  --text-muted: #94a3b8;
  --panel-bg: rgba(10, 20, 40, 0.95);
  --border-color: rgba(71, 85, 105, 0.4);
}

/* Dark mode leaflet container */
.advisory-map-dark-mode .leaflet-container {
  background-color: #0a1628 !important;
}

/* Dark mode popups - higher contrast */
.advisory-map-dark-mode .leaflet-popup-content-wrapper {
  background: rgba(10, 20, 40, 0.98);
  border: 1px solid rgba(71, 85, 105, 0.4);
}

/* Dark mode advisory banner - maintain visibility */
.advisory-map-dark-mode .advisory-banner {
  background: rgba(10, 20, 40, 0.9);
  border-bottom-color: rgba(251, 191, 36, 0.35);
}

.advisory-map-dark-mode .advisory-banner-text {
  color: #fbbf24;
  text-shadow: 0 0 10px rgba(251, 191, 36, 0.3);
}

/* Dark mode legend panels */
.advisory-map-dark-mode .advisory-legend-panel,
.advisory-map-dark-mode .advisory-layer-controls {
  background: rgba(10, 20, 40, 0.96);
  border-color: rgba(71, 85, 105, 0.4);
}

/* Dark mode depth bands - slightly more saturated for visibility */
.advisory-map-dark-mode .depth-band-critical {
  background-color: rgba(201, 228, 202, 0.9);
}

.advisory-map-dark-mode .depth-band-shallow {
  background-color: rgba(142, 202, 230, 0.85);
}

/* Dark mode UKC zones - increased visibility */
.advisory-map-dark-mode .ukc-zone-minimal {
  filter: blur(2px) brightness(1.1);
}

.advisory-map-dark-mode .ukc-zone-restricted {
  filter: blur(3px) brightness(1.05);
}

/* Dark mode tracks - brighter for visibility */
.advisory-map-dark-mode .vessel-track {
  filter: drop-shadow(0 1px 4px rgba(96, 165, 250, 0.4));
}

.advisory-map-dark-mode .tender-track {
  filter: drop-shadow(0 1px 3px rgba(52, 211, 153, 0.35));
}

/* ============================================
   HOTFIX: TEXT CONTRAST IMPROVEMENTS
   Fixes dark-on-dark text legibility issues
   ============================================ */

/* Force light text in legend panels */
.advisory-legend-panel,
.advisory-layer-controls,
[class*="bg-slate-900"],
[class*="bg-slate-800"] {
  /* Ensure text is readable */
  --tw-text-opacity: 1;
}

/* Legend labels - improve contrast */
.advisory-legend-panel .text-slate-400,
.advisory-legend-panel .text-slate-500,
.advisory-layer-controls .text-slate-400,
.advisory-layer-controls .text-slate-500 {
  color: #cbd5e1 !important; /* slate-300 for better contrast */
}

/* Very small text - boost even more */
.advisory-legend-panel .text-\[9px\],
.advisory-legend-panel .text-\[10px\],
.advisory-layer-controls .text-\[9px\],
.advisory-layer-controls .text-\[10px\] {
  color: #94a3b8 !important; /* slate-400 - brighter than slate-500 */
}

/* Depth scale labels */
.depth-scale-label,
.advisory-legend-panel span[class*="text-slate"] {
  color: #e2e8f0 !important; /* slate-200 */
}

/* Stats panel text */
.stats-panel .text-slate-400,
.stats-panel .text-slate-500 {
  color: #cbd5e1 !important;
}

/* Advisory footer text - make more visible */
.advisory-footer-text,
p[class*="text-slate-500"][class*="text-\[9px\]"] {
  color: #94a3b8 !important;
  opacity: 0.9;
}

/* Observation markers legend text */
.observation-markers-legend .text-slate-400 {
  color: #cbd5e1 !important;
}

/* Map overlay panels */
.map-overlay-panel {
  --text-primary: #f1f5f9;
  --text-secondary: #cbd5e1;
  --text-muted: #94a3b8;
}

.map-overlay-panel * {
  color: inherit;
}

/* Input fields in dark panels */
.advisory-layer-controls input,
.advisory-layer-controls select,
.advisory-legend-panel input {
  color: #f1f5f9 !important;
  background-color: rgba(30, 41, 59, 0.8) !important;
}

/* Badge text in dark panels */
.advisory-legend-panel .badge,
.advisory-layer-controls .badge {
  color: #f1f5f9;
}

/* Slider track labels */
.advisory-layer-controls .slider-label {
  color: #cbd5e1 !important;
}

/* ============================================
   PHASE M6: PERFORMANCE OPTIMIZATIONS
   ============================================ */

/* GPU acceleration for smooth panning/zooming */
.leaflet-tile-container {
  will-change: transform;
}

.leaflet-zoom-animated {
  will-change: transform;
}

/* Reduce repaints for overlay panes */
.leaflet-overlay-pane {
  will-change: contents;
}

/* Efficient blur rendering */
.depth-field-cell,
.ukc-zone-minimal,
.ukc-zone-restricted,
.ukc-zone-cautious {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Smooth transitions for layer toggles */
.advisory-layer-transition {
  transition: opacity 0.2s ease-out, transform 0.2s ease-out;
}

/* Reduce motion for users who prefer it */
@media (prefers-reduced-motion: reduce) {
  .current-position-pulse {
    animation: none;
  }
  
  .depth-marker-animate {
    animation: none;
    opacity: 1;
    transform: none;
  }
  
  .advisory-layer-transition {
    transition: none;
  }
}

/* ============================================
   PHASE M6: TOUCH INTERACTION HELPERS
   ============================================ */

/* Touch feedback on interactive elements */
@media (hover: none) {
  .advisory-layer-toggle:active,
  .advisory-control-button:active {
    transform: scale(0.95);
    transition: transform 0.1s ease;
  }
  
  /* Larger hit areas for toggles */
  .advisory-toggle-wrapper {
    padding: 8px;
    margin: -8px;
  }
}

/* Prevent accidental zoom on double-tap */
.advisory-controls-panel {
  touch-action: manipulation;
}

/* Better scroll behavior in panels */
.advisory-scrollable-panel {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

/* ============================================
   MOBILE LEGIBILITY & LAYOUT FIX
   January 2026 - Critical visibility fixes
   ============================================ */

/* FORCE LIGHT TEXT ON ALL DARK PANELS */
.advisory-layer-controls h4,
.advisory-layer-controls span,
.advisory-layer-controls label,
.advisory-layer-controls p,
.advisory-legend-panel h4,
.advisory-legend-panel h5,
.advisory-legend-panel span,
.advisory-legend-panel label,
.advisory-legend-panel p {
  color: #e2e8f0 !important; /* slate-200 - high visibility */
}

/* Muted text should still be readable */
.advisory-layer-controls .text-slate-400,
.advisory-layer-controls .text-slate-500,
.advisory-layer-controls [class*="text-slate-4"],
.advisory-layer-controls [class*="text-slate-5"],
.advisory-legend-panel .text-slate-400,
.advisory-legend-panel .text-slate-500,
.advisory-legend-panel [class*="text-slate-4"],
.advisory-legend-panel [class*="text-slate-5"] {
  color: #94a3b8 !important; /* slate-400 - minimum acceptable contrast */
}

/* Icon colors - ensure visibility */
.advisory-layer-controls svg,
.advisory-legend-panel svg {
  opacity: 1 !important;
}

/* Section titles - uppercase labels */
.advisory-layer-controls h4[class*="uppercase"],
.advisory-layer-controls h4[class*="text-slate-400"] {
  color: #cbd5e1 !important; /* slate-300 */
  font-weight: 600;
}

/* MOBILE PANEL LAYOUT - Prevent map obstruction */
@media (max-width: 768px) {
  /* Collapse layer controls to a smaller floating button by default */
  .advisory-layer-controls {
    position: fixed !important;
    top: auto !important;
    bottom: 120px !important;
    right: 8px !important;
    left: auto !important;
    max-width: 180px !important;
    min-width: auto !important;
    max-height: 50vh !important;
    padding: 8px !important;
    font-size: 10px !important;
    z-index: 1001 !important;
    /* Allow panel to be scrolled */
    overflow-y: auto;
    overflow-x: hidden;
  }
  
  /* Smaller toggle rows on mobile */
  .advisory-layer-controls .layer-toggle-row {
    min-height: 28px !important;
    padding: 2px 0 !important;
  }
  
  /* Smaller section spacing */
  .advisory-layer-controls .space-y-3 {
    gap: 6px !important;
  }
  
  /* Make panel collapsible - hide extra sections by default */
  .advisory-layer-controls .border-t {
    display: none;
  }
  
  /* Legend panel - bottom positioned, compact */
  .advisory-legend-panel,
  [class*="AdvisoryMapLegend"] {
    position: fixed !important;
    bottom: 8px !important;
    left: 8px !important;
    right: auto !important;
    top: auto !important;
    max-width: 150px !important;
    min-width: auto !important;
    padding: 6px !important;
    font-size: 9px !important;
    z-index: 1000 !important;
    max-height: 40vh !important;
    overflow-y: auto;
  }
  
  /* Observation density panel - hide on mobile by default */
  .observation-density-legend,
  [class*="ObservationDensity"] > div {
    display: none;
  }
  
  /* Time slider - compact */
  .advisory-time-slider {
    padding: 4px 8px !important;
  }
}

/* Very small screens (phone portrait) */
@media (max-width: 480px) {
  .advisory-layer-controls {
    max-width: 160px !important;
    bottom: 100px !important;
    padding: 6px !important;
  }
  
  .advisory-legend-panel,
  [class*="AdvisoryMapLegend"] {
    max-width: 130px !important;
    font-size: 8px !important;
  }
  
  /* Reduce map control clutter */
  .leaflet-control-zoom {
    transform: scale(0.85);
    transform-origin: top right;
  }
}

/* ENSURE CONTROLS DON'T BLOCK MAP CENTER */
@media (max-width: 768px) {
  /* Move controls to edges, leave center clear for map interaction */
  .leaflet-top.leaflet-right {
    top: 8px !important;
    right: 8px !important;
  }
  
  .leaflet-bottom.leaflet-left {
    bottom: 80px !important;
    left: 8px !important;
  }
  
  /* Reduce overall panel opacity slightly for better map visibility */
  .advisory-layer-controls,
  .advisory-legend-panel {
    background: rgba(15, 23, 42, 0.85) !important;
  }
}

/* ICON VISIBILITY FIX - Lucide icons */
.advisory-layer-controls svg[class*="lucide"],
.advisory-legend-panel svg[class*="lucide"] {
  stroke: currentColor !important;
  fill: none !important;
}

/* Layer toggle icons - specific color visibility */
.layer-toggle-row svg {
  opacity: 0.9 !important;
  min-width: 14px;
  min-height: 14px;
}

/* Draft/Track Display labels */
.advisory-control-button span {
  color: #cbd5e1 !important;
}

.advisory-control-button span:last-child {
  color: #e2e8f0 !important;
}

/* ============================================
   GLOBAL LEGIBILITY FIX - VESSEL DATA LAB
   Force light text on ALL dark panels
   January 2026
   ============================================ */

/* Apply to all Vessel Data Lab components */
[class*="bg-slate-900"],
[class*="bg-slate-800"] {
  /* Force all text inside dark backgrounds to be visible */
  --text-primary: #f1f5f9;   /* slate-100 */
  --text-secondary: #e2e8f0; /* slate-200 */
  --text-muted: #cbd5e1;     /* slate-300 */
  --text-dim: #94a3b8;       /* slate-400 - minimum */
}

/* Override ALL slate-400, slate-500 text in dark panels */
[class*="bg-slate-900"] .text-slate-400,
[class*="bg-slate-900"] .text-slate-500,
[class*="bg-slate-900"] [class*="text-slate-4"],
[class*="bg-slate-900"] [class*="text-slate-5"],
[class*="bg-slate-800"] .text-slate-400,
[class*="bg-slate-800"] .text-slate-500,
[class*="bg-slate-800"] [class*="text-slate-4"],
[class*="bg-slate-800"] [class*="text-slate-5"] {
  color: #cbd5e1 !important; /* slate-300 */
}

/* Labels and small text */
[class*="bg-slate-900"] label,
[class*="bg-slate-900"] .text-xs,
[class*="bg-slate-900"] .text-sm,
[class*="bg-slate-800"] label,
[class*="bg-slate-800"] .text-xs,
[class*="bg-slate-800"] .text-sm {
  color: #e2e8f0; /* slate-200 */
}

/* Card titles */
[class*="bg-slate-900"] [class*="CardTitle"],
[class*="bg-slate-900"] h3,
[class*="bg-slate-900"] h4,
[class*="bg-slate-800"] [class*="CardTitle"],
[class*="bg-slate-800"] h3,
[class*="bg-slate-800"] h4 {
  color: #f1f5f9 !important; /* slate-100 */
}

/* Ensure icons are visible */
[class*="bg-slate-900"] svg,
[class*="bg-slate-800"] svg {
  opacity: 0.9;
}

/* Border visibility fix */
[class*="bg-slate-900"] [class*="border-slate-800"],
[class*="bg-slate-800"] [class*="border-slate-800"] {
  border-color: #475569 !important; /* slate-600 - more visible */
}

/* Calendar View Custom Styles */

.calendar-container {
  font-family: 'Inter', sans-serif;
}

.rbc-calendar {
  background: transparent;
}

/* Toolbar styling */
.rbc-toolbar {
  padding: 1rem 0;
  margin-bottom: 1rem;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.rbc-toolbar button {
  padding: 0.5rem 1rem;
  border: 1px solid hsl(var(--border));
  background: hsl(var(--background));
  color: hsl(var(--foreground));
  border-radius: 0.375rem;
  font-size: 0.875rem;
  transition: all 0.2s;
}

.rbc-toolbar button:hover {
  background: hsl(var(--accent));
  border-color: hsl(var(--accent-foreground));
}

.rbc-toolbar button:active,
.rbc-toolbar button.rbc-active {
  background: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
  border-color: hsl(var(--primary));
}

.rbc-toolbar button:focus {
  outline: 2px solid hsl(var(--ring));
  outline-offset: 2px;
}

/* Month view */
.rbc-month-view {
  border: 1px solid hsl(var(--border));
  border-radius: 0.5rem;
  overflow: hidden;
}

.rbc-header {
  padding: 0.75rem;
  font-weight: 600;
  background: hsl(var(--muted));
  border-bottom: 1px solid hsl(var(--border));
}

.rbc-day-bg {
  border-left: 1px solid hsl(var(--border));
}

.rbc-off-range-bg {
  background: hsl(var(--muted) / 0.3);
}

.rbc-today {
  background: hsl(var(--primary) / 0.05);
}

.rbc-date-cell {
  padding: 0.5rem;
}

.rbc-current .rbc-button-link {
  font-weight: 700;
  color: hsl(var(--primary));
}

/* Event styling */
.rbc-event {
  padding: 2px 5px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 0.75rem;
  font-weight: 500;
}

.rbc-event:hover {
  opacity: 1 !important;
}

.rbc-event-label {
  font-size: 0.625rem;
}

.rbc-event-content {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Selected event */
.rbc-selected {
  outline: 2px solid hsl(var(--ring));
  outline-offset: 2px;
}

/* Week and day views */
.rbc-time-view {
  border: 1px solid hsl(var(--border));
  border-radius: 0.5rem;
}

.rbc-time-header-content {
  border-left: 1px solid hsl(var(--border));
}

.rbc-time-content {
  border-top: 1px solid hsl(var(--border));
}

.rbc-time-slot {
  border-top: 1px solid hsl(var(--border) / 0.3);
}

.rbc-current-time-indicator {
  background-color: hsl(var(--destructive));
  height: 2px;
}

/* Agenda view */
.rbc-agenda-view {
  border: 1px solid hsl(var(--border));
  border-radius: 0.5rem;
}

.rbc-agenda-view table.rbc-agenda-table {
  border-collapse: collapse;
}

.rbc-agenda-view table.rbc-agenda-table tbody > tr > td {
  padding: 0.75rem;
  border-top: 1px solid hsl(var(--border));
}

.rbc-agenda-view table.rbc-agenda-table tbody > tr:first-child > td {
  border-top: none;
}

.rbc-agenda-date-cell,
.rbc-agenda-time-cell {
  white-space: nowrap;
  font-weight: 600;
}

.rbc-agenda-event-cell {
  width: 100%;
}

/* Dark mode specific adjustments */
.dark .rbc-toolbar button {
  background: hsl(var(--card));
}

.dark .rbc-toolbar button:hover {
  background: hsl(var(--accent));
}

.dark .rbc-off-range-bg {
  background: hsl(var(--muted) / 0.2);
}

/* Responsive */
@media (max-width: 768px) {
  .rbc-toolbar {
    flex-direction: column;
  }
  
  .rbc-toolbar-label {
    text-align: center;
    width: 100%;
    padding: 0.5rem 0;
  }
  
  /* Mobile month view - smaller events */
  .rbc-month-view .rbc-event {
    font-size: 0.65rem;
    padding: 1px 3px;
    max-width: 100%;
  }
  
  .rbc-month-view .rbc-event-content {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
  }
  
  /* Show only first name on mobile */
  .rbc-month-view .rbc-row-segment {
    max-width: 100%;
    overflow: hidden;
  }
  
  .rbc-date-cell {
    padding: 0.25rem;
    font-size: 0.75rem;
  }
  
  .rbc-header {
    padding: 0.5rem 0.25rem;
    font-size: 0.7rem;
  }
  
  /* Reduce row height on mobile */
  .rbc-month-row {
    min-height: 60px;
  }
}

/* Tablet specific */
@media (min-width: 481px) and (max-width: 768px) {
  .rbc-month-view .rbc-event {
    font-size: 0.7rem;
  }
  
  .rbc-month-row {
    min-height: 80px;
  }
}

/* Year View Mobile Fixes */
.year-view-grid {
  display: grid;
  gap: 1rem;
}

@media (max-width: 480px) {
  .year-view-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (min-width: 481px) and (max-width: 768px) {
  .year-view-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

/**
 * Accessibility Styles
 * 
 * Global CSS for improved accessibility and readability.
 * Import this file in your main entry point to apply baseline improvements.
 * 
 * IMPORTANT: This file provides supplementary styles.
 * It does NOT override existing component styles.
 * 
 * Usage:
 * import '@/styles/accessibility.css';
 */

/* =============================================================================
   FONT SIZE ENFORCEMENT (Utility Classes)
   ============================================================================= */

/**
 * Operational UI minimum font size
 * Apply to operational interfaces (bridge, engine room, etc.)
 */
.operational-ui {
  /* Enforce minimum 14px font on all text */
  font-size: max(0.875rem, 14px);
}

.operational-ui * {
  /* Prevent inheritance of smaller sizes */
  font-size: max(inherit, 14px);
}

/* =============================================================================
   ENHANCED CONTRAST UTILITIES
   ============================================================================= */

/**
 * High contrast text utilities
 * Use these when maximum readability is required
 */
.text-contrast-high {
  color: rgb(15 23 42); /* slate-900 */
}

.dark .text-contrast-high {
  color: rgb(241 245 249); /* slate-100 */
}

.text-contrast-medium {
  color: rgb(51 65 85); /* slate-700 */
}

.dark .text-contrast-medium {
  color: rgb(203 213 225); /* slate-300 */
}

/* Critical text - always high contrast */
.text-critical-contrast {
  color: rgb(185 28 28); /* red-700 */
  font-weight: 600;
}

.dark .text-critical-contrast {
  color: rgb(252 165 165); /* red-300 */
  font-weight: 600;
}

/* =============================================================================
   NIGHT MODE ENHANCEMENTS
   ============================================================================= */

/**
 * Night mode styles
 * Apply .night class to root element for bridge operations
 */
.night {
  --background: 3 7 18;
  --foreground: 241 245 249;
  --card: 15 23 42;
  --card-foreground: 241 245 249;
  --primary: 220 38 38;
  --primary-foreground: 255 255 255;
  --muted: 30 41 59;
  --muted-foreground: 148 163 184;
  --accent: 69 10 10;
  --border: 69 10 10;
  --ring: 220 38 38;
}

/* Night mode text adjustments */
.night .text-muted-foreground {
  color: rgb(148 163 184); /* slate-400 - slightly brighter than default */
}

/* Night mode borders with red accent */
.night [class*="border"] {
  border-color: rgba(127, 29, 29, 0.4); /* red-900/40 */
}

/* Night mode card accents */
.night .card,
.night [class*="Card"] {
  box-shadow: 0 4px 6px -1px rgba(127, 29, 29, 0.2);
}

/* =============================================================================
   PANEL SEPARATION ENHANCEMENT
   ============================================================================= */

/**
 * Strong panel separation utilities
 * Ensure visible distinction between nested panels
 */
.panel-distinct {
  background: white;
  border: 1px solid rgb(226 232 240); /* slate-200 */
  border-radius: 0.75rem;
}

.dark .panel-distinct {
  background: rgb(15 23 42); /* slate-900 */
  border-color: rgb(51 65 85); /* slate-700 */
}

.panel-nested {
  background: rgb(248 250 252); /* slate-50 */
  border: 1px solid rgb(241 245 249); /* slate-100 */
  border-radius: 0.5rem;
}

.dark .panel-nested {
  background: rgb(30 41 59); /* slate-800 */
  border-color: rgb(51 65 85); /* slate-700 */
}

/* =============================================================================
   FOCUS VISIBILITY ENHANCEMENT
   ============================================================================= */

/**
 * Enhanced focus indicators
 * Ensures focus states are always visible
 */
:focus-visible {
  outline: 2px solid rgb(59 130 246); /* blue-500 */
  outline-offset: 2px;
}

.dark :focus-visible {
  outline-color: rgb(96 165 250); /* blue-400 */
}

.night :focus-visible {
  outline-color: rgb(239 68 68); /* red-500 */
}

/* Skip to main content link */
.skip-to-main {
  position: absolute;
  top: -100%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
  padding: 0.75rem 1.5rem;
  background: rgb(59 130 246);
  color: white;
  border-radius: 0.5rem;
  font-weight: 600;
  transition: top 0.2s ease;
}

.skip-to-main:focus {
  top: 1rem;
}

/* =============================================================================
   MOTION PREFERENCES
   ============================================================================= */

/**
 * Reduced motion support
 * Respects user preference for reduced motion
 */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* =============================================================================
   TEXT SELECTION
   ============================================================================= */

/**
 * Improved text selection visibility
 */
::selection {
  background: rgb(191 219 254); /* blue-200 */
  color: rgb(15 23 42); /* slate-900 */
}

.dark ::selection {
  background: rgb(30 64 175); /* blue-800 */
  color: rgb(241 245 249); /* slate-100 */
}

.night ::selection {
  background: rgb(127 29 29); /* red-900 */
  color: rgb(254 202 202); /* red-200 */
}

/* =============================================================================
   SCROLLBAR STYLING
   ============================================================================= */

/**
 * Custom scrollbar for better visibility in dark mode
 */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-track {
  background: rgb(241 245 249); /* slate-100 */
  border-radius: 5px;
}

::-webkit-scrollbar-thumb {
  background: rgb(148 163 184); /* slate-400 */
  border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
  background: rgb(100 116 139); /* slate-500 */
}

.dark ::-webkit-scrollbar-track {
  background: rgb(30 41 59); /* slate-800 */
}

.dark ::-webkit-scrollbar-thumb {
  background: rgb(71 85 105); /* slate-600 */
}

.dark ::-webkit-scrollbar-thumb:hover {
  background: rgb(100 116 139); /* slate-500 */
}

.night ::-webkit-scrollbar-thumb {
  background: rgb(127 29 29); /* red-900 */
}

/* =============================================================================
   LINK ACCESSIBILITY
   ============================================================================= */

/**
 * Ensure links are distinguishable from text
 */
a:not([class]) {
  color: rgb(37 99 235); /* blue-600 */
  text-decoration: underline;
  text-underline-offset: 2px;
}

a:not([class]):hover {
  color: rgb(29 78 216); /* blue-700 */
}

.dark a:not([class]) {
  color: rgb(96 165 250); /* blue-400 */
}

.dark a:not([class]):hover {
  color: rgb(147 197 253); /* blue-300 */
}

/* =============================================================================
   TABLE ACCESSIBILITY
   ============================================================================= */

/**
 * Enhanced table row visibility
 */
.table-accessible tbody tr:nth-child(even) {
  background: rgb(248 250 252); /* slate-50 */
}

.dark .table-accessible tbody tr:nth-child(even) {
  background: rgb(30 41 59); /* slate-800 */
}

.table-accessible tbody tr:hover {
  background: rgb(241 245 249); /* slate-100 */
}

.dark .table-accessible tbody tr:hover {
  background: rgb(51 65 85); /* slate-700 */
}

/* =============================================================================
   BUTTON CONTRAST ENHANCEMENT
   ============================================================================= */

/**
 * Ensure buttons have sufficient contrast in all states
 */
.btn-contrast {
  min-height: 44px; /* Touch target */
  padding: 0.75rem 1rem;
  font-weight: 500;
}

.btn-contrast:disabled {
  opacity: 0.6; /* Higher than typical 0.5 for readability */
}

/* ============================================
   ANIMATIONS & MICRO-INTERACTIONS
   ============================================ */

/* ============================================
   KEYFRAME ANIMATIONS
   ============================================ */

/* Shimmer loading effect */
@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

.animate-shimmer {
  animation: shimmer 2s infinite linear;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);
  background-size: 200% 100%;
}

/* Fade In */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Fade In Up */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Fade In Down */
@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Scale In */
@keyframes scaleIn {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* Slide In Left */
@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Slide In Right */
@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Pulse */
@keyframes pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.05); }
}

/* Shimmer loading effect */
@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

/* Enhanced shimmer for skeleton loading */
.animate-shimmer {
  animation: shimmer 2s ease-in-out infinite;
}

/* Bounce */
@keyframes bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

/* Glow pulse */
@keyframes glowPulse {
  0%, 100% { box-shadow: 0 0 5px rgba(59, 130, 246, 0.5); }
  50% { box-shadow: 0 0 20px rgba(59, 130, 246, 0.8); }
}

/* Counter increment animation */
@keyframes countUp {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Rotate */
@keyframes rotate {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* ============================================
   ANIMATION UTILITY CLASSES
   ============================================ */

.animate-fade-in {
  animation: fadeIn 0.3s ease-out forwards;
}

.animate-fade-in-up {
  animation: fadeInUp 0.4s ease-out forwards;
}

.animate-fade-in-down {
  animation: fadeInDown 0.4s ease-out forwards;
}

.animate-scale-in {
  animation: scaleIn 0.3s ease-out forwards;
}

.animate-slide-in-left {
  animation: slideInLeft 0.4s ease-out forwards;
}

.animate-slide-in-right {
  animation: slideInRight 0.4s ease-out forwards;
}

.animate-pulse-slow {
  animation: pulse 2s ease-in-out infinite;
}

.animate-bounce-slow {
  animation: bounce 2s ease-in-out infinite;
}

.animate-glow {
  animation: glowPulse 2s ease-in-out infinite;
}

.animate-spin-slow {
  animation: rotate 3s linear infinite;
}

/* Staggered animations for lists */
.stagger-animation > *:nth-child(1) { animation-delay: 0ms; }
.stagger-animation > *:nth-child(2) { animation-delay: 50ms; }
.stagger-animation > *:nth-child(3) { animation-delay: 100ms; }
.stagger-animation > *:nth-child(4) { animation-delay: 150ms; }
.stagger-animation > *:nth-child(5) { animation-delay: 200ms; }
.stagger-animation > *:nth-child(6) { animation-delay: 250ms; }
.stagger-animation > *:nth-child(7) { animation-delay: 300ms; }
.stagger-animation > *:nth-child(8) { animation-delay: 350ms; }

/* ============================================
   LOADING STATES
   ============================================ */

/* Skeleton loading */
.skeleton {
  background: linear-gradient(
    90deg,
    hsl(var(--muted)) 25%,
    hsl(var(--muted-foreground) / 0.1) 50%,
    hsl(var(--muted)) 75%
  );
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 4px;
}

.skeleton-text {
  height: 1em;
  margin-bottom: 0.5em;
}

.skeleton-title {
  height: 1.5em;
  width: 60%;
  margin-bottom: 0.75em;
}

.skeleton-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}

.skeleton-card {
  height: 120px;
  border-radius: 8px;
}

/* Spinner */
.spinner {
  width: 24px;
  height: 24px;
  border: 3px solid hsl(var(--muted));
  border-top-color: hsl(var(--primary));
  border-radius: 50%;
  animation: rotate 0.8s linear infinite;
}

.spinner-sm {
  width: 16px;
  height: 16px;
  border-width: 2px;
}

.spinner-lg {
  width: 40px;
  height: 40px;
  border-width: 4px;
}

/* ============================================
   HOVER & INTERACTION EFFECTS
   ============================================ */

/* Card hover lift */
.hover-lift {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.hover-lift:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px -8px rgba(0, 0, 0, 0.15);
}

/* Card hover glow */
.hover-glow {
  transition: box-shadow 0.3s ease;
}

.hover-glow:hover {
  box-shadow: 0 0 20px rgba(59, 130, 246, 0.3);
}

/* Button press effect */
.press-effect {
  transition: transform 0.1s ease;
}

.press-effect:active {
  transform: scale(0.97);
}

/* Icon hover rotate */
.hover-rotate {
  transition: transform 0.3s ease;
}

.hover-rotate:hover {
  transform: rotate(15deg);
}

/* Link underline animation */
.link-underline {
  position: relative;
}

.link-underline::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 2px;
  background: currentColor;
  transition: width 0.3s ease;
}

.link-underline:hover::after {
  width: 100%;
}

/* ============================================
   TRANSITION UTILITIES
   ============================================ */

.transition-fast {
  transition: all 0.15s ease;
}

.transition-normal {
  transition: all 0.3s ease;
}

.transition-slow {
  transition: all 0.5s ease;
}

.transition-colors {
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.transition-transform {
  transition: transform 0.2s ease;
}

.transition-opacity {
  transition: opacity 0.2s ease;
}

.transition-shadow {
  transition: box-shadow 0.2s ease;
}

/* ============================================
   PAGE TRANSITIONS
   ============================================ */

.page-enter {
  opacity: 0;
  transform: translateY(10px);
}

.page-enter-active {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.page-exit {
  opacity: 1;
}

.page-exit-active {
  opacity: 0;
  transition: opacity 0.2s ease;
}

/* ============================================
   SPECIAL EFFECTS
   ============================================ */

/* Gradient border */
.gradient-border {
  position: relative;
  background: hsl(var(--card));
  border-radius: 12px;
}

.gradient-border::before {
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: 14px;
  background: linear-gradient(135deg, #3b82f6, #8b5cf6, #ec4899);
  z-index: -1;
}

/* Glass morphism */
.glass {
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.dark .glass {
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Spotlight effect on hover */
.spotlight {
  position: relative;
  overflow: hidden;
}

.spotlight::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.2),
    transparent
  );
  transition: left 0.5s ease;
}

.spotlight:hover::before {
  left: 100%;
}

/* Number counter effect class */
.counter-value {
  display: inline-block;
  animation: countUp 0.5s ease-out forwards;
}

/* Status indicator pulse */
.status-online {
  position: relative;
}

.status-online::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 8px;
  height: 8px;
  background: #22c55e;
  border-radius: 50%;
  animation: pulse 2s ease-in-out infinite;
}

/* ============================================
   REDUCED MOTION
   ============================================ */

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Mobile & Tablet Responsive Styles */

/* ============================================
   GLOBAL MOBILE OPTIMIZATIONS
   ============================================ */

/* Touch-friendly tap targets (minimum 44px) */
@media (max-width: 768px) {
  button, 
  [role="button"],
  .btn,
  a.nav-link {
    min-height: 44px;
    min-width: 44px;
  }
  
  /* Larger touch targets for interactive elements */
  input[type="checkbox"],
  input[type="radio"] {
    width: 20px;
    height: 20px;
  }
  
  /* Ensure all clickable rows have minimum height */
  tr[role="button"],
  tr[data-clickable="true"],
  [data-radix-collection-item] {
    min-height: 48px;
  }
  
  /* Touch-manipulation for all interactive elements */
  button,
  [role="button"],
  a,
  input,
  select,
  textarea,
  [role="menuitem"],
  [role="option"],
  [role="tab"],
  [role="checkbox"],
  [role="radio"],
  [role="switch"] {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }
  
  /* Ensure list items have proper touch targets */
  [role="listitem"],
  [role="menuitem"],
  [role="option"] {
    min-height: 44px;
    padding-top: 12px;
    padding-bottom: 12px;
  }
}

/* ============================================
   RESPONSIVE TYPOGRAPHY
   ============================================ */

/* Mobile-first text scaling */
@media (max-width: 640px) {
  h1 { font-size: 1.75rem !important; }
  h2 { font-size: 1.5rem !important; }
  h3 { font-size: 1.25rem !important; }
  h4 { font-size: 1.125rem !important; }
  
  .text-4xl { font-size: 1.75rem !important; }
  .text-3xl { font-size: 1.5rem !important; }
  .text-2xl { font-size: 1.25rem !important; }
}

/* Tablet adjustments */
@media (min-width: 641px) and (max-width: 1024px) {
  h1 { font-size: 2rem !important; }
  h2 { font-size: 1.75rem !important; }
}

/* ============================================
   MOBILE TABLE HANDLING
   ============================================ */

/* Stats cards - stack on very small screens (<380px) */
@media (max-width: 380px) {
  .stats-grid-mobile {
    grid-template-columns: 1fr !important;
  }
}

/* Stack tables on mobile */
@media (max-width: 640px) {
  .mobile-card-table {
    display: block;
  }
  
  .mobile-card-table thead {
    display: none;
  }
  
  .mobile-card-table tbody {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
  }
  
  .mobile-card-table tr {
    display: flex;
    flex-direction: column;
    background: var(--card);
    border-radius: 0.5rem;
    padding: 1rem;
    border: 1px solid var(--border);
    gap: 0.5rem;
  }
  
  .mobile-card-table td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.25rem 0;
    border: none !important;
  }
  
  .mobile-card-table td::before {
    content: attr(data-label);
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    color: var(--muted-foreground);
  }
}

/* Horizontal scroll for complex tables on tablet */
@media (min-width: 641px) and (max-width: 1024px) {
  .table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* ============================================
   MOBILE CARDS & GRID
   ============================================ */

/* Single column on mobile, adaptive on tablet */
@media (max-width: 640px) {
  .mobile-single-col {
    grid-template-columns: 1fr !important;
  }
  
  /* Reduce card padding on mobile */
  .card-compact {
    padding: 0.75rem !important;
  }
}

/* Tablet: 2 columns */
@media (min-width: 641px) and (max-width: 1024px) {
  .tablet-two-col {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ============================================
   MOBILE NAVIGATION & SIDEBAR
   ============================================ */

/* Hide desktop sidebar on mobile/tablet */
@media (max-width: 1023px) {
  .desktop-sidebar {
    display: none !important;
  }
  
  /* Ensure mobile nav is visible */
  .mobile-nav {
    display: flex !important;
  }
}

/* Desktop: show sidebar, hide mobile nav */
@media (min-width: 1024px) {
  .mobile-nav {
    display: none !important;
  }
  
  .desktop-sidebar {
    display: flex !important;
  }
}

/* ============================================
   MOBILE FORM OPTIMIZATIONS
   ============================================ */

@media (max-width: 640px) {
  /* Full width inputs on mobile */
  input, select, textarea {
    width: 100% !important;
    font-size: 16px !important; /* Prevents iOS zoom on focus */
  }
  
  /* Stack form groups */
  .form-row {
    flex-direction: column !important;
    gap: 1rem;
  }
  
  /* Full width buttons on mobile */
  .btn-mobile-full {
    width: 100%;
  }
}

/* ============================================
   MOBILE DIALOG/MODAL OPTIMIZATIONS
   ============================================ */

@media (max-width: 640px) {
  /* Full screen modals on mobile */
  [role="dialog"] {
    max-width: 100vw !important;
    max-height: 100vh !important;
    margin: 0 !important;
    border-radius: 0 !important;
  }
  
  /* Dialog content padding */
  .dialog-content-mobile {
    padding: 1rem !important;
  }
}

/* ============================================
   MOBILE CHART OPTIMIZATIONS
   ============================================ */

@media (max-width: 640px) {
  /* Reduce chart heights on mobile */
  .chart-container {
    height: 200px !important;
  }
  
  /* Stack chart legends */
  .recharts-legend-wrapper {
    position: relative !important;
    width: 100% !important;
  }
}

@media (min-width: 641px) and (max-width: 1024px) {
  .chart-container {
    height: 250px !important;
  }
}

/* ============================================
   MOBILE SPACING UTILITIES
   ============================================ */

@media (max-width: 640px) {
  .mobile-p-2 { padding: 0.5rem !important; }
  .mobile-p-3 { padding: 0.75rem !important; }
  .mobile-p-4 { padding: 1rem !important; }
  .mobile-px-2 { padding-left: 0.5rem !important; padding-right: 0.5rem !important; }
  .mobile-py-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; }
  .mobile-gap-2 { gap: 0.5rem !important; }
  .mobile-gap-3 { gap: 0.75rem !important; }
  .mobile-mb-4 { margin-bottom: 1rem !important; }
  .mobile-mt-4 { margin-top: 1rem !important; }
}

/* ============================================
   MOBILE VISIBILITY UTILITIES
   ============================================ */

/* Hide on mobile */
@media (max-width: 640px) {
  .hide-mobile { display: none !important; }
}

/* Hide on tablet */
@media (min-width: 641px) and (max-width: 1024px) {
  .hide-tablet { display: none !important; }
}

/* Show only on mobile */
@media (min-width: 641px) {
  .show-mobile-only { display: none !important; }
}

/* Show only on tablet */
@media (max-width: 640px), (min-width: 1025px) {
  .show-tablet-only { display: none !important; }
}

/* ============================================
   TOUCH INTERACTION IMPROVEMENTS
   ============================================ */

@media (max-width: 1024px) {
  /* Disable hover effects on touch devices */
  .no-touch-hover:hover {
    background-color: inherit !important;
    transform: none !important;
  }
  
  /* Add active state for touch */
  .touch-active:active {
    opacity: 0.7;
    transform: scale(0.98);
  }
  
  /* Smooth scrolling for better UX */
  .scroll-smooth {
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
  }
}

/* ============================================
   SAFE AREA INSETS (for notched devices)
   ============================================ */

@supports (padding: max(0px)) {
  .safe-area-inset {
    padding-left: max(1rem, env(safe-area-inset-left));
    padding-right: max(1rem, env(safe-area-inset-right));
    padding-bottom: max(1rem, env(safe-area-inset-bottom));
  }
}

/* ============================================
   LANDSCAPE MODE OPTIMIZATIONS
   ============================================ */

@media (max-width: 896px) and (orientation: landscape) {
  /* Reduce header height in landscape */
  .header-mobile {
    height: 48px !important;
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  
  /* Horizontal scroll for certain content */
  .landscape-scroll-x {
    overflow-x: auto;
    white-space: nowrap;
  }
}

/* ============================================
   MODERN MOBILE ENHANCEMENTS
   ============================================ */

/* Smooth mobile scrolling */
@media (max-width: 768px) {
  .scroll-smooth {
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
  }

  /* Better card layouts on mobile */
  .mobile-card {
    border-radius: 1rem;
    padding: 1rem;
    background: var(--card);
    border: 1px solid var(--border);
    transition: all 0.2s ease;
  }

  .mobile-card:active {
    transform: scale(0.98);
  }

  /* Floating action button mobile style */
  .mobile-fab {
    position: fixed;
    bottom: 5rem;
    right: 1rem;
    z-index: 40;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  }

  /* Mobile-friendly dialogs */
  [role="dialog"] {
    max-height: 90vh;
    overflow-y: auto;
    margin: 1rem;
    border-radius: 1rem;
  }

  /* Better spacing for mobile forms */
  .mobile-form-spacing > * + * {
    margin-top: 1rem;
  }

  /* Mobile badge scaling */
  .badge {
    font-size: 0.65rem;
    padding: 0.2rem 0.5rem;
  }

  /* Swipeable tabs */
  [role="tablist"] {
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  [role="tablist"]::-webkit-scrollbar {
    display: none;
  }

  /* Tab scroll indicator - shows gradient fade to indicate more content */
  .tab-scroll-container {
    position: relative;
  }

  .tab-scroll-container::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 40px;
    background: linear-gradient(to right, transparent, var(--background, white) 80%);
    pointer-events: none;
    opacity: 1;
    transition: opacity 0.2s;
  }

  .tab-scroll-container.scrolled-end::after {
    opacity: 0;
  }

  /* Also add left fade when scrolled */
  .tab-scroll-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 20px;
    background: linear-gradient(to left, transparent, var(--background, white) 80%);
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.2s;
    z-index: 1;
  }

  .tab-scroll-container.scrolled-start::before {
    opacity: 1;
  }

  /* Safe area handling for notched devices */
  .safe-area-bottom {
    padding-bottom: env(safe-area-inset-bottom, 1rem);
  }

  .safe-area-top {
    padding-top: env(safe-area-inset-top, 0);
  }
}

/* Small phone specific (iPhone SE, etc.) */
@media (max-width: 375px) {
  .text-xs-mobile {
    font-size: 0.625rem !important;
  }

  /* Even more compact cards */
  .mobile-card {
    padding: 0.75rem;
  }

  /* Smaller buttons on very small screens */
  button, [role="button"] {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
}

/* ============================================
   DARK MODE POLISH
   ============================================ */

/* Dark mode specific enhancements */
.dark {
  /* Smoother color transitions */
  color-scheme: dark;
}

/* Dark mode cards - better contrast */
.dark .bg-white {
  background-color: hsl(220, 18%, 10%) !important;
}

.dark .bg-white\/80 {
  background-color: hsl(220, 18%, 10%, 0.9) !important;
}

/* Dark mode gradients */
.dark .bg-gradient-to-r.from-blue-50 {
  --tw-gradient-from: hsl(220, 40%, 12%);
  --tw-gradient-to: hsl(200, 40%, 12%);
}

.dark .bg-gradient-to-b.from-gray-50 {
  --tw-gradient-from: hsl(220, 20%, 8%);
  --tw-gradient-to: hsl(220, 20%, 6%);
}

/* Dark mode stat cards */
.dark .bg-blue-100 {
  background-color: hsl(220, 60%, 18%) !important;
}

.dark .bg-green-100 {
  background-color: hsl(150, 50%, 15%) !important;
}

.dark .bg-red-100 {
  background-color: hsl(0, 50%, 18%) !important;
}

.dark .bg-amber-100,
.dark .bg-yellow-100 {
  background-color: hsl(40, 50%, 15%) !important;
}

.dark .bg-purple-100 {
  background-color: hsl(280, 50%, 18%) !important;
}

.dark .bg-orange-100 {
  background-color: hsl(25, 50%, 15%) !important;
}

.dark .bg-pink-100 {
  background-color: hsl(330, 50%, 18%) !important;
}

.dark .bg-cyan-100 {
  background-color: hsl(180, 50%, 15%) !important;
}

/* Dark mode text colors for badges */
.dark .text-blue-700 {
  color: hsl(210, 80%, 70%) !important;
}

.dark .text-green-700 {
  color: hsl(150, 70%, 60%) !important;
}

.dark .text-red-700,
.dark .text-red-800 {
  color: hsl(0, 80%, 70%) !important;
}

.dark .text-amber-700,
.dark .text-yellow-700,
.dark .text-yellow-800 {
  color: hsl(45, 90%, 65%) !important;
}

.dark .text-orange-700,
.dark .text-orange-800 {
  color: hsl(25, 90%, 65%) !important;
}

.dark .text-purple-700,
.dark .text-purple-800 {
  color: hsl(280, 80%, 75%) !important;
}

.dark .text-pink-700 {
  color: hsl(330, 80%, 75%) !important;
}

/* Dark mode input focus */
.dark input:focus,
.dark textarea:focus,
.dark select:focus {
  border-color: hsl(0, 70%, 50%) !important;
  box-shadow: 0 0 0 2px hsl(0, 70%, 50%, 0.2) !important;
}

/* Dark mode buttons */
.dark .bg-primary {
  background-color: hsl(0, 70%, 50%) !important;
}

.dark .bg-primary:hover {
  background-color: hsl(0, 70%, 45%) !important;
}

/* Dark mode hover states */
.dark .hover\:bg-gray-100:hover {
  background-color: hsl(220, 15%, 15%) !important;
}

.dark .hover\:bg-gray-50:hover {
  background-color: hsl(220, 15%, 12%) !important;
}

/* Dark mode shadows */
.dark .shadow-lg {
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.4), 0 4px 6px -2px rgba(0, 0, 0, 0.3) !important;
}

.dark .shadow-md {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -1px rgba(0, 0, 0, 0.2) !important;
}

/* Dark mode mobile specific */
@media (max-width: 768px) {
  .dark .mobile-card {
    background: hsl(220, 18%, 12%);
    border-color: hsl(0, 40%, 20%, 0.4);
  }

  .dark .mobile-card:active {
    background: hsl(220, 18%, 14%);
  }

  /* Dark mode mobile header */
  .dark header,
  .dark .mobile-header {
    background: hsl(220, 20%, 8%, 0.95) !important;
    backdrop-filter: blur(8px);
  }

  /* Dark mode mobile nav */
  .dark .mobile-nav,
  .dark [data-mobile-nav] {
    background: hsl(220, 18%, 8%) !important;
    border-color: hsl(0, 40%, 20%, 0.3);
  }

  /* Dark mode floating elements */
  .dark .mobile-fab {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
  }

  /* Dark mode dialogs on mobile */
  .dark [role="dialog"] {
    background: hsl(220, 18%, 10%);
    border: 1px solid hsl(0, 40%, 20%, 0.3);
  }
}

/* Dark mode skeleton loading */
.dark .animate-pulse {
  background-color: hsl(220, 15%, 15%);
}

/* Dark mode scrollbar */
.dark ::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.dark ::-webkit-scrollbar-track {
  background: hsl(220, 18%, 8%);
}

.dark ::-webkit-scrollbar-thumb {
  background: hsl(220, 15%, 25%);
  border-radius: 4px;
}

.dark ::-webkit-scrollbar-thumb:hover {
  background: hsl(220, 15%, 35%);
}

/* Dark mode toast notifications */
.dark [data-sonner-toast] {
  background: hsl(220, 18%, 12%) !important;
  border: 1px solid hsl(0, 40%, 20%, 0.3) !important;
  color: hsl(210, 15%, 93%) !important;
}

/* Dark mode ring focus states */
.dark .ring-blue-500 {
  --tw-ring-color: hsl(210, 80%, 55%) !important;
}

.dark .ring-red-300,
.dark .ring-red-500 {
  --tw-ring-color: hsl(0, 70%, 45%) !important;
}

/* ============================================
   PRINT STYLES (for tablets used for reference)
   ============================================ */

@media print {
  .no-print {
    display: none !important;
  }
  
  .print-full-width {
    width: 100% !important;
    max-width: none !important;
  }
}

/* ============================================
   PAGE HEADER TITLE FIX (P2)
   Prevents title truncation on mobile - allows multi-line wrapping
   ============================================ */

@media (max-width: 640px) {
  /* Allow page header titles to wrap instead of truncate */
  .page-header h1,
  header h1,
  [data-testid*="page"] h1,
  [data-testid*="dashboard"] h1,
  .border-b h1 {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
    word-wrap: break-word !important;
    line-height: 1.3 !important;
  }

  /* Override truncate class on page headers specifically */
  .border-b h1.truncate,
  header h1.truncate {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
  }

  /* Ensure min-w-0 containers allow proper wrapping */
  .border-b .min-w-0 h1,
  header .min-w-0 h1 {
    min-width: auto !important;
    max-width: 100% !important;
  }
}

/* ============================================
   THEME ENHANCEMENTS
   Premium UI styling for yacht management system
   ============================================ */

/* ============================================
   ENHANCED CARD STYLES
   ============================================ */

/* Premium card with subtle gradient */
.card-premium {
  background: linear-gradient(135deg, 
    hsl(var(--card)) 0%, 
    hsl(var(--card) / 0.95) 100%
  );
  border: 1px solid hsl(var(--border) / 0.5);
  box-shadow: 
    0 1px 3px rgba(0, 0, 0, 0.05),
    0 4px 12px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
}

.card-premium:hover {
  border-color: hsl(var(--primary) / 0.3);
  box-shadow: 
    0 4px 12px rgba(0, 0, 0, 0.08),
    0 8px 24px rgba(0, 0, 0, 0.08);
}

/* Stat card with icon background */
.stat-card {
  position: relative;
  overflow: hidden;
}

.stat-card::before {
  content: '';
  position: absolute;
  top: -20px;
  right: -20px;
  width: 100px;
  height: 100px;
  background: linear-gradient(135deg, 
    hsl(var(--primary) / 0.1) 0%,
    transparent 70%
  );
  border-radius: 50%;
}

/* Feature card */
.feature-card {
  border-radius: 16px;
  padding: 1.5rem;
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border));
  transition: all 0.3s ease;
}

.feature-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px -12px rgba(0, 0, 0, 0.2);
}

/* ============================================
   GRADIENT BACKGROUNDS
   ============================================ */

/* Primary gradient */
.bg-gradient-primary {
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
}

/* Success gradient */
.bg-gradient-success {
  background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
}

/* Warning gradient */
.bg-gradient-warning {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
}

/* Danger gradient */
.bg-gradient-danger {
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
}

/* Purple/Indigo gradient */
.bg-gradient-purple {
  background: linear-gradient(135deg, #8b5cf6 0%, #6366f1 100%);
}

/* Ocean gradient (yacht theme) */
.bg-gradient-ocean {
  background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 50%, #0369a1 100%);
}

/* Sunset gradient */
.bg-gradient-sunset {
  background: linear-gradient(135deg, #f97316 0%, #ea580c 50%, #c2410c 100%);
}

/* Subtle background gradients */
.bg-gradient-subtle {
  background: linear-gradient(180deg, 
    hsl(var(--background)) 0%, 
    hsl(var(--muted) / 0.3) 100%
  );
}

.bg-gradient-radial {
  background: radial-gradient(
    ellipse at top,
    hsl(var(--primary) / 0.05) 0%,
    transparent 50%
  );
}

/* ============================================
   ENHANCED BADGES
   ============================================ */

.badge-glow {
  box-shadow: 0 0 10px currentColor;
}

.badge-success {
  background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
  color: white;
  border: none;
}

.badge-warning {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
  color: white;
  border: none;
}

.badge-danger {
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
  color: white;
  border: none;
}

.badge-info {
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
  color: white;
  border: none;
}

.badge-purple {
  background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
  color: white;
  border: none;
}

/* Status dot badges */
.status-dot {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.status-dot::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
}

.status-dot-pulse::before {
  animation: pulse 2s ease-in-out infinite;
}

/* ============================================
   ENHANCED BUTTONS
   ============================================ */

/* Gradient button */
.btn-gradient {
  background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
  color: white;
  border: none;
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
}

.btn-gradient:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 15px rgba(59, 130, 246, 0.4);
}

.btn-gradient::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.2),
    transparent
  );
  transition: left 0.5s ease;
}

.btn-gradient:hover::before {
  left: 100%;
}

/* Icon button with circle background */
.btn-icon-circle {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: hsl(var(--muted));
  transition: all 0.2s ease;
}

.btn-icon-circle:hover {
  background: hsl(var(--primary));
  color: white;
  transform: scale(1.05);
}

/* ============================================
   ENHANCED TABLE STYLES
   ============================================ */

.table-enhanced {
  border-collapse: separate;
  border-spacing: 0;
}

.table-enhanced thead th {
  background: hsl(var(--muted) / 0.5);
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  padding: 1rem;
  border-bottom: 2px solid hsl(var(--border));
}

.table-enhanced tbody tr {
  transition: all 0.2s ease;
}

.table-enhanced tbody tr:hover {
  background: hsl(var(--muted) / 0.3);
}

.table-enhanced tbody td {
  padding: 1rem;
  border-bottom: 1px solid hsl(var(--border) / 0.5);
}

/* Striped table */
.table-striped tbody tr:nth-child(even) {
  background: hsl(var(--muted) / 0.2);
}

/* ============================================
   ENHANCED INPUT STYLES
   ============================================ */

.input-enhanced {
  background: hsl(var(--background));
  border: 2px solid hsl(var(--border));
  border-radius: 10px;
  padding: 0.75rem 1rem;
  transition: all 0.2s ease;
}

.input-enhanced:focus {
  border-color: hsl(var(--primary));
  box-shadow: 0 0 0 3px hsl(var(--primary) / 0.1);
  outline: none;
}

.input-enhanced:hover:not(:focus) {
  border-color: hsl(var(--primary) / 0.5);
}

/* Input with icon */
.input-with-icon {
  position: relative;
}

.input-with-icon input {
  padding-left: 2.5rem;
}

.input-with-icon .input-icon {
  position: absolute;
  left: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  color: hsl(var(--muted-foreground));
}

/* ============================================
   ENHANCED SIDEBAR STYLES
   ============================================ */

.sidebar-nav-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  border-radius: 10px;
  color: hsl(var(--muted-foreground));
  transition: all 0.2s ease;
  position: relative;
  overflow: hidden;
}

.sidebar-nav-item:hover {
  background: hsl(var(--muted));
  color: hsl(var(--foreground));
}

.sidebar-nav-item.active {
  background: hsl(var(--primary) / 0.1);
  color: hsl(var(--primary));
  font-weight: 500;
}

.sidebar-nav-item.active::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 60%;
  background: hsl(var(--primary));
  border-radius: 0 3px 3px 0;
}

/* ============================================
   DASHBOARD SPECIFIC ENHANCEMENTS
   ============================================ */

/* Stat number with gradient */
.stat-number {
  font-size: 2rem;
  font-weight: 700;
  background: linear-gradient(135deg, hsl(var(--foreground)) 0%, hsl(var(--muted-foreground)) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Stat label */
.stat-label {
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: hsl(var(--muted-foreground));
}

/* Progress bar enhanced */
.progress-enhanced {
  height: 8px;
  border-radius: 4px;
  background: hsl(var(--muted));
  overflow: hidden;
}

.progress-enhanced .progress-bar {
  height: 100%;
  border-radius: 4px;
  background: linear-gradient(90deg, #3b82f6 0%, #8b5cf6 100%);
  transition: width 0.5s ease;
}

/* ============================================
   AVATAR ENHANCEMENTS
   ============================================ */

.avatar-ring {
  padding: 2px;
  background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
  border-radius: 50%;
}

.avatar-ring img {
  border: 2px solid hsl(var(--background));
  border-radius: 50%;
}

.avatar-group {
  display: flex;
}

.avatar-group > * {
  margin-left: -8px;
  border: 2px solid hsl(var(--background));
  border-radius: 50%;
}

.avatar-group > *:first-child {
  margin-left: 0;
}

/* ============================================
   NOTIFICATION & ALERT ENHANCEMENTS
   ============================================ */

.alert-enhanced {
  border-radius: 12px;
  padding: 1rem 1.25rem;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  border-left: 4px solid;
}

.alert-info {
  background: hsl(214 95% 93%);
  border-left-color: #3b82f6;
  color: hsl(214 50% 30%);
}

.alert-success {
  background: hsl(142 76% 93%);
  border-left-color: #22c55e;
  color: hsl(142 50% 25%);
}

.alert-warning {
  background: hsl(38 92% 93%);
  border-left-color: #f59e0b;
  color: hsl(38 50% 30%);
}

.alert-danger {
  background: hsl(0 84% 93%);
  border-left-color: #ef4444;
  color: hsl(0 50% 30%);
}

.dark .alert-info {
  background: hsl(214 50% 15%);
  color: hsl(214 90% 80%);
}

.dark .alert-success {
  background: hsl(142 50% 15%);
  color: hsl(142 90% 80%);
}

.dark .alert-warning {
  background: hsl(38 50% 15%);
  color: hsl(38 90% 80%);
}

.dark .alert-danger {
  background: hsl(0 50% 15%);
  color: hsl(0 90% 80%);
}

/* ============================================
   TOOLTIP ENHANCEMENTS
   ============================================ */

.tooltip-enhanced {
  padding: 0.5rem 0.75rem;
  background: hsl(var(--foreground));
  color: hsl(var(--background));
  border-radius: 8px;
  font-size: 0.875rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* ============================================
   DIVIDER ENHANCEMENTS
   ============================================ */

.divider-gradient {
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    hsl(var(--border)),
    transparent
  );
}

.divider-with-text {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.divider-with-text::before,
.divider-with-text::after {
  content: '';
  flex: 1;
  height: 1px;
  background: hsl(var(--border));
}

/* ============================================
   SCROLL ENHANCEMENTS
   ============================================ */

/* Custom scrollbar */
.custom-scrollbar::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

.custom-scrollbar::-webkit-scrollbar-track {
  background: transparent;
}

.custom-scrollbar::-webkit-scrollbar-thumb {
  background: hsl(var(--muted-foreground) / 0.3);
  border-radius: 3px;
}

.custom-scrollbar::-webkit-scrollbar-thumb:hover {
  background: hsl(var(--muted-foreground) / 0.5);
}

/* ============================================
   YACHT-SPECIFIC THEME COLORS
   ============================================ */

/* Department colors */
.dept-deck { color: #3b82f6; }
.dept-deck-bg { background: #3b82f6; }
.dept-engine { color: #f59e0b; }
.dept-engine-bg { background: #f59e0b; }
.dept-interior { color: #8b5cf6; }
.dept-interior-bg { background: #8b5cf6; }
.dept-galley { color: #22c55e; }
.dept-galley-bg { background: #22c55e; }

/* Status colors */
.status-active { color: #22c55e; }
.status-inactive { color: #6b7280; }
.status-on-leave { color: #f59e0b; }
.status-signed-in { color: #3b82f6; }
