@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

*, ::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.17 | 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 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: Inter, system-ui, sans-serif; /* 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]) {
  -webkit-text-decoration: underline dotted;
          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::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

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;
}

html {
    font-family: 'Inter', system-ui, sans-serif;
    min-height: 100vh;
    /* Smooth transition for theme changes */
    transition:
      background-color 0.3s ease,
      color 0.3s ease;
  }

body{
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
    margin: 0;
    min-height: 100vh;
    /* Smooth transition for theme changes */
    transition:
      background-color 0.3s ease,
      color 0.3s ease;
}

/* Apply smooth transitions to all elements for theme changes.
     Exclude Fluent components — Griffel manages its own transitions. */

*:not(.fui-FluentProvider *){
  border-color: hsl(var(--border));
}

@media (prefers-contrast: more) {

  *:not(.fui-FluentProvider *) {
    border-color: ButtonText;
  }
}

*:not(.fui-FluentProvider *) {
    transition:
      background-color 0.3s ease,
      color 0.3s ease,
      border-color 0.3s ease,
      box-shadow 0.3s ease;
  }

/* Preserve faster transitions for hover/focus states */

*:not(.fui-FluentProvider *):hover,
  *:not(.fui-FluentProvider *):focus {
    transition:
      background-color 0.15s ease,
      color 0.15s ease,
      border-color 0.15s ease,
      box-shadow 0.15s ease,
      transform 0.15s ease;
  }

.\!container{
  width: 100% !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 2rem !important;
  padding-left: 2rem !important;
}

.container{
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 2rem;
  padding-left: 2rem;
}

@media (min-width: 1000px){

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

  .container{
    max-width: 1000px;
  }
}

.profile-dropdown-menu {
    background-color: #FFFFFF;
    color: #242424;
  }

.profile-dropdown-item:hover {
    background-color: #F5F5F5;
    border-radius: 4px;
  }

/* Dark mode */

.dark .profile-dropdown-menu {
    background-color: #292929;
    color: #FFFFFF;
  }

.dark .profile-dropdown-item:hover {
    background-color: #3D3D3D;
    border-radius: 4px;
  }

/* Mobile Modal Bottom Sheet */

@media (max-width: 639px) {
    /* Modal footer buttons - 50% width each */
    .mobile-modal-footer {
      display: flex !important;
      width: 100% !important;
    }

    .mobile-modal-footer > button {
      flex: 1 !important;
    }
    /* Footer buttons: 50% width each */
    .company-footer-buttons {
      gap: 12px !important;
    }

    .company-footer-buttons > button {
      flex: 1 !important;
    }

    /* Mobile Send code button - visible on mobile only */
    .mobile-send-code-btn {
      display: block !important;
    }

    /* Mobile email grid bottom margin */
    .mobile-email-grid {
      margin-bottom: 12px !important;
    }

    /* Mobile drawer - opens from bottom, full width */
    .mobile-drawer-fullscreen {
      top: auto !important;
      max-width: 100vw !important;
      max-height: 90vh !important;
      border-radius: 12px 12px 0 0 !important;
    }
  }

/* Hide mobile Send code button on desktop */

@media (min-width: 768px) {
    .mobile-send-code-btn {
      display: none !important;
    }
  }

/* Default: hide mobile send code button; shown only via mobile media query above */

.mobile-send-code-btn {
    display: none;
  }

.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;
}

.visible{
  visibility: visible;
}

.invisible{
  visibility: hidden;
}

.static{
  position: static;
}

.fixed{
  position: fixed;
}

.absolute{
  position: absolute;
}

.relative{
  position: relative;
}

.sticky{
  position: sticky;
}

.inset-0{
  inset: 0px;
}

.inset-2{
  inset: 0.5rem;
}

.inset-3{
  inset: 0.75rem;
}

.inset-y-0{
  top: 0px;
  bottom: 0px;
}

.-right-2{
  right: -0.5rem;
}

.-top-2{
  top: -0.5rem;
}

.bottom-0{
  bottom: 0px;
}

.bottom-4{
  bottom: 1rem;
}

.bottom-full{
  bottom: 100%;
}

.left-0{
  left: 0px;
}

.left-1\/2{
  left: 50%;
}

.left-3{
  left: 0.75rem;
}

.left-4{
  left: 1rem;
}

.left-\[50\%\]{
  left: 50%;
}

.left-full{
  left: 100%;
}

.right-0{
  right: 0px;
}

.right-1{
  right: 0.25rem;
}

.right-3{
  right: 0.75rem;
}

.right-4{
  right: 1rem;
}

.right-full{
  right: 100%;
}

.top-0{
  top: 0px;
}

.top-1{
  top: 0.25rem;
}

.top-1\/2{
  top: 50%;
}

.top-3{
  top: 0.75rem;
}

.top-4{
  top: 1rem;
}

.top-8{
  top: 2rem;
}

.top-\[28px\]{
  top: 28px;
}

.top-\[50\%\]{
  top: 50%;
}

.top-full{
  top: 100%;
}

.isolate{
  isolation: isolate;
}

.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-\[1\]{
  z-index: 1;
}

.z-\[9999\]{
  z-index: 9999;
}

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

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

.-mx-4{
  margin-left: -1rem;
  margin-right: -1rem;
}

.-mx-6{
  margin-left: -1.5rem;
  margin-right: -1.5rem;
}

.mx-1{
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}

.mx-2{
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

.mx-auto{
  margin-left: auto;
  margin-right: auto;
}

.\!mt-1{
  margin-top: 0.25rem !important;
}

.\!mt-\[2px\]{
  margin-top: 2px !important;
}

.-mb-1\.5{
  margin-bottom: -0.375rem;
}

.-mb-4{
  margin-bottom: -1rem;
}

.-ml-1{
  margin-left: -0.25rem;
}

.-ml-1\.5{
  margin-left: -0.375rem;
}

.-mr-1\.5{
  margin-right: -0.375rem;
}

.-mt-1\.5{
  margin-top: -0.375rem;
}

.-mt-\[1\.25rem\]{
  margin-top: -1.25rem;
}

.mb-0{
  margin-bottom: 0px;
}

.mb-1{
  margin-bottom: 0.25rem;
}

.mb-12{
  margin-bottom: 3rem;
}

.mb-2{
  margin-bottom: 0.5rem;
}

.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;
}

.mb-9{
  margin-bottom: 2.25rem;
}

.ml-1{
  margin-left: 0.25rem;
}

.ml-2{
  margin-left: 0.5rem;
}

.ml-4{
  margin-left: 1rem;
}

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

.mr-1{
  margin-right: 0.25rem;
}

.mr-2{
  margin-right: 0.5rem;
}

.mr-3{
  margin-right: 0.75rem;
}

.mr-4{
  margin-right: 1rem;
}

.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-12{
  margin-top: 3rem;
}

.mt-2{
  margin-top: 0.5rem;
}

.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-\[-12px\]{
  margin-top: -12px;
}

.mt-auto{
  margin-top: auto;
}

.line-clamp-2{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.block{
  display: block;
}

.inline-block{
  display: inline-block;
}

.inline{
  display: inline;
}

.flex{
  display: flex;
}

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

.table{
  display: table;
}

.grid{
  display: grid;
}

.contents{
  display: contents;
}

.hidden{
  display: none;
}

.aspect-video{
  aspect-ratio: 16 / 9;
}

.h-1{
  height: 0.25rem;
}

.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-20{
  height: 5rem;
}

.h-24{
  height: 6rem;
}

.h-3{
  height: 0.75rem;
}

.h-3\.5{
  height: 0.875rem;
}

.h-32{
  height: 8rem;
}

.h-4{
  height: 1rem;
}

.h-48{
  height: 12rem;
}

.h-5{
  height: 1.25rem;
}

.h-6{
  height: 1.5rem;
}

.h-64{
  height: 16rem;
}

.h-7{
  height: 1.75rem;
}

.h-8{
  height: 2rem;
}

.h-80{
  height: 20rem;
}

.h-9{
  height: 2.25rem;
}

.h-96{
  height: 24rem;
}

.h-\[100px\]{
  height: 100px;
}

.h-\[12px\]{
  height: 12px;
}

.h-\[140px\]{
  height: 140px;
}

.h-\[150px\]{
  height: 150px;
}

.h-\[245px\]{
  height: 245px;
}

.h-\[52px\]{
  height: 52px;
}

.h-\[60px\]{
  height: 60px;
}

.h-\[650px\]{
  height: 650px;
}

.h-auto{
  height: auto;
}

.h-full{
  height: 100%;
}

.h-px{
  height: 1px;
}

.h-screen{
  height: 100vh;
}

.max-h-0{
  max-height: 0px;
}

.max-h-32{
  max-height: 8rem;
}

.max-h-48{
  max-height: 12rem;
}

.max-h-60{
  max-height: 15rem;
}

.max-h-80{
  max-height: 20rem;
}

.max-h-96{
  max-height: 24rem;
}

.max-h-full{
  max-height: 100%;
}

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

.min-h-11{
  min-height: 2.75rem;
}

.min-h-16{
  min-height: 4rem;
}

.min-h-\[2\.5rem\]{
  min-height: 2.5rem;
}

.min-h-\[200px\]{
  min-height: 200px;
}

.min-h-\[24px\]{
  min-height: 24px;
}

.min-h-\[300px\]{
  min-height: 300px;
}

.min-h-\[30px\]{
  min-height: 30px;
}

.min-h-\[350px\]{
  min-height: 350px;
}

.min-h-\[40px\]{
  min-height: 40px;
}

.min-h-\[44px\]{
  min-height: 44px;
}

.min-h-\[500px\]{
  min-height: 500px;
}

.min-h-full{
  min-height: 100%;
}

.min-h-screen{
  min-height: 100vh;
}

.w-0\.5{
  width: 0.125rem;
}

.w-1\/2{
  width: 50%;
}

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

.w-10{
  width: 2.5rem;
}

.w-11{
  width: 2.75rem;
}

.w-12{
  width: 3rem;
}

.w-16{
  width: 4rem;
}

.w-2{
  width: 0.5rem;
}

.w-20{
  width: 5rem;
}

.w-24{
  width: 6rem;
}

.w-3{
  width: 0.75rem;
}

.w-3\.5{
  width: 0.875rem;
}

.w-4{
  width: 1rem;
}

.w-48{
  width: 12rem;
}

.w-5{
  width: 1.25rem;
}

.w-56{
  width: 14rem;
}

.w-6{
  width: 1.5rem;
}

.w-64{
  width: 16rem;
}

.w-7{
  width: 1.75rem;
}

.w-8{
  width: 2rem;
}

.w-80{
  width: 20rem;
}

.w-96{
  width: 24rem;
}

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

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

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

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

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

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

.w-auto{
  width: auto;
}

.w-full{
  width: 100%;
}

.w-px{
  width: 1px;
}

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

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

.min-w-11{
  min-width: 2.75rem;
}

.min-w-64{
  min-width: 16rem;
}

.min-w-80{
  min-width: 20rem;
}

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

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

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

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

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

.min-w-full{
  min-width: 100%;
}

.min-w-max{
  min-width: -moz-max-content;
  min-width: max-content;
}

.max-w-2xl{
  max-width: 42rem;
}

.max-w-3xl{
  max-width: 48rem;
}

.max-w-4xl{
  max-width: 56rem;
}

.max-w-6xl{
  max-width: 72rem;
}

.max-w-7xl{
  max-width: 80rem;
}

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

.max-w-\[calc\(100vw-2rem\)\]{
  max-width: calc(100vw - 2rem);
}

.max-w-full{
  max-width: 100%;
}

.max-w-lg{
  max-width: 32rem;
}

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

.max-w-none{
  max-width: none;
}

.max-w-sm{
  max-width: 24rem;
}

.max-w-xs{
  max-width: 20rem;
}

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

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

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

.shrink{
  flex-shrink: 1;
}

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

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

.caption-bottom{
  caption-side: 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-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-\[-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-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));
}

.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));
}

.scale-50{
  --tw-scale-x: .5;
  --tw-scale-y: .5;
  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));
}

.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 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-default{
  cursor: default;
}

.cursor-help{
  cursor: help;
}

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

.cursor-pointer{
  cursor: pointer;
}

.resize-none{
  resize: none;
}

.resize{
  resize: both;
}

.list-inside{
  list-style-position: inside;
}

.list-disc{
  list-style-type: disc;
}

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

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

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

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

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

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

.grid-cols-\[20px_1fr\]{
  grid-template-columns: 20px 1fr;
}

.grid-cols-\[auto_2fr_2\.5fr_1fr\]{
  grid-template-columns: auto 2fr 2.5fr 1fr;
}

.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;
}

.gap-0\.5{
  gap: 0.125rem;
}

.gap-1{
  gap: 0.25rem;
}

.gap-1\.5{
  gap: 0.375rem;
}

.gap-10{
  gap: 2.5rem;
}

.gap-2{
  gap: 0.5rem;
}

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

.gap-3{
  gap: 0.75rem;
}

.gap-4{
  gap: 1rem;
}

.gap-6{
  gap: 1.5rem;
}

.gap-8{
  gap: 2rem;
}

.gap-x-3{
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
}

.gap-y-5{
  row-gap: 1.25rem;
}

.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-x-8 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(2rem * var(--tw-space-x-reverse));
  margin-left: calc(2rem * 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-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-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-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-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-border > :not([hidden]) ~ :not([hidden]){
  border-color: hsl(var(--border));
}

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

.overflow-auto{
  overflow: auto;
}

.overflow-hidden{
  overflow: hidden;
}

.overflow-visible{
  overflow: visible;
}

.overflow-x-auto{
  overflow-x: auto;
}

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

.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-wrap{
  white-space: pre-wrap;
}

.break-words{
  overflow-wrap: break-word;
}

.break-all{
  word-break: break-all;
}

.rounded{
  border-radius: 0.25rem;
}

.rounded-full{
  border-radius: 9999px;
}

.rounded-lg{
  border-radius: var(--radius);
}

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

.rounded-sm{
  border-radius: calc(var(--radius) - 4px);
}

.rounded-xl{
  border-radius: 0.75rem;
}

.\!rounded-t-none{
  border-top-left-radius: 0px !important;
  border-top-right-radius: 0px !important;
}

.rounded-b-md{
  border-bottom-right-radius: calc(var(--radius) - 2px);
  border-bottom-left-radius: calc(var(--radius) - 2px);
}

.rounded-b-none{
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
}

.rounded-br-md{
  border-bottom-right-radius: calc(var(--radius) - 2px);
}

.border{
  border-width: 1px;
}

.border-0{
  border-width: 0px;
}

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

.border-4{
  border-width: 4px;
}

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

.border-b{
  border-bottom-width: 1px;
}

.border-b-2{
  border-bottom-width: 2px;
}

.border-l-4{
  border-left-width: 4px;
}

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

.border-t{
  border-top-width: 1px;
}

.border-dashed{
  border-style: dashed;
}

.border-\[\#D1D1D1\]{
  --tw-border-opacity: 1;
  border-color: rgb(209 209 209 / 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-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-600{
  --tw-border-opacity: 1;
  border-color: rgb(37 99 235 / var(--tw-border-opacity, 1));
}

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

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

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

.border-current{
  border-color: currentColor;
}

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

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

.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-700{
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}

.border-gray-900{
  --tw-border-opacity: 1;
  border-color: rgb(17 24 39 / 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-400{
  --tw-border-opacity: 1;
  border-color: rgb(74 222 128 / var(--tw-border-opacity, 1));
}

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

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

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

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

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

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

.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-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-500{
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}

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

.border-transparent{
  border-color: transparent;
}

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

.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-t-blue-600{
  --tw-border-opacity: 1;
  border-top-color: rgb(37 99 235 / var(--tw-border-opacity, 1));
}

.border-t-primary{
  border-top-color: hsl(var(--primary));
}

.border-t-transparent{
  border-top-color: transparent;
}

.border-opacity-100{
  --tw-border-opacity: 1;
}

.border-opacity-20{
  --tw-border-opacity: 0.2;
}

.bg-\[\#0078d4\]{
  --tw-bg-opacity: 1;
  background-color: rgb(0 120 212 / var(--tw-bg-opacity, 1));
}

.bg-\[\#616161\]{
  --tw-bg-opacity: 1;
  background-color: rgb(97 97 97 / var(--tw-bg-opacity, 1));
}

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

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

.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-50{
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}

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

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

.bg-black{
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}

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

.bg-black\/80{
  background-color: rgb(0 0 0 / 0.8);
}

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

.bg-blue-100\/70{
  background-color: rgb(219 234 254 / 0.7);
}

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

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

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

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

.bg-blue-600\/20{
  background-color: rgb(37 99 235 / 0.2);
}

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

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

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

.bg-current{
  background-color: currentColor;
}

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

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

.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-50{
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.bg-gray-500{
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
}

.bg-gray-500\/80{
  background-color: rgb(107 114 128 / 0.8);
}

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

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

.bg-gray-800{
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.bg-gray-900{
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / 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-50{
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}

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

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

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

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

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

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

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

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

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

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

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

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

.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-purple-100{
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
}

.bg-purple-50{
  --tw-bg-opacity: 1;
  background-color: rgb(250 245 255 / var(--tw-bg-opacity, 1));
}

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

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

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

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

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

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

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

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

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

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

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

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

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

.bg-yellow-50{
  --tw-bg-opacity: 1;
  background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));
}

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

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

.bg-opacity-10{
  --tw-bg-opacity: 0.1;
}

.bg-opacity-25{
  --tw-bg-opacity: 0.25;
}

.bg-opacity-90{
  --tw-bg-opacity: 0.9;
}

.bg-\[radial-gradient\(circle_at_30\%_20\%\2c rgba\(59\2c 130\2c 246\2c 0\.05\)\2c transparent_50\%\)\]{
  background-image: radial-gradient(circle at 30% 20%,rgba(59,130,246,0.05),transparent 50%);
}

.bg-\[radial-gradient\(circle_at_30\%_20\%\2c rgba\(59\2c 130\2c 246\2c 0\.1\)\2c transparent_50\%\)\]{
  background-image: radial-gradient(circle at 30% 20%,rgba(59,130,246,0.1),transparent 50%);
}

.bg-\[radial-gradient\(circle_at_70\%_80\%\2c rgba\(147\2c 51\2c 234\2c 0\.05\)\2c transparent_50\%\)\]{
  background-image: radial-gradient(circle at 70% 80%,rgba(147,51,234,0.05),transparent 50%);
}

.bg-\[radial-gradient\(circle_at_70\%_80\%\2c rgba\(147\2c 51\2c 234\2c 0\.1\)\2c transparent_50\%\)\]{
  background-image: radial-gradient(circle at 70% 80%,rgba(147,51,234,0.1),transparent 50%);
}

.bg-gradient-to-b{
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}

.bg-gradient-to-r{
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}

.from-blue-300{
  --tw-gradient-from: #93c5fd var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(147 197 253 / 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-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-primary\/10{
  --tw-gradient-from: hsl(var(--primary) / 0.1) 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);
}

.to-cyan-300{
  --tw-gradient-to: #67e8f9 var(--tw-gradient-to-position);
}

.to-indigo-50{
  --tw-gradient-to: #eef2ff var(--tw-gradient-to-position);
}

.to-pink-50{
  --tw-gradient-to: #fdf2f8 var(--tw-gradient-to-position);
}

.to-primary\/5{
  --tw-gradient-to: hsl(var(--primary) / 0.05) var(--tw-gradient-to-position);
}

.to-white{
  --tw-gradient-to: #fff var(--tw-gradient-to-position);
}

.bg-cover{
  background-size: cover;
}

.bg-clip-text{
  -webkit-background-clip: text;
          background-clip: text;
}

.bg-center{
  background-position: center;
}

.fill-muted-foreground{
  fill: hsl(var(--muted-foreground));
}

.fill-yellow-400{
  fill: #facc15;
}

.object-contain{
  -o-object-fit: contain;
     object-fit: contain;
}

.object-cover{
  -o-object-fit: cover;
     object-fit: cover;
}

.object-center{
  -o-object-position: center;
     object-position: center;
}

.p-0{
  padding: 0px;
}

.p-0\.5{
  padding: 0.125rem;
}

.p-1{
  padding: 0.25rem;
}

.p-1\.5{
  padding: 0.375rem;
}

.p-12{
  padding: 3rem;
}

.p-2{
  padding: 0.5rem;
}

.p-3{
  padding: 0.75rem;
}

.p-4{
  padding: 1rem;
}

.p-6{
  padding: 1.5rem;
}

.p-8{
  padding: 2rem;
}

.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-12{
  padding-left: 3rem;
  padding-right: 3rem;
}

.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-11{
  padding-top: 2.75rem;
  padding-bottom: 2.75rem;
}

.py-12{
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.py-16{
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.py-2{
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.py-20{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.py-24{
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.py-28{
  padding-top: 7rem;
  padding-bottom: 7rem;
}

.py-3{
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.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;
}

.pb-1{
  padding-bottom: 0.25rem;
}

.pb-2{
  padding-bottom: 0.5rem;
}

.pb-20{
  padding-bottom: 5rem;
}

.pb-3{
  padding-bottom: 0.75rem;
}

.pb-4{
  padding-bottom: 1rem;
}

.pl-0{
  padding-left: 0px;
}

.pl-1{
  padding-left: 0.25rem;
}

.pl-10{
  padding-left: 2.5rem;
}

.pl-6{
  padding-left: 1.5rem;
}

.pr-0{
  padding-right: 0px;
}

.pr-10{
  padding-right: 2.5rem;
}

.pr-2{
  padding-right: 0.5rem;
}

.pr-3{
  padding-right: 0.75rem;
}

.pr-4{
  padding-right: 1rem;
}

.pt-0{
  padding-top: 0px;
}

.pt-0\.5{
  padding-top: 0.125rem;
}

.pt-1{
  padding-top: 0.25rem;
}

.pt-10{
  padding-top: 2.5rem;
}

.pt-2{
  padding-top: 0.5rem;
}

.pt-3{
  padding-top: 0.75rem;
}

.pt-4{
  padding-top: 1rem;
}

.pt-5{
  padding-top: 1.25rem;
}

.pt-6{
  padding-top: 1.5rem;
}

.pt-\[120px\]{
  padding-top: 120px;
}

.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;
}

.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-\[12px\]{
  font-size: 12px;
}

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

.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-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;
}

.italic{
  font-style: italic;
}

.leading-6{
  line-height: 1.5rem;
}

.leading-7{
  line-height: 1.75rem;
}

.leading-none{
  line-height: 1;
}

.leading-relaxed{
  line-height: 1.625;
}

.leading-tight{
  line-height: 1.25;
}

.tracking-tight{
  letter-spacing: -0.025em;
}

.text-\[\#0F6CBD\]{
  --tw-text-opacity: 1;
  color: rgb(15 108 189 / var(--tw-text-opacity, 1));
}

.text-\[\#115EA3\]{
  --tw-text-opacity: 1;
  color: rgb(17 94 163 / var(--tw-text-opacity, 1));
}

.text-\[\#242424\]{
  --tw-text-opacity: 1;
  color: rgb(36 36 36 / var(--tw-text-opacity, 1));
}

.text-\[\#424242\]{
  --tw-text-opacity: 1;
  color: rgb(66 66 66 / var(--tw-text-opacity, 1));
}

.text-\[\#616161\]{
  --tw-text-opacity: 1;
  color: rgb(97 97 97 / var(--tw-text-opacity, 1));
}

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

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

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

.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-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-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-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-200{
  --tw-text-opacity: 1;
  color: rgb(165 243 252 / var(--tw-text-opacity, 1));
}

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

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

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

.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-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-500{
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}

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

.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-muted-foreground{
  color: hsl(var(--muted-foreground));
}

.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-orange-600{
  --tw-text-opacity: 1;
  color: rgb(234 88 12 / 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-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-500{
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}

.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-secondary-foreground{
  color: hsl(var(--secondary-foreground));
}

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

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

.text-transparent{
  color: transparent;
}

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

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

.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));
}

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

.underline-offset-2{
  text-underline-offset: 2px;
}

.underline-offset-4{
  text-underline-offset: 4px;
}

.opacity-0{
  opacity: 0;
}

.opacity-100{
  opacity: 1;
}

.opacity-20{
  opacity: 0.2;
}

.opacity-25{
  opacity: 0.25;
}

.opacity-50{
  opacity: 0.5;
}

.opacity-60{
  opacity: 0.6;
}

.opacity-70{
  opacity: 0.7;
}

.opacity-75{
  opacity: 0.75;
}

.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-\[0px_4px_8px_0px_rgba\(0\2c 0\2c 0\2c 0\.14\)\]{
  --tw-shadow: 0px 4px 8px 0px rgba(0,0,0,0.14);
  --tw-shadow-colored: 0px 4px 8px 0px 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-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);
}

.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-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-blue-500{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
}

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

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

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

.ring-offset-background{
  --tw-ring-offset-color: hsl(var(--background));
}

.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);
}

.drop-shadow-\[0_2px_4px_rgba\(0\2c 0\2c 0\2c 0\.5\)\]{
  --tw-drop-shadow: drop-shadow(0 2px 4px rgba(0,0,0,0.5));
  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_2px_4px_rgba\(0\2c 0\2c 0\2c 0\.8\)\]{
  --tw-drop-shadow: drop-shadow(0 2px 4px rgba(0,0,0,0.8));
  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_3px_3px_rgba\(0\2c 0\2c 0\2c 0\.9\)\]{
  --tw-drop-shadow: drop-shadow(0 3px 3px rgba(0,0,0,0.9));
  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_5px_5px_rgba\(0\2c 0\2c 0\2c 0\.9\)\]{
  --tw-drop-shadow: drop-shadow(0 5px 5px rgba(0,0,0,0.9));
  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);
}

.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-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);
}

.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-all{
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-colors{
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-opacity{
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-shadow{
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-transform{
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.duration-1000{
  transition-duration: 1000ms;
}

.duration-150{
  transition-duration: 150ms;
}

.duration-200{
  transition-duration: 200ms;
}

.duration-300{
  transition-duration: 300ms;
}

.duration-500{
  transition-duration: 500ms;
}

.ease-in-out{
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.ease-out{
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

@keyframes enter{

  from{
    opacity: 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));
  }
}

.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;
}

.ease-in-out{
  animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.ease-out{
  animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

.running{
  animation-play-state: running;
}

.paused{
  animation-play-state: paused;
}

/* Apply dark mode styles to all dark themes */

.github-dark,
  .discord-dark,
  .material-dark,
  .vscode-dark,
  .dracula,
  .one-dark,
  .tokyo-night,
  .nova-dark,
  .nova {
    color-scheme: dark;
  }

/* Custom scrollbar with transitions */

::-webkit-scrollbar{
  width: 0.5rem;
}

::-webkit-scrollbar-track{
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
    -webkit-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
}

/* Theme-specific scrollbar track colors */

.nova-dark ::-webkit-scrollbar-track{
  --tw-bg-opacity: 1;
  background-color: rgb(26 29 33 / var(--tw-bg-opacity, 1));
}

.nova ::-webkit-scrollbar-track{
  --tw-bg-opacity: 1;
  background-color: rgb(31 31 31 / var(--tw-bg-opacity, 1));
}

::-webkit-scrollbar-thumb{
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
    -webkit-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
}

/* Theme-specific scrollbar thumb colors */

.nova-dark ::-webkit-scrollbar-thumb{
  --tw-bg-opacity: 1;
  background-color: rgb(43 47 54 / var(--tw-bg-opacity, 1));
}

.nova ::-webkit-scrollbar-thumb{
  --tw-bg-opacity: 1;
  background-color: rgb(51 51 51 / var(--tw-bg-opacity, 1));
}

::-webkit-scrollbar-thumb:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
}

/* Theme-specific scrollbar thumb hover colors */

.nova-dark ::-webkit-scrollbar-thumb:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(58 143 220 / var(--tw-bg-opacity, 1));
}

.nova ::-webkit-scrollbar-thumb:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(247 84 95 / var(--tw-bg-opacity, 1));
}

/* Smooth theme transitions for common elements */

.theme-transition {
    transition:
      background-color 0.3s ease,
      color 0.3s ease,
      border-color 0.3s ease;
  }

/* Line clamp utilities for app descriptions */

.line-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

/* App card hover effects */

.app-card-hover {
    transition: all 0.2s ease-in-out;
  }

.app-card-hover:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  }

/* Dark theme hover effects */

.github-dark .app-card-hover:hover,
  .discord-dark .app-card-hover:hover,
  .material-dark .app-card-hover:hover,
  .vscode-dark .app-card-hover:hover,
  .dracula .app-card-hover:hover,
  .one-dark .app-card-hover:hover,
  .tokyo-night .app-card-hover:hover,
  .nova-dark .app-card-hover:hover,
  .nova .app-card-hover:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
  }

/* ============================================================
   Fluent UI v9 — Comprehensive global CSS reset inside FluentProvider

   FluentProvider manages its own styling (CSS-in-JS via Griffel),
   focus rings, spacing, typography, and theming. Global CSS rules
   from Tailwind, accessibility overrides, and custom styles MUST
   NOT bleed into Fluent components.

   This block neutralizes all known global overrides inside
   .fui-FluentProvider so Fluent components render natively.
   ============================================================ */

/* Reset touch target overrides — Fluent handles its own sizing */

.fui-FluentProvider button,
.fui-FluentProvider a[role='button'],
.fui-FluentProvider [role='button'],
.fui-FluentProvider input[type='checkbox'],
.fui-FluentProvider input[type='radio'],
.fui-FluentProvider a {
  min-height: unset !important;
}

/* Reset global focus ring overrides — Fluent has its own focus indicators */

.fui-FluentProvider button:focus-visible,
.fui-FluentProvider a:focus-visible,
.fui-FluentProvider [role='button']:focus-visible {
  outline: revert !important;
  outline-offset: revert !important;
  box-shadow: revert !important;
  background-color: revert !important;
  color: revert !important;
}

/* Reset global input focus overrides — Fluent Input has its own focus indicator */

.fui-FluentProvider input:focus,
.fui-FluentProvider input:focus-visible,
.fui-FluentProvider input:active {
  outline: none !important;
  box-shadow: none !important;
  --tw-ring-shadow: 0 0 #0000 !important;
  --tw-ring-offset-shadow: 0 0 #0000 !important;
  --tw-ring-color: transparent !important;
}

/* Reset Tailwind base styles that bleed into Fluent components.
   Tailwind's @layer base sets border-color on ALL * elements.
   This interferes with Fluent's internal Griffel styles.
   Include ::before and ::after because Fluent Card (appearance="outline")
   renders its border via a ::after pseudo-element. */

.fui-FluentProvider *,
.fui-FluentProvider *::before,
.fui-FluentProvider *::after {
  border-color: unset;
}

/* Fix validation message icon alignment — Fluent sets vertical-align: -1px
   which misaligns when the inherited font (Inter) has a different baseline
   than Fluent's expected Segoe UI. Override to align properly. */

.fui-FluentProvider .fui-Field__validationMessageIcon {
  vertical-align: 1.5px;
}

/* Neutralize Chrome / Edge / Safari autofill background on read-only inputs.

   When the user autofills the email pair, WebKit paints the input with a
   yellow (light) or blue (dark) `-webkit-box-shadow: inset` overlay. After
   the user verifies the OTP the email inputs become `readOnly` and we set
   their inline background to transparent — but the autofill overlay
   persists, leaving the verified field with a coloured rectangle that
   conflicts with the "verified, static value" treatment.

   The `background-clip: text` trick repaints the autofill background ONLY
   behind the glyphs (effectively invisible against a transparent field),
   while the long transition defeats WebKit's autofill flash animation. */

.fui-FluentProvider input[readonly]:-webkit-autofill,
.fui-FluentProvider input[readonly]:-webkit-autofill:hover,
.fui-FluentProvider input[readonly]:-webkit-autofill:focus,
.fui-FluentProvider input[readonly]:-webkit-autofill:active {
  -webkit-text-fill-color: var(--colorNeutralForeground1) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-transition: background-color 5000s ease-in-out 0s !important;
  transition: background-color 5000s ease-in-out 0s !important;
}

/* Reset mobile overrides — Fluent handles responsive sizing */

@media (max-width: 768px) {
  .fui-FluentProvider button,
  .fui-FluentProvider a,
  .fui-FluentProvider [role='button'] {
    min-height: unset !important;
  }
}

/* Reset high contrast overrides — Fluent has built-in high contrast support */

@media (prefers-contrast: high) {
  .fui-FluentProvider input:focus-visible {
    outline: revert !important;
    outline-offset: revert !important;
    background-color: revert !important;
    color: revert !important;
  }
}

@media (prefers-contrast: more) {
  .fui-FluentProvider .theme-transition {
    background-color: revert !important;
    color: revert !important;
    border-color: revert !important;
  }

  .fui-FluentProvider button:hover {
    background-color: revert !important;
  }
}

/* Motion preferences support for accessibility.
   Scoped to exclude Fluent — Fluent v9 has its own reduced-motion handling. */

@media (prefers-reduced-motion: reduce) {
  *:not(.fui-FluentProvider *),
  *:not(.fui-FluentProvider *)::before,
  *:not(.fui-FluentProvider *)::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  /* Disable specific problematic animations */
  .timeline-pulse,
  .timeline-glow,
  .progress-shimmer::after,
  [data-motion='true'] {
    animation: none !important;
  }
}

/* Ensure minimum touch target sizes for accessibility.
   Scoped with `:not(.fui-FluentProvider *)` to exclude any element rendered
   inside FluentProvider — Fluent v9 manages its own touch-target sizing via
   Griffel `:where()` selectors (0 specificity), so a bare `button` rule
   here would otherwise win the cascade and inflate Combobox chevrons,
   Dropdown buttons, etc. on mobile. */

button:not(.fui-FluentProvider *),
a[role='button']:not(.fui-FluentProvider *),
[role='button']:not(.fui-FluentProvider *),
input[type='checkbox']:not(.fui-FluentProvider *),
input[type='radio']:not(.fui-FluentProvider *) {
  min-height: 44px;
  min-width: 44px;
}

/* Exception for inline buttons that have adequate padding */

.inline-button {
  min-height: auto;
  min-width: auto;
  padding: 12px;
}

/* Enhanced accessibility features for WCAG 2.1 compliance */

/* Skip navigation link styling */

.skip-nav {
  position: absolute;
  top: -40px;
  left: 6px;
  background: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
  padding: 8px;
  text-decoration: none;
  border-radius: 4px;
  z-index: 100;
  transition: top 0.3s;
}

.skip-nav:focus {
  top: 6px;
}

/* External link accessibility (screen reader only) */

/* Visual indicators removed per user preference, keeping screen reader support */

/* Status announcements for screen readers */

.sr-announcement {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* Mobile menu accessibility enhancements */

.mobile-menu-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 40;
}

/* Ensure proper contrast for all interactive elements.
   Scoped to exclude Fluent — Fluent handles its own focus styles. */

button:not(.fui-FluentProvider *):focus-visible,
a:not(.fui-FluentProvider *):focus-visible,
[role='button']:not(.fui-FluentProvider *):focus-visible {
  background-color: hsl(var(--accent));
  color: hsl(var(--accent-foreground));
}

/* Enhanced touch targets for mobile accessibility.
   Same FluentProvider exclusion as the always-on rule above — critical here
   because this block forces `padding: 12px` and `display: flex`, which on
   mobile was inflating Fluent Combobox chevron buttons (Country/State/City
   selects) and pushing input text/chevron toward the bottom of the field.
   Keep the 44px touch target for non-Fluent UI (plain HTML, shadcn, etc.). */

@media (max-width: 768px) {
  button:not(.fui-FluentProvider *),
  a:not(.fui-FluentProvider *),
  [role='button']:not(.fui-FluentProvider *) {
    min-height: 44px;
    min-width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
  }
}

/* High contrast mode improvements */

@media (prefers-contrast: high) {
  /* Enhanced contrast for focus indicators — exclude Fluent */
  input:not(.fui-FluentProvider *):focus-visible {
    outline: 3px solid ButtonText;
    outline-offset: 2px;
    background-color: Highlight !important;
    color: HighlightText !important;
  }

  /* External link accessibility maintained without visual icons */
}

/* Reduced motion enhancements */

@media (prefers-reduced-motion: reduce) {
  /* Remove all transitions and animations — exclude Fluent */
  *:not(.fui-FluentProvider *) {
    transition: none !important;
    animation: none !important;
  }

  /* Keep focus transitions for usability */
  input:not(.fui-FluentProvider *):focus,
  input:not(.fui-FluentProvider *):focus-visible {
    transition: outline 0.1s ease !important;
  }
}

/* Base CSS variables */

:root {
  --radius: 0.5rem;
}

/* Light Theme - WCAG 2.1 AA Compliant */

.light {
  --background: 0 0% 100%;
  --foreground: 222.2 84% 4.9%;
  --card: 0 0% 100%;
  --card-foreground: 222.2 84% 4.9%;
  --popover: 0 0% 100%;
  --popover-foreground: 222.2 84% 4.9%;
  --primary: 221.2 83.2% 48%; /* Darker primary for better contrast */
  --primary-foreground: 210 40% 98%;
  --secondary: 210 40% 96%;
  --secondary-foreground: 222.2 84% 4.9%;
  --muted: 210 40% 96%;
  --muted-foreground: 215.4 16.3% 35%; /* Much darker for 4.5:1 contrast ratio */
  --accent: 210 40% 96%;
  --accent-foreground: 222.2 84% 4.9%;
  --destructive: 0 84.2% 55%; /* Slightly darker destructive for better contrast */
  --destructive-foreground: 210 40% 98%;
  --border: 214.3 31.8% 82%; /* Darker borders for 3:1 contrast ratio */
  --input: 214.3 31.8% 88%; /* Slightly darker input backgrounds */
  --ring: 221.2 83.2% 48%; /* Consistent with primary */
}

/* Nova Light Theme - WCAG 2.1 AA Compliant */

.nova-light {
  --background: 210 100% 97%; /* #eff7fd – ultra-light Fluent blue wash */
  --foreground: 220 25% 15%; /* #1f2328 – darker for better contrast */

  --card: 210 60% 98%; /* #f6fafe – subtly raised card on blue wash */
  --card-foreground: 220 25% 15%; /* #1f2328 – darker for better contrast */

  --popover: 210 60% 98%;
  --popover-foreground: 220 25% 15%;

  --primary: 210 90% 42%; /* #0969da – slightly darker Fluent blue for better contrast */
  --primary-foreground: 0 0% 100%; /* #ffffff */

  --secondary: 210 50% 92%; /* #d7e9f8 – deeper blue-gray zone */
  --secondary-foreground: 220 25% 18%; /* #212830 – darker for WCAG compliance */

  --muted: 210 50% 92%;
  --muted-foreground: 220 20% 35%; /* #4a5568 – much darker for 4.5:1 contrast ratio */

  --accent: 210 100% 94%; /* #dceffa – focused subtle accent */
  --accent-foreground: 220 25% 18%; /* #212830 – darker for better contrast */

  --destructive: 0 75% 50%; /* #d73a49 – slightly darker red for better contrast */
  --destructive-foreground: 0 0% 100%;

  --border: 210 30% 80%; /* #9bb5d6 – darker borders for 3:1 contrast ratio */
  --input: 210 40% 92%; /* #d1e7f0 – slightly darker input backgrounds */
  --ring: 210 90% 42%; /* #0969da – consistent with primary */
}

/* GitHub Dark Theme */

.github-dark {
  --background: 215 19% 7%; /* #0d1117 */
  --foreground: 213 31% 91%; /* #e6edf3 */
  --card: 215 20% 11%; /* #161b22 */
  --card-foreground: 213 31% 91%;
  --popover: 215 20% 11%;
  --popover-foreground: 213 31% 91%;
  --primary: 212 92% 45%; /* #2f81f7 */
  --primary-foreground: 0 0% 98%;
  --secondary: 215 15% 16%; /* #21262d */
  --secondary-foreground: 213 31% 91%;
  --muted: 215 15% 16%;
  --muted-foreground: 218 11% 65%; /* #8b949e */
  --accent: 215 15% 16%;
  --accent-foreground: 213 31% 91%;
  --destructive: 0 68% 62%; /* #f85149 */
  --destructive-foreground: 0 0% 98%;
  --border: 215 15% 16%;
  --input: 215 15% 16%;
  --ring: 212 92% 45%;
}

/* Discord Dark Theme */

.discord-dark {
  --background: 225 9% 13%; /* #2f3136 */
  --foreground: 0 0% 100%; /* #ffffff */
  --card: 225 8% 18%; /* #36393f */
  --card-foreground: 0 0% 100%;
  --popover: 225 8% 18%;
  --popover-foreground: 0 0% 100%;
  --primary: 227 58% 50%; /* #4752c4 - darker for better contrast */
  --primary-foreground: 0 0% 100%;
  --secondary: 225 6% 23%; /* #40444b */
  --secondary-foreground: 0 0% 100%;
  --muted: 225 6% 23%;
  --muted-foreground: 220 3% 69%; /* #b9bbbe */
  --accent: 225 6% 23%;
  --accent-foreground: 0 0% 100%;
  --destructive: 359 83% 59%; /* #ed4245 */
  --destructive-foreground: 0 0% 100%;
  --border: 225 6% 23%;
  --input: 225 6% 23%;
  --ring: 227 58% 65%;
}

/* Material Dark Theme */

.material-dark {
  --background: 200 7% 8%; /* #121212 */
  --foreground: 0 0% 100%; /* #ffffff */
  --card: 0 0% 12%; /* #1e1e1e */
  --card-foreground: 0 0% 100%;
  --popover: 0 0% 12%;
  --popover-foreground: 0 0% 100%;
  --primary: 187 100% 70%; /* Lighter for better contrast with black text */
  --primary-foreground: 0 0% 0%;
  --secondary: 0 0% 19%; /* #303030 */
  --secondary-foreground: 0 0% 100%;
  --muted: 0 0% 19%;
  --muted-foreground: 0 0% 62%; /* #9e9e9e */
  --accent: 0 0% 19%;
  --accent-foreground: 0 0% 100%;
  --destructive: 4 90% 58%; /* #f44336 */
  --destructive-foreground: 0 0% 100%;
  --border: 0 0% 19%;
  --input: 0 0% 19%;
  --ring: 187 100% 42%;
}

/* VS Code Dark Theme (Original) */

.vscode-dark {
  --background: 222.2 84% 4.9%;
  --foreground: 210 40% 98%;
  --card: 222.2 84% 4.9%;
  --card-foreground: 210 40% 98%;
  --popover: 222.2 84% 4.9%;
  --popover-foreground: 210 40% 98%;
  --primary: 217.2 91.2% 75%; /* Lighter for better contrast with dark text */
  --primary-foreground: 222.2 84% 4.9%;
  --secondary: 217.2 32.6% 17.5%;
  --secondary-foreground: 210 40% 98%;
  --muted: 217.2 32.6% 17.5%;
  --muted-foreground: 215 20.2% 65.1%;
  --accent: 217.2 32.6% 17.5%;
  --accent-foreground: 210 40% 98%;
  --destructive: 0 62.8% 30.6%;
  --destructive-foreground: 210 40% 98%;
  --border: 217.2 32.6% 17.5%;
  --input: 217.2 32.6% 17.5%;
  --ring: 224.3 76.3% 94.1%;
}

/* Dracula Theme */

.dracula {
  --background: 231 15% 18%; /* #282a36 */
  --foreground: 60 30% 96%; /* #f8f8f2 */
  --card: 232 14% 31%; /* #44475a */
  --card-foreground: 60 30% 96%;
  --popover: 232 14% 31%;
  --popover-foreground: 60 30% 96%;
  --primary: 265 89% 78%; /* #bd93f9 */
  --primary-foreground: 231 15% 18%;
  --secondary: 232 14% 31%;
  --secondary-foreground: 60 30% 96%;
  --muted: 232 14% 31%;
  --muted-foreground: 233 15% 41%; /* #6272a4 */
  --accent: 232 14% 31%;
  --accent-foreground: 60 30% 96%;
  --destructive: 0 100% 67%; /* #ff5555 */
  --destructive-foreground: 60 30% 96%;
  --border: 232 14% 31%;
  --input: 232 14% 31%;
  --ring: 265 89% 78%;
}

/* One Dark Pro Theme */

.one-dark {
  --background: 220 13% 18%; /* #282c34 */
  --foreground: 220 14% 71%; /* #abb2bf */
  --card: 220 12% 22%; /* #353b45 */
  --card-foreground: 220 14% 71%;
  --popover: 220 12% 22%;
  --popover-foreground: 220 14% 71%;
  --primary: 207 82% 80%; /* Lighter for better contrast with dark text */
  --primary-foreground: 220 13% 18%;
  --secondary: 220 12% 22%;
  --secondary-foreground: 220 14% 71%;
  --muted: 220 12% 22%;
  --muted-foreground: 220 9% 46%; /* #5c6370 */
  --accent: 220 12% 22%;
  --accent-foreground: 220 14% 71%;
  --destructive: 355 65% 65%; /* #e06c75 */
  --destructive-foreground: 220 14% 71%;
  --border: 220 12% 22%;
  --input: 220 12% 22%;
  --ring: 207 82% 66%;
}

/* Tokyo Night Theme */

.tokyo-night {
  --background: 249 15% 8%; /* #1a1b26 */
  --foreground: 230 6% 83%; /* #c0caf5 */
  --card: 248 17% 12%; /* #24283b */
  --card-foreground: 230 6% 83%;
  --popover: 248 17% 12%;
  --popover-foreground: 230 6% 83%;
  --primary: 217 92% 85%; /* Lighter for better contrast with dark text */
  --primary-foreground: 249 15% 8%;
  --secondary: 248 17% 12%;
  --secondary-foreground: 230 6% 83%;
  --muted: 248 17% 12%;
  --muted-foreground: 237 18% 49%; /* #565f89 */
  --accent: 248 17% 12%;
  --accent-foreground: 230 6% 83%;
  --destructive: 0 73% 70%; /* #f7768e */
  --destructive-foreground: 230 6% 83%;
  --border: 248 17% 12%;
  --input: 248 17% 12%;
  --ring: 217 92% 76%;
}

/* Nova Dark Theme */

.nova-dark {
  --background: 220 16% 10%; /* #121417 - deep neutral charcoal */
  --foreground: 210 25% 88%; /* #d5dfea - soft light gray-blue */

  --card: 220 14% 14%; /* #1a1d21 - elevated card */
  --card-foreground: 210 25% 88%;

  --popover: 220 14% 14%;
  --popover-foreground: 210 25% 88%;

  --primary: 215 80% 45%; /* #2563eb - darker blue for better contrast with white text */
  --primary-foreground: 0 0% 100%; /* #ffffff */

  --secondary: 220 12% 20%; /* #2b2f36 - dark slate */
  --secondary-foreground: 210 25% 88%;

  --muted: 220 12% 20%;
  --muted-foreground: 210 10% 60%; /* #8c98a4 - soft desaturated slate */

  --accent: 215 30% 25%; /* #2b4d66 - subtle steel accent */
  --accent-foreground: 210 25% 88%;

  --destructive: 0 70% 50%; /* #e54848 - restrained red */
  --destructive-foreground: 0 0% 100%;

  --border: 220 12% 20%;
  --input: 220 12% 20%;
  --ring: 215 80% 55%;
}

/* Nova Theme */

.nova {
  --background: 0 0% 8%; /* #141414 - Deep black for main background */
  --foreground: 0 0% 100%; /* #ffffff - White text */
  --card: 0 0% 12%; /* #1f1f1f - Slightly lighter black for cards */
  --card-foreground: 0 0% 100%;
  --popover: 0 0% 12%;
  --popover-foreground: 0 0% 100%;
  --primary: 356 92% 55%; /* #f73c4d - darker brand color for better contrast */
  --primary-foreground: 0 0% 100%;
  --secondary: 0 0% 16%; /* #292929 - Dark gray */
  --secondary-foreground: 0 0% 100%;
  --muted: 0 0% 16%;
  --muted-foreground: 0 0% 70%; /* #b3b3b3 - Light gray for muted text */
  --accent: 356 92% 65%; /* #f7545f - Brand flat accent for accents */
  --accent-foreground: 0 0% 100%;
  --destructive: 356 92% 64%; /* #f7545f - Brand flat accent for destructive actions */
  --destructive-foreground: 0 0% 100%;
  --border: 0 0% 20%; /* #333333 - Subtle border */
  --input: 0 0% 16%;
  --ring: 356 92% 65%; /* #f7545f - Brand flat accent for focus rings */

  /* Gradient Brand Variables */
  --gradient-primary: linear-gradient(135deg, #f76b1c 0%, #f73ca1 100%);
  --gradient-primary-hover: linear-gradient(135deg, #ff7a2b 0%, #ff4bb0 100%);
  --gradient-accent: linear-gradient(
    45deg,
    #f76b1c 0%,
    #f7545f 50%,
    #f73ca1 100%
  );
  --gradient-text: linear-gradient(135deg, #f76b1c 0%, #f73ca1 100%);
}

/* Nova Gradient Utilities */

.nova .bg-gradient-primary {
  background: var(--gradient-primary);
}

.nova .bg-gradient-primary:hover {
  background: var(--gradient-primary-hover);
}

.nova .bg-gradient-accent {
  background: var(--gradient-accent);
}

.nova .text-gradient {
  background: var(--gradient-text);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  background-size: 200% 200%;
  animation: gradient-shift 3s ease infinite;
}

.nova .border-gradient {
  border: 2px solid transparent;
  background:
    linear-gradient(hsl(var(--background)), hsl(var(--background))) padding-box,
    var(--gradient-primary) border-box;
}

.nova .shadow-gradient {
  box-shadow:
    0 4px 20px rgba(247, 107, 28, 0.3),
    0 8px 40px rgba(247, 60, 161, 0.2);
}

@keyframes gradient-shift {
  0%,
  100% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
}

/* Nova Theme - Automatic Gradient Application */

.nova .bg-primary {
  background: var(--gradient-primary) !important;
}

.nova .bg-primary:hover {
  background: var(--gradient-primary-hover) !important;
}

.nova .border-primary {
  border: 2px solid transparent;
  background:
    linear-gradient(hsl(var(--background)), hsl(var(--background))) padding-box,
    var(--gradient-primary) border-box;
}

.nova .text-primary {
  background: var(--gradient-text);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Progress bars and other primary colored elements */

.nova [style*='bg-primary'] {
  background: var(--gradient-primary) !important;
}

/* Custom base styles */

/* Remove focus rings globally first — exclude Fluent (it manages its own focus) */

input:not(.fui-FluentProvider *):focus,
input:not(.fui-FluentProvider *):focus-visible,
input:not(.fui-FluentProvider *):active,
input[type="text"]:not(.fui-FluentProvider *):focus,
input[type="text"]:not(.fui-FluentProvider *):focus-visible,
input[type="url"]:not(.fui-FluentProvider *):focus,
input[type="url"]:not(.fui-FluentProvider *):focus-visible,
input[type="email"]:not(.fui-FluentProvider *):focus,
input[type="email"]:not(.fui-FluentProvider *):focus-visible,
input[type="password"]:not(.fui-FluentProvider *):focus,
input[type="password"]:not(.fui-FluentProvider *):focus-visible {
  outline: none !important;
  box-shadow: none !important;
  --tw-ring-shadow: 0 0 #0000 !important;
  --tw-ring-offset-shadow: 0 0 #0000 !important;
  --tw-ring-inset: initial !important;
  --tw-ring-offset-width: 0px !important;
  --tw-ring-offset-color: transparent !important;
  --tw-ring-color: transparent !important;
  --tw-shadow: 0 0 #0000 !important;
  --tw-shadow-colored: 0 0 #0000 !important;
}

/* Add blue rings back for non-Fluent native inputs (Fluent v9 components handle their own focus) */

input:not(.fui-FluentProvider *):focus,
input:not(.fui-FluentProvider *):focus-visible {
  outline: 2px solid hsl(var(--ring)) !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 2px hsl(var(--background)), 0 0 0 4px hsl(var(--ring)) !important;
}

/* Profile Dropdown Styles */

/* Custom scrollbar for all themes */

/* Timeline animations */

@keyframes timeline-pulse {
  0%,
  100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.05);
    opacity: 0.8;
  }
}

@keyframes timeline-glow {
  0%,
  100% {
    box-shadow: 0 0 10px rgba(var(--primary), 0.3);
  }
  50% {
    box-shadow: 0 0 20px rgba(var(--primary), 0.6);
  }
}

@keyframes shimmer {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}

.timeline-current {
  animation: timeline-pulse 2s ease-in-out infinite;
}

.timeline-glow {
  animation: timeline-glow 2s ease-in-out infinite;
}

.timeline-node {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.timeline-node:hover {
  transform: translateY(-2px);
}

.timeline-connector {
  background: linear-gradient(
    180deg,
    hsl(var(--green-500)) 0%,
    hsl(var(--primary)) 50%,
    hsl(var(--muted)) 100%
  );
}

.progress-shimmer {
  position: relative;
  overflow: hidden;
}

.progress-shimmer::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.2),
    transparent
  );
  transform: translateX(-100%);
  animation: shimmer 2s infinite;
}

/* Mobile timeline adjustments */

@media (max-width: 768px) {
  .timeline-horizontal {
    display: none;
  }

  .timeline-vertical {
    padding: 1rem;
  }

  .timeline-node {
    width: 3rem;
    height: 3rem;
  }

  .timeline-content {
    margin-left: 4rem;
    margin-top: -3rem;
  }
}

/* Enhanced hover effects for timeline */

.timeline-step:hover .timeline-node {
  transform: scale(1.1);
}

.timeline-step:hover .timeline-content {
  transform: translateX(4px);
}

/* Smooth transitions for all timeline elements */

.timeline-step {
  transition: all 0.3s ease;
}

.timeline-step:hover {
  transform: translateY(-2px);
}

/* Motion preferences support for accessibility (timeline/animations).
   Scoped to exclude Fluent — Fluent v9 handles its own reduced-motion. */

@media (prefers-reduced-motion: reduce) {
  *:not(.fui-FluentProvider *),
  *:not(.fui-FluentProvider *)::before,
  *:not(.fui-FluentProvider *)::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  /* Disable specific problematic animations */
  .timeline-pulse,
  .timeline-glow,
  .progress-shimmer::after,
  [data-motion='true'] {
    animation: none !important;
  }
}

/* High contrast mode support */

@media (prefers-contrast: more) {
  .theme-transition {
    background-color: ButtonFace !important;
    color: ButtonText !important;
    border-color: ButtonText !important;
  }

  .bg-primary {
    background-color: SelectedItem;
    color: ButtonText;
  }

  .text-muted-foreground {
    color: ButtonText !important;
  }

  .border-border {
    border-color: ButtonText !important;
  }

  button:not(.fui-FluentProvider *):hover {
    background-color: Highlight !important;
  }

  footer button:not(.fui-FluentProvider *) {
    transition: unset !important;
  }
}

/* Ensure minimum touch target sizes for accessibility.
   Duplicate of the rule near the top of this file — same FluentProvider
   exclusion so it doesn't leak into Fluent v9 Combobox / Dropdown /
   Button internals. */

button:not(.fui-FluentProvider *),
a[role='button']:not(.fui-FluentProvider *),
[role='button']:not(.fui-FluentProvider *),
input[type='checkbox']:not(.fui-FluentProvider *),
input[type='radio']:not(.fui-FluentProvider *) {
  min-height: 44px;
  min-width: 44px;
}

/* Exception for inline buttons that have adequate padding */

.inline-button {
  min-height: auto;
  min-width: auto;
  padding: 12px;
}

/* Global focus management - remove focus ring after mouse clicks while preserving keyboard accessibility */

.js-focus-visible :focus:not(.focus-visible) {
  outline: none !important;
  box-shadow: none !important;
}

/* Ensure focus rings are still visible for keyboard navigation */

.js-focus-visible .focus-visible {
  outline: 2px solid hsl(var(--ring)) !important;
  outline-offset: 2px !important;
}

@media (forced-colors: active) {
  .testimonial-dot {
    background-color: ButtonText;
    border: 1px solid ButtonText;
  }
  .testimonial-dot[aria-selected="true"] {
    background-color: Highlight;
    border-color: Highlight;
  }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

.after\:top-\[2px\]::after{
  content: var(--tw-content);
  top: 2px;
}

.after\:h-5::after{
  content: var(--tw-content);
  height: 1.25rem;
}

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

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

.after\:border::after{
  content: var(--tw-content);
  border-width: 1px;
}

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

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

.after\:transition-all::after{
  content: var(--tw-content);
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

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

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

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

.focus-within\:border-green-600:focus-within{
  --tw-border-opacity: 1;
  border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));
}

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

.focus-within\:outline-2:focus-within{
  outline-width: 2px;
}

.focus-within\:outline-offset-2:focus-within{
  outline-offset: 2px;
}

.focus-within\:outline-blue-600:focus-within{
  outline-color: #2563eb;
}

.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\/20:focus-within{
  --tw-ring-color: rgb(59 130 246 / 0.2);
}

.focus-within\:ring-green-500\/20:focus-within{
  --tw-ring-color: rgb(34 197 94 / 0.2);
}

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

.focus-within\:ring-red-500\/20:focus-within{
  --tw-ring-color: rgb(239 68 68 / 0.2);
}

.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\:border-primary:hover{
  border-color: hsl(var(--primary));
}

.hover\:border-primary\/50:hover{
  border-color: hsl(var(--primary) / 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-blue-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}

.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-blue-800:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(30 64 175 / var(--tw-bg-opacity, 1));
}

.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-gray-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / 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-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}

.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-800:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(22 101 52 / var(--tw-bg-opacity, 1));
}

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

.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-primary\/10:hover{
  background-color: hsl(var(--primary) / 0.1);
}

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

.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-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(233 213 255 / var(--tw-bg-opacity, 1));
}

.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-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}

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

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

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

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

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

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

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

.hover\:text-blue-500:hover{
  --tw-text-opacity: 1;
  color: rgb(59 130 246 / 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-foreground:hover{
  color: hsl(var(--foreground));
}

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

.hover\:text-gray-800:hover{
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-900:hover{
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

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

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

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

.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\:underline:hover{
  text-decoration-line: underline;
}

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

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

.hover\:shadow:hover{
  --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);
}

.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-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);
}

.focus\:not-sr-only:focus{
  position: static;
  width: auto;
  height: auto;
  padding: 0;
  margin: 0;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

.focus\:absolute:focus{
  position: absolute;
}

.focus\:left-0:focus{
  left: 0px;
}

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

.focus\:z-10:focus{
  z-index: 10;
}

.focus\:rounded:focus{
  border-radius: 0.25rem;
}

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

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

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

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

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

.focus\:border-transparent:focus{
  border-color: transparent;
}

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

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

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

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

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

.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-4: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(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);
}

.focus\:ring-blue-300:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(147 197 253 / 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-destructive:focus{
  --tw-ring-color: hsl(var(--destructive));
}

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

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

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

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

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

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

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

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

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

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

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

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

.focus\:ring-offset-blue-600:focus{
  --tw-ring-offset-color: #2563eb;
}

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

.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-inset:focus-visible{
  --tw-ring-inset: inset;
}

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

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

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

.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));
}

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

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

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

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

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

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

.disabled\:opacity-60:disabled{
  opacity: 0.6;
}

.disabled\:opacity-75:disabled{
  opacity: 0.75;
}

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

.group:focus .group-focus\: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:focus .group-focus\:text-foreground{
  color: hsl(var(--foreground));
}

.peer:checked ~ .peer-checked\:bg-primary{
  background-color: hsl(var(--primary));
}

.peer:checked ~ .peer-checked\:after\:translate-x-full::after{
  content: var(--tw-content);
  --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));
}

.peer:checked ~ .peer-checked\:after\:border-white::after{
  content: var(--tw-content);
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}

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

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

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

.peer:focus ~ .peer-focus\: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);
}

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

.peer:focus-visible ~ .peer-focus-visible\:ring-2{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

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

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

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

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

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

.data-\[state\=active\]\:border-b-2[data-state="active"]{
  border-bottom-width: 2px;
}

.data-\[state\=active\]\:border-primary[data-state="active"]{
  border-color: hsl(var(--primary));
}

.data-\[state\=active\]\:bg-background[data-state="active"]{
  background-color: hsl(var(--background));
}

.data-\[state\=open\]\:bg-accent[data-state="open"]{
  background-color: hsl(var(--accent));
}

.data-\[state\=selected\]\:bg-muted[data-state="selected"]{
  background-color: hsl(var(--muted));
}

.data-\[state\=active\]\:text-foreground[data-state="active"]{
  color: hsl(var(--foreground));
}

.data-\[state\=open\]\:text-muted-foreground[data-state="open"]{
  color: hsl(var(--muted-foreground));
}

.data-\[state\=active\]\:shadow-sm[data-state="active"]{
  --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);
}

.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\=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\=closed\]\:fade-out-0[data-state="closed"]{
  --tw-exit-opacity: 0;
}

.data-\[state\=open\]\:fade-in-0[data-state="open"]{
  --tw-enter-opacity: 0;
}

.data-\[state\=closed\]\:zoom-out-95[data-state="closed"]{
  --tw-exit-scale: .95;
}

.data-\[state\=open\]\:zoom-in-95[data-state="open"]{
  --tw-enter-scale: .95;
}

.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state="closed"]{
  --tw-exit-translate-x: -50%;
}

.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state="closed"]{
  --tw-exit-translate-y: -48%;
}

.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state="open"]{
  --tw-enter-translate-x: -50%;
}

.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state="open"]{
  --tw-enter-translate-y: -48%;
}

@media (prefers-reduced-motion: reduce){

  .motion-reduce\:transition-none{
    transition-property: none;
  }
}

.dark\:block:is(.dark *){
  display: block;
}

.dark\:hidden:is(.dark *){
  display: none;
}

.dark\:border-amber-900\/20:is(.dark *){
  border-color: rgb(120 53 15 / 0.2);
}

.dark\:border-blue-600:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(37 99 235 / var(--tw-border-opacity, 1));
}

.dark\:border-blue-700:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(29 78 216 / var(--tw-border-opacity, 1));
}

.dark\:border-blue-800:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(30 64 175 / var(--tw-border-opacity, 1));
}

.dark\:border-blue-900\/20:is(.dark *){
  border-color: rgb(30 58 138 / 0.2);
}

.dark\:border-border:is(.dark *){
  border-color: hsl(var(--border));
}

.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-800:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(31 41 55 / var(--tw-border-opacity, 1));
}

.dark\:border-green-700:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(21 128 61 / var(--tw-border-opacity, 1));
}

.dark\:border-green-800:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(22 101 52 / var(--tw-border-opacity, 1));
}

.dark\:border-green-900\/20:is(.dark *){
  border-color: rgb(20 83 45 / 0.2);
}

.dark\:border-purple-800:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(107 33 168 / var(--tw-border-opacity, 1));
}

.dark\:border-red-600:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(220 38 38 / 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-900\/20:is(.dark *){
  border-color: rgb(127 29 29 / 0.2);
}

.dark\:border-yellow-700:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(161 98 7 / 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-t-blue-400:is(.dark *){
  --tw-border-opacity: 1;
  border-top-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
}

.dark\:border-opacity-60:is(.dark *){
  --tw-border-opacity: 0.6;
}

.dark\:bg-\[\#141414\]:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(20 20 20 / var(--tw-bg-opacity, 1));
}

.dark\:bg-\[\#1F1F1F\]:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(31 31 31 / var(--tw-bg-opacity, 1));
}

.dark\:bg-\[\#292929\]:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(41 41 41 / var(--tw-bg-opacity, 1));
}

.dark\:bg-\[\#D6D6D6\]:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(214 214 214 / var(--tw-bg-opacity, 1));
}

.dark\:bg-amber-900\/10:is(.dark *){
  background-color: rgb(120 53 15 / 0.1);
}

.dark\:bg-amber-900\/30:is(.dark *){
  background-color: rgb(120 53 15 / 0.3);
}

.dark\:bg-blue-400:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(96 165 250 / var(--tw-bg-opacity, 1));
}

.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\/35:is(.dark *){
  background-color: rgb(30 58 138 / 0.35);
}

.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-border:is(.dark *){
  background-color: hsl(var(--border));
}

.dark\:bg-gray-500:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
}

.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-900:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}

.dark\:bg-gray-900\/20:is(.dark *){
  background-color: rgb(17 24 39 / 0.2);
}

.dark\:bg-gray-950\/20:is(.dark *){
  background-color: rgb(3 7 18 / 0.2);
}

.dark\:bg-green-700:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / 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\/10:is(.dark *){
  background-color: rgb(20 83 45 / 0.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-950:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(5 46 22 / var(--tw-bg-opacity, 1));
}

.dark\:bg-green-950\/20:is(.dark *){
  background-color: rgb(5 46 22 / 0.2);
}

.dark\:bg-purple-900\/20:is(.dark *){
  background-color: rgb(88 28 135 / 0.2);
}

.dark\:bg-purple-950\/20:is(.dark *){
  background-color: rgb(59 7 100 / 0.2);
}

.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\/10:is(.dark *){
  background-color: rgb(127 29 29 / 0.1);
}

.dark\:bg-red-900\/30:is(.dark *){
  background-color: rgb(127 29 29 / 0.3);
}

.dark\:bg-red-950:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(69 10 10 / var(--tw-bg-opacity, 1));
}

.dark\:bg-vscode-accent-blue:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(0 122 204 / var(--tw-bg-opacity, 1));
}

.dark\:bg-yellow-900\/20:is(.dark *){
  background-color: rgb(113 63 18 / 0.2);
}

.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\/20:is(.dark *){
  background-color: rgb(66 32 6 / 0.2);
}

.dark\:bg-opacity-20:is(.dark *){
  --tw-bg-opacity: 0.2;
}

.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\:text-\[\#ADADAD\]:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(173 173 173 / var(--tw-text-opacity, 1));
}

.dark\:text-\[\#D6D6D6\]:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(214 214 214 / var(--tw-text-opacity, 1));
}

.dark\:text-\[\#FFFFFF\]:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.dark\:text-\[rgb\(87\2c 153\2c 246\)\]:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(87 153 246 / var(--tw-text-opacity, 1));
}

.dark\:text-amber-100:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(254 243 199 / 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-400\/60:is(.dark *){
  color: rgb(96 165 250 / 0.6);
}

.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-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-muted-foreground:is(.dark *){
  color: hsl(var(--muted-foreground));
}

.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-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-red-500:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / 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-vscode-accent-blue:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(0 122 204 / var(--tw-text-opacity, 1));
}

.dark\:text-vscode-text-secondary:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(150 150 150 / 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\:placeholder\:text-gray-500:is(.dark *)::-moz-placeholder{
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.dark\:placeholder\:text-gray-500:is(.dark *)::placeholder{
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.dark\:hover\:bg-blue-950\/50:hover:is(.dark *){
  background-color: rgb(23 37 84 / 0.5);
}

.dark\:hover\:bg-gray-400:hover:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(156 163 175 / 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-red-950\/50:hover:is(.dark *){
  background-color: rgb(69 10 10 / 0.5);
}

.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-gray-100:hover:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-red-200:hover:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(254 202 202 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-vscode-accent-blue-hover:hover:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(14 99 156 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-vscode-text-primary:hover:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(204 204 204 / var(--tw-text-opacity, 1));
}

.dark\:focus\:ring-blue-800:focus:is(.dark *){
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(30 64 175 / var(--tw-ring-opacity, 1));
}

@media (min-width: 640px){

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

  .sm\:mx-0{
    margin-left: 0px;
    margin-right: 0px;
  }

  .sm\:mx-16{
    margin-left: 4rem;
    margin-right: 4rem;
  }

  .sm\:mb-4{
    margin-bottom: 1rem;
  }

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

  .sm\:ml-6{
    margin-left: 1.5rem;
  }

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

  .sm\:mt-2{
    margin-top: 0.5rem;
  }

  .sm\:block{
    display: block;
  }

  .sm\:flex{
    display: flex;
  }

  .sm\:hidden{
    display: none;
  }

  .sm\:h-10{
    height: 2.5rem;
  }

  .sm\:h-12{
    height: 3rem;
  }

  .sm\:h-4{
    height: 1rem;
  }

  .sm\:h-6{
    height: 1.5rem;
  }

  .sm\:h-80{
    height: 20rem;
  }

  .sm\:min-h-\[1\.5rem\]{
    min-height: 1.5rem;
  }

  .sm\:min-h-\[220px\]{
    min-height: 220px;
  }

  .sm\:w-1\/2{
    width: 50%;
  }

  .sm\:w-10{
    width: 2.5rem;
  }

  .sm\:w-12{
    width: 3rem;
  }

  .sm\:w-4{
    width: 1rem;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

  .sm\:gap-0{
    gap: 0px;
  }

  .sm\:gap-2{
    gap: 0.5rem;
  }

  .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-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-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\:rounded-lg{
    border-radius: var(--radius);
  }

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

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

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

  .sm\:px-3{
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

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

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

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

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

  .sm\:py-3{
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }

  .sm\:py-4{
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .sm\:pb-24{
    padding-bottom: 6rem;
  }

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

  .sm\:text-2xl{
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .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;
  }
}

@media (min-width: 768px){

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

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

  .md\:col-start-1{
    grid-column-start: 1;
  }

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

  .md\:ml-8{
    margin-left: 2rem;
  }

  .md\:block{
    display: block;
  }

  .md\:h-12{
    height: 3rem;
  }

  .md\:h-96{
    height: 24rem;
  }

  .md\:w-12{
    width: 3rem;
  }

  .md\:w-48{
    width: 12rem;
  }

  .md\:max-w-\[calc\(50\%-6px\)\]{
    max-width: calc(50% - 6px);
  }

  .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\:flex-row{
    flex-direction: row;
  }

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

  .md\: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)));
  }

  .md\: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));
  }

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

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

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

  .md\:text-3xl{
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .md\:text-5xl{
    font-size: 3rem;
    line-height: 1;
  }

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

  .md\:text-xl{
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}

@media (min-width: 1024px){

  .lg\:relative{
    position: relative;
  }

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

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

  .lg\:ml-3{
    margin-left: 0.75rem;
  }

  .lg\:block{
    display: block;
  }

  .lg\:flex{
    display: flex;
  }

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

  .lg\:hidden{
    display: none;
  }

  .lg\:min-h-\[56px\]{
    min-height: 56px;
  }

  .lg\:w-1\/2{
    width: 50%;
  }

  .lg\:w-1\/3{
    width: 33.333333%;
  }

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

  .lg\: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));
  }

  .lg\:list-none{
    list-style-type: none;
  }

  .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\:flex-row{
    flex-direction: row;
  }

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

  .lg\: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));
  }

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

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

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

  .lg\:pb-8{
    padding-bottom: 2rem;
  }

  .lg\:pr-8{
    padding-right: 2rem;
  }

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

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

  .lg\:text-6xl{
    font-size: 3.75rem;
    line-height: 1;
  }
}

@media (min-width: 1280px){

  .xl\: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)));
  }

  .xl\:px-3{
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
}

.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){
  padding-right: 0px;
}

.\[\&\>svg\]\:h-5>svg{
  height: 1.25rem;
}

.\[\&\>svg\]\:w-5>svg{
  width: 1.25rem;
}

.\[\&\>tr\]\:last\:border-b-0:last-child>tr{
  border-bottom-width: 0px;
}

.\[\&_svg\]\:pointer-events-none svg{
  pointer-events: none;
}

.\[\&_svg\]\:size-4 svg{
  width: 1rem;
  height: 1rem;
}

.\[\&_svg\]\:shrink-0 svg{
  flex-shrink: 0;
}

.\[\&_tr\:last-child\]\:border-0 tr:last-child{
  border-width: 0px;
}

.\[\&_tr\]\:border-b tr{
  border-bottom-width: 1px;
}

