@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@400;500;600;700&family=DM+Serif+Display&family=IBM+Plex+Sans+Arabic:wght@300;400;500;600;700&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: var(--font-sans); /* 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: var(--font-mono); /* 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;
}

/* Headlines: Inter 700-800, tight tracking (-1% to -2%) */

h1, h2, h3, h4, h5, h6{
  font-family: var(--font-sans);
    font-weight: 700;
    letter-spacing: -0.015em; /* -1.5% tracking */
    font-feature-settings: 'ss01' on, 'ss02' on, 'cv01' on; /* Inter Display features */
}

h1 {
    font-weight: 800;
    letter-spacing: -0.02em; /* -2% tracking for main headlines */
    line-height: 1.05;
  }

h2 {
    font-weight: 700;
    letter-spacing: -0.018em;
    line-height: 1.1;
  }

h3, h4 {
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.2;
  }

/* Body/UI: Inter 400-500, line-height 1.5-1.6 */

body{
  font-family: var(--font-sans);
  font-size: 1rem;
  line-height: 1.5rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    line-height: 1.6;
    font-feature-settings: 'kern' on, 'liga' on;
}

p {
    line-height: 1.6;
    font-weight: 400;
  }

/* Buttons/Labels: Inter 500-600 */

button, [role="button"], label, .label {
    font-weight: 500;
    letter-spacing: -0.005em;
  }

.prose{
  --tw-text-opacity: 1;
  color: hsl(var(--foreground) / var(--tw-text-opacity, 1));
}

/* Heading spacing and typography - Premium weights */

.prose h2{
  margin-top: 3rem;
  margin-bottom: 1.5rem;
  scroll-margin-top: 5rem;
  font-size: 1.875rem;
  line-height: 2.25rem;
  font-weight: 700;
    letter-spacing: -0.025em;
}

.prose h3{
  margin-top: 2rem;
  margin-bottom: 1rem;
  scroll-margin-top: 5rem;
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 600;
    letter-spacing: -0.02em;
}

.prose h4{
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
  scroll-margin-top: 5rem;
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 600;
    letter-spacing: -0.015em;
}

/* Reduce spacing between consecutive headings to prevent excessive gaps */

.prose h2 + h2,
  .prose h2 + h3{
  margin-top: 1.5rem;
}

.prose h3 + h3,
  .prose h3 + h4{
  margin-top: 1rem;
}

.prose h4 + h4{
  margin-top: 0.75rem;
}

/* Paragraph spacing - single margin for consistency */

.prose p{
  margin-top: 1rem;
  margin-bottom: 1rem;
  line-height: 1.625;
}

/* First paragraph after heading should be closer */

.prose h2 + p,
  .prose h3 + p,
  .prose h4 + p{
  margin-top: 0.75rem;
}

/* List spacing */

.prose ul,
  .prose ol{
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

.prose ul > :not([hidden]) ~ :not([hidden]),
  .prose ol > :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));
}

.prose li{
  line-height: 1.625;
}

/* Code blocks */

.prose code{
  border-radius: 0.25rem;
  --tw-bg-opacity: 1;
  background-color: hsl(var(--muted) / var(--tw-bg-opacity, 1));
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-family: var(--font-mono);
  font-size: 0.875rem;
  line-height: 1.25rem;
}

@media print {
  .prose code {
    background: white;
  }
}

.prose pre{
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  overflow-x: auto;
  border-radius: .625rem;
  --tw-bg-opacity: 1;
  background-color: hsl(var(--muted) / var(--tw-bg-opacity, 1));
  padding: 1rem;
}

@media print {
  .prose pre {
    background: white;
    overflow: visible;
    height: auto;
    max-height: none;
  }
}

.prose pre code{
  background-color: transparent;
  padding: 0px;
}

/* Blockquotes */

.prose blockquote{
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  border-inline-start-width: 4px;
  --tw-border-opacity: 1;
  border-color: hsl(var(--primary) / var(--tw-border-opacity, 1));
  padding-inline-start: 1rem;
  font-style: italic;
  --tw-text-opacity: 1;
  color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));
}

@media (max-width: 640px) {
    .prose blockquote {
      color: hsl(var(--muted-foreground) / 0.9);
    }
  }

/* Tables */

.prose table{
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  width: 100%;
  border-collapse: collapse;
}

.prose th{
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: hsl(var(--border) / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: hsl(var(--muted) / var(--tw-bg-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  text-align: start;
  font-weight: 600;
}

.prose th.toggle-elevate::before {
    inset: -1px;
  }

.prose th.hover-elevate:not(.no-hover-interaction-elevate)::after,.prose th.active-elevate:not(.no-active-interaction-elevate)::after,.prose th.hover-elevate-2:not(.no-hover-interaction-elevate)::after,.prose th.active-elevate-2:not(.no-active-interaction-elevate)::after,.prose th.hover-elevate:not(.no-hover-interaction-elevate)::after {
    inset: -1px;
  }

@media print {
  .prose th {
    background: white;
  }
}

.prose td{
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: hsl(var(--border) / var(--tw-border-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.prose td.toggle-elevate::before {
    inset: -1px;
  }

.prose td.hover-elevate:not(.no-hover-interaction-elevate)::after,.prose td.active-elevate:not(.no-active-interaction-elevate)::after,.prose td.hover-elevate-2:not(.no-hover-interaction-elevate)::after,.prose td.active-elevate-2:not(.no-active-interaction-elevate)::after,.prose td.hover-elevate:not(.no-hover-interaction-elevate)::after {
    inset: -1px;
  }

/* Links */

.prose a{
  --tw-text-opacity: 1;
  color: hsl(var(--primary) / var(--tw-text-opacity, 1));
}

.prose a:hover{
  text-decoration-line: underline;
}

/* Strong and emphasis */

.prose strong{
  font-weight: 600;
  --tw-text-opacity: 1;
  color: hsl(var(--foreground) / var(--tw-text-opacity, 1));
}

.prose em{
  font-style: italic;
}

/* Horizontal rules */

.prose hr{
  margin-top: 2rem;
  margin-bottom: 2rem;
  --tw-border-opacity: 1;
  border-color: hsl(var(--border) / var(--tw-border-opacity, 1));
}

/* Mobile Headlines */

@media (max-width: 640px) {
    h1 {
      font-size: 36px;
      font-weight: 700;
      letter-spacing: -0.02em;
      line-height: 1.1;
    }
    
    h2 {
      font-size: 32px;
      font-weight: 700;
      letter-spacing: -0.02em;
      line-height: 1.15;
    }
    
    h3 {
      font-size: 24px;
      font-weight: 600;
      letter-spacing: -0.01em;
      line-height: 1.2;
    }
    
    h4 {
      font-size: 20px;
      font-weight: 600;
      letter-spacing: -0.01em;
      line-height: 1.25;
    }
  }

/* Prevent iOS zoom on inputs - 16px minimum */

input, textarea, select {
    font-size: 16px !important;
  }

@media (min-width: 640px) {
    input, textarea, select {
      font-size: inherit !important;
    }
  }

*{
  --tw-border-opacity: 1;
  border-color: hsl(var(--border) / var(--tw-border-opacity, 1));
}

body{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--background) / var(--tw-bg-opacity, 1));
  font-family: var(--font-sans);
  --tw-text-opacity: 1;
  color: hsl(var(--foreground) / var(--tw-text-opacity, 1));
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@media print {
  body {
    background: white;
  }
}

/* Ensure proper box-sizing for all elements */

*, *::before, *::after {
    box-sizing: border-box;
  }

/* Calm focus for command/search inputs inside dropdowns */

[cmdk-input] {
    outline: none !important;
    box-shadow: none !important;
    border: none !important;
    ring: none !important;
  }

[cmdk-input]:focus {
    outline: none !important;
    box-shadow: none !important;
    border: none !important;
  }

/* Prevent horizontal overflow on mobile */

html, body {
    overflow-x: hidden;
    width: 100%;
    max-width: 100vw;
  }

/* Lock body scroll when modal/drawer/sheet overlay is active (prevents scroll bleed on mobile) */

/* Radix UI sets data-scroll-locked on body when dialogs/sheets open */

body[data-scroll-locked] {
    overflow: hidden !important;
    touch-action: none;
  }

/* Improve text rendering on mobile */

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
  }

/* Better touch targets for mobile - minimum 44x44px */

button, a, input[type="button"], input[type="submit"] {
    min-height: 44px;
    min-width: 44px;
    touch-action: manipulation;
  }

.container{
  width: 100%;
}

@media (min-width: 375px){

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

@media (min-width: 640px){

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

@media (min-width: 768px){

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

@media (min-width: 1024px){

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

@media (min-width: 1280px){

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

@media (min-width: 1536px){

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

.prose{
  color: var(--tw-prose-body);
  max-width: 65ch;
}

.prose :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}

.prose :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-lead);
  font-size: 1.25em;
  line-height: 1.6;
  margin-top: 1.2em;
  margin-bottom: 1.2em;
}

.prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-links);
  text-decoration: underline;
  font-weight: 500;
}

.prose :where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-bold);
  font-weight: 600;
}

.prose :where(a strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: inherit;
}

.prose :where(blockquote strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: inherit;
}

.prose :where(thead th strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: inherit;
}

.prose :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: decimal;
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  padding-inline-start: 1.625em;
}

.prose :where(ol[type="A"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: upper-alpha;
}

.prose :where(ol[type="a"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: lower-alpha;
}

.prose :where(ol[type="A" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: upper-alpha;
}

.prose :where(ol[type="a" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: lower-alpha;
}

.prose :where(ol[type="I"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: upper-roman;
}

.prose :where(ol[type="i"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: lower-roman;
}

.prose :where(ol[type="I" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: upper-roman;
}

.prose :where(ol[type="i" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: lower-roman;
}

.prose :where(ol[type="1"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: decimal;
}

.prose :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: disc;
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  padding-inline-start: 1.625em;
}

.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker{
  font-weight: 400;
  color: var(--tw-prose-counters);
}

.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker{
  color: var(--tw-prose-bullets);
}

.prose :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-headings);
  font-weight: 600;
  margin-top: 1.25em;
}

.prose :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  border-color: var(--tw-prose-hr);
  border-top-width: 1px;
  margin-top: 3em;
  margin-bottom: 3em;
}

.prose :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-weight: 500;
  font-style: italic;
  color: var(--tw-prose-quotes);
  border-inline-start-width: 0.25rem;
  border-inline-start-color: var(--tw-prose-quote-borders);
  quotes: "\201C""\201D""\2018""\2019";
  margin-top: 1.6em;
  margin-bottom: 1.6em;
  padding-inline-start: 1em;
}

.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::before{
  content: open-quote;
}

.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::after{
  content: close-quote;
}

.prose :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-headings);
  font-weight: 800;
  font-size: 2.25em;
  margin-top: 0;
  margin-bottom: 0.8888889em;
  line-height: 1.1111111;
}

.prose :where(h1 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-weight: 900;
  color: inherit;
}

.prose :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-headings);
  font-weight: 700;
  font-size: 1.5em;
  margin-top: 2em;
  margin-bottom: 1em;
  line-height: 1.3333333;
}

.prose :where(h2 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-weight: 800;
  color: inherit;
}

.prose :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-headings);
  font-weight: 600;
  font-size: 1.25em;
  margin-top: 1.6em;
  margin-bottom: 0.6em;
  line-height: 1.6;
}

.prose :where(h3 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-weight: 700;
  color: inherit;
}

.prose :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-headings);
  font-weight: 600;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  line-height: 1.5;
}

.prose :where(h4 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-weight: 700;
  color: inherit;
}

.prose :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  display: block;
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-weight: 500;
  font-family: inherit;
  color: var(--tw-prose-kbd);
  box-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);
  font-size: 0.875em;
  border-radius: 0.3125rem;
  padding-top: 0.1875em;
  padding-inline-end: 0.375em;
  padding-bottom: 0.1875em;
  padding-inline-start: 0.375em;
}

.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-code);
  font-weight: 600;
  font-size: 0.875em;
}

.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before{
  content: "`";
}

.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after{
  content: "`";
}

.prose :where(a code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: inherit;
}

.prose :where(h1 code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: inherit;
}

.prose :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: inherit;
  font-size: 0.875em;
}

.prose :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: inherit;
  font-size: 0.9em;
}

.prose :where(h4 code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: inherit;
}

.prose :where(blockquote code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: inherit;
}

.prose :where(thead th code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: inherit;
}

.prose :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-pre-code);
  background-color: var(--tw-prose-pre-bg);
  overflow-x: auto;
  font-weight: 400;
  font-size: 0.875em;
  line-height: 1.7142857;
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
  border-radius: 0.375rem;
  padding-top: 0.8571429em;
  padding-inline-end: 1.1428571em;
  padding-bottom: 0.8571429em;
  padding-inline-start: 1.1428571em;
}

.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  background-color: transparent;
  border-width: 0;
  border-radius: 0;
  padding: 0;
  font-weight: inherit;
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}

.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before{
  content: none;
}

.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after{
  content: none;
}

.prose :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  width: 100%;
  table-layout: auto;
  margin-top: 2em;
  margin-bottom: 2em;
  font-size: 0.875em;
  line-height: 1.7142857;
}

.prose :where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  border-bottom-width: 1px;
  border-bottom-color: var(--tw-prose-th-borders);
}

.prose :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-headings);
  font-weight: 600;
  vertical-align: bottom;
  padding-inline-end: 0.5714286em;
  padding-bottom: 0.5714286em;
  padding-inline-start: 0.5714286em;
}

.prose :where(tbody tr):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  border-bottom-width: 1px;
  border-bottom-color: var(--tw-prose-td-borders);
}

.prose :where(tbody tr:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  border-bottom-width: 0;
}

.prose :where(tbody td):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  vertical-align: baseline;
}

.prose :where(tfoot):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  border-top-width: 1px;
  border-top-color: var(--tw-prose-th-borders);
}

.prose :where(tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  vertical-align: top;
}

.prose :where(th, td):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  text-align: start;
}

.prose :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
  margin-bottom: 0;
}

.prose :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-captions);
  font-size: 0.875em;
  line-height: 1.4285714;
  margin-top: 0.8571429em;
}

.prose{
  --tw-prose-body: #374151;
  --tw-prose-headings: #111827;
  --tw-prose-lead: #4b5563;
  --tw-prose-links: #111827;
  --tw-prose-bold: #111827;
  --tw-prose-counters: #6b7280;
  --tw-prose-bullets: #d1d5db;
  --tw-prose-hr: #e5e7eb;
  --tw-prose-quotes: #111827;
  --tw-prose-quote-borders: #e5e7eb;
  --tw-prose-captions: #6b7280;
  --tw-prose-kbd: #111827;
  --tw-prose-kbd-shadows: rgb(17 24 39 / 10%);
  --tw-prose-code: #111827;
  --tw-prose-pre-code: #e5e7eb;
  --tw-prose-pre-bg: #1f2937;
  --tw-prose-th-borders: #d1d5db;
  --tw-prose-td-borders: #e5e7eb;
  --tw-prose-invert-body: #d1d5db;
  --tw-prose-invert-headings: #fff;
  --tw-prose-invert-lead: #9ca3af;
  --tw-prose-invert-links: #fff;
  --tw-prose-invert-bold: #fff;
  --tw-prose-invert-counters: #9ca3af;
  --tw-prose-invert-bullets: #4b5563;
  --tw-prose-invert-hr: #374151;
  --tw-prose-invert-quotes: #f3f4f6;
  --tw-prose-invert-quote-borders: #374151;
  --tw-prose-invert-captions: #9ca3af;
  --tw-prose-invert-kbd: #fff;
  --tw-prose-invert-kbd-shadows: rgb(255 255 255 / 10%);
  --tw-prose-invert-code: #fff;
  --tw-prose-invert-pre-code: #d1d5db;
  --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
  --tw-prose-invert-th-borders: #4b5563;
  --tw-prose-invert-td-borders: #374151;
  font-size: 1rem;
  line-height: 1.75;
}

.prose :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
  margin-bottom: 0;
}

.prose :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-start: 0.375em;
}

.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-start: 0.375em;
}

.prose :where(.prose > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

.prose :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.25em;
}

.prose :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-bottom: 1.25em;
}

.prose :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.25em;
}

.prose :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-bottom: 1.25em;
}

.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

.prose :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}

.prose :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0.5em;
  padding-inline-start: 1.625em;
}

.prose :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
}

.prose :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
}

.prose :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
}

.prose :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
}

.prose :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-start: 0;
}

.prose :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-end: 0;
}

.prose :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-top: 0.5714286em;
  padding-inline-end: 0.5714286em;
  padding-bottom: 0.5714286em;
  padding-inline-start: 0.5714286em;
}

.prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-start: 0;
}

.prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-end: 0;
}

.prose :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(.prose > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
}

.prose :where(.prose > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-bottom: 0;
}

.prose-sm{
  font-size: 0.875rem;
  line-height: 1.7142857;
}

.prose-sm :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.1428571em;
  margin-bottom: 1.1428571em;
}

.prose-sm :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 1.2857143em;
  line-height: 1.5555556;
  margin-top: 0.8888889em;
  margin-bottom: 0.8888889em;
}

.prose-sm :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.3333333em;
  margin-bottom: 1.3333333em;
  padding-inline-start: 1.1111111em;
}

.prose-sm :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 2.1428571em;
  margin-top: 0;
  margin-bottom: 0.8em;
  line-height: 1.2;
}

.prose-sm :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 1.4285714em;
  margin-top: 1.6em;
  margin-bottom: 0.8em;
  line-height: 1.4;
}

.prose-sm :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 1.2857143em;
  margin-top: 1.5555556em;
  margin-bottom: 0.4444444em;
  line-height: 1.5555556;
}

.prose-sm :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.4285714em;
  margin-bottom: 0.5714286em;
  line-height: 1.4285714;
}

.prose-sm :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
}

.prose-sm :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
}

.prose-sm :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
  margin-bottom: 0;
}

.prose-sm :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
}

.prose-sm :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 0.8571429em;
  border-radius: 0.3125rem;
  padding-top: 0.1428571em;
  padding-inline-end: 0.3571429em;
  padding-bottom: 0.1428571em;
  padding-inline-start: 0.3571429em;
}

.prose-sm :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 0.8571429em;
}

.prose-sm :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 0.9em;
}

.prose-sm :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 0.8888889em;
}

.prose-sm :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 0.8571429em;
  line-height: 1.6666667;
  margin-top: 1.6666667em;
  margin-bottom: 1.6666667em;
  border-radius: 0.25rem;
  padding-top: 0.6666667em;
  padding-inline-end: 1em;
  padding-bottom: 0.6666667em;
  padding-inline-start: 1em;
}

.prose-sm :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.1428571em;
  margin-bottom: 1.1428571em;
  padding-inline-start: 1.5714286em;
}

.prose-sm :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.1428571em;
  margin-bottom: 1.1428571em;
  padding-inline-start: 1.5714286em;
}

.prose-sm :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0.2857143em;
  margin-bottom: 0.2857143em;
}

.prose-sm :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-start: 0.4285714em;
}

.prose-sm :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-start: 0.4285714em;
}

.prose-sm :where(.prose-sm > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0.5714286em;
  margin-bottom: 0.5714286em;
}

.prose-sm :where(.prose-sm > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.1428571em;
}

.prose-sm :where(.prose-sm > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-bottom: 1.1428571em;
}

.prose-sm :where(.prose-sm > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.1428571em;
}

.prose-sm :where(.prose-sm > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-bottom: 1.1428571em;
}

.prose-sm :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0.5714286em;
  margin-bottom: 0.5714286em;
}

.prose-sm :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.1428571em;
  margin-bottom: 1.1428571em;
}

.prose-sm :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.1428571em;
}

.prose-sm :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0.2857143em;
  padding-inline-start: 1.5714286em;
}

.prose-sm :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 2.8571429em;
  margin-bottom: 2.8571429em;
}

.prose-sm :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
}

.prose-sm :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
}

.prose-sm :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
}

.prose-sm :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
}

.prose-sm :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 0.8571429em;
  line-height: 1.5;
}

.prose-sm :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-end: 1em;
  padding-bottom: 0.6666667em;
  padding-inline-start: 1em;
}

.prose-sm :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-start: 0;
}

.prose-sm :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-end: 0;
}

.prose-sm :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-top: 0.6666667em;
  padding-inline-end: 1em;
  padding-bottom: 0.6666667em;
  padding-inline-start: 1em;
}

.prose-sm :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-start: 0;
}

.prose-sm :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-end: 0;
}

.prose-sm :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
}

.prose-sm :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
  margin-bottom: 0;
}

.prose-sm :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 0.8571429em;
  line-height: 1.3333333;
  margin-top: 0.6666667em;
}

.prose-sm :where(.prose-sm > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
}

.prose-sm :where(.prose-sm > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-bottom: 0;
}

.prose-lg{
  font-size: 1.125rem;
  line-height: 1.7777778;
}

.prose-lg :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.3333333em;
  margin-bottom: 1.3333333em;
}

.prose-lg :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 1.2222222em;
  line-height: 1.4545455;
  margin-top: 1.0909091em;
  margin-bottom: 1.0909091em;
}

.prose-lg :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.6666667em;
  margin-bottom: 1.6666667em;
  padding-inline-start: 1em;
}

.prose-lg :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 2.6666667em;
  margin-top: 0;
  margin-bottom: 0.8333333em;
  line-height: 1;
}

.prose-lg :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 1.6666667em;
  margin-top: 1.8666667em;
  margin-bottom: 1.0666667em;
  line-height: 1.3333333;
}

.prose-lg :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 1.3333333em;
  margin-top: 1.6666667em;
  margin-bottom: 0.6666667em;
  line-height: 1.5;
}

.prose-lg :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.7777778em;
  margin-bottom: 0.4444444em;
  line-height: 1.5555556;
}

.prose-lg :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.7777778em;
  margin-bottom: 1.7777778em;
}

.prose-lg :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.7777778em;
  margin-bottom: 1.7777778em;
}

.prose-lg :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
  margin-bottom: 0;
}

.prose-lg :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.7777778em;
  margin-bottom: 1.7777778em;
}

.prose-lg :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 0.8888889em;
  border-radius: 0.3125rem;
  padding-top: 0.2222222em;
  padding-inline-end: 0.4444444em;
  padding-bottom: 0.2222222em;
  padding-inline-start: 0.4444444em;
}

.prose-lg :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 0.8888889em;
}

.prose-lg :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 0.8666667em;
}

.prose-lg :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 0.875em;
}

.prose-lg :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 0.8888889em;
  line-height: 1.75;
  margin-top: 2em;
  margin-bottom: 2em;
  border-radius: 0.375rem;
  padding-top: 1em;
  padding-inline-end: 1.5em;
  padding-bottom: 1em;
  padding-inline-start: 1.5em;
}

.prose-lg :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.3333333em;
  margin-bottom: 1.3333333em;
  padding-inline-start: 1.5555556em;
}

.prose-lg :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.3333333em;
  margin-bottom: 1.3333333em;
  padding-inline-start: 1.5555556em;
}

.prose-lg :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0.6666667em;
  margin-bottom: 0.6666667em;
}

.prose-lg :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-start: 0.4444444em;
}

.prose-lg :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-start: 0.4444444em;
}

.prose-lg :where(.prose-lg > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0.8888889em;
  margin-bottom: 0.8888889em;
}

.prose-lg :where(.prose-lg > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.3333333em;
}

.prose-lg :where(.prose-lg > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-bottom: 1.3333333em;
}

.prose-lg :where(.prose-lg > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.3333333em;
}

.prose-lg :where(.prose-lg > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-bottom: 1.3333333em;
}

.prose-lg :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0.8888889em;
  margin-bottom: 0.8888889em;
}

.prose-lg :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.3333333em;
  margin-bottom: 1.3333333em;
}

.prose-lg :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.3333333em;
}

.prose-lg :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0.6666667em;
  padding-inline-start: 1.5555556em;
}

.prose-lg :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 3.1111111em;
  margin-bottom: 3.1111111em;
}

.prose-lg :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
}

.prose-lg :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
}

.prose-lg :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
}

.prose-lg :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
}

.prose-lg :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 0.8888889em;
  line-height: 1.5;
}

.prose-lg :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-end: 0.75em;
  padding-bottom: 0.75em;
  padding-inline-start: 0.75em;
}

.prose-lg :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-start: 0;
}

.prose-lg :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-end: 0;
}

.prose-lg :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-top: 0.75em;
  padding-inline-end: 0.75em;
  padding-bottom: 0.75em;
  padding-inline-start: 0.75em;
}

.prose-lg :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-start: 0;
}

.prose-lg :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-end: 0;
}

.prose-lg :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.7777778em;
  margin-bottom: 1.7777778em;
}

.prose-lg :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
  margin-bottom: 0;
}

.prose-lg :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 0.8888889em;
  line-height: 1.5;
  margin-top: 1em;
}

.prose-lg :where(.prose-lg > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
}

.prose-lg :where(.prose-lg > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-bottom: 0;
}

/* Display (Hero headlines) - 56px, weight 800 */

/* H1 (Section headlines) - 40px, weight 700 */

/* H2 (Subsections) - 32px, weight 600 */

/* H3 (Card titles) - 24px, weight 600 */

/* Body Large (Subheadlines, Lead text) - 18px, weight 400 */

/* Lead text for hero subheadlines - extra generous line-height */

/* Body (Default) - 16px, weight 400 */

/* Caption (Fine print) - 14px, weight 400 */

/* Highlight - Primary colored emphasized text */

.highlight{
  font-weight: 600;
  --tw-text-opacity: 1;
  color: hsl(var(--primary) / var(--tw-text-opacity, 1));
}

/* Highlight with gradient for extra impact */

/* Emphasized body text - medium weight */

/* Clinical data typography - monospace for precision */

/* Stat numbers - extra bold for impact */

/* ================================================
     Named Typography Classes - Semantic Usage
     .hero-headline    → Hero sections (60px, bold)
     .section-headline → Section titles (36px, semibold)
     .card-title       → Card headings (20px, semibold)
     .body-text        → Default body (16px, normal)
     .caption          → Fine print (14px, muted)
     ================================================ */

/* Hero headline - 60px on desktop, scales down responsively */

/* Section headline - 36px, for major sections */

/* Card title - 20px, for card headings */

/* Body text - 16px, default paragraph style */

/* Caption - 14px, for fine print and secondary info */

.caption {
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: var(--font-normal);
    line-height: 1.5;
    --tw-text-opacity: 1;
    color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));
  }

@media (max-width: 640px) {
    .caption {
      color: hsl(var(--muted-foreground) / 0.9);
    }
  }

/* ================================================
     Spacing Utility Classes (8-Point Grid)
     For consistent, spacious layouts
     ================================================ */

/* Section spacing - generous vertical rhythm */

/* Section header spacing */

/* Card grid gaps */

/* Card internal padding */

/* Button padding variants */

/* ================================================
     Elevation & Depth Utilities
     Replace flat borders with multi-layer shadows
     ================================================ */

/* Shadow utility classes */

/* Colored elevation for accent elements */

/* Focus ring */

/* Card with depth (shadow-based, no border) */

/* Hero/feature preview with prominent depth */

.dark .preview-depth {
    border-color: hsl(var(--primary-900) / 0.3);
  }

/* Floating badge/element */

/* Modal/dialog depth */

/* Button with depth - lifts on hover */

/* ================================================
     Hero Section Styling
     Gradient background, decorative elements, copilot preview
     ================================================ */

.hero-section {
    background: linear-gradient(180deg, #FAFCFF 0%, #FFFFFF 100%);
    padding: 120px 0 140px;
    position: relative;
    overflow: hidden;
  }

.dark .hero-section {
    background: linear-gradient(180deg, hsl(var(--background)) 0%, hsl(220 20% 8%) 100%);
  }

/* Decorative gradient orb - top right */

.hero-section::before {
    content: '';
    position: absolute;
    top: -200px;
    right: -200px;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, 
      rgba(0, 113, 227, 0.08) 0%, 
      transparent 70%
    );
    border-radius: 50%;
    pointer-events: none;
  }

.dark .hero-section::before {
    background: radial-gradient(circle, 
      rgba(0, 113, 227, 0.15) 0%, 
      transparent 70%
    );
  }

/* Optional second decorative orb - bottom left */

.hero-section::after {
    content: '';
    position: absolute;
    bottom: -150px;
    left: -150px;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, 
      rgba(20, 184, 166, 0.06) 0%, 
      transparent 70%
    );
    border-radius: 50%;
    pointer-events: none;
  }

/* Hero subheadline styling */

/* Hero trust badges - teal pills */

.dark .hero-badge {
    background: linear-gradient(135deg, rgba(20, 184, 166, 0.15) 0%, rgba(13, 148, 136, 0.1) 100%);
    color: #5EEAD4;
    border-color: rgba(20, 184, 166, 0.4);
  }

/* Copilot preview card */

.dark .copilot-preview {
    border-color: hsl(var(--primary-900) / 0.4);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3),
                0 6px 16px rgba(0, 0, 0, 0.2);
  }

/* Floating animation for agent badges in copilot */

@keyframes float {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
  }

/* Reduce animation for users who prefer reduced motion */

/* Hero bottom trust indicators */

/* ================================================
     Social Proof Bar
     Logo strip with grayscale → color hover effect
     ================================================ */

.dark .logo-grid img {
    filter: grayscale(100%) opacity(0.4) brightness(1.5);
  }

.dark .logo-grid img:hover {
    filter: grayscale(0%) opacity(1) brightness(1);
  }

/* ================================================
     How It Works Section
     Step 1 hero treatment, steps 2-3 normal
     ================================================ */

.how-it-works {
    padding: var(--space-24) 0;
    --tw-bg-opacity: 1;
    background-color: hsl(var(--background) / var(--tw-bg-opacity, 1));
  }

@media print {
  .how-it-works {
    background: white;
  }
}

/* Step 1 - HERO TREATMENT (blue gradient, larger, glowing) */

/* Glow border effect */

.step-card-hero .icon-container {
    background: rgba(255, 255, 255, 0.2) !important;
    box-shadow: none;
  }

.step-card-hero .icon-container > svg{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

/* Steps 2 & 3 - NORMAL TREATMENT */

/* Step number badge */

/* ================================================
     Clinical Features Section
     Borderless items with colored icons
     ================================================ */

.dark .clinical-features {
    background: linear-gradient(180deg, hsl(var(--background)) 0%, hsl(220 20% 6%) 100%);
  }

/* Borderless feature item */

/* Color-coded feature icons */

.dark .feature-icon-database {
    background: linear-gradient(135deg, rgba(20, 184, 166, 0.2) 0%, rgba(13, 148, 136, 0.15) 100%);
    color: #5EEAD4;
  }

.dark .feature-icon-agents {
    background: linear-gradient(135deg, rgba(0, 113, 227, 0.2) 0%, rgba(0, 119, 237, 0.15) 100%);
    color: #93C5FD;
  }

.dark .feature-icon-quality {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.2) 0%, rgba(245, 158, 11, 0.15) 100%);
    color: #FCD34D;
  }

/* ================================================
     Comparison Table
     Hormonaly column highlighted with "RECOMMENDED" badge
     ================================================ */

/* Hormonaly column header - highlighted */

.dark .comparison-table thead th.hormonaly-column {
    background: linear-gradient(180deg, rgba(0, 113, 227, 0.2) 0%, rgba(0, 119, 237, 0.15) 100%);
    border-color: hsl(var(--primary));
  }

/* "RECOMMENDED" badge */

/* Hormonaly column - highlight */

.dark .comparison-table tbody td.hormonaly-column {
    background: linear-gradient(180deg, rgba(0, 113, 227, 0.1) 0%, transparent 100%);
  }

/* Zebra striping */

/* ================================================
     Testimonials Section
     Cards with accent border on hover
     ================================================ */

.testimonials {
    padding: var(--space-24) 0;
    background: linear-gradient(180deg, #FAFCFF 0%, #FFFFFF 100%);
  }

.dark .testimonials {
    background: linear-gradient(180deg, hsl(var(--background)) 0%, hsl(220 20% 6%) 100%);
  }

/* Accent border on hover */

/* ================================================
     FAQ Section
     Enhanced accordion with hover effects
     ================================================ */

.faq-item.\!open .faq-icon {
    transform: rotate(180deg) !important;
  }

.faq-item.open .faq-icon {
    transform: rotate(180deg);
  }

.faq-item.\!open .faq-icon{
  --tw-text-opacity: 1;
  color: hsl(var(--primary) / var(--tw-text-opacity, 1));
}

.faq-item.open .faq-icon{
  --tw-text-opacity: 1;
  color: hsl(var(--primary) / var(--tw-text-opacity, 1));
}

.faq-item.\!open .faq-answer {
    max-height: 500px !important;
    margin-top: var(--space-4) !important;
  }

.faq-item.open .faq-answer {
    max-height: 500px;
    margin-top: var(--space-4);
  }

/* ================================================
     Final CTA Section
     Gradient background with decorative orbs
     ================================================ */

.dark .final-cta {
    background: linear-gradient(135deg, hsl(220 20% 10%) 0%, hsl(200 30% 12%) 50%, hsl(170 30% 10%) 100%);
  }

/* ================================================
     Copilot Page & Interactive Demo
     Enhanced demo container with agent badges
     ================================================ */

.dark .copilot-page {
    background: linear-gradient(180deg, hsl(var(--background)) 0%, hsl(220 20% 6%) 100%);
  }

.dark .copilot-demo-container {
    border-color: hsl(var(--primary-900) / 0.4);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
  }

/* Copilot header */

.dark .copilot-header {
    background: linear-gradient(135deg, rgba(0, 113, 227, 0.15) 0%, rgba(0, 119, 237, 0.1) 100%);
    border-color: hsl(var(--primary-900) / 0.3);
  }

/* Agent badges strip */

.dark .agent-badge-research {
    background: linear-gradient(135deg, rgba(20, 184, 166, 0.15) 0%, rgba(13, 148, 136, 0.1) 100%);
    color: #5EEAD4;
  }

.dark .agent-badge-safety {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.15) 0%, rgba(5, 150, 105, 0.1) 100%);
    color: #6EE7B7;
  }

.dark .agent-badge-protocol {
    background: linear-gradient(135deg, rgba(0, 113, 227, 0.15) 0%, rgba(0, 119, 237, 0.1) 100%);
    color: #93C5FD;
  }

.dark .agent-badge-stacking {
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.15) 0%, rgba(139, 92, 246, 0.1) 100%);
    color: #C4B5FD;
  }

/* Suggestion chips */

/* Input section */

/* Trial notice */

/* ================================================
     Evidence Page
     Database grid, GRADE methodology, evidence hero
     ================================================ */

.dark .evidence-badge {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.2) 0%, rgba(245, 158, 11, 0.15) 100%);
    color: #FCD34D;
  }

/* Database grid */

.dark .database-card:hover {
    border-color: #5EEAD4;
    box-shadow: 0 8px 24px rgba(20, 184, 166, 0.15);
  }

.dark .database-icon {
    background: linear-gradient(135deg, rgba(20, 184, 166, 0.2) 0%, rgba(13, 148, 136, 0.15) 100%);
    color: #5EEAD4;
  }

/* GRADE methodology section */

.dark .grade-section {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.1) 0%, rgba(245, 158, 11, 0.08) 100%);
    border: 1px solid rgba(245, 158, 11, 0.2);
  }

/* GRADE A - High quality */

.grade-a .grade-letter {
    background: linear-gradient(135deg, #ECFDF5, #D1FAE5);
    color: #059669;
  }

.dark .grade-a .grade-letter {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.2), rgba(5, 150, 105, 0.15));
    color: #6EE7B7;
  }

/* GRADE B - Moderate quality */

.grade-b .grade-letter {
    background: linear-gradient(135deg, #EFF6FF, #DBEAFE);
    color: #0071E3;
  }

.dark .grade-b .grade-letter {
    background: linear-gradient(135deg, rgba(0, 113, 227, 0.2), rgba(0, 119, 237, 0.15));
    color: #93C5FD;
  }

/* GRADE C - Low quality */

.grade-c .grade-letter {
    background: linear-gradient(135deg, #FFFBEB, #FEF3C7);
    color: #D97706;
  }

.dark .grade-c .grade-letter {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.2), rgba(245, 158, 11, 0.15));
    color: #FCD34D;
  }

/* GRADE D - Very low quality */

.grade-d .grade-letter {
    background: linear-gradient(135deg, #FEF2F2, #FECACA);
    color: #DC2626;
  }

.dark .grade-d .grade-letter {
    background: linear-gradient(135deg, rgba(220, 38, 38, 0.2), rgba(239, 68, 68, 0.15));
    color: #FCA5A5;
  }

/* ================================================
     Pricing Page
     Enhanced pricing cards with featured plan
     ================================================ */

/* Featured plan (Clinic) */

.dark .pricing-card-featured {
    background: linear-gradient(180deg, hsl(var(--card)) 0%, hsl(220 20% 8%) 100%);
  }

.pricing-feature.unavailable{
  --tw-text-opacity: 1;
  color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));
}

@media (max-width: 640px) {
    .pricing-feature.unavailable {
      color: hsl(var(--muted-foreground) / 0.9);
    }
  }

.pricing-feature.unavailable svg{
  --tw-text-opacity: 1;
  color: rgb(174 174 178 / var(--tw-text-opacity, 1));
}

.pricing-feature.unavailable svg:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(110 110 115 / var(--tw-text-opacity, 1));
}

/* ================================================
     Animation & Microinteractions
     Button effects, card hovers, scroll animations
     ================================================ */

/* Button interactions */

/* Ripple effect for buttons */

/* Card glow effect on hover */

/* Counter animation utility */

.counter{
  font-weight: 700;
    font-feature-settings: 'tnum' on, 'lnum' on;
}

/* ================================================
     Mobile Optimizations
     Touch-friendly, responsive breakpoints
     ================================================ */

/* Mobile menu */

@media (max-width: 768px) {
     {
      position: fixed !important;
      inset: 0 !important;
      --tw-bg-opacity: 1;
      background-color: hsl(var(--background) / var(--tw-bg-opacity, 1));
    }

@media print {
   {
    background: white;
  }
      z-index: 999 !important;
      padding: 80px var(--space-6) var(--space-6) !important;
      transform: translateX(-100%) !important;
      transition: transform 0.3s ease !important
}
    
    .mobile-menu.\!open {
      transform: translateX(0) !important;
    }
    
     {
      font-size: var(--text-xl) !important;
      font-weight: var(--font-medium) !important;
      padding: var(--space-4) 0 !important;
      border-bottom: 1px solid hsl(var(--border)) !important;
      color: hsl(var(--foreground) / var(--tw-text-opacity, 1));
      --tw-text-opacity: 1;
      color: hsl(var(--primary) / var(--tw-text-opacity, 1));
    }
    .mobile-menu {
      position: fixed;
      inset: 0;
      --tw-bg-opacity: 1;
      background-color: hsl(var(--background) / var(--tw-bg-opacity, 1));
    }

@media print {
  .mobile-menu {
    background: white;
  }
}
    .mobile-menu {
      z-index: 999;
      padding: 80px var(--space-6) var(--space-6);
      transform: translateX(-100%);
      transition: transform 0.3s ease;
    }
    
    .mobile-menu.open {
      transform: translateX(0);
    }
    
    .mobile-menu-item {
      font-size: var(--text-xl);
      font-weight: var(--font-medium);
      padding: var(--space-4) 0;
      border-bottom: 1px solid hsl(var(--border));
      --tw-text-opacity: 1;
      color: hsl(var(--foreground) / var(--tw-text-opacity, 1));
    }
    
    .mobile-menu-item:hover{
    --tw-text-opacity: 1;
    color: hsl(var(--primary) / var(--tw-text-opacity, 1));
  }
  }

/* Touch-friendly elements (48px min tap target) */

/* Extend tap area for links/buttons */

/* CSS Containment for performance */

/* ================================================
     Accessibility
     Focus states, screen reader support, skip links
     ================================================ */

/* Visible focus indicators */

*:focus-visible {
    outline: 3px solid hsl(var(--primary));
    outline-offset: 2px;
    border-radius: 4px;
  }

/* Custom focus for buttons */

.btn:focus-visible,
  button:focus-visible {
    outline: none;
    box-shadow: var(--shadow-focus);
  }

/* Custom focus for cards */

.card:focus-visible,
  [role="button"]:focus-visible {
    outline: none;
    box-shadow: 0 0 0 4px rgba(0, 113, 227, 0.2),
                0 8px 24px rgba(0, 0, 0, 0.12);
  }

/* Custom focus for inputs */

input:focus-visible,
  textarea:focus-visible,
  select:focus-visible {
    outline: none;
    border-color: hsl(var(--primary));
    box-shadow: var(--shadow-focus);
  }

/* Visually hidden but accessible to screen readers */

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

/* Skip to main content link */

.skip-link {
    position: absolute;
    top: -40px;
    left: 0;
    --tw-bg-opacity: 1;
    background-color: hsl(var(--primary) / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
    padding: var(--space-3) var(--space-4);
    text-decoration: none;
    z-index: 9999;
    border-radius: 0 0 8px 0;
    font-weight: var(--font-medium);
  }

.skip-link:focus {
    top: 0;
  }

/* Loading/spinner accessibility */

/* High contrast mode support */

@media (prefers-contrast: high) {
    *:focus-visible {
      outline-width: 4px;
    }
    
    .btn,
    button {
      border-width: 2px;
    }
    
    .card {
      border-width: 2px;
    }
  }

/* Reduced motion support (additional) */

@media (prefers-reduced-motion: reduce) {
    .animate-on-scroll,
    .card-glow,
    .btn-interactive,
    .btn-ripple::after {
      animation: none !important;
      transition: none !important;
    }
    
    .pricing-card:hover,
    .database-card:hover,
    .testimonial-card:hover {
      transform: none;
    }
  }

/* ================================================
     Semantic Color System - Icon & Badge Utilities
     Use sparingly (10-15% of UI) - Blue remains dominant
     ================================================ */

/* Icon Background Containers - 56px with gradient backgrounds */

.icon-container{
  position: relative;
  display: flex;
  height: 3.5rem;
  width: 3.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 1rem;
  --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);
}

/* Subtle pulse animation for icon containers */

.icon-container::after {
    content: '';
    pointer-events: none;
    position: absolute;
    inset: 0px;
    border-radius: 1rem;
    background: inherit;
    opacity: 0;
    animation: icon-pulse 3s ease-in-out infinite;
  }

@keyframes icon-pulse {
    0%, 100% { opacity: 0; transform: scale(1); }
    50% { opacity: 0.15; transform: scale(1.08); }
  }

/* Disable pulse on reduced motion preference */

@media (prefers-reduced-motion: reduce) {
    .icon-container::after {
      animation: none;
    }
  }

.icon-primary{
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
  --tw-gradient-from: #dbeafe var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(219 234 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
  --tw-gradient-to: #bfdbfe var(--tw-gradient-to-position);
}

.icon-primary:is(.dark *){
  --tw-gradient-from: rgb(30 58 138 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(30 58 138 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
  --tw-gradient-to: rgb(30 64 175 / 0.3) var(--tw-gradient-to-position);
}

.icon-primary {
    box-shadow: 0 4px 8px -1px rgba(0, 113, 227, 0.2);
  }

.icon-primary > svg{
  height: 1.75rem;
  width: 1.75rem;
  --tw-text-opacity: 1;
  color: hsl(var(--primary) / var(--tw-text-opacity, 1));
}

/* Static icon variant (no pulse) */

.icon-container.icon-static::after {
    animation: none;
    display: none;
  }

/* ================================================
     Semantic Badge Variants - Gradient Backgrounds
     Usage: [8 databases] (teal) [GRADE A] (gold) [Safety verified] (green)
     ================================================ */

/* GRADE/Evidence Quality - Gold/Amber gradient */

.badge-grade,
  .badge-gold{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}

.badge-grade.toggle-elevate::before,
  .badge-gold.toggle-elevate::before {
    inset: -1px;
  }

.badge-grade.hover-elevate:not(.no-hover-interaction-elevate)::after,.badge-grade.active-elevate:not(.no-active-interaction-elevate)::after,.badge-grade.hover-elevate-2:not(.no-hover-interaction-elevate)::after,.badge-grade.active-elevate-2:not(.no-active-interaction-elevate)::after,.badge-grade.hover-elevate:not(.no-hover-interaction-elevate)::after,
  .badge-gold.hover-elevate:not(.no-hover-interaction-elevate)::after,
  .badge-gold.active-elevate:not(.no-active-interaction-elevate)::after,
  .badge-gold.hover-elevate-2:not(.no-hover-interaction-elevate)::after,
  .badge-gold.active-elevate-2:not(.no-active-interaction-elevate)::after,
  .badge-gold.hover-elevate:not(.no-hover-interaction-elevate)::after {
    inset: -1px;
  }

.badge-grade:is(.dark *),
  .badge-gold:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}

.badge-grade,
  .badge-gold {
    background: linear-gradient(135deg, #FFFBEB 0%, #FEF3C7 100%);
    border-color: #F59E0B;
  }

.dark .badge-grade,
  .dark .badge-gold {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.15) 0%, rgba(245, 158, 11, 0.1) 100%);
    border-color: rgba(245, 158, 11, 0.4);
  }

/* GRADE A-D specific variants */

.dark .badge-grade-a {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.2) 0%, rgba(245, 158, 11, 0.15) 100%);
    border-color: rgba(245, 158, 11, 0.5);
  }

.dark .badge-grade-b {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.15) 0%, rgba(245, 158, 11, 0.1) 100%);
    border-color: rgba(217, 119, 6, 0.4);
  }

.dark .badge-grade-c {
    background: linear-gradient(135deg, rgba(180, 83, 9, 0.12) 0%, rgba(217, 119, 6, 0.08) 100%);
    border-color: rgba(180, 83, 9, 0.35);
  }

/* Database/Research Sources - Teal gradient */

.dark .badge-database,
  .dark .badge-teal {
    background: linear-gradient(135deg, rgba(20, 184, 166, 0.15) 0%, rgba(13, 148, 136, 0.1) 100%);
    border-color: rgba(20, 184, 166, 0.4);
  }

/* Safety/Success - Green gradient */

.badge-safety,
  .badge-success{
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}

.badge-safety.toggle-elevate::before,
  .badge-success.toggle-elevate::before {
    inset: -1px;
  }

.badge-safety.hover-elevate:not(.no-hover-interaction-elevate)::after,.badge-safety.active-elevate:not(.no-active-interaction-elevate)::after,.badge-safety.hover-elevate-2:not(.no-hover-interaction-elevate)::after,.badge-safety.active-elevate-2:not(.no-active-interaction-elevate)::after,.badge-safety.hover-elevate:not(.no-hover-interaction-elevate)::after,
  .badge-success.hover-elevate:not(.no-hover-interaction-elevate)::after,
  .badge-success.active-elevate:not(.no-active-interaction-elevate)::after,
  .badge-success.hover-elevate-2:not(.no-hover-interaction-elevate)::after,
  .badge-success.active-elevate-2:not(.no-active-interaction-elevate)::after,
  .badge-success.hover-elevate:not(.no-hover-interaction-elevate)::after {
    inset: -1px;
  }

.badge-safety:is(.dark *),
  .badge-success:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}

.badge-safety,
  .badge-success {
    background: linear-gradient(135deg, #ECFDF5 0%, #D1FAE5 100%);
    border-color: #10B981;
  }

.dark .badge-safety,
  .dark .badge-success {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.15) 0%, rgba(5, 150, 105, 0.1) 100%);
    border-color: rgba(16, 185, 129, 0.4);
  }

/* AI/ML/Purple features */

.dark .badge-purple {
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.15) 0%, rgba(139, 92, 246, 0.1) 100%);
    border-color: rgba(124, 58, 237, 0.4);
  }

/* Primary/Blue variant for brand consistency */

.dark .badge-primary {
    background: linear-gradient(135deg, rgba(0, 113, 227, 0.15) 0%, rgba(0, 119, 237, 0.1) 100%);
    border-color: rgba(0, 113, 227, 0.4);
  }

/* Stat Number Colors - for statistics sections */

/* ================================================
     Card & Container Variety System
     Not everything needs a container!
     ================================================ */

/* Elevated Cards - for important content (testimonials, features) */

.card-elevated{
  border-radius: 1rem;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding: 1.5rem;
}

.card-elevated:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: hsl(var(--card) / var(--tw-bg-opacity, 1));
}

@media (min-width: 1024px){

  .card-elevated{
    padding: 2rem;
  }
}

.card-elevated {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
    transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
  }

.card-elevated:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1);
  }

/* Borderless Content - for lightweight sections (stats, feature lists) */

/* Subtle Containers - for grouped content (code, info blocks) */

/* Hero Cards - for primary focus (copilot preview, main CTA) */

.dark .card-hero {
    background: linear-gradient(135deg, hsl(var(--primary-900) / 0.3) 0%, hsl(var(--primary-700) / 0.2) 100%);
    box-shadow: 0 8px 32px rgba(0, 113, 227, 0.25);
  }

/* Feature Card - borderless with icon focus */

.feature-borderless .icon-container{
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.25rem;
}

/* ================================================
     Animation & Microinteraction System
     Purposeful animation for feedback, attention, progression, delight
     ================================================ */

/* Scroll-Triggered Animations */

.animate-on-scroll {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1), 
                transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  }

.animate-on-scroll.visible {
    opacity: 1;
    transform: translateY(0);
  }

.animate-on-scroll.\!visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
  }

/* Staggered children animation */

.stagger-children > .animate-on-scroll:nth-child(1) { transition-delay: 0.1s; }

.stagger-children > .animate-on-scroll:nth-child(2) { transition-delay: 0.2s; }

.stagger-children > .animate-on-scroll:nth-child(3) { transition-delay: 0.3s; }

.stagger-children > .animate-on-scroll:nth-child(4) { transition-delay: 0.4s; }

.stagger-children > .animate-on-scroll:nth-child(5) { transition-delay: 0.5s; }

.stagger-children > .animate-on-scroll:nth-child(6) { transition-delay: 0.6s; }

/* Button Microinteractions - Enhanced hover/active states */

/* Ripple effect on click */

@keyframes btn-ripple {
    0% { transform: scale(0); opacity: 0.25; }
    100% { transform: scale(2.5); opacity: 0; }
  }

/* Card Hover Effects - Icon scale & arrow slide */

.card-interactive {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
                box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }

.card-interactive:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.1);
  }

.card-interactive:hover .icon-container {
    transform: scale(1.1) rotate(5deg);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }

.card-interactive:hover .cta-arrow {
    transform: translateX(4px);
    transition: transform 0.2s ease-out;
  }

/* Shimmer Loading Skeleton */

.skeleton{
  border-radius: .625rem;
    background: linear-gradient(
      90deg,
      hsl(var(--muted)) 25%,
      hsl(var(--muted-foreground) / 0.1) 50%,
      hsl(var(--muted)) 75%
    );
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite linear;
}

@keyframes shimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
  }

/* Typing Indicator */

@keyframes typing-bounce {
    0%, 60%, 100% { opacity: 0.3; transform: translateY(0); }
    30% { opacity: 1; transform: translateY(-6px); }
  }

@keyframes helix-msg-breathe {
    0%, 100% { transform: scale(1); opacity: 0.6; }
    50% { transform: scale(1.1); opacity: 1; }
  }

/* Counting Number Animation (used with JS) */

/* Fade-in-up animation utility */

@keyframes fadeInUp {
    from { 
      opacity: 0; 
      transform: translateY(16px); 
    }
    to { 
      opacity: 1; 
      transform: translateY(0); 
    }
  }

/* Scale-in animation */

@keyframes scaleIn {
    from { 
      opacity: 0; 
      transform: scale(0.9); 
    }
    to { 
      opacity: 1; 
      transform: scale(1); 
    }
  }

/* Reduced Motion Support - Accessibility */

@media (prefers-reduced-motion: reduce) {
    .animate-on-scroll,
    .btn-animated,
    .card-interactive,
    .card-elevated,
    .skeleton,
    .typing-indicator span,
    .fade-in-up,
    .scale-in {
      animation: none !important;
      transition: none !important;
      transform: none !important;
      opacity: 1 !important;
    }
    
    .btn-animated::after,
    .icon-container::after {
      animation: none !important;
    }
  }

/* ================================================
     Mobile Responsiveness Enhancements
     Touch targets, font sizing, navigation, layout
     ================================================ */

/* Touch Targets - 48x48px minimum for medical use case (Apple HIG) */

@media (max-width: 768px) {
    .btn-mobile,
    .touch-target {
      min-height: 48px;
      min-width: 48px;
    }
    
    /* Increase card tap area on mobile */
    .card-mobile,
    .card-elevated{
    padding: 1.5rem;
  }
    
    /* Icon buttons need proper touch targets */
    button[data-testid*="button-"] {
      min-height: 44px;
      min-width: 44px;
    }
  }

/* Mobile Font Sizing - Never below 16px for body */

@media (max-width: 768px) {
    .text-display {
      font-size: 36px !important;
      line-height: 1.1 !important;
      letter-spacing: -0.02em;
    }
    
    .text-h1 {
      font-size: 32px !important;
      line-height: 1.15 !important;
    }
    
    .text-h2 {
      font-size: 26px !important;
      line-height: 1.2 !important;
    }
    
    .text-h3 {
      font-size: 20px !important;
      line-height: 1.25 !important;
    }
    
    /* Ensure minimum 16px for body text (prevents iOS zoom on focus) */
    .lead-text,
    .text-body {
      font-size: 16px !important;
      line-height: 1.6 !important;
    }
    
    /* Ensure inputs are at least 16px to prevent iOS zoom */
    input, textarea, select {
      font-size: 16px !important;
    }
  }

/* Mobile Navigation - Sticky header with blur */

.dark .header-mobile {
    background: rgba(0, 0, 0, 0.9);
  }

/* Full-screen mobile menu */

/* Mobile Copilot Preview - Full width bleed */

/* Mobile card spacing */

@media (max-width: 768px) {
    .card-stack-mobile > * + * {
      margin-top: 16px;
    }
    
    /* Reduce icon container size slightly on mobile */
    .icon-container{
    height: 3rem;
    width: 3rem;
  }
    
    .icon-container > svg{
    height: 1.5rem;
    width: 1.5rem;
  }
  }

/* Safe area insets for notched devices */

/* Mobile CTA button full width */

/* Horizontal scroll container for mobile */

/* ================================================
     Apple-Style Mobile Minimalism Utilities
     Clean, focused, reduced cognitive load
     ================================================ */

/* Hide elements on mobile - for secondary/supporting content */

/* Show only on mobile */

/* Apple-style increased whitespace on mobile */

/* Apple-style simplified text on mobile */

/* Apple-style card minimalism on mobile */

/* Apple-style breathing room for buttons on mobile */

/* Hide decorative elements on mobile for focus */

/* Apple-style section headers on mobile */

/* Simplified grid layouts on mobile */

/* Apple-style trust indicators on mobile - ultra minimal */

/* ================================================
     Accessibility Enhancements (WCAG 2.1 AA)
     Critical for Healthcare Applications
     ================================================ */

/* Skip to Main Content Link */

.skip-link{
  position: absolute;
  left: 0px;
  z-index: 9999;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
    top: -50px;
    background: hsl(var(--primary));
    transition: top 0.2s ease;
}

.skip-link:focus {
    top: 0;
    outline: none;
  }

/* Enhanced Focus Indicators - Always visible */

*:focus-visible {
    outline: 3px solid hsl(var(--primary));
    outline-offset: 2px;
    border-radius: 4px;
  }

/* Custom focus ring for buttons */

button:focus-visible,
  [role="button"]:focus-visible,
  a:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px hsl(var(--primary) / 0.35);
  }

/* High contrast focus for inputs */

input:focus-visible,
  textarea:focus-visible,
  select:focus-visible {
    outline: 2px solid hsl(var(--primary));
    outline-offset: 1px;
  }

/* Screen Reader Only - Visually hidden but accessible */

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

/* Make sr-only focusable when needed */

/* High Contrast Mode Support */

@media (forced-colors: active) {
    .btn-animated,
    .card-elevated,
    .icon-container {
      border: 2px solid currentColor;
    }
    
    *:focus-visible {
      outline: 3px solid Highlight;
    }
  }

/* Color Contrast Fixes - Use accessible grays */

.dark .text-accessible-muted {
    color: #9CA3AF; /* Lighter for dark mode */
  }

/* Loading/Status Announcements for Screen Readers */

[aria-busy="true"] {
    cursor: wait;
  }

/* Ensure interactive elements have visible states */

[disabled],
  [aria-disabled="true"]{
  cursor: not-allowed;
  opacity: 0.5;
    pointer-events: none;
}

/* Link underlines for better visibility */

/* Ensure sufficient spacing for touch/click targets */

/* ================================================
     Performance Optimization Utilities
     Lazy loading, image optimization, loading states
     ================================================ */

/* Lazy loaded images - fade in on load */

.lazy-image.loaded {
    opacity: 1;
  }

/* Placeholder blur for lazy images */

.image-placeholder.loaded {
    filter: blur(0);
    transform: scale(1);
  }

/* Content visibility for off-screen optimization */

/* GPU acceleration for animations */

/* Reduce paint areas */

/* Loading placeholder with aspect ratio */

/* Optimized scrolling */

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

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

.pointer-events-auto{
  pointer-events: auto;
}

.\!visible{
  visibility: visible !important;
}

.visible{
  visibility: visible;
}

.invisible{
  visibility: hidden;
}

.collapse{
  visibility: collapse;
}

.static{
  position: static;
}

.fixed{
  position: fixed;
}

.absolute{
  position: absolute;
}

.relative{
  position: relative;
}

.sticky{
  position: sticky;
}

.inset-0{
  inset: 0px;
}

.inset-1{
  inset: 0.25rem;
}

.inset-\[2px\]{
  inset: 2px;
}

.inset-x-0{
  left: 0px;
  right: 0px;
}

.inset-x-4{
  left: 1rem;
  right: 1rem;
}

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

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

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

.-end-1{
  inset-inline-end: -0.25rem;
}

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

.-left-12{
  left: -3rem;
}

.-left-\[25px\]{
  left: -25px;
}

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

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

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

.-right-12{
  right: -3rem;
}

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

.-start-1{
  inset-inline-start: -0.25rem;
}

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

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

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

.-top-11{
  top: -2.75rem;
}

.-top-12{
  top: -3rem;
}

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

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

.bottom-0{
  bottom: 0px;
}

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

.bottom-1{
  bottom: 0.25rem;
}

.bottom-2{
  bottom: 0.5rem;
}

.bottom-4{
  bottom: 1rem;
}

.bottom-6{
  bottom: 1.5rem;
}

.bottom-8{
  bottom: 2rem;
}

.bottom-\[18\%\]{
  bottom: 18%;
}

.bottom-full{
  bottom: 100%;
}

.end-0{
  inset-inline-end: 0px;
}

.end-1{
  inset-inline-end: 0.25rem;
}

.end-2{
  inset-inline-end: 0.5rem;
}

.end-3{
  inset-inline-end: 0.75rem;
}

.end-4{
  inset-inline-end: 1rem;
}

.end-5{
  inset-inline-end: 1.25rem;
}

.left-0{
  left: 0px;
}

.left-1{
  left: 0.25rem;
}

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

.left-2{
  left: 0.5rem;
}

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

.left-3{
  left: 0.75rem;
}

.left-4{
  left: 1rem;
}

.left-7{
  left: 1.75rem;
}

.left-\[12\.5\%\]{
  left: 12.5%;
}

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

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

.left-\[19px\]{
  left: 19px;
}

.left-\[2\.5rem\]{
  left: 2.5rem;
}

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

.right-0{
  right: 0px;
}

.right-1{
  right: 0.25rem;
}

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

.right-2{
  right: 0.5rem;
}

.right-3{
  right: 0.75rem;
}

.right-4{
  right: 1rem;
}

.right-5{
  right: 1.25rem;
}

.right-6{
  right: 1.5rem;
}

.right-8{
  right: 2rem;
}

.right-\[-3px\]{
  right: -3px;
}

.right-\[10\%\]{
  right: 10%;
}

.right-\[12\.5\%\]{
  right: 12.5%;
}

.right-\[2\.5rem\]{
  right: 2.5rem;
}

.right-\[3px\]{
  right: 3px;
}

.right-\[8\%\]{
  right: 8%;
}

.start-0{
  inset-inline-start: 0px;
}

.start-3{
  inset-inline-start: 0.75rem;
}

.start-4{
  inset-inline-start: 1rem;
}

.top-0{
  top: 0px;
}

.top-1{
  top: 0.25rem;
}

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

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

.top-16{
  top: 4rem;
}

.top-2{
  top: 0.5rem;
}

.top-20{
  top: 5rem;
}

.top-24{
  top: 6rem;
}

.top-3\.5{
  top: 0.875rem;
}

.top-4{
  top: 1rem;
}

.top-5{
  top: 1.25rem;
}

.top-6{
  top: 1.5rem;
}

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

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

.top-\[2\.25rem\]{
  top: 2.25rem;
}

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

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

.top-full{
  top: 100%;
}

.isolate{
  isolation: isolate;
}

.z-0{
  z-index: 0;
}

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

.z-20{
  z-index: 20;
}

.z-30{
  z-index: 30;
}

.z-40{
  z-index: 40;
}

.z-50{
  z-index: 50;
}

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

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

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

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

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

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

.order-1{
  order: 1;
}

.order-2{
  order: 2;
}

.order-first{
  order: -9999;
}

.order-last{
  order: 9999;
}

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

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

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

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

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

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

.-m-2{
  margin: -0.5rem;
}

.m-0{
  margin: 0px;
}

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

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

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

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

.-my-1{
  margin-top: -0.25rem;
  margin-bottom: -0.25rem;
}

.mx-0\.5{
  margin-left: 0.125rem;
  margin-right: 0.125rem;
}

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

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

.mx-3{
  margin-left: 0.75rem;
  margin-right: 0.75rem;
}

.mx-3\.5{
  margin-left: 0.875rem;
  margin-right: 0.875rem;
}

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

.my-0\.5{
  margin-top: 0.125rem;
  margin-bottom: 0.125rem;
}

.my-1{
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

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

.my-2{
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.my-3{
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}

.my-4{
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.my-6{
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

.my-8{
  margin-top: 2rem;
  margin-bottom: 2rem;
}

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

.-me-2{
  margin-inline-end: -0.5rem;
}

.-ms-1{
  margin-inline-start: -0.25rem;
}

.-ms-4{
  margin-inline-start: -1rem;
}

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

.-mt-4{
  margin-top: -1rem;
}

.-mt-5{
  margin-top: -1.25rem;
}

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

.mb-0\.5{
  margin-bottom: 0.125rem;
}

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

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

.mb-10{
  margin-bottom: 2.5rem;
}

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

.mb-14{
  margin-bottom: 3.5rem;
}

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

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

.mb-2\.5{
  margin-bottom: 0.625rem;
}

.mb-20{
  margin-bottom: 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;
}

.me-0\.5{
  margin-inline-end: 0.125rem;
}

.me-1{
  margin-inline-end: 0.25rem;
}

.me-1\.5{
  margin-inline-end: 0.375rem;
}

.me-2{
  margin-inline-end: 0.5rem;
}

.me-3{
  margin-inline-end: 0.75rem;
}

.me-auto{
  margin-inline-end: auto;
}

.ml-0\.5{
  margin-left: 0.125rem;
}

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

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

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

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

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

.ml-px{
  margin-left: 1px;
}

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

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

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

.ms-0{
  margin-inline-start: 0px;
}

.ms-0\.5{
  margin-inline-start: 0.125rem;
}

.ms-1{
  margin-inline-start: 0.25rem;
}

.ms-1\.5{
  margin-inline-start: 0.375rem;
}

.ms-12{
  margin-inline-start: 3rem;
}

.ms-2{
  margin-inline-start: 0.5rem;
}

.ms-3{
  margin-inline-start: 0.75rem;
}

.ms-4{
  margin-inline-start: 1rem;
}

.ms-5{
  margin-inline-start: 1.25rem;
}

.ms-6{
  margin-inline-start: 1.5rem;
}

.ms-auto{
  margin-inline-start: auto;
}

.ms-px{
  margin-inline-start: 1px;
}

.mt-0{
  margin-top: 0px;
}

.mt-0\.5{
  margin-top: 0.125rem;
}

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

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

.mt-10{
  margin-top: 2.5rem;
}

.mt-12{
  margin-top: 3rem;
}

.mt-14{
  margin-top: 3.5rem;
}

.mt-16{
  margin-top: 4rem;
}

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

.mt-2\.5{
  margin-top: 0.625rem;
}

.mt-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-9{
  margin-top: 2.25rem;
}

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

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

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

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

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

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

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

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

.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-\[16\/10\]{
  aspect-ratio: 16/10;
}

.aspect-\[3\/4\]{
  aspect-ratio: 3/4;
}

.aspect-\[9\/19\.5\]{
  aspect-ratio: 9/19.5;
}

.aspect-square{
  aspect-ratio: 1 / 1;
}

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

.size-4{
  width: 1rem;
  height: 1rem;
}

.h-0{
  height: 0px;
}

.h-0\.5{
  height: 0.125rem;
}

.h-1{
  height: 0.25rem;
}

.h-1\.5{
  height: 0.375rem;
}

.h-10{
  height: 2.5rem;
}

.h-11{
  height: 2.75rem;
}

.h-12{
  height: 3rem;
}

.h-14{
  height: 3.5rem;
}

.h-16{
  height: 4rem;
}

.h-2{
  height: 0.5rem;
}

.h-2\.5{
  height: 0.625rem;
}

.h-20{
  height: 5rem;
}

.h-24{
  height: 6rem;
}

.h-28{
  height: 7rem;
}

.h-3{
  height: 0.75rem;
}

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

.h-32{
  height: 8rem;
}

.h-36{
  height: 9rem;
}

.h-4{
  height: 1rem;
}

.h-40{
  height: 10rem;
}

.h-44{
  height: 11rem;
}

.h-48{
  height: 12rem;
}

.h-5{
  height: 1.25rem;
}

.h-52{
  height: 13rem;
}

.h-56{
  height: 14rem;
}

.h-6{
  height: 1.5rem;
}

.h-64{
  height: 16rem;
}

.h-7{
  height: 1.75rem;
}

.h-72{
  height: 18rem;
}

.h-8{
  height: 2rem;
}

.h-80{
  height: 20rem;
}

.h-9{
  height: 2.25rem;
}

.h-96{
  height: 24rem;
}

.h-\[0\.85em\]{
  height: 0.85em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.h-\[calc\(100vh-120px\)\]{
  height: calc(100vh - 120px);
}

.h-\[var\(--radix-select-trigger-height\)\]{
  height: var(--radix-select-trigger-height);
}

.h-auto{
  height: auto;
}

.h-dvh{
  height: 100dvh;
}

.h-fit{
  height: -moz-fit-content;
  height: fit-content;
}

.h-full{
  height: 100%;
}

.h-px{
  height: 1px;
}

.h-screen{
  height: 100vh;
}

.h-svh{
  height: 100svh;
}

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

.max-h-10{
  max-height: 2.5rem;
}

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

.max-h-40{
  max-height: 10rem;
}

.max-h-6{
  max-height: 1.5rem;
}

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

.max-h-64{
  max-height: 16rem;
}

.max-h-7{
  max-height: 1.75rem;
}

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

.max-h-\[--radix-select-content-available-height\]{
  max-height: var(--radix-select-content-available-height);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.max-h-\[calc\(100vh-6rem\)\]{
  max-height: calc(100vh - 6rem);
}

.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{
  max-height: var(--radix-dropdown-menu-content-available-height);
}

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

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

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

.min-h-10{
  min-height: 2.5rem;
}

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

.min-h-12{
  min-height: 3rem;
}

.min-h-20{
  min-height: 5rem;
}

.min-h-24{
  min-height: 6rem;
}

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

.min-h-9{
  min-height: 2.25rem;
}

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

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

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

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

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

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

.min-h-\[28vh\]{
  min-height: 28vh;
}

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

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

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

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

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

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

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

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

.min-h-\[50vh\]{
  min-height: 50vh;
}

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

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

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

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

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

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

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

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

.min-h-svh{
  min-height: 100svh;
}

.min-h-touch{
  min-height: 44px;
}

.w-0{
  width: 0px;
}

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

.w-1{
  width: 0.25rem;
}

.w-1\.5{
  width: 0.375rem;
}

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

.w-1\/3{
  width: 33.333333%;
}

.w-1\/5{
  width: 20%;
}

.w-10{
  width: 2.5rem;
}

.w-11{
  width: 2.75rem;
}

.w-12{
  width: 3rem;
}

.w-14{
  width: 3.5rem;
}

.w-16{
  width: 4rem;
}

.w-2{
  width: 0.5rem;
}

.w-2\.5{
  width: 0.625rem;
}

.w-2\/3{
  width: 66.666667%;
}

.w-2\/5{
  width: 40%;
}

.w-20{
  width: 5rem;
}

.w-24{
  width: 6rem;
}

.w-28{
  width: 7rem;
}

.w-3{
  width: 0.75rem;
}

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

.w-3\/4{
  width: 75%;
}

.w-32{
  width: 8rem;
}

.w-36{
  width: 9rem;
}

.w-4{
  width: 1rem;
}

.w-4\/5{
  width: 80%;
}

.w-40{
  width: 10rem;
}

.w-44{
  width: 11rem;
}

.w-48{
  width: 12rem;
}

.w-5{
  width: 1.25rem;
}

.w-5\/6{
  width: 83.333333%;
}

.w-52{
  width: 13rem;
}

.w-56{
  width: 14rem;
}

.w-6{
  width: 1.5rem;
}

.w-60{
  width: 15rem;
}

.w-64{
  width: 16rem;
}

.w-7{
  width: 1.75rem;
}

.w-72{
  width: 18rem;
}

.w-8{
  width: 2rem;
}

.w-80{
  width: 20rem;
}

.w-9{
  width: 2.25rem;
}

.w-96{
  width: 24rem;
}

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

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

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

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

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

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

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

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

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

.w-\[2\.5px\]{
  width: 2.5px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.w-\[85vw\]{
  width: 85vw;
}

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

.w-\[min\(18rem\2c calc\(100vw-2rem\)\)\]{
  width: min(18rem,calc(100vw - 2rem));
}

.w-\[var\(--sidebar-width\)\]{
  width: var(--sidebar-width);
}

.w-auto{
  width: auto;
}

.w-fit{
  width: -moz-fit-content;
  width: fit-content;
}

.w-full{
  width: 100%;
}

.w-px{
  width: 1px;
}

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

.min-w-12{
  min-width: 3rem;
}

.min-w-48{
  min-width: 12rem;
}

.min-w-5{
  min-width: 1.25rem;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.min-w-\[var\(--radix-select-trigger-width\)\]{
  min-width: var(--radix-select-trigger-width);
}

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

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

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

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

.max-w-5xl{
  max-width: 64rem;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.max-w-\[var\(--skeleton-width\)\]{
  max-width: var(--skeleton-width);
}

.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-xl{
  max-width: 36rem;
}

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

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

.flex-none{
  flex: none;
}

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

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

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

.grow{
  flex-grow: 1;
}

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

.basis-full{
  flex-basis: 100%;
}

.caption-bottom{
  caption-side: bottom;
}

.border-collapse{
  border-collapse: collapse;
}

.origin-\[--radix-dropdown-menu-content-transform-origin\]{
  transform-origin: var(--radix-dropdown-menu-content-transform-origin);
}

.origin-\[--radix-popover-content-transform-origin\]{
  transform-origin: var(--radix-popover-content-transform-origin);
}

.origin-\[--radix-select-content-transform-origin\]{
  transform-origin: var(--radix-select-content-transform-origin);
}

.origin-\[--radix-tooltip-content-transform-origin\]{
  transform-origin: var(--radix-tooltip-content-transform-origin);
}

.-translate-x-1\/2{
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-x-px{
  --tw-translate-x: -1px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-y-1\/2{
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-y-10{
  --tw-translate-y: -2.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-y-8{
  --tw-translate-y: -2rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-0{
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-1{
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-\[-50\%\]{
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-px{
  --tw-translate-x: 1px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-y-0{
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-y-8{
  --tw-translate-y: 2rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-y-\[-50\%\]{
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-rotate-90{
  --tw-rotate: -90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.rotate-180{
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.rotate-45{
  --tw-rotate: 45deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.rotate-90{
  --tw-rotate: 90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.scale-\[0\.85\]{
  --tw-scale-x: 0.85;
  --tw-scale-y: 0.85;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.scale-\[1\.03\]{
  --tw-scale-x: 1.03;
  --tw-scale-y: 1.03;
  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-\[2\.5\]{
  --tw-scale-x: 2.5;
  --tw-scale-y: 2.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));
}

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

.animate-\[routeProgress_1\.8s_ease-in-out_infinite\]{
  animation: routeProgress 1.8s ease-in-out infinite;
}

@keyframes bounce{

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

  50%{
    transform: none;
    animation-timing-function: cubic-bezier(0,0,0.2,1);
  }
}

.animate-bounce{
  animation: bounce 1s infinite;
}

@keyframes ping{

  75%, 100%{
    transform: scale(2);
    opacity: 0;
  }
}

.animate-ping{
  animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
}

@keyframes pulse{

  50%{
    opacity: .5;
  }
}

.animate-pulse{
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes spin{

  to{
    transform: rotate(360deg);
  }
}

.animate-spin{
  animation: spin 1s linear infinite;
}

.cursor-default{
  cursor: default;
}

.cursor-help{
  cursor: help;
}

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

.cursor-pointer{
  cursor: pointer;
}

.touch-none{
  touch-action: none;
}

.select-none{
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.resize-none{
  resize: none;
}

.resize-y{
  resize: vertical;
}

.resize{
  resize: both;
}

.scroll-mt-20{
  scroll-margin-top: 5rem;
}

.scroll-mt-24{
  scroll-margin-top: 6rem;
}

.scroll-mt-4{
  scroll-margin-top: 1rem;
}

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

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

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

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

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

.appearance-none{
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

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

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

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

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

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

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

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

.grid-cols-\[1fr_0\.8fr_1\.3fr_1\.5fr\]{
  grid-template-columns: 1fr 0.8fr 1.3fr 1.5fr;
}

.grid-cols-\[1fr_60px_100px_70px_auto\]{
  grid-template-columns: 1fr 60px 100px 70px auto;
}

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

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

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

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

.flex-col-reverse{
  flex-direction: column-reverse;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

.gap-0{
  gap: 0px;
}

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

.gap-1{
  gap: 0.25rem;
}

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

.gap-10{
  gap: 2.5rem;
}

.gap-12{
  gap: 3rem;
}

.gap-2{
  gap: 0.5rem;
}

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

.gap-3{
  gap: 0.75rem;
}

.gap-3\.5{
  gap: 0.875rem;
}

.gap-4{
  gap: 1rem;
}

.gap-5{
  gap: 1.25rem;
}

.gap-6{
  gap: 1.5rem;
}

.gap-8{
  gap: 2rem;
}

.gap-\[1\.5px\]{
  gap: 1.5px;
}

.gap-\[2px\]{
  gap: 2px;
}

.gap-\[3px\]{
  gap: 3px;
}

.gap-\[5px\]{
  gap: 5px;
}

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

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

.gap-x-4{
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}

.gap-x-5{
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;
}

.gap-x-6{
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}

.gap-x-8{
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}

.gap-y-1{
  row-gap: 0.25rem;
}

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

.gap-y-2{
  row-gap: 0.5rem;
}

.gap-y-3{
  row-gap: 0.75rem;
}

.gap-y-4{
  row-gap: 1rem;
}

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

.-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-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-y-0 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0px * var(--tw-space-y-reverse));
}

.space-y-0\.5 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}

.space-y-1 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}

.space-y-1\.5 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}

.space-y-10 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2.5rem * var(--tw-space-y-reverse));
}

.space-y-12 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(3rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(3rem * var(--tw-space-y-reverse));
}

.space-y-16 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(4rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(4rem * var(--tw-space-y-reverse));
}

.space-y-2 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}

.space-y-2\.5 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.625rem * var(--tw-space-y-reverse));
}

.space-y-3 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}

.space-y-3\.5 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.875rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.875rem * var(--tw-space-y-reverse));
}

.space-y-4 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}

.space-y-5 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}

.space-y-6 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}

.space-y-8 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}

.divide-y > :not([hidden]) ~ :not([hidden]){
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}

.divide-border > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 1;
  border-color: hsl(var(--border) / var(--tw-divide-opacity, 1));
}

.divide-border\/30 > :not([hidden]) ~ :not([hidden]){
  border-color: hsl(var(--border) / 0.3);
}

.divide-border\/40 > :not([hidden]) ~ :not([hidden]){
  border-color: hsl(var(--border) / 0.4);
}

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

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

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

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

.scroll-smooth{
  scroll-behavior: smooth;
}

.truncate{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.whitespace-nowrap{
  white-space: nowrap;
}

.whitespace-pre-line{
  white-space: pre-line;
}

.whitespace-pre-wrap{
  white-space: pre-wrap;
}

.text-balance{
  text-wrap: balance;
}

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

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

.rounded{
  border-radius: 0.25rem;
}

.rounded-2xl{
  border-radius: 1rem;
}

.rounded-\[0\.5px\]{
  border-radius: 0.5px;
}

.rounded-\[1\.25rem\]{
  border-radius: 1.25rem;
}

.rounded-\[1\.5rem\]{
  border-radius: 1.5rem;
}

.rounded-\[10px\]{
  border-radius: 10px;
}

.rounded-\[14px\]{
  border-radius: 14px;
}

.rounded-\[1px\]{
  border-radius: 1px;
}

.rounded-\[2\.5rem\]{
  border-radius: 2.5rem;
}

.rounded-\[2px\]{
  border-radius: 2px;
}

.rounded-\[2rem\]{
  border-radius: 2rem;
}

.rounded-\[3px\]{
  border-radius: 3px;
}

.rounded-\[3rem\]{
  border-radius: 3rem;
}

.rounded-\[50\%\]{
  border-radius: 50%;
}

.rounded-\[inherit\]{
  border-radius: inherit;
}

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

.rounded-lg{
  border-radius: .625rem;
}

.rounded-md{
  border-radius: .5rem;
}

.rounded-none{
  border-radius: 0px;
}

.rounded-sm{
  border-radius: .25rem;
}

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

.rounded-b-xl{
  border-bottom-right-radius: .75rem;
  border-bottom-left-radius: .75rem;
}

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

.rounded-e-md{
  border-start-end-radius: .5rem;
  border-end-end-radius: .5rem;
}

.rounded-r-full{
  border-top-right-radius: 9999px;
  border-bottom-right-radius: 9999px;
}

.rounded-r-xl{
  border-top-right-radius: .75rem;
  border-bottom-right-radius: .75rem;
}

.rounded-s-md{
  border-start-start-radius: .5rem;
  border-end-start-radius: .5rem;
}

.rounded-t-3xl{
  border-top-left-radius: 1.5rem;
  border-top-right-radius: 1.5rem;
}

.rounded-t-lg{
  border-top-left-radius: .625rem;
  border-top-right-radius: .625rem;
}

.rounded-t-md{
  border-top-left-radius: .5rem;
  border-top-right-radius: .5rem;
}

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

.rounded-t-sm{
  border-top-left-radius: .25rem;
  border-top-right-radius: .25rem;
}

.rounded-t-xl{
  border-top-left-radius: .75rem;
  border-top-right-radius: .75rem;
}

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

.rounded-se-md{
  border-start-end-radius: .5rem;
}

.rounded-ss-md{
  border-start-start-radius: .5rem;
}

.rounded-tl-none{
  border-top-left-radius: 0px;
}

.rounded-tr-none{
  border-top-right-radius: 0px;
}

.border{
  border-width: 1px;
}

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

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

.border-\[1\.5px\]{
  border-width: 1.5px;
}

.border-\[3px\]{
  border-width: 3px;
}

.border-x-0{
  border-left-width: 0px;
  border-right-width: 0px;
}

.border-y{
  border-top-width: 1px;
  border-bottom-width: 1px;
}

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

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

.border-e{
  border-inline-end-width: 1px;
}

.border-e-4{
  border-inline-end-width: 4px;
}

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

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

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

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

.border-s{
  border-inline-start-width: 1px;
}

.border-s-2{
  border-inline-start-width: 2px;
}

.border-s-4{
  border-inline-start-width: 4px;
}

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

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

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

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

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

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

.border-\[\#4285F4\]\/20{
  border-color: rgb(66 133 244 / 0.2);
}

.border-\[\#4285F4\]\/25{
  border-color: rgb(66 133 244 / 0.25);
}

.border-\[\#76b900\]\/20{
  border-color: rgb(118 185 0 / 0.2);
}

.border-\[\#76b900\]\/25{
  border-color: rgb(118 185 0 / 0.25);
}

.border-\[\#FF3B30\]{
  --tw-border-opacity: 1;
  border-color: rgb(255 59 48 / var(--tw-border-opacity, 1));
}

.border-\[\#FF3B30\]\/30{
  border-color: rgb(255 59 48 / 0.3);
}

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

.border-\[hsl\(var\(--grade-a\)\/0\.3\)\]{
  border-color: hsl(var(--grade-a)/0.3);
}

.border-\[hsl\(var\(--grade-b\)\/0\.3\)\]{
  border-color: hsl(var(--grade-b)/0.3);
}

.border-\[hsl\(var\(--grade-c\)\/0\.3\)\]{
  border-color: hsl(var(--grade-c)/0.3);
}

.border-\[hsl\(var\(--grade-d\)\/0\.3\)\]{
  border-color: hsl(var(--grade-d)/0.3);
}

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

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

.border-amber-200\/50{
  border-color: rgb(253 230 138 / 0.5);
}

.border-amber-200\/60{
  border-color: rgb(253 230 138 / 0.6);
}

.border-amber-200\/70{
  border-color: rgb(253 230 138 / 0.7);
}

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

.border-amber-300\/50{
  border-color: rgb(252 211 77 / 0.5);
}

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

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

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

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

.border-amber-600\/30{
  border-color: rgb(217 119 6 / 0.3);
}

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

.border-amber-900\/40{
  border-color: rgb(120 53 15 / 0.4);
}

.border-background{
  --tw-border-opacity: 1;
  border-color: hsl(var(--background) / var(--tw-border-opacity, 1));
}

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

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

.border-black\/\[0\.08\]{
  border-color: rgb(0 0 0 / 0.08);
}

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

.border-blue-200\/70{
  border-color: rgb(191 219 254 / 0.7);
}

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

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

.border-blue-500\/40{
  border-color: rgb(59 130 246 / 0.4);
}

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

.border-border\/10{
  border-color: hsl(var(--border) / 0.1);
}

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

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

.border-border\/40{
  border-color: hsl(var(--border) / 0.4);
}

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

.border-border\/60{
  border-color: hsl(var(--border) / 0.6);
}

.border-border\/\[0\.04\]{
  border-color: hsl(var(--border) / 0.04);
}

.border-border\/\[0\.06\]{
  border-color: hsl(var(--border) / 0.06);
}

.border-border\/\[0\.08\]{
  border-color: hsl(var(--border) / 0.08);
}

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

.border-destructive{
  --tw-border-opacity: 1;
  border-color: hsl(var(--destructive) / var(--tw-border-opacity, 1));
}

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

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

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

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

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

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

.border-emerald-200\/50{
  border-color: rgb(167 243 208 / 0.5);
}

.border-emerald-200\/60{
  border-color: rgb(167 243 208 / 0.6);
}

.border-emerald-200\/70{
  border-color: rgb(167 243 208 / 0.7);
}

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

.border-emerald-300\/50{
  border-color: rgb(110 231 183 / 0.5);
}

.border-emerald-400\/30{
  border-color: rgb(52 211 153 / 0.3);
}

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

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

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

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

.border-emerald-600\/30{
  border-color: rgb(5 150 105 / 0.3);
}

.border-foreground\/40{
  border-color: hsl(var(--foreground) / 0.4);
}

.border-foreground\/\[0\.06\]{
  border-color: hsl(var(--foreground) / 0.06);
}

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

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

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

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

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

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

.border-input{
  --tw-border-opacity: 1;
  border-color: hsl(var(--input) / var(--tw-border-opacity, 1));
}

.border-muted{
  --tw-border-opacity: 1;
  border-color: hsl(var(--muted) / var(--tw-border-opacity, 1));
}

.border-muted-foreground{
  --tw-border-opacity: 1;
  border-color: hsl(var(--muted-foreground) / var(--tw-border-opacity, 1));
}

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

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

.border-muted-foreground\/40{
  border-color: hsl(var(--muted-foreground) / 0.4);
}

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

.border-orange-300{
  --tw-border-opacity: 1;
  border-color: rgb(253 186 116 / var(--tw-border-opacity, 1));
}

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

.border-primary{
  --tw-border-opacity: 1;
  border-color: hsl(var(--primary) / var(--tw-border-opacity, 1));
}

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

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

.border-primary\/15{
  border-color: hsl(var(--primary) / 0.15);
}

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

.border-primary\/25{
  border-color: hsl(var(--primary) / 0.25);
}

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

.border-primary\/40{
  border-color: hsl(var(--primary) / 0.4);
}

.border-primary\/5{
  border-color: hsl(var(--primary) / 0.05);
}

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

.border-purple-500\/20{
  border-color: rgb(168 85 247 / 0.2);
}

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

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

.border-red-200\/70{
  border-color: rgb(254 202 202 / 0.7);
}

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

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

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

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

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

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

.border-rose-300\/60{
  border-color: rgb(253 164 175 / 0.6);
}

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

.border-sidebar-border{
  --tw-border-opacity: 1;
  border-color: hsl(var(--sidebar-border) / var(--tw-border-opacity, 1));
}

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

.border-slate-500\/20{
  border-color: rgb(100 116 139 / 0.2);
}

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

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

.border-violet-400\/30{
  border-color: rgb(167 139 250 / 0.3);
}

.border-violet-500\/20{
  border-color: rgb(139 92 246 / 0.2);
}

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

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

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

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

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

.border-yellow-200{
  --tw-border-opacity: 1;
  border-color: rgb(254 240 138 / var(--tw-border-opacity, 1));
}

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

.border-yellow-500\/30{
  border-color: rgb(234 179 8 / 0.3);
}

.border-yellow-500\/40{
  border-color: rgb(234 179 8 / 0.4);
}

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

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

.border-l-border{
  --tw-border-opacity: 1;
  border-left-color: hsl(var(--border) / var(--tw-border-opacity, 1));
}

.border-l-destructive{
  --tw-border-opacity: 1;
  border-left-color: hsl(var(--destructive) / var(--tw-border-opacity, 1));
}

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

.border-s-transparent{
  border-inline-start-color: transparent;
}

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

.bg-\[\#0071E3\]{
  --tw-bg-opacity: 1;
  background-color: rgb(0 113 227 / var(--tw-bg-opacity, 1));
}

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

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

.bg-\[\#2c2c2e\]{
  --tw-bg-opacity: 1;
  background-color: rgb(44 44 46 / var(--tw-bg-opacity, 1));
}

.bg-\[\#4285F4\]\/15{
  background-color: rgb(66 133 244 / 0.15);
}

.bg-\[\#4285F4\]\/5{
  background-color: rgb(66 133 244 / 0.05);
}

.bg-\[\#76b900\]\/10{
  background-color: rgb(118 185 0 / 0.1);
}

.bg-\[\#76b900\]\/15{
  background-color: rgb(118 185 0 / 0.15);
}

.bg-\[\#76b900\]\/5{
  background-color: rgb(118 185 0 / 0.05);
}

.bg-\[\#86868B\]{
  --tw-bg-opacity: 1;
  background-color: rgb(134 134 139 / var(--tw-bg-opacity, 1));
}

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

.bg-\[\#FF9F0A\]{
  --tw-bg-opacity: 1;
  background-color: rgb(255 159 10 / var(--tw-bg-opacity, 1));
}

.bg-\[--color-bg\]{
  background-color: var(--color-bg);
}

.bg-\[hsl\(var\(--grade-a-bg\)\)\]{
  background-color: hsl(var(--grade-a-bg));
}

.bg-\[hsl\(var\(--grade-b-bg\)\)\]{
  background-color: hsl(var(--grade-b-bg));
}

.bg-\[hsl\(var\(--grade-c-bg\)\)\]{
  background-color: hsl(var(--grade-c-bg));
}

.bg-\[hsl\(var\(--grade-d-bg\)\)\]{
  background-color: hsl(var(--grade-d-bg));
}

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

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

.bg-\[hsl\(var\(--primary\)\)\]\/5{
  background-color: hsl(var(--primary) / 0.05);
}

.bg-accent{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--accent) / var(--tw-bg-opacity, 1));
}

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

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

.bg-amber-400\/30{
  background-color: rgb(251 191 36 / 0.3);
}

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

.bg-amber-50\/30{
  background-color: rgb(255 251 235 / 0.3);
}

.bg-amber-50\/40{
  background-color: rgb(255 251 235 / 0.4);
}

.bg-amber-50\/50{
  background-color: rgb(255 251 235 / 0.5);
}

.bg-amber-50\/60{
  background-color: rgb(255 251 235 / 0.6);
}

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

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

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

.bg-amber-500\/5{
  background-color: rgb(245 158 11 / 0.05);
}

.bg-amber-500\/60{
  background-color: rgb(245 158 11 / 0.6);
}

.bg-amber-500\/95{
  background-color: rgb(245 158 11 / 0.95);
}

.bg-amber-500\/\[0\.03\]{
  background-color: rgb(245 158 11 / 0.03);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bg-blue-500\/15{
  background-color: rgb(59 130 246 / 0.15);
}

.bg-blue-500\/5{
  background-color: rgb(59 130 246 / 0.05);
}

.bg-border{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--border) / var(--tw-bg-opacity, 1));
}

.bg-border\/25{
  background-color: hsl(var(--border) / 0.25);
}

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

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

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

.bg-border\/60{
  background-color: hsl(var(--border) / 0.6);
}

.bg-card{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--card) / var(--tw-bg-opacity, 1));
}

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

.bg-card\/60{
  background-color: hsl(var(--card) / 0.6);
}

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

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

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

.bg-destructive{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--destructive) / var(--tw-bg-opacity, 1));
}

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

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

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

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

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

.bg-emerald-400\/30{
  background-color: rgb(52 211 153 / 0.3);
}

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

.bg-emerald-50\/50{
  background-color: rgb(236 253 245 / 0.5);
}

.bg-emerald-50\/60{
  background-color: rgb(236 253 245 / 0.6);
}

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

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

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

.bg-emerald-500\/5{
  background-color: rgb(16 185 129 / 0.05);
}

.bg-emerald-500\/60{
  background-color: rgb(16 185 129 / 0.6);
}

.bg-emerald-500\/\[0\.03\]{
  background-color: rgb(16 185 129 / 0.03);
}

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

.bg-foreground{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--foreground) / var(--tw-bg-opacity, 1));
}

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

.bg-foreground\/25{
  background-color: hsl(var(--foreground) / 0.25);
}

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

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

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

.bg-foreground\/\[0\.02\]{
  background-color: hsl(var(--foreground) / 0.02);
}

.bg-foreground\/\[0\.03\]{
  background-color: hsl(var(--foreground) / 0.03);
}

.bg-foreground\/\[0\.04\]{
  background-color: hsl(var(--foreground) / 0.04);
}

.bg-foreground\/\[0\.05\]{
  background-color: hsl(var(--foreground) / 0.05);
}

.bg-foreground\/\[0\.07\]{
  background-color: hsl(var(--foreground) / 0.07);
}

.bg-foreground\/\[0\.12\]{
  background-color: hsl(var(--foreground) / 0.12);
}

.bg-foreground\/\[0\.15\]{
  background-color: hsl(var(--foreground) / 0.15);
}

.bg-fuchsia-500\/10{
  background-color: rgb(217 70 239 / 0.1);
}

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

.bg-gray-400\/5{
  background-color: rgb(156 163 175 / 0.05);
}

.bg-gray-500\/10{
  background-color: rgb(107 114 128 / 0.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-50\/50{
  background-color: rgb(240 253 244 / 0.5);
}

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

.bg-green-500\/10{
  background-color: rgb(34 197 94 / 0.1);
}

.bg-green-500\/15{
  background-color: rgb(34 197 94 / 0.15);
}

.bg-green-500\/5{
  background-color: rgb(34 197 94 / 0.05);
}

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

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

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

.bg-lime-500\/10{
  background-color: rgb(132 204 22 / 0.1);
}

.bg-muted{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--muted) / var(--tw-bg-opacity, 1));
}

.bg-muted-foreground{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--muted-foreground) / var(--tw-bg-opacity, 1));
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bg-orange-500\/10{
  background-color: rgb(249 115 22 / 0.1);
}

.bg-orange-500\/5{
  background-color: rgb(249 115 22 / 0.05);
}

.bg-pink-100{
  --tw-bg-opacity: 1;
  background-color: rgb(252 231 243 / var(--tw-bg-opacity, 1));
}

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

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

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

.bg-popover{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--popover) / var(--tw-bg-opacity, 1));
}

.bg-primary{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--primary) / var(--tw-bg-opacity, 1));
}

.bg-primary-foreground\/85{
  background-color: hsl(var(--primary-foreground) / 0.85);
}

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

.bg-primary\/15{
  background-color: hsl(var(--primary) / 0.15);
}

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

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

.bg-primary\/35{
  background-color: hsl(var(--primary) / 0.35);
}

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

.bg-primary\/5{
  background-color: hsl(var(--primary) / 0.05);
}

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

.bg-primary\/60{
  background-color: hsl(var(--primary) / 0.6);
}

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

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

.bg-primary\/95{
  background-color: hsl(var(--primary) / 0.95);
}

.bg-primary\/\[0\.02\]{
  background-color: hsl(var(--primary) / 0.02);
}

.bg-primary\/\[0\.03\]{
  background-color: hsl(var(--primary) / 0.03);
}

.bg-primary\/\[0\.04\]{
  background-color: hsl(var(--primary) / 0.04);
}

.bg-purple-100{
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 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-500\/10{
  background-color: rgb(168 85 247 / 0.1);
}

.bg-purple-500\/5{
  background-color: rgb(168 85 247 / 0.05);
}

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

.bg-red-100\/60{
  background-color: rgb(254 226 226 / 0.6);
}

.bg-red-200{
  --tw-bg-opacity: 1;
  background-color: rgb(254 202 202 / 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-50\/50{
  background-color: rgb(254 242 242 / 0.5);
}

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

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

.bg-red-500\/15{
  background-color: rgb(239 68 68 / 0.15);
}

.bg-red-500\/5{
  background-color: rgb(239 68 68 / 0.05);
}

.bg-red-500\/95{
  background-color: rgb(239 68 68 / 0.95);
}

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

.bg-rose-400{
  --tw-bg-opacity: 1;
  background-color: rgb(251 113 133 / var(--tw-bg-opacity, 1));
}

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

.bg-rose-50\/40{
  background-color: rgb(255 241 242 / 0.4);
}

.bg-rose-50\/50{
  background-color: rgb(255 241 242 / 0.5);
}

.bg-rose-500{
  --tw-bg-opacity: 1;
  background-color: rgb(244 63 94 / var(--tw-bg-opacity, 1));
}

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

.bg-rose-500\/60{
  background-color: rgb(244 63 94 / 0.6);
}

.bg-secondary{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--secondary) / var(--tw-bg-opacity, 1));
}

.bg-sidebar{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--sidebar) / var(--tw-bg-opacity, 1));
}

.bg-sidebar-border{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--sidebar-border) / var(--tw-bg-opacity, 1));
}

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

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

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

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

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

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

.bg-slate-950{
  --tw-bg-opacity: 1;
  background-color: rgb(2 6 23 / var(--tw-bg-opacity, 1));
}

.bg-teal-500{
  --tw-bg-opacity: 1;
  background-color: rgb(20 184 166 / var(--tw-bg-opacity, 1));
}

.bg-teal-500\/10{
  background-color: rgb(20 184 166 / 0.1);
}

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

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

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

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

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

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

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

.bg-white\/95{
  background-color: rgb(255 255 255 / 0.95);
}

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

.bg-yellow-50\/50{
  background-color: rgb(254 252 232 / 0.5);
}

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

.bg-yellow-500\/10{
  background-color: rgb(234 179 8 / 0.1);
}

.bg-\[radial-gradient\(circle_at_20\%_30\%\2c rgba\(37\2c 99\2c 235\2c 0\.15\)\2c transparent_50\%\)\]{
  background-image: radial-gradient(circle at 20% 30%,rgba(37,99,235,0.15),transparent 50%);
}

.bg-\[radial-gradient\(circle_at_80\%_20\%\2c rgba\(124\2c 58\2c 237\2c 0\.1\)\2c transparent_40\%\)\]{
  background-image: radial-gradient(circle at 80% 20%,rgba(124,58,237,0.1),transparent 40%);
}

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

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

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

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

.from-\[\#0071E3\]{
  --tw-gradient-from: #0071E3 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 113 227 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-amber-500{
  --tw-gradient-from: #f59e0b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-background{
  --tw-gradient-from: hsl(var(--background) / 1) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-blue-100{
  --tw-gradient-from: #dbeafe var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(219 234 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-blue-50\/50{
  --tw-gradient-from: rgb(239 246 255 / 0.5) 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-cyan-500{
  --tw-gradient-from: #06b6d4 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-emerald-500{
  --tw-gradient-from: #10b981 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-emerald-500\/10{
  --tw-gradient-from: rgb(16 185 129 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-emerald-500\/20{
  --tw-gradient-from: rgb(16 185 129 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-500{
  --tw-gradient-from: #6b7280 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(107 114 128 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-900{
  --tw-gradient-from: #111827 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(17 24 39 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-green-500{
  --tw-gradient-from: #22c55e var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-muted\/30{
  --tw-gradient-from: hsl(var(--muted) / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--muted) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-muted\/40{
  --tw-gradient-from: hsl(var(--muted) / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--muted) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-muted\/50{
  --tw-gradient-from: hsl(var(--muted) / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--muted) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-primary{
  --tw-gradient-from: hsl(var(--primary) / 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-primary\/0{
  --tw-gradient-from: hsl(var(--primary) / 0) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-primary\/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-primary\/15{
  --tw-gradient-from: hsl(var(--primary) / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-primary\/20{
  --tw-gradient-from: hsl(var(--primary) / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-primary\/30{
  --tw-gradient-from: hsl(var(--primary) / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

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

.from-primary\/60{
  --tw-gradient-from: hsl(var(--primary) / 0.6) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-primary\/80{
  --tw-gradient-from: hsl(var(--primary) / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-primary\/\[0\.03\]{
  --tw-gradient-from: hsl(var(--primary) / 0.03) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-primary\/\[0\.04\]{
  --tw-gradient-from: hsl(var(--primary) / 0.04) 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-rose-500{
  --tw-gradient-from: #f43f5e var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(244 63 94 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-slate-50\/50{
  --tw-gradient-from: rgb(248 250 252 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(248 250 252 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-slate-900{
  --tw-gradient-from: #0f172a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(15 23 42 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-transparent{
  --tw-gradient-from: transparent var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-violet-50\/50{
  --tw-gradient-from: rgb(245 243 255 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 243 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.via-background{
  --tw-gradient-to: hsl(var(--background) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--background) / 1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-border\/40{
  --tw-gradient-to: hsl(var(--border) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--border) / 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-emerald-500\/20{
  --tw-gradient-to: rgb(16 185 129 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(16 185 129 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-foreground\/10{
  --tw-gradient-to: hsl(var(--foreground) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--foreground) / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-muted\/20{
  --tw-gradient-to: hsl(var(--muted) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--muted) / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-muted\/30{
  --tw-gradient-to: hsl(var(--muted) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--muted) / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-primary\/15{
  --tw-gradient-to: hsl(var(--primary) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary) / 0.15) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-primary\/20{
  --tw-gradient-to: hsl(var(--primary) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary) / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-slate-800{
  --tw-gradient-to: rgb(30 41 59 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1e293b var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-transparent{
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.to-\[\#0071E3\]\/70{
  --tw-gradient-to: rgb(0 113 227 / 0.7) var(--tw-gradient-to-position);
}

.to-amber-600{
  --tw-gradient-to: #d97706 var(--tw-gradient-to-position);
}

.to-background{
  --tw-gradient-to: hsl(var(--background) / 1) var(--tw-gradient-to-position);
}

.to-blue-200{
  --tw-gradient-to: #bfdbfe var(--tw-gradient-to-position);
}

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

.to-emerald-500\/60{
  --tw-gradient-to: rgb(16 185 129 / 0.6) var(--tw-gradient-to-position);
}

.to-emerald-600{
  --tw-gradient-to: #059669 var(--tw-gradient-to-position);
}

.to-gray-600{
  --tw-gradient-to: #4b5563 var(--tw-gradient-to-position);
}

.to-gray-900\/90{
  --tw-gradient-to: rgb(17 24 39 / 0.9) var(--tw-gradient-to-position);
}

.to-green-600{
  --tw-gradient-to: #16a34a var(--tw-gradient-to-position);
}

.to-muted\/30{
  --tw-gradient-to: hsl(var(--muted) / 0.3) var(--tw-gradient-to-position);
}

.to-orange-500{
  --tw-gradient-to: #f97316 var(--tw-gradient-to-position);
}

.to-pink-500{
  --tw-gradient-to: #ec4899 var(--tw-gradient-to-position);
}

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

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

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

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

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

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

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

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

.to-rose-600{
  --tw-gradient-to: #e11d48 var(--tw-gradient-to-position);
}

.to-slate-900{
  --tw-gradient-to: #0f172a var(--tw-gradient-to-position);
}

.to-teal-500{
  --tw-gradient-to: #14b8a6 var(--tw-gradient-to-position);
}

.to-teal-500\/10{
  --tw-gradient-to: rgb(20 184 166 / 0.1) var(--tw-gradient-to-position);
}

.to-transparent{
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}

.to-violet-600{
  --tw-gradient-to: #7c3aed var(--tw-gradient-to-position);
}

.fill-amber-400{
  fill: #fbbf24;
}

.fill-current{
  fill: currentColor;
}

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

.fill-slate-900{
  fill: #0f172a;
}

.fill-white\/80{
  fill: rgb(255 255 255 / 0.8);
}

.stroke-border{
  stroke: hsl(var(--border) / 1);
}

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

.stroke-\[1\.5\]{
  stroke-width: 1.5;
}

.stroke-\[2\.2\]{
  stroke-width: 2.2;
}

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

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

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

.p-0{
  padding: 0px;
}

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

.p-1{
  padding: 0.25rem;
}

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

.p-10{
  padding: 2.5rem;
}

.p-12{
  padding: 3rem;
}

.p-2{
  padding: 0.5rem;
}

.p-2\.5{
  padding: 0.625rem;
}

.p-3{
  padding: 0.75rem;
}

.p-3\.5{
  padding: 0.875rem;
}

.p-4{
  padding: 1rem;
}

.p-5{
  padding: 1.25rem;
}

.p-6{
  padding: 1.5rem;
}

.p-8{
  padding: 2rem;
}

.p-\[1px\]{
  padding: 1px;
}

.p-\[6px\]{
  padding: 6px;
}

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

.px-0\.5{
  padding-left: 0.125rem;
  padding-right: 0.125rem;
}

.px-1{
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

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

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

.px-2\.5{
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}

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

.px-3\.5{
  padding-left: 0.875rem;
  padding-right: 0.875rem;
}

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

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

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

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

.py-0{
  padding-top: 0px;
  padding-bottom: 0px;
}

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

.py-1{
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

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

.py-10{
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

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

.py-14{
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}

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

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

.py-2\.5{
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

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

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

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

.py-3\.5{
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}

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

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

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

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

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

.py-\[2px\]{
  padding-top: 2px;
  padding-bottom: 2px;
}

.py-\[3px\]{
  padding-top: 3px;
  padding-bottom: 3px;
}

.py-px{
  padding-top: 1px;
  padding-bottom: 1px;
}

.pb-0{
  padding-bottom: 0px;
}

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

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

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

.pb-10{
  padding-bottom: 2.5rem;
}

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

.pb-14{
  padding-bottom: 3.5rem;
}

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

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

.pb-2\.5{
  padding-bottom: 0.625rem;
}

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

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

.pb-28{
  padding-bottom: 7rem;
}

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

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

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

.pb-6{
  padding-bottom: 1.5rem;
}

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

.pb-\[2px\]{
  padding-bottom: 2px;
}

.pb-\[6px\]{
  padding-bottom: 6px;
}

.pe-1{
  padding-inline-end: 0.25rem;
}

.pe-1\.5{
  padding-inline-end: 0.375rem;
}

.pe-10{
  padding-inline-end: 2.5rem;
}

.pe-12{
  padding-inline-end: 3rem;
}

.pe-14{
  padding-inline-end: 3.5rem;
}

.pe-2{
  padding-inline-end: 0.5rem;
}

.pe-3{
  padding-inline-end: 0.75rem;
}

.pe-4{
  padding-inline-end: 1rem;
}

.pe-6{
  padding-inline-end: 1.5rem;
}

.pe-8{
  padding-inline-end: 2rem;
}

.pe-9{
  padding-inline-end: 2.25rem;
}

.pe-\[6px\]{
  padding-inline-end: 6px;
}

.pl-2{
  padding-left: 0.5rem;
}

.pl-3{
  padding-left: 0.75rem;
}

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

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

.pl-8{
  padding-left: 2rem;
}

.pl-9{
  padding-left: 2.25rem;
}

.pl-\[44px\]{
  padding-left: 44px;
}

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

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

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

.ps-10{
  padding-inline-start: 2.5rem;
}

.ps-12{
  padding-inline-start: 3rem;
}

.ps-2{
  padding-inline-start: 0.5rem;
}

.ps-2\.5{
  padding-inline-start: 0.625rem;
}

.ps-3{
  padding-inline-start: 0.75rem;
}

.ps-4{
  padding-inline-start: 1rem;
}

.ps-5{
  padding-inline-start: 1.25rem;
}

.ps-6{
  padding-inline-start: 1.5rem;
}

.ps-8{
  padding-inline-start: 2rem;
}

.ps-9{
  padding-inline-start: 2.25rem;
}

.ps-\[36px\]{
  padding-inline-start: 36px;
}

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

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

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

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

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

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

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

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

.pt-28{
  padding-top: 7rem;
}

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

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

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

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

.pt-7{
  padding-top: 1.75rem;
}

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

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

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

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

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

.text-start{
  text-align: start;
}

.text-end{
  text-align: end;
}

.-indent-6{
  text-indent: -1.5rem;
}

.-indent-8{
  text-indent: -2rem;
}

.align-top{
  vertical-align: top;
}

.align-middle{
  vertical-align: middle;
}

.align-text-top{
  vertical-align: text-top;
}

.align-super{
  vertical-align: super;
}

.font-mono{
  font-family: var(--font-mono);
}

.font-sans{
  font-family: var(--font-sans);
}

.font-serif{
  font-family: var(--font-serif);
}

.text-1xs{
  font-size: 11px;
  line-height: 1.4;
}

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

.text-2xs{
  font-size: 10px;
  line-height: 1.4;
}

.text-3xl{
  font-size: 1.875rem;
  line-height: 2.25rem;
}

.text-3xs{
  font-size: 9px;
  line-height: 1.3;
}

.text-4xl{
  font-size: 2.25rem;
  line-height: 2.5rem;
}

.text-5xl{
  font-size: 3rem;
  line-height: 1;
}

.text-6xl{
  font-size: 3.75rem;
  line-height: 1;
}

.text-\[0\.8rem\]{
  font-size: 0.8rem;
}

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

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

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

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

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

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

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

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

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

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

.text-\[6\.5px\]{
  font-size: 6.5px;
}

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

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

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

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

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

.text-lg{
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.text-sm{
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.text-sm-plus{
  font-size: 15px;
  line-height: 1.5;
}

.text-xl{
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.text-xs{
  font-size: 0.75rem;
  line-height: 1rem;
}

.font-black{
  font-weight: 900;
}

.font-bold{
  font-weight: 700;
}

.font-extrabold{
  font-weight: 800;
}

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

.tabular-nums{
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

.leading-\[1\.05\]{
  line-height: 1.05;
}

.leading-\[1\.0\]{
  line-height: 1.0;
}

.leading-\[1\.6\]{
  line-height: 1.6;
}

.leading-\[1\.75\]{
  line-height: 1.75;
}

.leading-\[1\.8\]{
  line-height: 1.8;
}

.leading-\[1\.9\]{
  line-height: 1.9;
}

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

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

.leading-snug{
  line-height: 1.375;
}

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

.tracking-\[0\.06em\]{
  letter-spacing: 0.06em;
}

.tracking-\[0\.12em\]{
  letter-spacing: 0.12em;
}

.tracking-\[0\.18em\]{
  letter-spacing: 0.18em;
}

.tracking-\[0\.3em\]{
  letter-spacing: 0.3em;
}

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

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

.tracking-wider{
  letter-spacing: 0.05em;
}

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

.text-\[\#34C759\]{
  --tw-text-opacity: 1;
  color: rgb(52 199 89 / var(--tw-text-opacity, 1));
}

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

.text-\[\#76b900\]{
  --tw-text-opacity: 1;
  color: rgb(118 185 0 / var(--tw-text-opacity, 1));
}

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

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

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

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

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

.text-accent-foreground{
  --tw-text-opacity: 1;
  color: hsl(var(--accent-foreground) / var(--tw-text-opacity, 1));
}

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

.text-amber-400\/50{
  color: rgb(251 191 36 / 0.5);
}

.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-950{
  --tw-text-opacity: 1;
  color: rgb(69 26 3 / var(--tw-text-opacity, 1));
}

.text-background{
  --tw-text-opacity: 1;
  color: hsl(var(--background) / var(--tw-text-opacity, 1));
}

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

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

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

.text-blue-400{
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / 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-border{
  --tw-text-opacity: 1;
  color: hsl(var(--border) / var(--tw-text-opacity, 1));
}

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

.text-card-foreground{
  --tw-text-opacity: 1;
  color: hsl(var(--card-foreground) / var(--tw-text-opacity, 1));
}

.text-current{
  color: currentColor;
}

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

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

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

.text-destructive{
  --tw-text-opacity: 1;
  color: hsl(var(--destructive) / var(--tw-text-opacity, 1));
}

.text-destructive-foreground{
  --tw-text-opacity: 1;
  color: hsl(var(--destructive-foreground) / var(--tw-text-opacity, 1));
}

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

.text-emerald-400\/50{
  color: rgb(52 211 153 / 0.5);
}

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

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

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

.text-emerald-800{
  --tw-text-opacity: 1;
  color: rgb(6 95 70 / var(--tw-text-opacity, 1));
}

.text-foreground{
  --tw-text-opacity: 1;
  color: hsl(var(--foreground) / var(--tw-text-opacity, 1));
}

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

.text-foreground\/65{
  color: hsl(var(--foreground) / 0.65);
}

.text-foreground\/70{
  color: hsl(var(--foreground) / 0.7);
}

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

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

.text-fuchsia-600{
  --tw-text-opacity: 1;
  color: rgb(192 38 211 / 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-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-indigo-600{
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

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

.text-lime-600{
  --tw-text-opacity: 1;
  color: rgb(101 163 13 / var(--tw-text-opacity, 1));
}

.text-muted-foreground{
  --tw-text-opacity: 1;
  color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));
}

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

.text-muted-foreground\/35{
  color: hsl(var(--muted-foreground) / 0.35);
}

.text-muted-foreground\/40{
  color: hsl(var(--muted-foreground) / 0.4);
}

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

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

.text-muted-foreground\/70{
  color: hsl(var(--muted-foreground) / 0.7);
}

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

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

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

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

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

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

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

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

.text-pink-800{
  --tw-text-opacity: 1;
  color: rgb(157 23 77 / var(--tw-text-opacity, 1));
}

.text-popover-foreground{
  --tw-text-opacity: 1;
  color: hsl(var(--popover-foreground) / var(--tw-text-opacity, 1));
}

.text-primary{
  --tw-text-opacity: 1;
  color: hsl(var(--primary) / var(--tw-text-opacity, 1));
}

.text-primary-foreground{
  --tw-text-opacity: 1;
  color: hsl(var(--primary-foreground) / var(--tw-text-opacity, 1));
}

.text-primary-foreground\/70{
  color: hsl(var(--primary-foreground) / 0.7);
}

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

.text-primary\/15{
  color: hsl(var(--primary) / 0.15);
}

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

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

.text-primary\/40{
  color: hsl(var(--primary) / 0.4);
}

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

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

.text-primary\/70{
  color: hsl(var(--primary) / 0.7);
}

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

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

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

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

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

.text-rose-600{
  --tw-text-opacity: 1;
  color: rgb(225 29 72 / var(--tw-text-opacity, 1));
}

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

.text-secondary-foreground{
  --tw-text-opacity: 1;
  color: hsl(var(--secondary-foreground) / var(--tw-text-opacity, 1));
}

.text-sidebar-foreground{
  --tw-text-opacity: 1;
  color: hsl(var(--sidebar-foreground) / var(--tw-text-opacity, 1));
}

.text-sidebar-foreground\/70{
  color: hsl(var(--sidebar-foreground) / 0.7);
}

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

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

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

.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-slate-700{
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}

.text-teal-500{
  --tw-text-opacity: 1;
  color: rgb(20 184 166 / var(--tw-text-opacity, 1));
}

.text-teal-600{
  --tw-text-opacity: 1;
  color: rgb(13 148 136 / var(--tw-text-opacity, 1));
}

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

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

.text-violet-600{
  --tw-text-opacity: 1;
  color: rgb(124 58 237 / var(--tw-text-opacity, 1));
}

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

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

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

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

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

.text-white\/60{
  color: rgb(255 255 255 / 0.6);
}

.text-white\/70{
  color: rgb(255 255 255 / 0.7);
}

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

.text-white\/90{
  color: rgb(255 255 255 / 0.9);
}

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

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

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

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

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

.accent-primary{
  accent-color: hsl(var(--primary) / 1);
}

.opacity-0{
  opacity: 0;
}

.opacity-100{
  opacity: 1;
}

.opacity-30{
  opacity: 0.3;
}

.opacity-35{
  opacity: 0.35;
}

.opacity-40{
  opacity: 0.4;
}

.opacity-50{
  opacity: 0.5;
}

.opacity-60{
  opacity: 0.6;
}

.opacity-70{
  opacity: 0.7;
}

.opacity-75{
  opacity: 0.75;
}

.opacity-80{
  opacity: 0.8;
}

.mix-blend-multiply{
  mix-blend-mode: multiply;
}

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

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

.shadow-\[0_-4px_20px_-4px_rgba\(0\2c 0\2c 0\2c 0\.08\)\]{
  --tw-shadow: 0 -4px 20px -4px rgba(0,0,0,0.08);
  --tw-shadow-colored: 0 -4px 20px -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-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{
  --tw-shadow: 0 0 0 1px hsl(var(--sidebar-border));
  --tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_0_6px_1px\]{
  --tw-shadow: 0 0 6px 1px;
  --tw-shadow-colored: 0 0 6px 1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_1px_2px_rgba\(0\2c 0\2c 0\2c 0\.04\)\]{
  --tw-shadow: 0 1px 2px rgba(0,0,0,0.04);
  --tw-shadow-colored: 0 1px 2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_1px_3px_rgba\(0\2c 0\2c 0\2c 0\.05\)\]{
  --tw-shadow: 0 1px 3px rgba(0,0,0,0.05);
  --tw-shadow-colored: 0 1px 3px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_20px_60px_rgba\(0\2c 0\2c 0\2c 0\.15\)\]{
  --tw-shadow: 0 20px 60px rgba(0,0,0,0.15);
  --tw-shadow-colored: 0 20px 60px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_24px_48px_rgba\(0\2c 0\2c 0\2c 0\.12\)\2c 0_0_0_1px_rgba\(0\2c 0\2c 0\2c 0\.05\)\]{
  --tw-shadow: 0 24px 48px rgba(0,0,0,0.12),0 0 0 1px rgba(0,0,0,0.05);
  --tw-shadow-colored: 0 24px 48px var(--tw-shadow-color), 0 0 0 1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_2px_12px_rgba\(0\2c 0\2c 0\2c 0\.08\)\2c 0_0_0_1px_rgba\(0\2c 0\2c 0\2c 0\.04\)\]{
  --tw-shadow: 0 2px 12px rgba(0,0,0,0.08),0 0 0 1px rgba(0,0,0,0.04);
  --tw-shadow-colored: 0 2px 12px var(--tw-shadow-color), 0 0 0 1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_2px_4px_rgba\(0\2c 0\2c 0\2c 0\.08\)\]{
  --tw-shadow: 0 2px 4px rgba(0,0,0,0.08);
  --tw-shadow-colored: 0 2px 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-\[0_2px_8px_rgba\(0\2c 0\2c 0\2c 0\.03\)\]{
  --tw-shadow: 0 2px 8px rgba(0,0,0,0.03);
  --tw-shadow-colored: 0 2px 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_4px_12px_rgba\(0\2c 0\2c 0\2c 0\.15\)\]{
  --tw-shadow: 0 4px 12px rgba(0,0,0,0.15);
  --tw-shadow-colored: 0 4px 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_8px_24px_rgba\(0\2c 0\2c 0\2c 0\.12\)\]{
  --tw-shadow: 0 8px 24px rgba(0,0,0,0.12);
  --tw-shadow-colored: 0 8px 24px 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-\[inset_0_1px_0_rgba\(255\2c 255\2c 255\2c 0\.06\)\]{
  --tw-shadow: inset 0 1px 0 rgba(255,255,255,0.06);
  --tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-lg{
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-md{
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-none{
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

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

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

.shadow-black\/10{
  --tw-shadow-color: rgb(0 0 0 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-black\/25{
  --tw-shadow-color: rgb(0 0 0 / 0.25);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-emerald-500\/5{
  --tw-shadow-color: rgb(16 185 129 / 0.05);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-primary\/10{
  --tw-shadow-color: hsl(var(--primary) / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}

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

.shadow-primary\/25{
  --tw-shadow-color: hsl(var(--primary) / 0.25);
  --tw-shadow: var(--tw-shadow-colored);
}

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

.shadow-primary\/40{
  --tw-shadow-color: hsl(var(--primary) / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-primary\/5{
  --tw-shadow-color: hsl(var(--primary) / 0.05);
  --tw-shadow: var(--tw-shadow-colored);
}

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

.outline{
  outline-style: solid;
}

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

.outline-offset-2{
  outline-offset: 2px;
}

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

.ring{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

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

.ring-1{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

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

.ring-\[3px\]{
  --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-\[\#3a3a3c\]\/60{
  --tw-ring-color: rgb(58 58 60 / 0.6);
}

.ring-amber-200\/50{
  --tw-ring-color: rgb(253 230 138 / 0.5);
}

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

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

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

.ring-emerald-500\/50{
  --tw-ring-color: rgb(16 185 129 / 0.5);
}

.ring-primary{
  --tw-ring-opacity: 1;
  --tw-ring-color: hsl(var(--primary) / var(--tw-ring-opacity, 1));
}

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

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

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

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

.ring-sidebar-ring{
  --tw-ring-opacity: 1;
  --tw-ring-color: hsl(var(--sidebar-ring) / var(--tw-ring-opacity, 1));
}

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

.ring-white\/\[0\.06\]{
  --tw-ring-color: rgb(255 255 255 / 0.06);
}

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

.blur{
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.blur-2xl{
  --tw-blur: blur(40px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.blur-3xl{
  --tw-blur: blur(64px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.grayscale{
  --tw-grayscale: grayscale(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.filter{
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.backdrop-blur{
  --tw-backdrop-blur: blur(8px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-blur-2xl{
  --tw-backdrop-blur: blur(40px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-blur-md{
  --tw-backdrop-blur: blur(12px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-blur-sm{
  --tw-backdrop-blur: blur(4px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-blur-xl{
  --tw-backdrop-blur: blur(24px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-filter{
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

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

.transition-\[border-color\2c box-shadow\]{
  transition-property: border-color,box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

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

.transition-\[left\2c right\2c width\]{
  transition-property: left,right,width;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-\[margin\2c opacity\]{
  transition-property: margin,opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-\[max-height\2c opacity\]{
  transition-property: max-height,opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-\[width\2c height\2c padding\]{
  transition-property: width,height,padding;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

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

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

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

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

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

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

.delay-0{
  transition-delay: 0s;
}

.delay-100{
  transition-delay: 100ms;
}

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

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

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

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

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

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

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

.ease-linear{
  transition-timing-function: linear;
}

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

@keyframes enter{

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

@keyframes exit{

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

.animate-in{
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}

.fade-in{
  --tw-enter-opacity: 0;
}

.fade-in-0{
  --tw-enter-opacity: 0;
}

.fade-out{
  --tw-exit-opacity: 0;
}

.zoom-in-95{
  --tw-enter-scale: .95;
}

.slide-in-from-bottom-2{
  --tw-enter-translate-y: 0.5rem;
}

.duration-100{
  animation-duration: 100ms;
}

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

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

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

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

.duration-700{
  animation-duration: 700ms;
}

.delay-0{
  animation-delay: 0s;
}

.delay-100{
  animation-delay: 100ms;
}

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

.ease-linear{
  animation-timing-function: linear;
}

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

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

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

/* Button tap feedback */

/* Card tap feedback */

/* Link tap feedback */

/* Touch target minimum size */

/* Larger touch target */

/* Mobile-optimized text colors (higher contrast) */

@media (max-width: 640px) {
    .text-muted-foreground {
      color: hsl(var(--muted-foreground) / 0.9);
    }
  }

input[type="search"]::-webkit-search-cancel-button{
  display: none;
}

[contenteditable][data-placeholder]:empty::before {
    content: attr(data-placeholder);
    color: hsl(var(--muted-foreground));
    pointer-events: none;
  }

/* Responsive container utilities */

/* Safe area insets for notched devices */

/* Responsive text utilities */

/* Responsive spacing utilities */

/* Touch-friendly utilities */

/* Prevent text selection on double-tap (mobile) */

/* Smooth scrolling with momentum on iOS */

/* Hide scrollbar but keep functionality */

.scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
  }

.scrollbar-hide::-webkit-scrollbar {
    display: none;
  }

/* Responsive grid utilities */

/* Full width on mobile, constrained on desktop */

.no-default-hover-elevate {}

.no-default-active-elevate {}

.toggle-elevate::before,
  .toggle-elevate-2::before {
    content: "";
    pointer-events: none;
    position: absolute;
    inset: 0px;
    border-radius: inherit;
    z-index: -1;
  }

.toggle-elevate.toggle-elevated::before {
    background-color: var(--elevate-2);
  }

.border.toggle-elevate::before {
    inset: -1px;
  }

.hover-elevate:not(.no-default-hover-elevate),
  .active-elevate:not(.no-default-active-elevate),
  .hover-elevate-2:not(.no-default-hover-elevate),
  .active-elevate-2:not(.no-default-active-elevate) {
    position: relative;
    z-index: 0;
  }

.hover-elevate:not(.no-default-hover-elevate)::after,
  .active-elevate:not(.no-default-active-elevate)::after,
  .hover-elevate-2:not(.no-default-hover-elevate)::after,
  .active-elevate-2:not(.no-default-active-elevate)::after {
    content: "";
    pointer-events: none;
    position: absolute;
    inset: 0px;
    border-radius: inherit;
    z-index: 999;
  }

.hover-elevate:hover:not(.no-default-hover-elevate)::after,
  .active-elevate:active:not(.no-default-active-elevate)::after {
    background-color: var(--elevate-1);
  }

.hover-elevate-2:hover:not(.no-default-hover-elevate)::after,
  .active-elevate-2:active:not(.no-default-active-elevate)::after {
    background-color: var(--elevate-2);
  }

.border.hover-elevate:not(.no-hover-interaction-elevate)::after,
  .border.active-elevate:not(.no-active-interaction-elevate)::after,
  .border.hover-elevate-2:not(.no-hover-interaction-elevate)::after,
  .border.active-elevate-2:not(.no-active-interaction-elevate)::after,
  .border.hover-elevate:not(.no-hover-interaction-elevate)::after {
    inset: -1px;
  }

/* Glass Morphism Effects */

.dark .glass-surface {
    background: rgba(9, 9, 11, 0.7);
  }

.dark .glass-card {
    background: rgba(24, 24, 27, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  }

/* Premium Shadows - Apple-inspired elevation */

/* 3D Hover Tilt Effects */

/* Light Sweep Effect */

.light-sweep {
    position: relative;
    overflow: hidden;
  }

.light-sweep::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
      90deg,
      transparent,
      rgba(255, 255, 255, 0.3),
      transparent
    );
    transition: left 0.5s ease;
  }

.light-sweep:hover::after {
    left: 100%;
  }

/* Atmospheric Gradient Backgrounds */

/* Refined Border Radius - Apple-style precision */

/* Gradient Heading Utilities */

/* Landscape orientation utilities for tablets and phones */

/* Touch-friendly spacing for mobile */

/* ===== MOTION & MICROINTERACTIONS ===== */

/* Calm, confident, expensive software animations */

/* Panel Slide-ins - subtle entrance animations */

.fade-in {
    animation: fadeIn 0.2s ease-out;
  }

@keyframes slideInLeft {
    from {
      opacity: 0;
      transform: translateX(-12px);
    }
    to {
      opacity: 1;
      transform: translateX(0);
    }
  }

@keyframes slideInRight {
    from {
      opacity: 0;
      transform: translateX(12px);
    }
    to {
      opacity: 1;
      transform: translateX(0);
    }
  }

@keyframes slideInUp {
    from {
      opacity: 0;
      transform: translateY(8px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

@keyframes slideInDown {
    from {
      opacity: 0;
      transform: translateY(-8px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
  }

@keyframes fadeInUp {
    from {
      opacity: 0;
      transform: translateY(6px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

@keyframes scaleIn {
    from {
      opacity: 0;
      transform: scale(0.96);
    }
    to {
      opacity: 1;
      transform: scale(1);
    }
  }

/* Agent Thinking Indicator - subtle pulse */

@keyframes thinkingPulse {
    0%, 100% {
      opacity: 0.4;
    }
    50% {
      opacity: 1;
    }
  }

@keyframes thinkingDot {
    0%, 80%, 100% {
      opacity: 0.3;
      transform: scale(0.8);
    }
    40% {
      opacity: 1;
      transform: scale(1);
    }
  }

.\[border-color\:var\(--badge-outline\)\]{
  border-color: var(--badge-outline);
}

.\[border-color\:var\(--button-outline\)\]{
  border-color: var(--button-outline);
}

.\[box-shadow\:0_0_0_1px_rgba\(37\2c 99\2c 235\2c 0\.1\)\2c 0_2px_4px_rgba\(37\2c 99\2c 235\2c 0\.1\)\2c 0_4px_12px_rgba\(37\2c 99\2c 235\2c 0\.15\)\]{
  box-shadow: 0 0 0 1px rgba(37,99,235,0.1),0 2px 4px rgba(37,99,235,0.1),0 4px 12px rgba(37,99,235,0.15);
}

.\[mask-image\:radial-gradient\(ellipse_at_center\2c white\2c transparent_80\%\)\]{
  -webkit-mask-image: radial-gradient(ellipse at center,white,transparent 80%);
          mask-image: radial-gradient(ellipse at center,white,transparent 80%);
}

/* Helix sphere animations (home page hero) */

@keyframes helix-breathe { 0%, 100% { transform: scale(1); opacity: 0.6; } 50% { transform: scale(1.15); opacity: 1; } }

@keyframes helix-glow-pulse { 0%, 100% { box-shadow: 0 0 40px 8px rgba(0,113,227,0.2), 0 0 80px 20px rgba(0,113,227,0.1); } 50% { box-shadow: 0 0 60px 12px rgba(0,113,227,0.35), 0 0 120px 40px rgba(0,113,227,0.15); } }

@keyframes helix-orbit-1 { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

@keyframes helix-orbit-2 { from { transform: rotate(60deg); } to { transform: rotate(420deg); } }

@keyframes helix-orbit-3 { from { transform: rotate(120deg); } to { transform: rotate(-240deg); } }

@keyframes helix-node-pulse { 0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.7; } 50% { transform: translate(-50%, -50%) scale(1.6); opacity: 1; } }

@keyframes helix-float-1 { 0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.4; } 33% { transform: translate(6px, -8px) scale(1.2); opacity: 0.7; } 66% { transform: translate(-4px, 4px) scale(0.9); opacity: 0.3; } }

@keyframes helix-float-2 { 0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.3; } 50% { transform: translate(-8px, 6px) scale(1.3); opacity: 0.6; } }

@keyframes helix-arc { 0% { transform: rotate(0deg) translateX(var(--arc-r)) rotate(0deg); opacity: 0; } 10% { opacity: 0.6; } 90% { opacity: 0.6; } 100% { transform: rotate(180deg) translateX(var(--arc-r)) rotate(-180deg); opacity: 0; } }

/* SVG pulse-ring animation (query-flow-diagram) */

@keyframes pulse-ring {
  0%, 100% { r: 24px; opacity: 0.3; }
  50% { r: 32px; opacity: 0.1; }
}

/* Audit page print styles */

@media print {
  .print-hide { display: none !important; }
  .print-full  { max-width: 100% !important; padding: 0 !important; }
  body { background: white !important; }
  .dark body { background: white !important; color: black !important; }
}

/* RTL Support */

[dir="rtl"] {
  font-family: 'IBM Plex Sans Arabic', 'Inter', sans-serif;
  --font-serif: 'IBM Plex Sans Arabic', 'DM Serif Display', 'Georgia', 'Times New Roman', serif;
}

[dir="rtl"] .rtl\:flip {
  transform: scaleX(-1);
}

[dir="rtl"] .rtl\:space-reverse > * + * {
  margin-left: 0;
  margin-right: var(--space-x);
}

/* RTL: Centered text stays centered */

[dir="rtl"] .text-center {
  text-align: center !important;
}

/* RTL: Prose / Markdown output — scoped to .prose containers */

[dir="rtl"] .prose {
  text-align: right;
  direction: rtl;
}

[dir="rtl"] .prose h1,
[dir="rtl"] .prose h2,
[dir="rtl"] .prose h3,
[dir="rtl"] .prose h4,
[dir="rtl"] .prose h5,
[dir="rtl"] .prose h6,
[dir="rtl"] .prose p,
[dir="rtl"] .prose li,
[dir="rtl"] .prose blockquote,
[dir="rtl"] .prose a,
[dir="rtl"] .prose td,
[dir="rtl"] .prose th {
  text-align: right;
  direction: rtl;
}

[dir="rtl"] .prose ul,
[dir="rtl"] .prose ol {
  padding-right: 1.5em;
  padding-left: 0;
}

/* RTL: Code blocks always stay LTR */

[dir="rtl"] pre, [dir="rtl"] code {
  direction: ltr;
  text-align: left;
  unicode-bidi: isolate;
}

/* RTL: Form inputs inherit direction from root */

[dir="rtl"] input:not([type="checkbox"]):not([type="radio"]):not([dir="ltr"]),
[dir="rtl"] textarea:not([dir="ltr"]),
[dir="rtl"] select:not([dir="ltr"]) {
  text-align: right;
}

[dir="rtl"] input::-moz-placeholder, [dir="rtl"] textarea::-moz-placeholder {
  text-align: right;
}

[dir="rtl"] input::placeholder,
[dir="rtl"] textarea::placeholder {
  text-align: right;
}

/* LTR override: English-only content containers */

[dir="rtl"] .ltr-content,
[dir="rtl"] .ltr-content * {
  direction: ltr;
  text-align: left;
}

[dir="rtl"] .ltr-content ul,
[dir="rtl"] .ltr-content ol {
  padding-left: 1.5rem;
  padding-right: 0;
}

[dir="rtl"] .ltr-content pre,
[dir="rtl"] .ltr-content code {
  direction: ltr;
  text-align: left;
}

/* Premium Typography System - Linear/Stripe/Vercel inspired */

/* ================================================
   Mobile-First Typography System (Apple-style)
   ================================================ */

/* ================================================
   Global Mobile Interaction Styles
   ================================================ */

/* ================================================
   Typography Utility Classes - Premium Type Scale
   Linear/Stripe/Vercel/Notion inspired
   ================================================ */

/* LIGHT MODE - Linear/Vercel/Stripe/Notion inspired */

:root {
  --button-outline: rgba(0,0,0, .08);
  --badge-outline: rgba(0,0,0, .04);

  /* Automatic computation of border around primary / danger buttons */
  --opaque-button-border-intensity: -8; /* In terms of percentages */

  /* Backgrounds applied on top of other backgrounds when hovered/active */
  --elevate-1: rgba(0,0,0, .04);
  --elevate-2: rgba(0,0,0, .08);

  /* ===== TYPOGRAPHY SYSTEM ===== */
  
  /* Font families */
  --font-display: 'IBM Plex Sans Arabic', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-body: 'IBM Plex Sans Arabic', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono: 'JetBrains Mono', 'SF Mono', 'Fira Code', monospace;
  
  /* Display sizes (Hero sections) */
  --text-6xl: 60px;   /* line-height: 1.0 */
  --text-5xl: 48px;   /* line-height: 1.0 */
  
  /* Heading sizes */
  --text-4xl: 36px;   /* line-height: 1.1 */
  --text-3xl: 30px;   /* line-height: 1.2 */
  --text-2xl: 24px;   /* line-height: 1.3 */
  --text-xl:  20px;   /* line-height: 1.4 */
  
  /* Body sizes */
  --text-lg:  18px;   /* line-height: 1.6 */
  --text-base: 16px;  /* line-height: 1.6 */
  --text-sm:  14px;   /* line-height: 1.5 */
  --text-xs:  12px;   /* line-height: 1.4 */
  
  /* Font weights */
  --font-normal:   400;
  --font-medium:   500;
  --font-semibold: 600;
  --font-bold:     700;
  --font-black:    800;

  /* ===== SPACING SYSTEM (8-Point Grid) ===== */
  --space-1:  4px;    /* XXS - minimal gaps */
  --space-2:  8px;    /* XS - tight elements */
  --space-3:  12px;   /* SM - related items */
  --space-4:  16px;   /* MD - component internal */
  --space-5:  20px;
  --space-6:  24px;   /* LG - between items */
  --space-8:  32px;   /* XL - card padding */
  --space-10: 40px;
  --space-12: 48px;   /* 2XL - section elements */
  --space-16: 64px;   /* 3XL - small sections */
  --space-20: 80px;
  --space-24: 96px;   /* 4XL - major sections */
  --space-32: 128px;  /* 5XL - page sections */

  /* ===== ELEVATION & DEPTH SYSTEM ===== */
  /* Multi-layer shadows for realistic depth */
  --shadow-xs:  0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-sm:  0 2px 4px rgba(0, 0, 0, 0.06), 
                0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-md:  0 4px 8px rgba(0, 0, 0, 0.08), 
                0 2px 4px rgba(0, 0, 0, 0.06);
  --shadow-lg:  0 8px 16px rgba(0, 0, 0, 0.1), 
                0 4px 8px rgba(0, 0, 0, 0.06);
  --shadow-xl:  0 12px 24px rgba(0, 0, 0, 0.12), 
                0 6px 12px rgba(0, 0, 0, 0.08);
  --shadow-2xl: 0 20px 40px rgba(0, 0, 0, 0.15), 
                0 10px 20px rgba(0, 0, 0, 0.1);
  
  /* Focus ring shadow */
  --shadow-focus: 0 0 0 4px rgba(0, 113, 227, 0.15);
  
  /* Colored accent shadows */
  --shadow-blue:  0 8px 16px rgba(0, 113, 227, 0.3);
  --shadow-teal:  0 8px 16px rgba(20, 184, 166, 0.3);
  --shadow-gold:  0 8px 16px rgba(245, 158, 11, 0.3);
  --shadow-green: 0 8px 16px rgba(16, 185, 129, 0.3);

  /* ===== APPLE-INSPIRED NEUTRAL PALETTE ===== */
  
  /* Refined Neutrals */
  --gray-50: 240 6% 97%;    /* #F5F5F7 - page background */
  --gray-100: 240 5% 95%;   /* #F2F2F7 - grouped backgrounds */
  --gray-200: 0 0% 92%;     /* #EBEBEB - borders */
  --gray-400: 240 1% 68%;   /* #AEAEB2 - placeholders/tertiary */
  --gray-600: 240 1% 44%;   /* #6E6E73 - secondary text */
  --gray-900: 240 3% 11%;   /* #1D1D1F - primary text */

  /* Apple-style page background */
  --background: 240 6% 97%;
  /* Near-black primary text */
  --foreground: 240 3% 11%;
  --border: 0 0% 92%;

  /* Cards - pure white */
  --card: 0 0% 100%;
  --card-foreground: 240 3% 11%;
  --card-border: 0 0% 92%;

  /* Sidebar */
  --sidebar: 240 5% 95%;
  --sidebar-foreground: 240 3% 11%;
  --sidebar-border: 0 0% 92%;
  --sidebar-primary: 211 100% 45%;
  --sidebar-primary-foreground: 0 0% 100%;
  --sidebar-accent: 240 5% 91%;
  --sidebar-accent-foreground: 240 1% 44%;
  --sidebar-ring: 211 100% 45%;

  --popover: 0 0% 100%;
  --popover-foreground: 240 3% 11%;
  --popover-border: 0 0% 92%;

  /* Primary Apple Blue - #0071E3 */
  --primary: 211 100% 45%;
  --primary-foreground: 0 0% 100%;
  
  /* CTA-specific - #0077ED */
  --primary-cta: 211 100% 47%;
  --primary-cta-foreground: 0 0% 100%;
  
  /* Blue scale for hover/active states */
  --primary-50: 211 100% 96%;   /* #EBF5FF */
  --primary-100: 211 100% 93%;  /* #D6ECFF */
  --primary-500: 211 100% 45%;  /* #0071E3 */
  --primary-600: 211 100% 47%;  /* #0077ED */
  --primary-700: 211 100% 37%;  /* #005BBB */
  --primary-900: 211 100% 22%;  /* #003670 */

  /* Evidence Gold (NEW) - for quality ratings, premium features */
  --gold-50: 48 100% 96%;       /* #FFFBEB */
  --gold-500: 37 91% 50%;       /* #D97706 - evidence badges */
  --gold-600: 32 95% 37%;       /* #B45309 - hover */
  
  /* Apple Success Green */
  --green-50: 145 72% 94%;      /* #E8FAF0 */
  --green-500: 142 71% 50%;     /* #34C759 - Apple green */
  --green-600: 142 71% 40%;     /* #2AAE48 */

  /* Database Teal (NEW) - for data sources, databases */
  --teal-50: 166 76% 97%;       /* #F0FDFA */
  --teal-500: 168 76% 42%;      /* #14B8A6 - database indicators */
  --teal-600: 172 80% 32%;      /* #0D9488 - hover */

  /* Secondary */
  --secondary: 240 5% 95%;
  --secondary-foreground: 240 1% 44%;

  /* Muted */
  --muted: 240 5% 95%;
  --muted-foreground: 240 1% 44%;

  /* Accent - Apple blue tint */
  --accent: 211 100% 96%;
  --accent-foreground: 211 100% 45%;
  
  /* Clinical highlight */
  --clinical: 145 72% 94%;
  --clinical-foreground: 142 71% 40%;
  --clinical-border: 142 50% 85%;

  /* Evidence grade tokens */
  --grade-a: 152 69% 31%;
  --grade-a-foreground: 152 69% 31%;
  --grade-a-bg: 152 69% 95%;
  --grade-b: 211 100% 45%;
  --grade-b-foreground: 211 100% 45%;
  --grade-b-bg: 211 100% 96%;
  --grade-c: 37 91% 50%;
  --grade-c-foreground: 37 91% 38%;
  --grade-c-bg: 37 91% 95%;
  --grade-d: 4 90% 58%;
  --grade-d-foreground: 4 90% 42%;
  --grade-d-bg: 4 90% 96%;

  --destructive: 4 90% 58%;
  --destructive-foreground: 0 0% 100%;

  --input: 0 0% 92%;
  --ring: 211 100% 45%;

  --chart-1: 211 100% 45%;
  --chart-2: 195 75% 35%;
  --chart-3: 142 71% 50%;
  --chart-4: 37 91% 50%;
  --chart-5: 4 90% 58%;

  /* ===== TYPOGRAPHY SYSTEM ===== */
  /* Display/Headlines: Inter with optical sizing for refined display */
  --font-display: 'IBM Plex Sans Arabic', 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  /* Body: IBM Plex Sans Arabic primary, Inter fallback */
  --font-sans: 'IBM Plex Sans Arabic', 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --font-heading: 'IBM Plex Sans Arabic', 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  /* Serif for special use cases - DM Serif Display for headlines */
  --font-serif: 'DM Serif Display', 'Georgia', 'Times New Roman', serif;
  /* Monospace: JetBrains Mono for citations, code, clinical data */
  --font-mono: 'JetBrains Mono', 'SF Mono', 'Fira Code', 'Menlo', monospace;
  --radius: 0.5rem; /* 8px - Apple standard small radius */
  --shadow-2xs: 0px 1px 2px 0px hsl(210 8% 12% / 0.04);
  --shadow-xs: 0px 1px 3px 0px hsl(210 8% 12% / 0.06);
  --shadow-sm: 0px 2px 4px 0px hsl(210 8% 12% / 0.04), 0px 1px 2px -1px hsl(210 8% 12% / 0.04);
  --shadow: 0px 4px 6px -1px hsl(210 8% 12% / 0.06), 0px 2px 4px -2px hsl(210 8% 12% / 0.04);
  --shadow-md: 0px 6px 8px -1px hsl(210 8% 12% / 0.06), 0px 4px 6px -2px hsl(210 8% 12% / 0.05);
  --shadow-lg: 0px 10px 15px -3px hsl(210 8% 12% / 0.08), 0px 4px 6px -4px hsl(210 8% 12% / 0.05);
  --shadow-xl: 0px 20px 25px -5px hsl(210 8% 12% / 0.08), 0px 8px 10px -6px hsl(210 8% 12% / 0.05);
  --shadow-2xl: 0px 25px 50px -12px hsl(210 8% 12% / 0.12);
  --tracking-normal: 0em;
  --spacing: 0.5rem; /* 8px base grid */

  /* Automatically computed borders - intensity can be controlled by the user by the --opaque-button-border-intensity setting */
  --sidebar-primary-border: hsl(var(--sidebar-primary));
  --sidebar-primary-border: hsl(from hsl(var(--sidebar-primary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);

  --sidebar-accent-border: hsl(var(--sidebar-accent));
  --sidebar-accent-border: hsl(from hsl(var(--sidebar-accent)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);

  --primary-border: hsl(var(--primary));
  --primary-border: hsl(from hsl(var(--primary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);

  --secondary-border: hsl(var(--secondary));
  --secondary-border: hsl(from hsl(var(--secondary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);

  --muted-border: hsl(var(--muted));
  --muted-border: hsl(from hsl(var(--muted)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);

  --accent-border: hsl(var(--accent));
  --accent-border: hsl(from hsl(var(--accent)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);

  --destructive-border: hsl(var(--destructive));
  --destructive-border: hsl(from hsl(var(--destructive)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
}

/* DARK MODE - Linear/Vercel/Stripe/Notion inspired */

.dark {
  --font-display: 'IBM Plex Sans Arabic', 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --font-heading: 'IBM Plex Sans Arabic', 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  
  --button-outline: rgba(255,255,255, .08);
  --badge-outline: rgba(255,255,255, .04);

  --opaque-button-border-intensity: 9;  /* In terms of percentages */

  /* Backgrounds applied on top of other backgrounds when hovered/active */
  --elevate-1: rgba(255,255,255, .06);
  --elevate-2: rgba(255,255,255, .12);

  /* ===== APPLE-INSPIRED NEUTRAL PALETTE (Dark) ===== */
  
  /* Refined Neutrals (Dark) */
  --gray-50: 240 6% 7%;
  --gray-100: 240 5% 10%;
  --gray-200: 240 4% 16%;
  --gray-400: 240 1% 68%;
  --gray-600: 240 1% 88%;
  --gray-900: 240 3% 93%;

  /* Dark background */
  --background: 240 6% 7%;
  /* Soft off-white text */
  --foreground: 240 3% 93%;
  --border: 240 4% 16%;

  /* Cards with elevation */
  --card: 240 5% 10%;
  --card-foreground: 240 3% 93%;
  --card-border: 240 4% 14%;

  /* Sidebar */
  --sidebar: 240 5% 9%;
  --sidebar-foreground: 240 3% 93%;
  --sidebar-border: 240 4% 16%;
  --sidebar-primary: 211 100% 50%;
  --sidebar-primary-foreground: 0 0% 100%;
  --sidebar-accent: 240 5% 16%;
  --sidebar-accent-foreground: 240 1% 88%;
  --sidebar-ring: 211 100% 50%;

  --popover: 240 5% 10%;
  --popover-foreground: 240 3% 93%;
  --popover-border: 240 4% 16%;

  /* Primary Apple Blue (Dark - brighter) */
  --primary: 211 100% 50%;
  --primary-foreground: 0 0% 100%;
  
  /* CTA blue */
  --primary-cta: 211 100% 52%;
  --primary-cta-foreground: 0 0% 100%;
  
  /* Blue scale (Dark) */
  --primary-50: 211 47% 11%;
  --primary-100: 211 47% 15%;
  --primary-500: 211 100% 50%;
  --primary-600: 211 100% 45%;
  --primary-700: 211 100% 47%;
  --primary-900: 211 100% 78%;

  /* Evidence Gold (Dark) */
  --gold-50: 26 83% 12%;
  --gold-500: 37 91% 55%;
  --gold-600: 37 91% 50%;
  
  /* Apple Success Green (Dark) */
  --green-50: 142 71% 10%;
  --green-500: 142 71% 55%;
  --green-600: 142 71% 50%;

  /* Database Teal (Dark) */
  --teal-50: 168 76% 10%;
  --teal-500: 168 76% 48%;
  --teal-600: 168 76% 42%;

  /* Secondary */
  --secondary: 240 5% 16%;
  --secondary-foreground: 240 1% 88%;

  /* Muted */
  --muted: 240 5% 16%;
  --muted-foreground: 240 1% 66%;

  /* Accent - Apple blue tint */
  --accent: 211 47% 15%;
  --accent-foreground: 211 100% 78%;
  
  /* Clinical highlight */
  --clinical: 142 50% 12%;
  --clinical-foreground: 142 65% 70%;
  --clinical-border: 142 50% 22%;

  /* Evidence grade tokens (dark) */
  --grade-a: 152 69% 50%;
  --grade-a-foreground: 152 69% 70%;
  --grade-a-bg: 152 69% 12%;
  --grade-b: 211 100% 50%;
  --grade-b-foreground: 211 100% 70%;
  --grade-b-bg: 211 100% 12%;
  --grade-c: 37 91% 55%;
  --grade-c-foreground: 37 91% 70%;
  --grade-c-bg: 37 91% 12%;
  --grade-d: 4 72% 50%;
  --grade-d-foreground: 4 72% 70%;
  --grade-d-bg: 4 72% 12%;

  --destructive: 4 72% 50%;
  --destructive-foreground: 0 0% 100%;

  --input: 240 4% 32%;
  --ring: 211 100% 50%;

  --chart-1: 211 100% 65%;
  --chart-2: 195 75% 68%;
  --chart-3: 142 71% 55%;
  --chart-4: 37 91% 60%;
  --chart-5: 4 90% 65%;

  --shadow-2xs: 0px 1px 2px 0px hsl(210 8% 2% / 0.30);
  --shadow-xs: 0px 1px 3px 0px hsl(210 8% 2% / 0.40);
  --shadow-sm: 0px 2px 4px 0px hsl(210 8% 2% / 0.30), 0px 1px 2px -1px hsl(210 8% 2% / 0.30);
  --shadow: 0px 4px 6px -1px hsl(210 8% 2% / 0.40), 0px 2px 4px -2px hsl(210 8% 2% / 0.30);
  --shadow-md: 0px 6px 8px -1px hsl(210 8% 2% / 0.40), 0px 4px 6px -2px hsl(210 8% 2% / 0.35);
  --shadow-lg: 0px 10px 15px -3px hsl(210 8% 2% / 0.45), 0px 4px 6px -4px hsl(210 8% 2% / 0.35);
  --shadow-xl: 0px 20px 25px -5px hsl(210 8% 2% / 0.45), 0px 8px 10px -6px hsl(210 8% 2% / 0.35);
  --shadow-2xl: 0px 25px 50px -12px hsl(210 8% 2% / 0.50);

  --sidebar-primary-border: hsl(var(--sidebar-primary));
  --sidebar-primary-border: hsl(from hsl(var(--sidebar-primary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);

  --sidebar-accent-border: hsl(var(--sidebar-accent));
  --sidebar-accent-border: hsl(from hsl(var(--sidebar-accent)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);

  --primary-border: hsl(var(--primary));
  --primary-border: hsl(from hsl(var(--primary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);

  --secondary-border: hsl(var(--secondary));
  --secondary-border: hsl(from hsl(var(--secondary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);

  --muted-border: hsl(var(--muted));
  --muted-border: hsl(from hsl(var(--muted)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);

  --accent-border: hsl(var(--accent));
  --accent-border: hsl(from hsl(var(--accent)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);

  --destructive-border: hsl(var(--destructive));
  --destructive-border: hsl(from hsl(var(--destructive)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
}

/* ===== CONTAINER & GRID STRUCTURE ===== */

/* Responsive Breakpoints - Optimized for Provider Workflows */

:root {
  /* Mobile first breakpoints */
  --bp-xs: 375px;   /* Small phones - quick lookups */
  --bp-sm: 640px;   /* Large phones */
  --bp-md: 768px;   /* Tablets - common in clinics (iPad) */
  --bp-lg: 1024px;  /* Laptops */
  --bp-xl: 1280px;  /* Desktop monitors - research */
  --bp-2xl: 1536px; /* Large displays */
}

/* Container Max Widths */

:root {
  --container-sm: 640px;   /* Single-column content */
  --container-md: 768px;   /* Forms, focused content */
  --container-lg: 1024px;  /* 2-column layouts */
  --container-xl: 1280px;  /* Main content area */
  --container-2xl: 1536px; /* Full-width sections */
}

/* Container utility classes */

.container-sm { max-width: var(--container-sm); margin-inline: auto; }

.container-md { max-width: var(--container-md); margin-inline: auto; }

.container-lg { max-width: var(--container-lg); margin-inline: auto; }

.container-xl { max-width: var(--container-xl); margin-inline: auto; }

.container-2xl { max-width: var(--container-2xl); margin-inline: auto; }

/* 12-Column Grid System */

.grid-12 {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 24px;
}

/* Common Grid Layouts */

.layout-hero {
  display: grid;
  grid-template-columns: 7fr 5fr; /* 60/40 split */
  gap: 32px;
  align-items: center;
}

.layout-features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.layout-testimonials {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.layout-2col {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.layout-sidebar {
  display: grid;
  grid-template-columns: 280px 1fr; /* Fixed sidebar + fluid content */
  gap: 32px;
}

.layout-sidebar-right {
  display: grid;
  grid-template-columns: 1fr 280px; /* Fluid content + fixed sidebar */
  gap: 32px;
}

/* Responsive: Tablet (max-width: 1024px) */

@media (max-width: 1024px) {
  .layout-hero {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  
  .layout-sidebar,
  .layout-sidebar-right {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

/* Responsive: Mobile (max-width: 768px) - Stack everything */

@media (max-width: 768px) {
  .grid-12 {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  
  .layout-features,
  .layout-testimonials,
  .layout-2col {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* Grid Column Spans */

.col-span-1 { grid-column: span 1; }

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

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

.col-span-4 { grid-column: span 4; }

.col-span-5 { grid-column: span 5; }

.col-span-6 { grid-column: span 6; }

.col-span-7 { grid-column: span 7; }

.col-span-8 { grid-column: span 8; }

.col-span-9 { grid-column: span 9; }

.col-span-10 { grid-column: span 10; }

.col-span-11 { grid-column: span 11; }

.col-span-12 { grid-column: span 12; }

/* Responsive column spans - stack on mobile */

@media (max-width: 768px) {
  [class*="col-span-"] {
    grid-column: span 1;
  }
}

/* ===== PROVIDER-OPTIMIZED RESPONSIVE BEHAVIOR ===== */

/*
 * Provider Workflow Considerations:
 * - Many providers use iPads in clinics (768px)
 * - Desktop monitors for research (1280px+)
 * - Mobile for quick lookups (375-640px)
 *
 * Responsive Behavior:
 * < 768px: Single column, stacked layout
 * 768-1024px: 2-column where appropriate
 * 1024px+: Full multi-column layouts
 * 1280px+: Wider spacing, larger typography
 */

/* Small phones - Quick lookups (< 640px) */

@media (max-width: 639px) {
  .provider-section {
    padding-top: 48px;
    padding-bottom: 48px;
  }
  
  .provider-card {
    padding: 20px;
  }
  
  .provider-heading {
    font-size: 1.75rem;
    line-height: 1.15;
  }
}

/* Tablets - Common in clinics (768px - 1023px) */

@media (min-width: 768px) and (max-width: 1023px) {
  .provider-section {
    padding-top: 64px;
    padding-bottom: 64px;
  }
  
  .provider-card {
    padding: 24px;
  }
  
  .provider-heading {
    font-size: 2rem;
    line-height: 1.1;
  }
  
  /* iPad-optimized touch targets */
  .provider-btn {
    min-height: 48px;
    padding-left: 24px;
    padding-right: 24px;
  }
}

/* Laptops (1024px - 1279px) */

@media (min-width: 1024px) and (max-width: 1279px) {
  .provider-section {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  
  .provider-card {
    padding: 28px;
  }
  
  .provider-heading {
    font-size: 2.25rem;
  }
}

/* Desktop monitors - Research mode (1280px+) */

@media (min-width: 1280px) {
  .provider-section {
    padding-top: 96px;
    padding-bottom: 96px;
  }
  
  .provider-card {
    padding: 32px;
  }
  
  .provider-heading {
    font-size: 2.5rem;
    letter-spacing: -0.025em;
  }
  
  /* Wider spacing for research readability */
  .provider-content {
    line-height: 1.7;
  }
}

/* Large displays (1536px+) */

@media (min-width: 1536px) {
  .provider-section {
    padding-top: 112px;
    padding-bottom: 112px;
  }
  
  .provider-heading {
    font-size: 3rem;
  }
}

/* Utility: Hide on specific device types */

.hide-mobile { display: block; }

.hide-tablet { display: block; }

.hide-desktop { display: block; }

.show-mobile-only { display: none; }

.show-tablet-only { display: none; }

.show-desktop-only { display: none; }

@media (max-width: 767px) {
  .hide-mobile { display: none !important; }
  .show-mobile-only { display: block !important; }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .hide-tablet { display: none !important; }
  .show-tablet-only { display: block !important; }
}

@media (min-width: 1024px) {
  .hide-desktop { display: none !important; }
  .show-desktop-only { display: block !important; }
}

/* iPhone SE Optimization (320px-375px screens) */

@media (max-width: 375px) {
  /* Tighter padding for narrow screens */
  .container, .container-responsive {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  
  /* Reduce hero text for iPhone SE */
  .hero-title-se {
    font-size: 2rem !important;
    line-height: 1.1 !important;
  }
  
  /* Smaller buttons on iPhone SE */
  .btn-se {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    font-size: 0.875rem !important;
  }
  
  /* Compact header for SE */
  .header-se {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  
  /* Stack badges vertically on very small screens */
  .badges-se {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.5rem !important;
  }
  
  /* Reduce card padding */
  .card-se {
    padding: 0.75rem !important;
  }
  
  /* Smaller text for feature lists */
  .feature-text-se {
    font-size: 0.75rem !important;
  }
}

/* ===== MICRO-INTERACTIONS ===== */

/* Button Interactions - Primary */

.btn-interactive {
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-interactive:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 16px rgba(0, 113, 227, 0.3);
}

.btn-interactive:active {
  transform: translateY(0);
  box-shadow: 0 4px 8px rgba(0, 113, 227, 0.2);
}

/* Button Interactions - Secondary/Outline */

.btn-interactive-outline {
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-interactive-outline:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  border-color: hsl(var(--primary));
}

.btn-interactive-outline:active {
  transform: translateY(0);
}

/* Card Interactions */

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

.card-interactive:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1);
  border-color: hsl(var(--primary));
}

.card-interactive:active {
  transform: translateY(-2px);
}

/* Card Interactions - Subtle (for dense layouts) */

.card-interactive-subtle {
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.card-interactive-subtle:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.08);
}

/* Input Focus States */

.input-focus-ring:focus {
  border-color: hsl(var(--primary));
  box-shadow: 0 0 0 4px hsla(var(--primary), 0.1);
  outline: none;
}

.input-focus-ring:focus-visible {
  border-color: hsl(var(--primary));
  box-shadow: 0 0 0 4px hsla(var(--primary), 0.15);
  outline: none;
}

/* Link Interactions */

.link-interactive {
  transition: all 0.15s ease;
  text-decoration-color: transparent;
}

.link-interactive:hover {
  text-decoration-color: currentColor;
  color: hsl(var(--primary));
}

/* Icon Button Interactions */

.icon-btn-interactive {
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.icon-btn-interactive:hover {
  transform: scale(1.05);
  background-color: hsla(var(--primary), 0.1);
}

.icon-btn-interactive:active {
  transform: scale(0.98);
}

/* Badge/Chip Interactions */

.badge-interactive {
  transition: all 0.15s ease;
}

.badge-interactive:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Loading Pulse Animation */

@keyframes pulse-subtle {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}

.animate-pulse-subtle {
  animation: pulse-subtle 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes workspace-icon-breathe {
  0%, 100% {
    transform: scale(1) translateY(0px);
    box-shadow: 0 0 0 0 hsl(var(--primary) / 0);
  }
  50% {
    transform: scale(1.07) translateY(-2px);
    box-shadow: 0 0 0 6px hsl(var(--primary) / 0.16), 0 4px 12px hsl(var(--primary) / 0.2);
  }
}

.animate-workspace-icon {
  animation: workspace-icon-breathe 3.5s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  .animate-workspace-icon {
    animation: none;
  }
}

/* Smooth Entrance Animation */

@keyframes fade-in-up {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fade-in-up {
  animation: fade-in-up 0.3s ease-out forwards;
}

/* Staggered Entrance for Lists */

.stagger-animate > * {
  animation: fade-in-up 0.3s ease-out forwards;
  opacity: 0;
}

.stagger-animate > *:nth-child(1) { animation-delay: 0ms; }

.stagger-animate > *:nth-child(2) { animation-delay: 50ms; }

.stagger-animate > *:nth-child(3) { animation-delay: 100ms; }

.stagger-animate > *:nth-child(4) { animation-delay: 150ms; }

.stagger-animate > *:nth-child(5) { animation-delay: 200ms; }

.stagger-animate > *:nth-child(6) { animation-delay: 250ms; }

/* Scale on Hover (for images, avatars) */

.hover-scale {
  transition: transform 0.2s ease;
}

.hover-scale:hover {
  transform: scale(1.03);
}

/* Rotate on Hover (for icons) */

.hover-rotate {
  transition: transform 0.3s ease;
}

.hover-rotate:hover {
  transform: rotate(15deg);
}

/* Glow Effect for Primary Actions */

.glow-primary {
  box-shadow: 0 0 20px hsla(var(--primary), 0.3);
}

.hover-glow:hover {
  box-shadow: 0 0 30px hsla(var(--primary), 0.4);
}

/* Reduce motion for accessibility */

@media (prefers-reduced-motion: reduce) {
  .btn-interactive,
  .btn-interactive-outline,
  .card-interactive,
  .card-interactive-subtle,
  .link-interactive,
  .icon-btn-interactive,
  .badge-interactive,
  .hover-scale,
  .hover-rotate,
  .animate-on-scroll {
    transition: none;
  }
  
  .animate-fade-in-up,
  .stagger-animate > *,
  .animate-on-scroll {
    animation: none;
    opacity: 1;
    transform: none;
  }
}

/* ===== SCROLL ANIMATIONS ===== */

/* Base scroll animation - Fade In + Slide Up */

.animate-on-scroll {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.animate-on-scroll.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger delays for multiple elements */

.animate-on-scroll:nth-child(1) { transition-delay: 0.1s; }

.animate-on-scroll:nth-child(2) { transition-delay: 0.2s; }

.animate-on-scroll:nth-child(3) { transition-delay: 0.3s; }

.animate-on-scroll:nth-child(4) { transition-delay: 0.4s; }

.animate-on-scroll:nth-child(5) { transition-delay: 0.5s; }

.animate-on-scroll:nth-child(6) { transition-delay: 0.6s; }

/* Variant: Fade In from Left */

.animate-on-scroll-left {
  opacity: 0;
  transform: translateX(-30px);
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.animate-on-scroll-left.visible {
  opacity: 1;
  transform: translateX(0);
}

/* Variant: Fade In from Right */

.animate-on-scroll-right {
  opacity: 0;
  transform: translateX(30px);
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.animate-on-scroll-right.visible {
  opacity: 1;
  transform: translateX(0);
}

/* Variant: Scale Up */

.animate-on-scroll-scale {
  opacity: 0;
  transform: scale(0.95);
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.animate-on-scroll-scale.visible {
  opacity: 1;
  transform: scale(1);
}

/* Variant: Fade Only (no movement) */

.animate-on-scroll-fade {
  opacity: 0;
  transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.animate-on-scroll-fade.visible {
  opacity: 1;
}

/* Section Reveal - for entire sections */

.section-reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.section-reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Counter Animation (for statistics) */

.counter-animate {
  opacity: 0;
  transform: translateY(20px) scale(0.9);
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.counter-animate.visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Stagger delays for counters */

.counter-animate:nth-child(1) { transition-delay: 0s; }

.counter-animate:nth-child(2) { transition-delay: 0.15s; }

.counter-animate:nth-child(3) { transition-delay: 0.3s; }

.counter-animate:nth-child(4) { transition-delay: 0.45s; }

/* Testimonial Cards - slower, more elegant */

.testimonial-animate {
  opacity: 0;
  transform: translateY(25px);
  transition: all 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}

.testimonial-animate.visible {
  opacity: 1;
  transform: translateY(0);
}

.testimonial-animate:nth-child(1) { transition-delay: 0.1s; }

.testimonial-animate:nth-child(2) { transition-delay: 0.25s; }

.testimonial-animate:nth-child(3) { transition-delay: 0.4s; }

/* Feature Cards - medium speed */

.feature-animate {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.feature-animate.visible {
  opacity: 1;
  transform: translateY(0);
}

.feature-animate:nth-child(1) { transition-delay: 0.05s; }

.feature-animate:nth-child(2) { transition-delay: 0.1s; }

.feature-animate:nth-child(3) { transition-delay: 0.15s; }

.feature-animate:nth-child(4) { transition-delay: 0.2s; }

.feature-animate:nth-child(5) { transition-delay: 0.25s; }

.feature-animate:nth-child(6) { transition-delay: 0.3s; }

/* ===== LOADING & FEEDBACK STATES ===== */

/* Skeleton Screen Base */

.skeleton {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Shimmer Animation */

@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

/* Skeleton Line */

.skeleton-line {
  height: 16px;
  background: linear-gradient(
    90deg,
    hsl(var(--muted)) 25%,
    hsl(var(--muted-foreground) / 0.1) 50%,
    hsl(var(--muted)) 75%
  );
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 4px;
  width: 100%;
}

.skeleton-line.short {
  width: 60%;
}

.skeleton-line.medium {
  width: 80%;
}

.skeleton-line.xs {
  height: 12px;
}

.skeleton-line.lg {
  height: 24px;
}

/* Skeleton Circle (avatars, icons) */

.skeleton-circle {
  width: 40px;
  height: 40px;
  background: linear-gradient(
    90deg,
    hsl(var(--muted)) 25%,
    hsl(var(--muted-foreground) / 0.1) 50%,
    hsl(var(--muted)) 75%
  );
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 50%;
}

.skeleton-circle.sm {
  width: 32px;
  height: 32px;
}

.skeleton-circle.lg {
  width: 56px;
  height: 56px;
}

/* Skeleton Box (cards, images) */

.skeleton-box {
  background: linear-gradient(
    90deg,
    hsl(var(--muted)) 25%,
    hsl(var(--muted-foreground) / 0.1) 50%,
    hsl(var(--muted)) 75%
  );
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 8px;
}

/* Skeleton Card Layout */

.skeleton-card {
  padding: 20px;
  border: 1px solid hsl(var(--border));
  border-radius: 12px;
  background: hsl(var(--card));
}

.skeleton-card .skeleton-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.skeleton-card .skeleton-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* ===== SUCCESS & ERROR ANIMATIONS ===== */

/* Success checkmark animation - scale with bounce */

@keyframes success-check {
  0% {
    transform: scale(0);
    opacity: 0;
  }
  50% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

.animate-success-check {
  animation: success-check 400ms cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

/* Success background flash */

@keyframes success-flash {
  0% {
    background-color: transparent;
  }
  30% {
    background-color: hsl(142, 76%, 36%, 0.15);
  }
  100% {
    background-color: transparent;
  }
}

.animate-success-flash {
  animation: success-flash 600ms ease-out forwards;
}

/* Error shake animation */

@keyframes error-shake {
  0%, 100% {
    transform: translateX(0);
  }
  20% {
    transform: translateX(-8px);
  }
  40% {
    transform: translateX(8px);
  }
  60% {
    transform: translateX(-6px);
  }
  80% {
    transform: translateX(6px);
  }
}

.animate-error-shake {
  animation: error-shake 400ms ease-out;
}

@keyframes progressBar {
  0% {
    width: 0%;
    margin-left: 0%;
  }
  50% {
    width: 60%;
    margin-left: 20%;
  }
  100% {
    width: 0%;
    margin-left: 100%;
  }
}

@keyframes routeProgress {
  0% {
    width: 0%;
    opacity: 1;
  }
  20% {
    width: 30%;
    opacity: 1;
  }
  60% {
    width: 70%;
    opacity: 1;
  }
  80% {
    width: 90%;
    opacity: 0.8;
  }
  100% {
    width: 100%;
    opacity: 0;
  }
}

/* Spinner rotation */

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/* Standardized loading spinner */

.loading-spinner {
  width: 24px;
  height: 24px;
  border: 2px solid hsl(var(--primary));
  border-top-color: transparent;
  border-radius: 50%;
  animation: spin 800ms linear infinite;
}

.loading-spinner.sm {
  width: 16px;
  height: 16px;
}

.loading-spinner.lg {
  width: 32px;
  height: 32px;
}

/* Toast Notification Animations */

@keyframes slideInRight {
  from {
    transform: translateX(400px);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes slideOutRight {
  from {
    transform: translateX(0);
    opacity: 1;
  }
  to {
    transform: translateX(400px);
    opacity: 0;
  }
}

@keyframes slideInUp {
  from {
    transform: translateY(100px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

/* Custom Toast Styling */

.toast-custom {
  position: fixed;
  bottom: 24px;
  right: 24px;
  background: hsl(var(--foreground));
  color: hsl(var(--background));
  padding: 16px 24px;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
  animation: slideInRight 0.3s ease;
  z-index: 9999;
}

.toast-custom.toast-exit {
  animation: slideOutRight 0.3s ease forwards;
}

/* Toast Variants */

.toast-success {
  background: hsl(var(--clinical-green));
  color: white;
}

.toast-error {
  background: hsl(var(--destructive));
  color: hsl(var(--destructive-foreground));
}

.toast-warning {
  background: hsl(var(--evidence-gold));
  color: white;
}

/* Loading Spinner */

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

.loading-spinner {
  width: 24px;
  height: 24px;
  border: 2px solid hsl(var(--muted));
  border-top-color: hsl(var(--primary));
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

.loading-spinner.sm {
  width: 16px;
  height: 16px;
  border-width: 2px;
}

.loading-spinner.lg {
  width: 40px;
  height: 40px;
  border-width: 3px;
}

/* Loading Dots */

@keyframes bounce {
  0%, 80%, 100% { transform: scale(0); }
  40% { transform: scale(1); }
}

.loading-dots {
  display: flex;
  gap: 6px;
  align-items: center;
}

.loading-dots span {
  width: 8px;
  height: 8px;
  background: hsl(var(--primary));
  border-radius: 50%;
  animation: bounce 1.4s infinite ease-in-out both;
}

.loading-dots span:nth-child(1) { animation-delay: -0.32s; }

.loading-dots span:nth-child(2) { animation-delay: -0.16s; }

.loading-dots span:nth-child(3) { animation-delay: 0s; }

/* Progress Bar */

.progress-bar {
  height: 4px;
  background: hsl(var(--muted));
  border-radius: 2px;
  overflow: hidden;
}

.progress-bar-fill {
  height: 100%;
  background: hsl(var(--primary));
  border-radius: 2px;
  transition: width 0.3s ease;
}

/* Indeterminate Progress */

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

.progress-bar-indeterminate .progress-bar-fill {
  width: 30%;
  animation: indeterminate 1.5s infinite ease-in-out;
}

/* Helix Equalizer Bars Animation */

@keyframes helix-eq {
  0%, 100% { transform: scaleY(0.35); }
  25% { transform: scaleY(1); }
  50% { transform: scaleY(0.5); }
  75% { transform: scaleY(0.85); }
}

.animate-helix-eq {
  animation: helix-eq 1s ease-in-out infinite;
  transform-origin: bottom;
}

/* Pulse Loading (for buttons) */

.btn-loading {
  position: relative;
  pointer-events: none;
}

.btn-loading::after {
  content: '';
  position: absolute;
  inset: 0;
  background: inherit;
  border-radius: inherit;
  animation: pulse-subtle 1.5s infinite;
}

/* Horizontal Scroll Animation (for carousels/marquees) */

@keyframes scroll-x {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

.animate-scroll-x {
  animation: scroll-x 30s linear infinite;
}

.animate-scroll-x:hover {
  animation-play-state: paused;
}

/* Faster scroll variant */

.animate-scroll-x-fast {
  animation: scroll-x 20s linear infinite;
}

/* Slower scroll variant */

.animate-scroll-x-slow {
  animation: scroll-x 45s linear infinite;
}

/* Reduce motion for accessibility */

@media (prefers-reduced-motion: reduce) {
  .skeleton-line,
  .skeleton-circle,
  .skeleton-box,
  .loading-spinner,
  .loading-dots span,
  .progress-bar-indeterminate .progress-bar-fill,
  .animate-scroll-x,
  .animate-scroll-x-fast,
  .animate-scroll-x-slow {
    animation: none;
  }
  
  .toast-custom {
    animation: none;
  }
}

/* Apple-style spring physics easing */

.spring-transition {
  transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
}

.spring-transition-fast {
  transition: all 150ms cubic-bezier(0.25, 0.1, 0.25, 1);
}

.spring-transition-normal {
  transition: all 200ms cubic-bezier(0.25, 0.1, 0.25, 1);
}

.spring-transition-slow {
  transition: all 300ms cubic-bezier(0.25, 0.1, 0.25, 1);
}

/* Floating animation keyframes */

@keyframes float {
  0%, 100% {
    transform: translate(0, 0) scale(1);
  }
  33% {
    transform: translate(30px, -30px) scale(1.1);
  }
  66% {
    transform: translate(-20px, 20px) scale(0.9);
  }
}

@keyframes float-delayed {
  0%, 100% {
    transform: translate(0, 0) scale(1);
  }
  33% {
    transform: translate(-25px, 25px) scale(0.95);
  }
  66% {
    transform: translate(25px, -20px) scale(1.05);
  }
}

@keyframes float-slow {
  0%, 100% {
    transform: translate(0, 0) scale(1);
  }
  50% {
    transform: translate(15px, -15px) scale(1.08);
  }
}

.animate-float {
  animation: float 20s ease-in-out infinite;
}

.animate-float-delayed {
  animation: float-delayed 25s ease-in-out infinite;
  animation-delay: 2s;
}

.animate-float-slow {
  animation: float-slow 30s ease-in-out infinite;
  animation-delay: 4s;
}

/* Hero background animations */

@keyframes hero-float-1 {
  0%, 100% {
    transform: translate(0, 0) scale(1);
    opacity: 1;
  }
  33% {
    transform: translate(40px, -40px) scale(1.1);
    opacity: 0.8;
  }
  66% {
    transform: translate(-30px, 30px) scale(0.95);
    opacity: 0.9;
  }
}

@keyframes hero-float-2 {
  0%, 100% {
    transform: translate(0, 0) scale(1);
    opacity: 1;
  }
  33% {
    transform: translate(-35px, 35px) scale(0.9);
    opacity: 0.85;
  }
  66% {
    transform: translate(35px, -25px) scale(1.05);
    opacity: 0.95;
  }
}

@keyframes hero-float-3 {
  0%, 100% {
    transform: translate(0, 0) scale(1) rotate(0deg);
    opacity: 1;
  }
  50% {
    transform: translate(20px, -20px) scale(1.08) rotate(5deg);
    opacity: 0.9;
  }
}

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

@keyframes hero-pulse-2 {
  0%, 100% {
    transform: scale(1);
    opacity: 0.5;
  }
  50% {
    transform: scale(1.15);
    opacity: 0.7;
  }
}

.animate-hero-float-1 {
  animation: hero-float-1 25s ease-in-out infinite;
  will-change: transform, opacity;
}

.animate-hero-float-2 {
  animation: hero-float-2 28s ease-in-out infinite;
  animation-delay: -8s;
  will-change: transform, opacity;
}

.animate-hero-float-3 {
  animation: hero-float-3 32s ease-in-out infinite;
  animation-delay: -12s;
  will-change: transform, opacity;
}

.animate-hero-pulse-1 {
  animation: hero-pulse-1 15s ease-in-out infinite;
  animation-delay: -5s;
  will-change: transform, opacity;
}

.animate-hero-pulse-2 {
  animation: hero-pulse-2 18s ease-in-out infinite;
  animation-delay: -7s;
  will-change: transform, opacity;
}

/* Infinite scroll carousel animation */

@keyframes scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

.animate-scroll {
  animation: scroll-left 30s linear infinite;
}

.animate-scroll:hover {
  animation-play-state: paused;
}

/* Carousel wrapper - hidden overflow by default for animation */

.carousel-wrapper {
  overflow: hidden;
}

/* Respect user's motion preferences */

@media (prefers-reduced-motion: reduce) {
  .animate-scroll {
    animation: none;
    flex-wrap: wrap;
    justify-content: center;
    width: 100% !important;
  }
  
  /* Show all logos in a static, fully visible layout */
  .carousel-wrapper {
    overflow: visible;
  }
  
  /* Hide duplicate logo set when motion is reduced to avoid confusion */
  .carousel-set:last-child {
    display: none;
  }
  
  /* Ensure carousel set wraps and centers */
  .carousel-set {
    flex-wrap: wrap;
    justify-content: center;
  }
}

/* Fade-in animations for scroll-triggered sections */

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-in-section {
  opacity: 0;
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.fade-in-section.visible {
  animation: fadeInUp 0.8s ease-out forwards;
}

/* Print styles - Core print resets only */

@media print {
  @page {
    margin: 16mm;
    size: letter;
  }

  /* Global print resets */
  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    box-shadow: none !important;
  }

  html, body {
    background: white !important;
    color: #1a1a1a !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 10pt !important;
    line-height: 1.45 !important;
  }

  /* ═══════════════════════════════════════════════════════
     HIDE NON-PRINT ELEMENTS
     ═══════════════════════════════════════════════════════ */
  header,
  footer,
  nav,
  aside,
  .print\\:hidden,
  [data-testid="workspace-sidebar"],
  [data-testid="workspace-chat-panel"],
  [data-testid="agent-tabs-container"],
  .workspace-sidebar,
  [class*="SidebarProvider"],
  [class*="sidebar"],
  [data-sidebar],
  [data-testid="button-sidebar-toggle"],
  [data-testid="floating-concierge"],
  .floating-concierge-button,
  button[aria-label*="sidebar"],
  button[aria-label*="menu"],
  .print-hide,
  [data-testid="article-action-bar"],
  [data-testid="podcast-player-card"],
  [data-testid="button-continue-reading"],
  [data-testid="cookie-banner"],
  [class*="sticky"],
  [class*="fixed"]:not(.blog-print-only *) {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }

  /* ═══════════════════════════════════════════════════════
     BLOG ARTICLE PRINT LAYOUT
     ═══════════════════════════════════════════════════════ */

  /* Show the print-only container */
  .blog-print-only {
    display: block !important;
    visibility: visible !important;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    background: white !important;
  }

  /* Blog article layout - prevent blank first page */
  article[data-article-print="true"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    page-break-before: auto !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  article[data-article-print="true"] > * {
    page-break-before: auto !important;
    -moz-column-break-before: auto !important;
         break-before: auto !important;
  }

  /* Hide all screen-only content when printing blog articles */
  article[data-article-print="true"] > *:not(.blog-print-only) {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
  }

  /* Print Header */
  .blog-print-header {
    display: block !important;
    border-bottom: 2px solid #0071E3 !important;
    padding-bottom: 8pt !important;
    margin-bottom: 10pt !important;
    page-break-after: avoid !important;
    -moz-column-break-after: avoid !important;
         break-after: avoid !important;
  }

  .blog-print-brand {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 6pt !important;
  }

  .blog-print-title {
    font-size: 16pt !important;
    font-weight: 700 !important;
    color: #111827 !important;
    line-height: 1.2 !important;
    margin: 6pt 0 4pt 0 !important;
  }

  .blog-print-subtitle {
    font-size: 10pt !important;
    color: #4b5563 !important;
    font-style: italic !important;
    margin-bottom: 4pt !important;
    line-height: 1.3 !important;
  }

  .blog-print-meta-badges {
    display: flex !important;
    gap: 6pt !important;
    flex-wrap: wrap !important;
    margin: 6pt 0 !important;
  }

  .blog-print-badge {
    display: inline-block !important;
    padding: 1pt 6pt !important;
    font-size: 7pt !important;
    border: 0.5pt solid #d1d5db !important;
    border-radius: 2pt !important;
    background: #f3f4f6 !important;
    color: #374151 !important;
  }

  .blog-print-meta-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12pt !important;
    font-size: 8pt !important;
    color: #6b7280 !important;
    margin-top: 4pt !important;
  }

  /* Print Key Findings */
  .blog-print-findings {
    display: block !important;
    margin: 10pt 0 !important;
    padding: 8pt 10pt !important;
    border: 0.5pt solid #e5e7eb !important;
    border-radius: 3pt !important;
    background: #f9fafb !important;
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
  }

  .blog-print-findings-title {
    font-size: 10pt !important;
    font-weight: 600 !important;
    color: #111827 !important;
    margin: 0 0 5pt 0 !important;
    padding: 0 !important;
    border-bottom: 0.5pt solid #e5e7eb !important;
    padding-bottom: 3pt !important;
  }

  .blog-print-findings-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    -moz-columns: 2 !important;
         columns: 2 !important;
    -moz-column-gap: 14pt !important;
         column-gap: 14pt !important;
  }

  .blog-print-findings-list li {
    font-size: 8pt !important;
    line-height: 1.35 !important;
    color: #374151 !important;
    padding: 2pt 0 2pt 10pt !important;
    position: relative !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
  }

  .blog-print-findings-list li::before {
    content: "•" !important;
    position: absolute !important;
    left: 0 !important;
    color: #0071E3 !important;
    font-weight: bold !important;
  }

  /* Print Body Content */
  .blog-print-body {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .blog-print-body.prose {
    max-width: 100% !important;
    color: #1a1a1a !important;
  }

  .blog-print-body h1 {
    font-size: 14pt !important;
    font-weight: 700 !important;
    color: #111827 !important;
    margin: 14pt 0 6pt 0 !important;
    page-break-after: avoid !important;
    -moz-column-break-after: avoid !important;
         break-after: avoid !important;
  }

  .blog-print-body h2 {
    font-size: 12pt !important;
    font-weight: 600 !important;
    color: #111827 !important;
    margin: 12pt 0 5pt 0 !important;
    padding-bottom: 2pt !important;
    border-bottom: 0.5pt solid #e5e7eb !important;
    page-break-after: avoid !important;
    -moz-column-break-after: avoid !important;
         break-after: avoid !important;
  }

  .blog-print-body h3 {
    font-size: 10.5pt !important;
    font-weight: 600 !important;
    color: #1f2937 !important;
    margin: 10pt 0 4pt 0 !important;
    page-break-after: avoid !important;
    -moz-column-break-after: avoid !important;
         break-after: avoid !important;
  }

  .blog-print-body h4 {
    font-size: 9.5pt !important;
    font-weight: 600 !important;
    color: #374151 !important;
    margin: 8pt 0 3pt 0 !important;
    page-break-after: avoid !important;
    -moz-column-break-after: avoid !important;
         break-after: avoid !important;
  }

  .blog-print-body p {
    font-size: 9pt !important;
    line-height: 1.45 !important;
    color: #1a1a1a !important;
    margin: 0 0 6pt 0 !important;
    orphans: 3 !important;
    widows: 3 !important;
  }

  .blog-print-body li {
    font-size: 9pt !important;
    line-height: 1.4 !important;
    color: #1a1a1a !important;
    margin-bottom: 2pt !important;
  }

  .blog-print-body ul,
  .blog-print-body ol {
    margin: 4pt 0 6pt 0 !important;
    padding-left: 16pt !important;
  }

  .blog-print-body blockquote {
    border-left: 2pt solid #0071E3 !important;
    padding: 4pt 0 4pt 10pt !important;
    margin: 6pt 0 !important;
    font-style: italic !important;
    color: #4b5563 !important;
    background: transparent !important;
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
  }

  .blog-print-body a {
    color: #0071E3 !important;
    text-decoration: none !important;
  }

  .blog-print-body table {
    border-collapse: collapse !important;
    width: 100% !important;
    margin: 6pt 0 !important;
    font-size: 8pt !important;
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
  }

  .blog-print-body th,
  .blog-print-body td {
    border: 0.5pt solid #d1d5db !important;
    padding: 3pt 5pt !important;
    text-align: left !important;
    vertical-align: top !important;
  }

  .blog-print-body th {
    background: #f3f4f6 !important;
    font-weight: 600 !important;
  }

  .blog-print-body figure,
  .blog-print-body img {
    max-width: 100% !important;
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
  }

  .blog-print-body strong {
    color: #111827 !important;
  }

  /* Print References Section */
  .blog-print-references {
    display: block !important;
    margin-top: 14pt !important;
    padding-top: 8pt !important;
    border-top: 1pt solid #d1d5db !important;
  }

  .blog-print-references h2 {
    font-size: 11pt !important;
    font-weight: 600 !important;
    color: #111827 !important;
    margin: 0 0 6pt 0 !important;
  }

  .blog-print-references ol {
    margin: 0 !important;
    padding-left: 16pt !important;
    list-style-type: decimal !important;
  }

  .blog-print-references li {
    font-size: 7.5pt !important;
    line-height: 1.35 !important;
    color: #374151 !important;
    margin-bottom: 3pt !important;
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
  }

  .blog-print-ref-url {
    font-size: 6.5pt !important;
    color: #6b7280 !important;
    word-break: break-all !important;
    overflow-wrap: break-word !important;
  }

  /* Print Footer */
  .blog-print-footer {
    display: block !important;
    margin-top: 16pt !important;
    padding-top: 8pt !important;
    border-top: 1pt solid #d1d5db !important;
    text-align: center !important;
    page-break-before: avoid !important;
  }

  .blog-print-footer p {
    font-size: 7pt !important;
    color: #9ca3af !important;
    margin: 1pt 0 !important;
    line-height: 1.3 !important;
  }

  /* ═══════════════════════════════════════════════════════
     SHARED PRINT UTILITIES (pamphlets, workspace, etc.)
     ═══════════════════════════════════════════════════════ */

  /* Show print header with logo (pamphlets) */
  .print-header {
    display: block !important;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 2px solid #4291E8;
  }

  .print-logo {
    display: flex !important;
    align-items: center;
    gap: 0.5rem;
  }

  .print-logo img {
    height: 32px;
    width: auto;
  }

  .print-logo-text {
    font-size: 1.25rem;
    font-weight: 700;
    color: #4291E8;
  }

  .print-date {
    font-size: 0.75rem;
    color: #666;
    margin-top: 0.25rem;
  }

  /* Ensure backgrounds are white for print */
  .bg-muted,
  .bg-background,
  .bg-card,
  .bg-secondary {
    background: white !important;
  }

  /* Main content should take full width when printing */
  main,
  [role="main"],
  .main-content,
  [data-testid*="panel-content"] {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 1 !important;
  }

  /* Fix ScrollArea overflow for printing */
  [data-radix-scroll-area-viewport],
  [data-testid="workspace-pamphlets-panel"] [data-radix-scroll-area-viewport],
  [data-testid="workspace-pamphlets-detail"] [data-radix-scroll-area-viewport],
  [data-testid="workspace-directory-panel"] [data-radix-scroll-area-viewport],
  [data-testid="workspace-decision-support-panel"] [data-radix-scroll-area-viewport],
  [data-testid="workspace-lab-panel"] [data-radix-scroll-area-viewport] {
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
  }

  /* Pamphlet print enhancements */
  [data-testid="workspace-pamphlets-detail"] {
    background: white !important;
    height: auto !important;
  }

  [data-testid="workspace-pamphlets-detail"] .print-header {
    display: block !important;
  }

  [data-testid="workspace-pamphlets-detail"] [class*="Card"] {
    border: 1px solid #e5e7eb !important;
    box-shadow: none !important;
    background: white !important;
    -moz-column-break-inside: avoid;
         break-inside: avoid;
    page-break-inside: avoid;
  }

  [data-testid="workspace-pamphlets-detail"] table {
    border-collapse: collapse;
    width: 100%;
    table-layout: fixed;
  }

  [data-testid="workspace-pamphlets-detail"] th,
  [data-testid="workspace-pamphlets-detail"] td {
    border-bottom: 1px solid #e5e7eb;
    padding: 0.375rem 0.5rem;
    text-align: left;
    word-wrap: break-word;
    overflow-wrap: break-word;
    vertical-align: top;
    font-size: 10px;
  }
  
  [data-testid="workspace-pamphlets-detail"] th {
    font-weight: 600;
    background: #f9fafb;
  }

  [data-testid="workspace-pamphlets-detail"] [class*="Badge"] {
    border: 1px solid currentColor !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  [data-testid="workspace-pamphlets-detail"] .bg-amber-50 {
    background: #fffbeb !important;
    border-color: #fcd34d !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  /* Make all scrollable containers print properly */
  .overflow-auto,
  .overflow-hidden,
  .overflow-y-auto,
  .overflow-x-auto,
  [class*="ScrollArea"],
  [class*="scroll-area"] {
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
  }

  /* Workspace panels should expand to fit content */
  [data-testid="workspace-pamphlets-panel"],
  [data-testid="workspace-directory-panel"],
  [data-testid="workspace-decision-support-panel"],
  [data-testid="workspace-lab-panel"],
  [data-testid="workspace-blog-detail"] {
    height: auto !important;
    overflow: visible !important;
  }

  /* Blog detail view - ensure full-width layout on print */
  [data-testid="workspace-blog-detail"] {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    width: 100% !important;
    background: white !important;
  }

  [data-testid="workspace-blog-detail"] [data-radix-scroll-area-viewport] {
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
  }

  /* Flex containers should not constrain height */
  .flex-1,
  .flex-grow {
    flex: none !important;
    height: auto !important;
  }

  /* Typography defaults for print */
  h1, h2, h3, h4, h5, h6 {
    page-break-after: avoid !important;
    -moz-column-break-after: avoid !important;
         break-after: avoid !important;
    color: #111827 !important;
  }

  p {
    orphans: 3 !important;
    widows: 3 !important;
  }

  /* Figures, blockquotes, tables avoid breaking */
  figure,
  blockquote,
  table,
  pre {
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
  }

  /* Badges should have visible borders when printed */
  .badge,
  [class*="Badge"] {
    border: 1px solid #ccc !important;
    background: #f5f5f5 !important;
    color: #333 !important;
  }

  /* Charts and visualizations */
  svg {
    max-height: 300px !important;
    max-width: 100% !important;
  }

  /* Links - print-friendly */
  a {
    text-decoration: none !important;
    color: #1a1a1a !important;
  }

  /* Print footer */
  .print-footer {
    display: block !important;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 0.5rem;
    font-size: 0.65rem;
    color: #999;
    text-align: center;
    border-top: 1px solid #eee;
    background: white;
  }

  /* ═══════════════════════════════════════════════════════
     PITCH DECK PRINT LAYOUT (scoped to [data-deck-shell])
     ═══════════════════════════════════════════════════════ */
  [data-deck-shell] [data-testid^="nav-dot-"] {
    display: none !important;
  }

  [data-deck-shell] section {
    page-break-inside: avoid;
    -moz-column-break-inside: avoid;
         break-inside: avoid;
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
    min-height: auto !important;
  }

  [data-deck-shell] section[id="hero"] {
    page-break-after: always;
    min-height: 90vh !important;
  }

  [data-deck-shell] section[id="closing"] {
    page-break-before: always;
  }

  [data-deck-shell] .grid {
    page-break-inside: avoid;
    -moz-column-break-inside: avoid;
         break-inside: avoid;
  }

  [data-deck-shell] img {
    max-width: 100% !important;
    page-break-inside: avoid;
    -moz-column-break-inside: avoid;
         break-inside: avoid;
  }

  [data-deck-shell] section[id] h2 {
    font-size: 1.5rem !important;
    margin-bottom: 1rem !important;
  }

  [data-deck-shell] section[id] h3 {
    font-size: 1.1rem !important;
  }
}

/* Premium Design System Utilities */

/* ===== MOBILE RESPONSIVENESS UTILITIES ===== */

/**
 * Touch Target Minimum (44px WCAG requirement)
 */

.touch-target {
  min-height: 44px;
  min-width: 44px;
}

.touch-target-lg {
  min-height: 48px;
  min-width: 48px;
}

/**
 * Mobile-First Typography Scale
 * H1: 2rem mobile → 3.5rem desktop
 * H2: 1.75rem mobile → 2.5rem desktop
 */

/**
 * Mobile Navigation Drawer
 */

.mobile-drawer {
  position: fixed;
  inset: 0 0 0 auto;
  width: 100%;
  max-width: 320px;
  background: hsl(var(--background));
  box-shadow: -8px 0 24px rgba(0, 0, 0, 0.15);
  z-index: 50;
  transform: translateX(100%);
  transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1);
}

.mobile-drawer.open {
  transform: translateX(0);
}

.mobile-drawer-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 40;
  opacity: 0;
  pointer-events: none;
  transition: opacity 200ms ease-out;
}

.mobile-drawer-overlay.open {
  opacity: 1;
  pointer-events: auto;
}

/**
 * Mobile Table to Card Conversion
 */

@media (max-width: 640px) {
  .table-to-cards {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  
  .table-to-cards thead {
    display: none;
  }
  
  .table-to-cards tbody {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  
  .table-to-cards tr {
    display: flex;
    flex-direction: column;
    padding: 1rem;
    border: 1px solid hsl(var(--border));
    border-radius: 0.75rem;
    background: hsl(var(--card));
  }
  
  .table-to-cards td {
    display: flex;
    justify-content: space-between;
    padding: 0.5rem 0;
    border: none;
  }
  
  .table-to-cards td::before {
    content: attr(data-label);
    font-weight: 600;
    color: hsl(var(--muted-foreground));
  }
}

/**
 * Mobile Sticky Submit Button
 */

.mobile-sticky-submit {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1rem;
  background: hsl(var(--background));
  border-top: 1px solid hsl(var(--border));
  z-index: 30;
}

@media (min-width: 640px) {
  .mobile-sticky-submit {
    position: relative;
    padding: 0;
    border-top: none;
  }
}

/**
 * Prevent horizontal scroll on mobile
 */

.no-mobile-overflow {
  overflow-x: hidden;
  max-width: 100vw;
}

/**
 * Mobile-safe image scaling
 */

.mobile-image {
  width: 100%;
  height: auto;
  max-width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/**
 * Mobile spacing adjustments
 */

@media (max-width: 640px) {
  /* Section padding reduction */
  .section-mobile-compact {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  
  /* Container padding reduction */
  .container-mobile {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  
  /* Grid gap reduction */
  .grid-mobile-compact {
    gap: 1rem;
  }
}

/* Skeleton Shimmer - premium loading effect */

.skeleton-shimmer {
  background: linear-gradient(
    90deg,
    hsl(var(--muted)) 0%,
    hsl(var(--muted) / 0.5) 50%,
    hsl(var(--muted)) 100%
  );
  background-size: 200% 100%;
  animation: shimmer 1.5s ease-in-out infinite;
}

/* Protocol Assembling - staggered reveal */

.stagger-in > * {
  opacity: 0;
  animation: staggerFadeIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.stagger-in > *:nth-child(1) { animation-delay: 0ms; }

.stagger-in > *:nth-child(2) { animation-delay: 50ms; }

.stagger-in > *:nth-child(3) { animation-delay: 100ms; }

.stagger-in > *:nth-child(4) { animation-delay: 150ms; }

.stagger-in > *:nth-child(5) { animation-delay: 200ms; }

.stagger-in > *:nth-child(6) { animation-delay: 250ms; }

.stagger-in > *:nth-child(7) { animation-delay: 300ms; }

.stagger-in > *:nth-child(8) { animation-delay: 350ms; }

@keyframes staggerFadeIn {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Subtle content reveal for sections */

.reveal-on-scroll {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.4s ease-out, transform 0.4s ease-out;
}

.reveal-on-scroll.revealed {
  opacity: 1;
  transform: translateY(0);
}

/* Spinner for loading states */

.spinner {
  animation: spin 1s linear infinite;
}

/* Gentle breathing effect for active states */

.breathe {
  animation: breathe 3s ease-in-out infinite;
}

@keyframes breathe {
  0%, 100% {
    opacity: 0.7;
  }
  50% {
    opacity: 1;
  }
}

/* ===== ERROR & EMPTY STATE UTILITIES ===== */

/**
 * Form Validation Error State
 * Border: 2px solid red, light red background
 */

.form-error {
  border: 2px solid hsl(0, 84%, 60%) !important;
  background-color: hsl(0, 100%, 97%) !important;
}

.dark .form-error {
  background-color: hsl(0, 84%, 10%) !important;
}

.form-error-message {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-top: 0.5rem;
  font-size: 0.875rem;
  color: hsl(0, 84%, 50%);
}

/**
 * Empty State Container
 */

.empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4rem 2rem;
  text-align: center;
}

.empty-state-icon {
  width: 96px;
  height: 96px;
  margin-bottom: 1.5rem;
  color: hsl(var(--muted-foreground));
  opacity: 0.5;
}

.empty-state-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: hsl(var(--foreground));
  margin-bottom: 0.5rem;
}

.empty-state-description {
  font-size: 1rem;
  color: hsl(var(--muted-foreground));
  max-width: 400px;
  margin-bottom: 1.5rem;
}

/**
 * Error Page Layout
 */

.error-page {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 60vh;
  padding: 2rem;
  text-align: center;
}

.error-code {
  font-size: 6rem;
  font-weight: 800;
  color: hsl(var(--foreground));
  line-height: 1;
  margin-bottom: 1rem;
}

.error-message {
  font-size: 1.25rem;
  color: hsl(var(--muted-foreground));
  margin-bottom: 2rem;
}

/**
 * Loading Failed State
 */

.loading-failed {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3rem 2rem;
  text-align: center;
  background-color: hsl(0, 100%, 97%);
  border-radius: 0.75rem;
}

.dark .loading-failed {
  background-color: hsl(0, 84%, 10%);
}

.loading-failed-icon {
  width: 48px;
  height: 48px;
  color: hsl(0, 84%, 50%);
  margin-bottom: 1rem;
}

.loading-failed-message {
  font-size: 1rem;
  font-weight: 500;
  color: hsl(var(--foreground));
  margin-bottom: 0.5rem;
}

.loading-failed-actions {
  display: flex;
  gap: 1rem;
  margin-top: 1rem;
}

/**
 * Network Offline State
 */

.network-offline {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  text-align: center;
  background-color: hsl(45, 93%, 96%);
  border: 1px solid hsl(45, 93%, 80%);
  border-radius: 0.75rem;
}

.dark .network-offline {
  background-color: hsl(45, 93%, 10%);
  border-color: hsl(45, 93%, 25%);
}

.network-offline-icon {
  width: 48px;
  height: 48px;
  color: hsl(45, 93%, 47%);
  margin-bottom: 1rem;
}

/* ===== ACCESSIBILITY ENHANCEMENTS ===== */

/**
 * WCAG 2.1 AA Compliant Focus Indicators
 * Style: 2px solid #0071E3 (primary), 4px offset
 * Applied to all interactive elements
 */

.focus-ring {
  outline: 2px solid hsl(var(--primary));
  outline-offset: 4px;
  border-radius: inherit;
}

.focus-ring-inset {
  outline: 2px solid hsl(var(--primary));
  outline-offset: -2px;
  border-radius: inherit;
}

/**
 * Enhanced focus states for specific elements
 */

a:focus-visible,
[role="link"]:focus-visible {
  outline: 2px solid hsl(var(--primary));
  outline-offset: 4px;
  border-radius: 4px;
}

[role="tab"]:focus-visible,
[role="menuitem"]:focus-visible,
[role="option"]:focus-visible,
[role="listitem"]:focus-visible {
  outline: 2px solid hsl(var(--primary));
  outline-offset: 2px;
  background-color: hsl(var(--accent) / 0.5);
}

[role="checkbox"]:focus-visible,
[role="radio"]:focus-visible,
[role="switch"]:focus-visible {
  outline: 2px solid hsl(var(--primary));
  outline-offset: 4px;
}

/**
 * Keyboard navigation helpers
 * Arrow key navigation for dropdowns/tabs
 */

[data-keyboard-nav] [role="menuitem"]:focus,
[data-keyboard-nav] [role="option"]:focus,
[data-keyboard-nav] [role="tab"]:focus {
  background-color: hsl(var(--accent));
}

/**
 * ARIA live regions for announcements
 */

.aria-live-polite {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.aria-live-assertive {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/**
 * Icon accessibility - ensure icons have proper sizing for click targets
 * WCAG minimum touch target: 44x44px
 */

.icon-button {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.icon-button-sm {
  min-width: 36px;
  min-height: 36px;
}

/**
 * Decorative image marker
 * Use for images that don't add information
 */

.decorative-img {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: none;
}

/**
 * Form field accessibility
 * Proper label association indicators
 */

.form-field-required::after {
  content: " *";
  color: hsl(0, 84%, 60%);
  font-weight: 600;
}

.form-field-error {
  border-color: hsl(0, 84%, 60%) !important;
  box-shadow: 0 0 0 3px hsl(0, 84%, 60%, 0.15);
}

.form-field-error:focus-visible {
  outline-color: hsl(0, 84%, 60%);
  box-shadow: 0 0 0 4px hsl(0, 84%, 60%, 0.2);
}

.form-error-text {
  color: hsl(0, 84%, 50%);
  font-size: 0.875rem;
  margin-top: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.form-error-text::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23DC2626'%3E%3Cpath fill-rule='evenodd' d='M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z' clip-rule='evenodd'/%3E%3C/svg%3E");
  background-size: contain;
  flex-shrink: 0;
}

/**
 * Loading state announcements
 */

.loading-announce::before {
  content: "Loading...";
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/**
 * Color contrast safe text utilities
 * WCAG AA: 4.5:1 for normal text, 3:1 for large text (18px+)
 */

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

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

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

.text-on-dark {
  color: white;
}

.text-on-light {
  color: hsl(222, 47%, 11%);
}

/**
 * Background with guaranteed contrast
 */

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

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

/**
 * Visible focus when outline:none is used
 * Alternative focus indicator using box-shadow
 */

.focus-shadow:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px hsl(var(--background)), 
              0 0 0 4px hsl(var(--primary));
}

/**
 * Disabled state styling (accessible)
 */

.a11y-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

[aria-disabled="true"] {
  opacity: 0.5;
  cursor: not-allowed;
}

/**
 * Current/active state indicator for navigation
 */

[aria-current="page"],
[aria-current="true"] {
  font-weight: 600;
  color: hsl(var(--primary));
}

[aria-current="page"]::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 60%;
  background-color: hsl(var(--primary));
  border-radius: 0 2px 2px 0;
}

/**
 * Expanded/collapsed state indicators
 */

[aria-expanded="true"] > .expand-icon {
  transform: rotate(180deg);
}

[aria-expanded="false"] > .expand-icon {
  transform: rotate(0deg);
}

.expand-icon {
  transition: transform 200ms ease-out;
}

/**
 * Selected state for options/items
 */

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

/**
 * Pressed state for toggle buttons
 */

[aria-pressed="true"] {
  background-color: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
}

/**
 * Modal/dialog backdrop - traps focus visually
 */

[aria-modal="true"] {
  position: fixed;
  z-index: 50;
}

/**
 * Invalid form field indication
 */

[aria-invalid="true"] {
  border-color: hsl(0, 84%, 60%);
}

[aria-invalid="true"]:focus-visible {
  outline-color: hsl(0, 84%, 60%);
}

/**
 * Busy/loading state
 */

[aria-busy="true"] {
  cursor: wait;
}

/**
 * Screen reader only - show on focus (for skip links style patterns)
 */

.sr-only-focusable:focus,
.sr-only-focusable:focus-within {
  position: static;
  width: auto;
  height: auto;
  padding: inherit;
  margin: inherit;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

/* ===== LOADING & PERFORMANCE UTILITIES ===== */

/**
 * Indeterminate Progress Bar Animation
 */

@keyframes progress-indeterminate {
  0% {
    width: 0%;
    margin-left: 0%;
  }
  50% {
    width: 40%;
    margin-left: 30%;
  }
  100% {
    width: 0%;
    margin-left: 100%;
  }
}

.animate-progress-indeterminate {
  animation: progress-indeterminate 1.5s ease-in-out infinite;
}

/**
 * Shimmer Animation (Premium Loading Effect)
 */

@keyframes shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}

/**
 * Image Lazy Loading Utilities
 */

.lazy-image {
  opacity: 0;
  transition: opacity 0.3s ease-out;
}

.lazy-image.loaded {
  opacity: 1;
}

.lazy-image-placeholder {
  background-color: hsl(var(--muted));
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lazy-image-blur {
  filter: blur(20px);
  transform: scale(1.1);
  transition: filter 0.3s ease-out, transform 0.3s ease-out;
}

.lazy-image-blur.loaded {
  filter: blur(0);
  transform: scale(1);
}

/**
 * Aspect Ratio Containers (Prevent CLS)
 */

.aspect-square {
  aspect-ratio: 1 / 1;
}

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

.aspect-portrait {
  aspect-ratio: 3 / 4;
}

.aspect-landscape {
  aspect-ratio: 4 / 3;
}

.aspect-wide {
  aspect-ratio: 21 / 9;
}

/**
 * Content Placeholder (Prevent Layout Shift)
 */

.content-placeholder {
  min-height: var(--placeholder-height, 200px);
  background-color: hsl(var(--muted) / 0.5);
}

/**
 * Fade In Animation (for loaded content)
 */

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.animate-fade-in {
  animation: fadeIn 0.3s ease-out forwards;
}

/**
 * Pulse Animation (for skeleton loading)
 */

@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}

.animate-pulse-slow {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/**
 * Loading Dots Animation
 */

@keyframes loadingDots {
  0%, 80%, 100% {
    transform: scale(0);
    opacity: 0.5;
  }
  40% {
    transform: scale(1);
    opacity: 1;
  }
}

.loading-dots {
  display: inline-flex;
  gap: 4px;
}

.loading-dots span {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: currentColor;
  animation: loadingDots 1.4s ease-in-out infinite;
}

.loading-dots span:nth-child(1) {
  animation-delay: 0s;
}

.loading-dots span:nth-child(2) {
  animation-delay: 0.16s;
}

.loading-dots span:nth-child(3) {
  animation-delay: 0.32s;
}

/**
 * Skeleton Base Styles
 */

.skeleton-base {
  background: linear-gradient(
    90deg,
    hsl(var(--muted)) 0%,
    hsl(var(--muted) / 0.6) 50%,
    hsl(var(--muted)) 100%
  );
  background-size: 200% 100%;
  animation: shimmer 1.5s ease-in-out infinite;
  border-radius: 0.375rem;
}

.skeleton-text {
  height: 1rem;
  width: 100%;
}

.skeleton-heading {
  height: 1.5rem;
  width: 75%;
}

.skeleton-avatar-sm {
  height: 2rem;
  width: 2rem;
  border-radius: 50%;
}

.skeleton-avatar-md {
  height: 2.5rem;
  width: 2.5rem;
  border-radius: 50%;
}

.skeleton-avatar-lg {
  height: 3rem;
  width: 3rem;
  border-radius: 50%;
}

.skeleton-button {
  height: 2.5rem;
  width: 6rem;
  border-radius: 0.375rem;
}

.skeleton-image {
  height: 10rem;
  width: 100%;
  border-radius: 0.5rem;
}

/**
 * Performance: Will-change hints
 */

.will-animate {
  will-change: transform, opacity;
}

.will-scroll {
  will-change: scroll-position;
}

/**
 * GPU Acceleration for animations
 */

.gpu-accelerate {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* ===== DESIGN SYSTEM HELPER CLASSES ===== */

/**
 * Typography - Serif Headlines
 * Apply to key words for brand consistency
 */

.font-serif-display {
  font-family: var(--font-serif);
}

.headline-serif {
  font-family: var(--font-serif);
  font-weight: 400;
  letter-spacing: -0.01em;
}

.headline-h1 {
  font-family: var(--font-serif);
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.headline-h2 {
  font-family: var(--font-serif);
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -0.015em;
}

/**
 * Card Styling (12px radius, 32px padding, consistent hover)
 */

.card-standard {
  background-color: hsl(var(--background));
  border: 1px solid hsl(var(--border));
  border-radius: 0.75rem;
  padding: 2rem;
  transition: all 200ms ease-out;
}

.card-standard:hover {
  border-color: hsl(var(--primary) / 0.3);
  transform: translateY(-4px);
  box-shadow: 0 8px 24px hsl(var(--foreground) / 0.08);
}

.card-icon-container {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.5rem;
}

.card-icon-blue {
  background: linear-gradient(135deg, hsl(221 83% 93%) 0%, hsl(219 91% 88%) 100%);
  box-shadow: 0 4px 12px hsl(221 83% 88% / 0.5);
}

.dark .card-icon-blue {
  background: linear-gradient(135deg, hsl(221 83% 20% / 0.4) 0%, hsl(219 91% 15% / 0.3) 100%);
  box-shadow: 0 4px 12px hsl(221 83% 12% / 0.3);
}

.card-icon-purple {
  background: linear-gradient(135deg, hsl(270 76% 93%) 0%, hsl(268 76% 88%) 100%);
  box-shadow: 0 4px 12px hsl(270 76% 88% / 0.5);
}

.dark .card-icon-purple {
  background: linear-gradient(135deg, hsl(270 76% 20% / 0.4) 0%, hsl(268 76% 15% / 0.3) 100%);
  box-shadow: 0 4px 12px hsl(270 76% 12% / 0.3);
}

.card-icon-emerald {
  background: linear-gradient(135deg, hsl(152 76% 92%) 0%, hsl(150 80% 86%) 100%);
  box-shadow: 0 4px 12px hsl(152 76% 86% / 0.5);
}

.dark .card-icon-emerald {
  background: linear-gradient(135deg, hsl(152 76% 18% / 0.4) 0%, hsl(150 80% 14% / 0.3) 100%);
  box-shadow: 0 4px 12px hsl(152 76% 10% / 0.3);
}

.card-icon-amber {
  background: linear-gradient(135deg, hsl(48 96% 92%) 0%, hsl(45 93% 86%) 100%);
  box-shadow: 0 4px 12px hsl(48 96% 86% / 0.5);
}

.dark .card-icon-amber {
  background: linear-gradient(135deg, hsl(48 96% 18% / 0.4) 0%, hsl(45 93% 14% / 0.3) 100%);
  box-shadow: 0 4px 12px hsl(48 96% 10% / 0.3);
}

/**
 * Button Standards (8px radius, consistent sizing)
 */

.btn-primary-standard {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  height: 2.75rem;
  padding: 0 1.5rem;
  font-size: 1rem;
  font-weight: 600;
  border-radius: 0.5rem;
  background-color: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
  transition: all 200ms ease-out;
}

.btn-primary-standard:hover {
  background-color: hsl(var(--primary) / 0.9);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px hsl(var(--primary) / 0.3);
}

.btn-secondary-standard {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  height: 2.75rem;
  padding: 0 1.5rem;
  font-size: 1rem;
  font-weight: 600;
  border-radius: 0.5rem;
  background-color: transparent;
  border: 2px solid hsl(var(--border));
  color: hsl(var(--foreground));
  transition: all 200ms ease-out;
}

.btn-secondary-standard:hover {
  border-color: hsl(var(--primary));
  color: hsl(var(--primary));
}

/**
 * Badge Standards
 */

.badge-status {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 600;
  background-color: hsl(160 84% 39%);
  color: white;
}

.badge-premium {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 600;
  background-color: hsl(var(--primary));
  color: white;
}

.badge-highlight {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 700;
  background: linear-gradient(135deg, hsl(var(--primary)) 0%, hsl(271 76% 53%) 100%);
  color: white;
}

.badge-category {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 500;
  background-color: hsl(var(--muted));
  color: hsl(var(--foreground));
  border: 1px solid hsl(var(--border));
  cursor: pointer;
  transition: all 200ms ease-out;
}

.badge-category:hover {
  border-color: hsl(var(--primary));
  background-color: hsl(221 83% 97%);
}

.dark .badge-category:hover {
  background-color: hsl(221 83% 10%);
}

/**
 * Navigation Standards
 */

.nav-link-standard {
  font-size: 0.875rem;
  font-weight: 500;
  color: hsl(var(--muted-foreground));
  transition: color 200ms ease-out;
}

.nav-link-standard:hover {
  color: hsl(var(--foreground));
}

.nav-link-active {
  color: hsl(var(--primary));
  border-bottom: 3px solid hsl(var(--primary));
  padding-bottom: 0.25rem;
}

/**
 * Section Backgrounds
 */

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

.section-muted {
  background-color: hsl(210 40% 98%);
}

.dark .section-muted {
  background-color: hsl(215 28% 8%);
}

.section-hero-gradient {
  background: linear-gradient(
    135deg,
    hsl(222 47% 11%) 0%,
    hsl(215 28% 17%) 50%,
    hsl(217 19% 27%) 100%
  );
}

.section-cta-gradient {
  background: linear-gradient(
    135deg,
    hsl(var(--primary) / 0.1) 0%,
    hsl(var(--primary) / 0.15) 50%,
    hsl(var(--primary) / 0.1) 100%
  );
  border-top: 1px solid hsl(var(--primary) / 0.2);
  border-bottom: 1px solid hsl(var(--primary) / 0.2);
}

/**
 * Container Standards (1400px max-width, responsive padding)
 */

.container-standard {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

@media (min-width: 640px) {
  .container-standard {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

@media (min-width: 1024px) {
  .container-standard {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

/**
 * Section Spacing (5rem standard, 6rem hero)
 */

.section-padding-standard {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

@media (min-width: 640px) {
  .section-padding-standard {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

.section-padding-hero {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

@media (min-width: 640px) {
  .section-padding-hero {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

/**
 * Form Field Standards (48px height, 8px radius)
 */

.input-standard {
  height: 3rem;
  width: 100%;
  padding-left: 1rem;
  padding-right: 1rem;
  font-size: 1rem;
  border-radius: 0.5rem;
  border: 1px solid hsl(var(--border));
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
  transition: all 200ms ease-out;
}

.input-standard::-moz-placeholder {
  color: hsl(var(--muted-foreground));
}

.input-standard::placeholder {
  color: hsl(var(--muted-foreground));
}

.input-standard:focus {
  outline: none;
  border-color: hsl(var(--primary));
  box-shadow: 0 0 0 3px hsl(var(--primary) / 0.1);
}

.input-error {
  border-color: hsl(0 84% 60%);
  background-color: hsl(0 100% 98%);
}

.dark .input-error {
  background-color: hsl(0 84% 8%);
}

.label-standard {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: hsl(var(--foreground));
  margin-bottom: 0.5rem;
}

.label-required::after {
  content: " *";
  color: hsl(0 84% 60%);
}

/**
 * Medical Disclaimer
 */

.medical-disclaimer {
  background-color: hsl(45 93% 96%);
  border: 1px solid hsl(45 93% 85%);
  border-radius: 0.75rem;
  padding: 1rem;
  font-size: 0.875rem;
  color: hsl(26 90% 30%);
}

.dark .medical-disclaimer {
  background-color: hsl(45 93% 10%);
  border-color: hsl(45 93% 25%);
  color: hsl(45 93% 80%);
}

/**
 * Grid Standards
 */

.grid-2-col {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.5rem;
}

@media (min-width: 768px) {
  .grid-2-col {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
  }
}

.grid-3-col {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.5rem;
}

@media (min-width: 768px) {
  .grid-3-col {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .grid-3-col {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2rem;
  }
}

/* Helix Landing Voice Section — Environmental Background */

.helix-env-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background: radial-gradient(
    ellipse 50% 60% at 50% 45%,
    rgba(0, 113, 227, 0.04) 0%,
    rgba(0, 113, 227, 0.015) 40%,
    transparent 80%
  );
}

.dark .helix-env-bg {
  background: radial-gradient(
    ellipse 50% 60% at 50% 45%,
    rgba(0, 119, 237, 0.06) 0%,
    rgba(0, 119, 237, 0.02) 40%,
    transparent 80%
  );
}

/* Helix secondary action buttons — hover micro-interaction */

.helix-action-btn {
  transform: translateY(0);
}

.helix-action-btn:hover:not(:disabled) {
  color: hsl(var(--foreground));
  background: hsl(var(--muted) / 0.5);
  transform: translateY(-1px);
}

.helix-action-btn:active:not(:disabled) {
  transform: translateY(0);
}

.grid-4-col {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1rem;
}

@media (min-width: 640px) {
  .grid-4-col {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .grid-4-col {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.5rem;
  }
}

@keyframes logo-ring-1 {
  from { transform: rotate(-15deg); }
  to { transform: rotate(345deg); }
}

@keyframes logo-ring-2 {
  from { transform: rotate(35deg); }
  to { transform: rotate(-325deg); }
}

@keyframes logo-ring-3 {
  from { transform: rotate(-55deg); }
  to { transform: rotate(305deg); }
}

@keyframes logo-glow-breathe {
  0%, 100% { opacity: 0.08; transform: scale(1); }
  50% { opacity: 0.18; transform: scale(1.04); }
}

@keyframes logoEntrance {
  0%   { opacity: 0; transform: translateY(-10px) scale(0.92); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  [style*="logo-ring"],
  [style*="logo-glow"] {
    animation: none !important;
  }
}

/* ─── Helix Streaming Cursor ─────────────────────────────────────────────── */

@keyframes helix-cursor-blink {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0; }
}

.helix-streaming-cursor {
  display: inline-block;
  margin-inline-start: 1px;
  animation: helix-cursor-blink 0.9s step-start infinite;
  color: hsl(var(--primary) / 0.7);
  font-size: 0.85em;
  line-height: 1;
  vertical-align: middle;
}

/* ─── Helix Section Header Fade-In ──────────────────────────────────────── */

@keyframes helix-section-fade-in {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}

.animate-helix-section-in {
  animation: helix-section-fade-in 0.2s ease-out both;
}

/* ─── Feedback Button Scale Micro-interaction ────────────────────────────── */

.helix-feedback-btn {
  transition: transform 0.15s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.helix-feedback-btn:active {
  transform: scale(1.2);
}

.helix-feedback-btn.feedback-given {
  animation: helix-feedback-pop 0.15s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

@keyframes helix-feedback-pop {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.15); }
  100% { transform: scale(1); }
}

/* ─── Helix Thinking State Animations ───────────────────────────────────── */

@keyframes glowPulse {
  0%, 100% { box-shadow: 0 0 8px 2px rgba(59, 130, 246, 0.3); }
  50%       { box-shadow: 0 0 20px 6px rgba(59, 130, 246, 0.5); }
}

@keyframes barWave {
  0%, 100% { height: 4px; }
  50%       { height: 12px; }
}

@keyframes helixCursorBlink {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0; }
}

.animate-glow-pulse {
  animation: glowPulse 2s ease-in-out infinite;
}

.animate-bar-wave {
  animation: barWave 0.7s ease-in-out infinite;
}

.animate-helix-cursor {
  animation: helixCursorBlink 0.9s step-start infinite;
}

/* ─── ThinkingIndicator full-panel variant ───────────────────────────────── */

.thinking-indicator-panel {
  animation: helix-section-fade-in 0.3s ease-out both;
}

/* ─── Helix Shimmer Slide (thinking bubble + skeleton lines) ─────────────── */

@keyframes helix-shimmer-slide {
  0%   { transform: translateX(-250%); }
  100% { transform: translateX(500%); }
}

.animate-helix-shimmer-slide {
  animation: helix-shimmer-slide 2s ease-in-out infinite;
}

/* ─── Helix Breathing Glow (thinking bubble logo) ────────────────────────── */

@keyframes helix-breathe-glow {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 hsl(var(--primary) / 0.15), 0 0 12px 2px hsl(var(--primary) / 0.08);
  }
  50% {
    transform: scale(1.08);
    box-shadow: 0 0 0 6px hsl(var(--primary) / 0.06), 0 0 20px 6px hsl(var(--primary) / 0.12);
  }
}

.animate-helix-breathe-glow {
  animation: helix-breathe-glow 2.8s ease-in-out infinite;
  border-radius: 9999px;
}

/* ─── Helix Fade-Slide (thinking message transitions) ────────────────────── */

@keyframes helix-fade-slide-in {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes helix-fade-slide-out {
  from { opacity: 1; transform: translateY(0); }
  to   { opacity: 0; transform: translateY(-6px); }
}

.animate-helix-fade-slide-in {
  animation: helix-fade-slide-in 0.35s ease-out both;
}

.animate-helix-fade-slide-out {
  animation: helix-fade-slide-out 0.25s ease-in both;
}

/* ─── Helix Crossfade (skeleton → content) ───────────────────────────────── */

@keyframes helix-crossfade-in {
  from { opacity: 0; filter: blur(4px); }
  to   { opacity: 1; filter: blur(0); }
}

.animate-helix-crossfade-in {
  animation: helix-crossfade-in 0.5s ease-out both;
}

/* ─── Helix Stage Stepper Dot ────────────────────────────────────────────── */

@keyframes helix-stage-dot-active {
  0%, 100% { transform: scale(1); opacity: 1; }
  50%      { transform: scale(1.3); opacity: 0.8; }
}

.animate-helix-stage-active {
  animation: helix-stage-dot-active 1.6s ease-in-out infinite;
}

/* ─── Thin custom scrollbars ─────────────────────────────────────────────── */

::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}

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

::-webkit-scrollbar-thumb {
  background: hsl(var(--border));
  border-radius: 2px;
}

::-webkit-scrollbar-thumb:hover {
  background: hsl(var(--muted-foreground) / 0.4);
}

/* ─── Helix document mode print styles ───────────────────────────────────── */

@media print {
  body > *:not(#helix-print-root) { display: none !important; }

  #helix-print-root {
    display: block !important;
    font-family: 'Times New Roman', serif;
    font-size: 11pt;
    line-height: 1.6;
    color: #000;
    background: #fff;
    padding: 1in;
    max-width: 8.5in;
    margin: 0 auto;
  }

  #helix-print-root.mode-rx {
    font-family: 'Courier New', monospace;
    font-size: 10pt;
    border: 2px solid #000;
    padding: 0.75in;
  }

  #helix-print-root.mode-pamphlet {
    font-family: Arial, sans-serif;
    font-size: 12pt;
    line-height: 1.8;
  }

  #helix-print-root.mode-scribe {
    font-family: Arial, sans-serif;
    font-size: 10pt;
  }

  .helix-action-bar,
  .helix-mode-selector,
  .helix-follow-ups,
  .helix-citations,
  [data-testid*="button"],
  .sidebar,
  nav { display: none !important; }
}

.group:hover .group-hover\:visible.animate-on-scroll {
    opacity: 1;
    transform: translateY(0);
  }

.dark\:prose-invert:is(.dark *){
  --tw-prose-body: var(--tw-prose-invert-body);
  --tw-prose-headings: var(--tw-prose-invert-headings);
  --tw-prose-lead: var(--tw-prose-invert-lead);
  --tw-prose-links: var(--tw-prose-invert-links);
  --tw-prose-bold: var(--tw-prose-invert-bold);
  --tw-prose-counters: var(--tw-prose-invert-counters);
  --tw-prose-bullets: var(--tw-prose-invert-bullets);
  --tw-prose-hr: var(--tw-prose-invert-hr);
  --tw-prose-quotes: var(--tw-prose-invert-quotes);
  --tw-prose-quote-borders: var(--tw-prose-invert-quote-borders);
  --tw-prose-captions: var(--tw-prose-invert-captions);
  --tw-prose-kbd: var(--tw-prose-invert-kbd);
  --tw-prose-kbd-shadows: var(--tw-prose-invert-kbd-shadows);
  --tw-prose-code: var(--tw-prose-invert-code);
  --tw-prose-pre-code: var(--tw-prose-invert-pre-code);
  --tw-prose-pre-bg: var(--tw-prose-invert-pre-bg);
  --tw-prose-th-borders: var(--tw-prose-invert-th-borders);
  --tw-prose-td-borders: var(--tw-prose-invert-td-borders);
}

@media (min-width: 1024px){
  .lg\:text-display{
    font-size: 2.25rem;
    line-height: 2.5rem;
    font-weight: 800;
  }
  @media (min-width: 640px){

    .lg\:text-display{
      font-size: 3rem;
      line-height: 1;
    }
  }
  @media (min-width: 1024px){

    .lg\:text-display{
      font-size: 3.75rem;
      line-height: 1;
    }
  }
  .lg\:text-display {
    line-height: 1.05;
    letter-spacing: -0.02em;
    font-feature-settings: 'ss01' on, 'ss02' on;
  }
  @media (max-width: 768px) {
    .lg\:text-display {
      font-size: 36px !important;
      line-height: 1.1 !important;
      letter-spacing: -0.02em;
    }
    
    /* Ensure minimum 16px for body text (prevents iOS zoom on focus) */
    
    /* Ensure inputs are at least 16px to prevent iOS zoom */
  }
}

.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{
  --tw-text-opacity: 1;
  color: hsl(var(--foreground) / var(--tw-text-opacity, 1));
}

.placeholder\:text-muted-foreground::-moz-placeholder{
  --tw-text-opacity: 1;
  color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));
}

.placeholder\:text-muted-foreground::placeholder{
  --tw-text-opacity: 1;
  color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));
}

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

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

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

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

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

.placeholder\:text-white\/50::-moz-placeholder{
  color: rgb(255 255 255 / 0.5);
}

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

@media (max-width: 640px) {
    .placeholder\:text-muted-foreground::-moz-placeholder {
      color: hsl(var(--muted-foreground) / 0.9);
    }
    .placeholder\:text-muted-foreground::placeholder {
      color: hsl(var(--muted-foreground) / 0.9);
    }
  }

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

.before\:left-0::before{
  content: var(--tw-content);
  left: 0px;
}

.before\:start-0::before{
  content: var(--tw-content);
  inset-inline-start: 0px;
}

.before\:top-0::before{
  content: var(--tw-content);
  top: 0px;
}

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

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

.before\:h-full::before{
  content: var(--tw-content);
  height: 100%;
}

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

.before\:w-\[3px\]::before{
  content: var(--tw-content);
  width: 3px;
}

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

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

.before\:bg-destructive::before{
  content: var(--tw-content);
  --tw-bg-opacity: 1;
  background-color: hsl(var(--destructive) / var(--tw-bg-opacity, 1));
}

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

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

.before\:bg-primary::before{
  content: var(--tw-content);
  --tw-bg-opacity: 1;
  background-color: hsl(var(--primary) / var(--tw-bg-opacity, 1));
}

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

.after\:pointer-events-none::after{
  content: var(--tw-content);
  pointer-events: none;
}

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

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

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

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

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

.after\:block::after{
  content: var(--tw-content);
  display: block;
}

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

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

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

.after\:border-black\/10::after{
  content: var(--tw-content);
  border-color: rgb(0 0 0 / 0.1);
}

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

.after\:border.toggle-elevate::after::before {
    content: var(--tw-content);
    inset: -1px;
  }

.after\:border.hover-elevate:not(.no-hover-interaction-elevate)::after::after,.after\:border.active-elevate:not(.no-active-interaction-elevate)::after::after,.after\:border.hover-elevate-2:not(.no-hover-interaction-elevate)::after::after,.after\:border.active-elevate-2:not(.no-active-interaction-elevate)::after::after,.after\:border.hover-elevate:not(.no-hover-interaction-elevate)::after::after {
    content: var(--tw-content);
    inset: -1px;
  }

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

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

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

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

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

.last\:bg-transparent:last-child{
  background-color: transparent;
}

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

.last\:pr-0:last-child{
  padding-right: 0px;
}

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

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

.focus-within\:border-primary\/40:focus-within{
  border-color: hsl(var(--primary) / 0.4);
}

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

.focus-within\:shadow-primary\/5:focus-within{
  --tw-shadow-color: hsl(var(--primary) / 0.05);
  --tw-shadow: var(--tw-shadow-colored);
}

.focus-within\:ring-1: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(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-within\:ring-primary\/30:focus-within{
  --tw-ring-color: hsl(var(--primary) / 0.3);
}

.hover\:-translate-y-0\.5:hover{
  --tw-translate-y: -0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:-translate-y-1:hover{
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.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-border:hover{
  --tw-border-opacity: 1;
  border-color: hsl(var(--border) / var(--tw-border-opacity, 1));
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.hover\:bg-muted:hover{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--muted) / var(--tw-bg-opacity, 1));
}

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

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

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

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

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

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

.hover\:bg-primary:hover{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--primary) / 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\/5:hover{
  background-color: hsl(var(--primary) / 0.05);
}

.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-red-500\/15:hover{
  background-color: rgb(239 68 68 / 0.15);
}

.hover\:bg-secondary:hover{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--secondary) / var(--tw-bg-opacity, 1));
}

.hover\:bg-sidebar-accent:hover{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--sidebar-accent) / var(--tw-bg-opacity, 1));
}

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

.hover\:text-destructive:hover{
  --tw-text-opacity: 1;
  color: hsl(var(--destructive) / var(--tw-text-opacity, 1));
}

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

.hover\:text-foreground:hover{
  --tw-text-opacity: 1;
  color: hsl(var(--foreground) / var(--tw-text-opacity, 1));
}

.hover\:text-muted-foreground:hover{
  --tw-text-opacity: 1;
  color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));
}

.hover\:text-primary:hover{
  --tw-text-opacity: 1;
  color: hsl(var(--primary) / var(--tw-text-opacity, 1));
}

.hover\:text-primary-foreground:hover{
  --tw-text-opacity: 1;
  color: hsl(var(--primary-foreground) / var(--tw-text-opacity, 1));
}

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

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

.hover\:text-sidebar-accent-foreground:hover{
  --tw-text-opacity: 1;
  color: hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity, 1));
}

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

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

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

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

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

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

.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{
  --tw-shadow: 0 0 0 1px hsl(var(--sidebar-accent));
  --tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-\[0_24px_70px_rgba\(0\2c 0\2c 0\2c 0\.2\)\]:hover{
  --tw-shadow: 0 24px 70px rgba(0,0,0,0.2);
  --tw-shadow-colored: 0 24px 70px 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-\[0_2px_8px_rgba\(0\2c 0\2c 0\2c 0\.06\)\]:hover{
  --tw-shadow: 0 2px 8px rgba(0,0,0,0.06);
  --tw-shadow-colored: 0 2px 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

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

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

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

@media (max-width: 640px) {
    .hover\:text-muted-foreground:hover {
      color: hsl(var(--muted-foreground) / 0.9);
    }
  }

.hover\:after\:bg-sidebar-border:hover::after{
  content: var(--tw-content);
  --tw-bg-opacity: 1;
  background-color: hsl(var(--sidebar-border) / var(--tw-bg-opacity, 1));
}

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

.focus\:border-primary:focus{
  --tw-border-opacity: 1;
  border-color: hsl(var(--primary) / var(--tw-border-opacity, 1));
}

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

.focus\:bg-accent:focus{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--accent) / var(--tw-bg-opacity, 1));
}

.focus\:bg-muted:focus{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--muted) / var(--tw-bg-opacity, 1));
}

.focus\:bg-primary:focus{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--primary) / var(--tw-bg-opacity, 1));
}

.focus\:text-accent-foreground:focus{
  --tw-text-opacity: 1;
  color: hsl(var(--accent-foreground) / var(--tw-text-opacity, 1));
}

.focus\:text-destructive:focus{
  --tw-text-opacity: 1;
  color: hsl(var(--destructive) / var(--tw-text-opacity, 1));
}

.focus\:text-foreground:focus{
  --tw-text-opacity: 1;
  color: hsl(var(--foreground) / var(--tw-text-opacity, 1));
}

.focus\:text-primary-foreground:focus{
  --tw-text-opacity: 1;
  color: hsl(var(--primary-foreground) / var(--tw-text-opacity, 1));
}

.focus\:shadow-none:focus{
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

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

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

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

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

.focus\:ring-\[3px\]: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(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);
}

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

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

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

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

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

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

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

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

.focus-visible\:border-primary:focus-visible{
  --tw-border-opacity: 1;
  border-color: hsl(var(--primary) / var(--tw-border-opacity, 1));
}

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

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

.focus-visible\:ring-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-\[3px\]: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(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);
}

.focus-visible\:ring-primary:focus-visible{
  --tw-ring-opacity: 1;
  --tw-ring-color: hsl(var(--primary) / var(--tw-ring-opacity, 1));
}

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

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

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

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

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

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

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

.focus-visible\:ring-offset-slate-900:focus-visible{
  --tw-ring-offset-color: #0f172a;
}

.active\:scale-95:active{
  --tw-scale-x: .95;
  --tw-scale-y: .95;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.active\:bg-sidebar-accent:active{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--sidebar-accent) / var(--tw-bg-opacity, 1));
}

.active\:text-sidebar-accent-foreground:active{
  --tw-text-opacity: 1;
  color: hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity, 1));
}

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

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

.active\:shadow-none:active{
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

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

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

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

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

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

.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{
  opacity: 1;
}

.group:hover .group-hover\:visible{
  visibility: visible;
}

.group:hover .group-hover\:translate-x-1{
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:scale-105{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:scale-\[1\.01\]{
  --tw-scale-x: 1.01;
  --tw-scale-y: 1.01;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:gap-2{
  gap: 0.5rem;
}

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

.group:hover .group-hover\:text-primary{
  --tw-text-opacity: 1;
  color: hsl(var(--primary) / var(--tw-text-opacity, 1));
}

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

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

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

.group:hover .group-hover\:opacity-60{
  opacity: 0.6;
}

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

.peer\/menu-button:hover ~ .peer-hover\/menu-button\:text-sidebar-accent-foreground{
  --tw-text-opacity: 1;
  color: hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity, 1));
}

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

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

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

.aria-disabled\:opacity-50[aria-disabled="true"]{
  opacity: 0.5;
}

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

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

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

.aria-selected\:text-muted-foreground[aria-selected="true"]{
  --tw-text-opacity: 1;
  color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));
}

.aria-selected\:opacity-100[aria-selected="true"]{
  opacity: 1;
}

@media (max-width: 640px) {
    .aria-selected\:text-muted-foreground[aria-selected="true"] {
      color: hsl(var(--muted-foreground) / 0.9);
    }
  }

.data-\[disabled\=true\]\:pointer-events-none[data-disabled="true"]{
  pointer-events: none;
}

.data-\[disabled\]\:pointer-events-none[data-disabled]{
  pointer-events: none;
}

.data-\[side\=bottom\]\:translate-y-1[data-side="bottom"]{
  --tw-translate-y: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.data-\[side\=left\]\:-translate-x-1[data-side="left"]{
  --tw-translate-x: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.data-\[side\=right\]\:translate-x-1[data-side="right"]{
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.data-\[side\=top\]\:-translate-y-1[data-side="top"]{
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.data-\[state\=checked\]\:translate-x-4[data-state="checked"]{
  --tw-translate-x: 1rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.data-\[state\=unchecked\]\:translate-x-0[data-state="unchecked"]{
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.data-\[swipe\=cancel\]\:translate-x-0[data-swipe="cancel"]{
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe="end"]{
  --tw-translate-x: var(--radix-toast-swipe-end-x);
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe="move"]{
  --tw-translate-x: var(--radix-toast-swipe-move-x);
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

@keyframes accordion-up{

  from{
    height: var(--radix-accordion-content-height);
  }

  to{
    height: 0;
  }
}

.data-\[state\=closed\]\:animate-accordion-up[data-state="closed"]{
  animation: accordion-up 0.2s ease-out;
}

@keyframes accordion-down{

  from{
    height: 0;
  }

  to{
    height: var(--radix-accordion-content-height);
  }
}

.data-\[state\=open\]\:animate-accordion-down[data-state="open"]{
  animation: accordion-down 0.2s ease-out;
}

.data-\[active\=true\]\:bg-sidebar-accent[data-active="true"]{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--sidebar-accent) / var(--tw-bg-opacity, 1));
}

.data-\[selected\=\'true\'\]\:bg-accent[data-selected='true']{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--accent) / var(--tw-bg-opacity, 1));
}

.data-\[state\=active\]\:bg-background[data-state="active"]{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--background) / var(--tw-bg-opacity, 1));
}

.data-\[state\=checked\]\:bg-primary[data-state="checked"]{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--primary) / var(--tw-bg-opacity, 1));
}

.data-\[state\=open\]\:bg-accent[data-state="open"]{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--accent) / var(--tw-bg-opacity, 1));
}

.data-\[state\=selected\]\:bg-muted[data-state="selected"]{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--muted) / var(--tw-bg-opacity, 1));
}

.data-\[state\=unchecked\]\:bg-input[data-state="unchecked"]{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--input) / var(--tw-bg-opacity, 1));
}

.data-\[active\=true\]\:font-medium[data-active="true"]{
  font-weight: 500;
}

.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active="true"]{
  --tw-text-opacity: 1;
  color: hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity, 1));
}

.data-\[placeholder\]\:text-muted-foreground\/60[data-placeholder]{
  color: hsl(var(--muted-foreground) / 0.6);
}

.data-\[selected\=true\]\:text-accent-foreground[data-selected="true"]{
  --tw-text-opacity: 1;
  color: hsl(var(--accent-foreground) / var(--tw-text-opacity, 1));
}

.data-\[state\=active\]\:text-foreground[data-state="active"]{
  --tw-text-opacity: 1;
  color: hsl(var(--foreground) / var(--tw-text-opacity, 1));
}

.data-\[state\=checked\]\:text-primary-foreground[data-state="checked"]{
  --tw-text-opacity: 1;
  color: hsl(var(--primary-foreground) / var(--tw-text-opacity, 1));
}

.data-\[state\=open\]\:text-muted-foreground[data-state="open"]{
  --tw-text-opacity: 1;
  color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));
}

.data-\[disabled\=true\]\:opacity-50[data-disabled="true"]{
  opacity: 0.5;
}

.data-\[disabled\]\:opacity-50[data-disabled]{
  opacity: 0.5;
}

.data-\[state\=open\]\:opacity-100[data-state="open"]{
  opacity: 1;
}

.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-\[swipe\=move\]\:transition-none[data-swipe="move"]{
  transition-property: none;
}

.data-\[state\=closed\]\:duration-300[data-state="closed"]{
  transition-duration: 300ms;
}

.data-\[state\=open\]\:duration-500[data-state="open"]{
  transition-duration: 500ms;
}

.data-\[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-\[swipe\=end\]\:animate-out[data-swipe="end"]{
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}

.data-\[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-\[side\=bottom\]\:slide-in-from-top-1[data-side="bottom"]{
  --tw-enter-translate-y: -0.25rem;
}

.data-\[side\=bottom\]\:slide-in-from-top-2[data-side="bottom"]{
  --tw-enter-translate-y: -0.5rem;
}

.data-\[side\=left\]\:slide-in-from-right-1[data-side="left"]{
  --tw-enter-translate-x: 0.25rem;
}

.data-\[side\=left\]\:slide-in-from-right-2[data-side="left"]{
  --tw-enter-translate-x: 0.5rem;
}

.data-\[side\=right\]\:slide-in-from-left-1[data-side="right"]{
  --tw-enter-translate-x: -0.25rem;
}

.data-\[side\=right\]\:slide-in-from-left-2[data-side="right"]{
  --tw-enter-translate-x: -0.5rem;
}

.data-\[side\=top\]\:slide-in-from-bottom-1[data-side="top"]{
  --tw-enter-translate-y: 0.25rem;
}

.data-\[side\=top\]\:slide-in-from-bottom-2[data-side="top"]{
  --tw-enter-translate-y: 0.5rem;
}

.data-\[state\=closed\]\:slide-out-to-bottom[data-state="closed"]{
  --tw-exit-translate-y: 100%;
}

.data-\[state\=closed\]\:slide-out-to-left[data-state="closed"]{
  --tw-exit-translate-x: -100%;
}

.data-\[state\=closed\]\:slide-out-to-right[data-state="closed"]{
  --tw-exit-translate-x: 100%;
}

.data-\[state\=closed\]\:slide-out-to-right-full[data-state="closed"]{
  --tw-exit-translate-x: 100%;
}

.data-\[state\=closed\]\:slide-out-to-top[data-state="closed"]{
  --tw-exit-translate-y: -100%;
}

.data-\[state\=open\]\:slide-in-from-bottom[data-state="open"]{
  --tw-enter-translate-y: 100%;
}

.data-\[state\=open\]\:slide-in-from-left[data-state="open"]{
  --tw-enter-translate-x: -100%;
}

.data-\[state\=open\]\:slide-in-from-right[data-state="open"]{
  --tw-enter-translate-x: 100%;
}

.data-\[state\=open\]\:slide-in-from-right-full[data-state="open"]{
  --tw-enter-translate-x: 100%;
}

.data-\[state\=open\]\:slide-in-from-top[data-state="open"]{
  --tw-enter-translate-y: -100%;
}

.data-\[state\=closed\]\:duration-300[data-state="closed"]{
  animation-duration: 300ms;
}

.data-\[state\=open\]\:duration-500[data-state="open"]{
  animation-duration: 500ms;
}

@media (max-width: 640px) {
    .data-\[state\=open\]\:text-muted-foreground[data-state="open"] {
      color: hsl(var(--muted-foreground) / 0.9);
    }
  }

.data-\[state\=open\]\:hover\:bg-sidebar-accent:hover[data-state="open"]{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--sidebar-accent) / var(--tw-bg-opacity, 1));
}

.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state="open"]{
  --tw-text-opacity: 1;
  color: hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity, 1));
}

.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]{
  left: calc(var(--sidebar-width) * -1);
}

.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]{
  right: calc(var(--sidebar-width) * -1);
}

.group[data-side="left"] .group-data-\[side\=left\]\:-right-4{
  right: -1rem;
}

.group[data-side="right"] .group-data-\[side\=right\]\:left-0{
  left: 0px;
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:-mt-8{
  margin-top: -2rem;
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:hidden{
  display: none;
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+var\(--spacing-4\)\)\]{
  width: calc(var(--sidebar-width-icon) + var(--spacing-4));
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+var\(--spacing-4\)\+2px\)\]{
  width: calc(var(--sidebar-width-icon) + var(--spacing-4) + 2px);
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[var\(--sidebar-width-icon\)\]{
  width: var(--sidebar-width-icon);
}

.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:w-0{
  width: 0px;
}

.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:translate-x-0{
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group[data-side="right"] .group-data-\[side\=right\]\: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));
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:overflow-hidden{
  overflow: hidden;
}

.group[data-variant="floating"] .group-data-\[variant\=floating\]\:rounded-lg{
  border-radius: .625rem;
}

.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border{
  border-width: 1px;
}

.group[data-side="left"] .group-data-\[side\=left\]\:border-e{
  border-inline-end-width: 1px;
}

.group[data-side="right"] .group-data-\[side\=right\]\:border-s{
  border-inline-start-width: 1px;
}

.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border-sidebar-border{
  --tw-border-opacity: 1;
  border-color: hsl(var(--sidebar-border) / var(--tw-border-opacity, 1));
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:opacity-0{
  opacity: 0;
}

.group[data-variant="floating"] .group-data-\[variant\=floating\]\: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);
}

.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border.toggle-elevate::before {
    inset: -1px;
  }

.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border.hover-elevate:not(.no-hover-interaction-elevate)::after,.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border.active-elevate:not(.no-active-interaction-elevate)::after,.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border.hover-elevate-2:not(.no-hover-interaction-elevate)::after,.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border.active-elevate-2:not(.no-active-interaction-elevate)::after,.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border.hover-elevate:not(.no-hover-interaction-elevate)::after {
    inset: -1px;
  }

.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:after\:left-full::after{
  content: var(--tw-content);
  left: 100%;
}

.group[data-collapsible="offcanvas"] .hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--sidebar) / var(--tw-bg-opacity, 1));
}

.peer\/menu-button[data-size="default"] ~ .peer-data-\[size\=default\]\/menu-button\:top-1\.5{
  top: 0.375rem;
}

.peer\/menu-button[data-size="lg"] ~ .peer-data-\[size\=lg\]\/menu-button\:top-2\.5{
  top: 0.625rem;
}

.peer\/menu-button[data-size="sm"] ~ .peer-data-\[size\=sm\]\/menu-button\:top-1{
  top: 0.25rem;
}

.peer\/menu-button[data-active="true"] ~ .peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground{
  --tw-text-opacity: 1;
  color: hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity, 1));
}

@supports (backdrop-filter: var(--tw)){

  .supports-\[backdrop-filter\]\:bg-background\/60{
    background-color: hsl(var(--background) / 0.6);
  }

  .supports-\[backdrop-filter\]\:bg-background\/80{
    background-color: hsl(var(--background) / 0.8);
  }
}

@media (prefers-reduced-motion: no-preference){

  @keyframes spin{

    to{
      transform: rotate(360deg);
    }
  }

  .motion-safe\:animate-\[spin_60s_linear_infinite\]{
    animation: spin 60s linear infinite;
  }
}

.dark\:border-amber-500:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}

.dark\:border-amber-500\/20:is(.dark *){
  border-color: rgb(245 158 11 / 0.2);
}

.dark\:border-amber-600:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(217 119 6 / var(--tw-border-opacity, 1));
}

.dark\:border-amber-700:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(180 83 9 / var(--tw-border-opacity, 1));
}

.dark\:border-amber-700\/40:is(.dark *){
  border-color: rgb(180 83 9 / 0.4);
}

.dark\:border-amber-800:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(146 64 14 / var(--tw-border-opacity, 1));
}

.dark\:border-amber-800\/30:is(.dark *){
  border-color: rgb(146 64 14 / 0.3);
}

.dark\:border-amber-800\/40:is(.dark *){
  border-color: rgb(146 64 14 / 0.4);
}

.dark\:border-amber-800\/50:is(.dark *){
  border-color: rgb(146 64 14 / 0.5);
}

.dark\:border-amber-900\/50:is(.dark *){
  border-color: rgb(120 53 15 / 0.5);
}

.dark\:border-amber-900\/60:is(.dark *){
  border-color: rgb(120 53 15 / 0.6);
}

.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-800\/40:is(.dark *){
  border-color: rgb(30 64 175 / 0.4);
}

.dark\:border-blue-900\/40:is(.dark *){
  border-color: rgb(30 58 138 / 0.4);
}

.dark\:border-blue-900\/50:is(.dark *){
  border-color: rgb(30 58 138 / 0.5);
}

.dark\:border-border:is(.dark *){
  --tw-border-opacity: 1;
  border-color: hsl(var(--border) / var(--tw-border-opacity, 1));
}

.dark\:border-destructive:is(.dark *){
  --tw-border-opacity: 1;
  border-color: hsl(var(--destructive) / var(--tw-border-opacity, 1));
}

.dark\:border-destructive\/40:is(.dark *){
  border-color: hsl(var(--destructive) / 0.4);
}

.dark\:border-destructive\/50:is(.dark *){
  border-color: hsl(var(--destructive) / 0.5);
}

.dark\:border-emerald-700:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(4 120 87 / var(--tw-border-opacity, 1));
}

.dark\:border-emerald-700\/40:is(.dark *){
  border-color: rgb(4 120 87 / 0.4);
}

.dark\:border-emerald-800:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(6 95 70 / var(--tw-border-opacity, 1));
}

.dark\:border-emerald-800\/30:is(.dark *){
  border-color: rgb(6 95 70 / 0.3);
}

.dark\:border-emerald-800\/40:is(.dark *){
  border-color: rgb(6 95 70 / 0.4);
}

.dark\:border-emerald-800\/50:is(.dark *){
  border-color: rgb(6 95 70 / 0.5);
}

.dark\:border-emerald-900\/50:is(.dark *){
  border-color: rgb(6 78 59 / 0.5);
}

.dark\:border-emerald-900\/60:is(.dark *){
  border-color: rgb(6 78 59 / 0.6);
}

.dark\:border-green-500:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / 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\/40:is(.dark *){
  border-color: rgb(20 83 45 / 0.4);
}

.dark\:border-orange-900\/40:is(.dark *){
  border-color: rgb(124 45 18 / 0.4);
}

.dark\:border-primary\/15:is(.dark *){
  border-color: hsl(var(--primary) / 0.15);
}

.dark\:border-primary\/20:is(.dark *){
  border-color: hsl(var(--primary) / 0.2);
}

.dark\:border-primary\/30:is(.dark *){
  border-color: hsl(var(--primary) / 0.3);
}

.dark\:border-red-700:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(185 28 28 / var(--tw-border-opacity, 1));
}

.dark\:border-red-800:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(153 27 27 / var(--tw-border-opacity, 1));
}

.dark\:border-red-800\/40:is(.dark *){
  border-color: rgb(153 27 27 / 0.4);
}

.dark\:border-red-800\/50:is(.dark *){
  border-color: rgb(153 27 27 / 0.5);
}

.dark\:border-red-900\/40:is(.dark *){
  border-color: rgb(127 29 29 / 0.4);
}

.dark\:border-red-900\/50:is(.dark *){
  border-color: rgb(127 29 29 / 0.5);
}

.dark\:border-rose-600:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(225 29 72 / var(--tw-border-opacity, 1));
}

.dark\:border-rose-800\/40:is(.dark *){
  border-color: rgb(159 18 57 / 0.4);
}

.dark\:border-slate-700\/40:is(.dark *){
  border-color: rgb(51 65 85 / 0.4);
}

.dark\:border-slate-800:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(30 41 59 / var(--tw-border-opacity, 1));
}

.dark\:border-white\/\[0\.08\]:is(.dark *){
  border-color: rgb(255 255 255 / 0.08);
}

.dark\:border-yellow-900\/40:is(.dark *){
  border-color: rgb(113 63 18 / 0.4);
}

.dark\:bg-\[\#1D1D1F\]\/80:is(.dark *){
  background-color: rgb(29 29 31 / 0.8);
}

.dark\:bg-\[\#3A3A3C\]:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(58 58 60 / var(--tw-bg-opacity, 1));
}

.dark\:bg-amber-400:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
}

.dark\:bg-amber-500\/10:is(.dark *){
  background-color: rgb(245 158 11 / 0.1);
}

.dark\:bg-amber-500\/15:is(.dark *){
  background-color: rgb(245 158 11 / 0.15);
}

.dark\:bg-amber-500\/20:is(.dark *){
  background-color: rgb(245 158 11 / 0.2);
}

.dark\:bg-amber-500\/5:is(.dark *){
  background-color: rgb(245 158 11 / 0.05);
}

.dark\:bg-amber-900\/10:is(.dark *){
  background-color: rgb(120 53 15 / 0.1);
}

.dark\:bg-amber-900\/20:is(.dark *){
  background-color: rgb(120 53 15 / 0.2);
}

.dark\:bg-amber-900\/30:is(.dark *){
  background-color: rgb(120 53 15 / 0.3);
}

.dark\:bg-amber-900\/40:is(.dark *){
  background-color: rgb(120 53 15 / 0.4);
}

.dark\:bg-amber-950\/10:is(.dark *){
  background-color: rgb(69 26 3 / 0.1);
}

.dark\:bg-amber-950\/20:is(.dark *){
  background-color: rgb(69 26 3 / 0.2);
}

.dark\:bg-amber-950\/30:is(.dark *){
  background-color: rgb(69 26 3 / 0.3);
}

.dark\:bg-amber-950\/50:is(.dark *){
  background-color: rgb(69 26 3 / 0.5);
}

.dark\:bg-background:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: hsl(var(--background) / var(--tw-bg-opacity, 1));
}

.dark\:bg-background\/95:is(.dark *){
  background-color: hsl(var(--background) / 0.95);
}

.dark\:bg-black\/20:is(.dark *){
  background-color: rgb(0 0 0 / 0.2);
}

.dark\:bg-blue-500\/20:is(.dark *){
  background-color: rgb(59 130 246 / 0.2);
}

.dark\:bg-blue-900\/10:is(.dark *){
  background-color: rgb(30 58 138 / 0.1);
}

.dark\:bg-blue-900\/20:is(.dark *){
  background-color: rgb(30 58 138 / 0.2);
}

.dark\:bg-blue-900\/30:is(.dark *){
  background-color: rgb(30 58 138 / 0.3);
}

.dark\:bg-blue-900\/40:is(.dark *){
  background-color: rgb(30 58 138 / 0.4);
}

.dark\:bg-blue-950\/30:is(.dark *){
  background-color: rgb(23 37 84 / 0.3);
}

.dark\:bg-blue-950\/50:is(.dark *){
  background-color: rgb(23 37 84 / 0.5);
}

.dark\:bg-card:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: hsl(var(--card) / var(--tw-bg-opacity, 1));
}

.dark\:bg-cyan-500\/20:is(.dark *){
  background-color: rgb(6 182 212 / 0.2);
}

.dark\:bg-destructive\/10:is(.dark *){
  background-color: hsl(var(--destructive) / 0.1);
}

.dark\:bg-destructive\/15:is(.dark *){
  background-color: hsl(var(--destructive) / 0.15);
}

.dark\:bg-emerald-400:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(52 211 153 / var(--tw-bg-opacity, 1));
}

.dark\:bg-emerald-500\/15:is(.dark *){
  background-color: rgb(16 185 129 / 0.15);
}

.dark\:bg-emerald-600:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(5 150 105 / var(--tw-bg-opacity, 1));
}

.dark\:bg-emerald-900\/20:is(.dark *){
  background-color: rgb(6 78 59 / 0.2);
}

.dark\:bg-emerald-900\/30:is(.dark *){
  background-color: rgb(6 78 59 / 0.3);
}

.dark\:bg-emerald-900\/40:is(.dark *){
  background-color: rgb(6 78 59 / 0.4);
}

.dark\:bg-emerald-950\/10:is(.dark *){
  background-color: rgb(2 44 34 / 0.1);
}

.dark\:bg-emerald-950\/20:is(.dark *){
  background-color: rgb(2 44 34 / 0.2);
}

.dark\:bg-emerald-950\/30:is(.dark *){
  background-color: rgb(2 44 34 / 0.3);
}

.dark\:bg-emerald-950\/50:is(.dark *){
  background-color: rgb(2 44 34 / 0.5);
}

.dark\:bg-foreground\/\[0\.05\]:is(.dark *){
  background-color: hsl(var(--foreground) / 0.05);
}

.dark\:bg-foreground\/\[0\.06\]:is(.dark *){
  background-color: hsl(var(--foreground) / 0.06);
}

.dark\:bg-green-500\/10:is(.dark *){
  background-color: rgb(34 197 94 / 0.1);
}

.dark\:bg-green-500\/15:is(.dark *){
  background-color: rgb(34 197 94 / 0.15);
}

.dark\:bg-green-500\/20:is(.dark *){
  background-color: rgb(34 197 94 / 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\/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-900\/40:is(.dark *){
  background-color: rgb(20 83 45 / 0.4);
}

.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-green-950\/30:is(.dark *){
  background-color: rgb(5 46 22 / 0.3);
}

.dark\:bg-indigo-500\/20:is(.dark *){
  background-color: rgb(99 102 241 / 0.2);
}

.dark\:bg-muted:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: hsl(var(--muted) / var(--tw-bg-opacity, 1));
}

.dark\:bg-muted\/10:is(.dark *){
  background-color: hsl(var(--muted) / 0.1);
}

.dark\:bg-muted\/15:is(.dark *){
  background-color: hsl(var(--muted) / 0.15);
}

.dark\:bg-muted\/20:is(.dark *){
  background-color: hsl(var(--muted) / 0.2);
}

.dark\:bg-muted\/30:is(.dark *){
  background-color: hsl(var(--muted) / 0.3);
}

.dark\:bg-muted\/5:is(.dark *){
  background-color: hsl(var(--muted) / 0.05);
}

.dark\:bg-muted\/50:is(.dark *){
  background-color: hsl(var(--muted) / 0.5);
}

.dark\:bg-muted\/80:is(.dark *){
  background-color: hsl(var(--muted) / 0.8);
}

.dark\:bg-orange-500\/20:is(.dark *){
  background-color: rgb(249 115 22 / 0.2);
}

.dark\:bg-orange-900\/10:is(.dark *){
  background-color: rgb(124 45 18 / 0.1);
}

.dark\:bg-orange-900\/20:is(.dark *){
  background-color: rgb(124 45 18 / 0.2);
}

.dark\:bg-orange-900\/30:is(.dark *){
  background-color: rgb(124 45 18 / 0.3);
}

.dark\:bg-pink-500\/15:is(.dark *){
  background-color: rgb(236 72 153 / 0.15);
}

.dark\:bg-pink-500\/20:is(.dark *){
  background-color: rgb(236 72 153 / 0.2);
}

.dark\:bg-pink-900:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(131 24 67 / var(--tw-bg-opacity, 1));
}

.dark\:bg-primary:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: hsl(var(--primary) / var(--tw-bg-opacity, 1));
}

.dark\:bg-primary\/10:is(.dark *){
  background-color: hsl(var(--primary) / 0.1);
}

.dark\:bg-primary\/15:is(.dark *){
  background-color: hsl(var(--primary) / 0.15);
}

.dark\:bg-primary\/20:is(.dark *){
  background-color: hsl(var(--primary) / 0.2);
}

.dark\:bg-primary\/5:is(.dark *){
  background-color: hsl(var(--primary) / 0.05);
}

.dark\:bg-primary\/\[0\.04\]:is(.dark *){
  background-color: hsl(var(--primary) / 0.04);
}

.dark\:bg-primary\/\[0\.06\]:is(.dark *){
  background-color: hsl(var(--primary) / 0.06);
}

.dark\:bg-purple-500\/15:is(.dark *){
  background-color: rgb(168 85 247 / 0.15);
}

.dark\:bg-purple-500\/20:is(.dark *){
  background-color: rgb(168 85 247 / 0.2);
}

.dark\:bg-purple-900\/40:is(.dark *){
  background-color: rgb(88 28 135 / 0.4);
}

.dark\:bg-red-400:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));
}

.dark\:bg-red-500\/20:is(.dark *){
  background-color: rgb(239 68 68 / 0.2);
}

.dark\:bg-red-900\/10:is(.dark *){
  background-color: rgb(127 29 29 / 0.1);
}

.dark\:bg-red-900\/20:is(.dark *){
  background-color: rgb(127 29 29 / 0.2);
}

.dark\:bg-red-900\/30:is(.dark *){
  background-color: rgb(127 29 29 / 0.3);
}

.dark\:bg-red-900\/40:is(.dark *){
  background-color: rgb(127 29 29 / 0.4);
}

.dark\:bg-red-900\/50:is(.dark *){
  background-color: rgb(127 29 29 / 0.5);
}

.dark\:bg-red-950\/30:is(.dark *){
  background-color: rgb(69 10 10 / 0.3);
}

.dark\:bg-rose-400:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(251 113 133 / var(--tw-bg-opacity, 1));
}

.dark\:bg-rose-900\/30:is(.dark *){
  background-color: rgb(136 19 55 / 0.3);
}

.dark\:bg-rose-900\/40:is(.dark *){
  background-color: rgb(136 19 55 / 0.4);
}

.dark\:bg-rose-950\/10:is(.dark *){
  background-color: rgb(76 5 25 / 0.1);
}

.dark\:bg-rose-950\/20:is(.dark *){
  background-color: rgb(76 5 25 / 0.2);
}

.dark\:bg-secondary:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: hsl(var(--secondary) / var(--tw-bg-opacity, 1));
}

.dark\:bg-slate-500\/20:is(.dark *){
  background-color: rgb(100 116 139 / 0.2);
}

.dark\:bg-slate-800\/20:is(.dark *){
  background-color: rgb(30 41 59 / 0.2);
}

.dark\:bg-slate-800\/40:is(.dark *){
  background-color: rgb(30 41 59 / 0.4);
}

.dark\:bg-teal-500\/20:is(.dark *){
  background-color: rgb(20 184 166 / 0.2);
}

.dark\:bg-transparent:is(.dark *){
  background-color: transparent;
}

.dark\:bg-violet-900\/40:is(.dark *){
  background-color: rgb(76 29 149 / 0.4);
}

.dark\:bg-white:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.dark\:bg-white\/5:is(.dark *){
  background-color: rgb(255 255 255 / 0.05);
}

.dark\:bg-yellow-500\/20:is(.dark *){
  background-color: rgb(234 179 8 / 0.2);
}

.dark\:bg-yellow-900\/10:is(.dark *){
  background-color: rgb(113 63 18 / 0.1);
}

.dark\:bg-yellow-900\/30:is(.dark *){
  background-color: rgb(113 63 18 / 0.3);
}

.dark\:from-blue-900\/40:is(.dark *){
  --tw-gradient-from: rgb(30 58 138 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(30 58 138 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-blue-950\/20:is(.dark *){
  --tw-gradient-from: rgb(23 37 84 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(23 37 84 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-muted\/20:is(.dark *){
  --tw-gradient-from: hsl(var(--muted) / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--muted) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-primary\/10:is(.dark *){
  --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);
}

.dark\:from-primary\/15:is(.dark *){
  --tw-gradient-from: hsl(var(--primary) / 0.15) 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);
}

.dark\:from-primary\/\[0\.06\]:is(.dark *){
  --tw-gradient-from: hsl(var(--primary) / 0.06) 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);
}

.dark\:from-slate-900\/20:is(.dark *){
  --tw-gradient-from: rgb(15 23 42 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(15 23 42 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-violet-950\/20:is(.dark *){
  --tw-gradient-from: rgb(46 16 101 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(46 16 101 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:via-background:is(.dark *){
  --tw-gradient-to: hsl(var(--background) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--background) / 1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.dark\:via-primary\/5:is(.dark *){
  --tw-gradient-to: hsl(var(--primary) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary) / 0.05) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.dark\:to-background:is(.dark *){
  --tw-gradient-to: hsl(var(--background) / 1) var(--tw-gradient-to-position);
}

.dark\:to-blue-800\/30:is(.dark *){
  --tw-gradient-to: rgb(30 64 175 / 0.3) var(--tw-gradient-to-position);
}

.dark\:to-primary\/15:is(.dark *){
  --tw-gradient-to: hsl(var(--primary) / 0.15) var(--tw-gradient-to-position);
}

.dark\:to-transparent:is(.dark *){
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}

.dark\:fill-slate-800:is(.dark *){
  fill: #1e293b;
}

.dark\:text-\[\#34C759\]:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(52 199 89 / 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-amber-500:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / 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-cyan-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(34 211 238 / var(--tw-text-opacity, 1));
}

.dark\:text-destructive:is(.dark *){
  --tw-text-opacity: 1;
  color: hsl(var(--destructive) / var(--tw-text-opacity, 1));
}

.dark\:text-emerald-300:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity, 1));
}

.dark\:text-emerald-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}

.dark\:text-emerald-600:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}

.dark\:text-foreground:is(.dark *){
  --tw-text-opacity: 1;
  color: hsl(var(--foreground) / var(--tw-text-opacity, 1));
}

.dark\:text-foreground\/60:is(.dark *){
  color: hsl(var(--foreground) / 0.6);
}

.dark\:text-foreground\/80:is(.dark *){
  color: hsl(var(--foreground) / 0.8);
}

.dark\:text-fuchsia-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(232 121 249 / 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-green-300:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}

.dark\:text-green-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.dark\:text-green-500:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}

.dark\:text-indigo-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(129 140 248 / var(--tw-text-opacity, 1));
}

.dark\:text-lime-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(163 230 53 / var(--tw-text-opacity, 1));
}

.dark\:text-muted-foreground:is(.dark *){
  --tw-text-opacity: 1;
  color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));
}

.dark\:text-orange-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity, 1));
}

.dark\:text-pink-200:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(251 207 232 / var(--tw-text-opacity, 1));
}

.dark\:text-pink-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(244 114 182 / var(--tw-text-opacity, 1));
}

.dark\:text-primary:is(.dark *){
  --tw-text-opacity: 1;
  color: hsl(var(--primary) / var(--tw-text-opacity, 1));
}

.dark\:text-primary-foreground:is(.dark *){
  --tw-text-opacity: 1;
  color: hsl(var(--primary-foreground) / var(--tw-text-opacity, 1));
}

.dark\:text-primary\/60:is(.dark *){
  color: hsl(var(--primary) / 0.6);
}

.dark\:text-primary\/80:is(.dark *){
  color: hsl(var(--primary) / 0.8);
}

.dark\:text-purple-300:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(216 180 254 / var(--tw-text-opacity, 1));
}

.dark\:text-purple-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / var(--tw-text-opacity, 1));
}

.dark\:text-red-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-rose-300:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(253 164 175 / var(--tw-text-opacity, 1));
}

.dark\:text-rose-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(251 113 133 / var(--tw-text-opacity, 1));
}

.dark\:text-sky-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(56 189 248 / var(--tw-text-opacity, 1));
}

.dark\:text-slate-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}

.dark\:text-teal-300:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(94 234 212 / var(--tw-text-opacity, 1));
}

.dark\:text-teal-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(45 212 191 / var(--tw-text-opacity, 1));
}

.dark\:text-violet-300:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(196 181 253 / var(--tw-text-opacity, 1));
}

.dark\:text-violet-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(167 139 250 / 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\:opacity-100:is(.dark *){
  opacity: 1;
}

.dark\:mix-blend-screen:is(.dark *){
  mix-blend-mode: screen;
}

.dark\:shadow-\[0_-4px_20px_-4px_rgba\(0\2c 0\2c 0\2c 0\.3\)\]:is(.dark *){
  --tw-shadow: 0 -4px 20px -4px rgba(0,0,0,0.3);
  --tw-shadow-colored: 0 -4px 20px -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);
}

.dark\:shadow-\[0_20px_60px_rgba\(0\2c 0\2c 0\2c 0\.4\)\]:is(.dark *){
  --tw-shadow: 0 20px 60px rgba(0,0,0,0.4);
  --tw-shadow-colored: 0 20px 60px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.dark\:shadow-\[0_24px_48px_rgba\(0\2c 0\2c 0\2c 0\.4\)\2c 0_0_0_1px_rgba\(255\2c 255\2c 255\2c 0\.05\)\]:is(.dark *){
  --tw-shadow: 0 24px 48px rgba(0,0,0,0.4),0 0 0 1px rgba(255,255,255,0.05);
  --tw-shadow-colored: 0 24px 48px var(--tw-shadow-color), 0 0 0 1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.dark\:shadow-\[0_2px_12px_rgba\(0\2c 0\2c 0\2c 0\.3\)\2c 0_0_0_1px_rgba\(255\2c 255\2c 255\2c 0\.06\)\]:is(.dark *){
  --tw-shadow: 0 2px 12px rgba(0,0,0,0.3),0 0 0 1px rgba(255,255,255,0.06);
  --tw-shadow-colored: 0 2px 12px var(--tw-shadow-color), 0 0 0 1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.dark\:shadow-\[0_4px_12px_rgba\(0\2c 0\2c 0\2c 0\.3\)\]:is(.dark *){
  --tw-shadow: 0 4px 12px rgba(0,0,0,0.3);
  --tw-shadow-colored: 0 4px 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);
}

.dark\:shadow-\[0_8px_24px_rgba\(0\2c 0\2c 0\2c 0\.3\)\]:is(.dark *){
  --tw-shadow: 0 8px 24px rgba(0,0,0,0.3);
  --tw-shadow-colored: 0 8px 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.dark\:shadow-black\/60:is(.dark *){
  --tw-shadow-color: rgb(0 0 0 / 0.6);
  --tw-shadow: var(--tw-shadow-colored);
}

.dark\:shadow-primary\/10:is(.dark *){
  --tw-shadow-color: hsl(var(--primary) / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}

.dark\:ring-amber-800\/30:is(.dark *){
  --tw-ring-color: rgb(146 64 14 / 0.3);
}

.dark\:ring-emerald-800\/40:is(.dark *){
  --tw-ring-color: rgb(6 95 70 / 0.4);
}

.dark\:ring-primary\/20:is(.dark *){
  --tw-ring-color: hsl(var(--primary) / 0.2);
}

.dark\:ring-slate-800:is(.dark *){
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(30 41 59 / var(--tw-ring-opacity, 1));
}

.dark\:invert:is(.dark *){
  --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);
}

@media (max-width: 640px) {
    .dark\:text-muted-foreground:is(.dark *) {
      color: hsl(var(--muted-foreground) / 0.9);
    }
  }

.dark\:after\:border-white\/10:is(.dark *)::after{
  content: var(--tw-content);
  border-color: rgb(255 255 255 / 0.1);
}

.dark\:hover\:bg-amber-950\/20:hover:is(.dark *){
  background-color: rgb(69 26 3 / 0.2);
}

.dark\:hover\:bg-emerald-950\/20:hover:is(.dark *){
  background-color: rgb(2 44 34 / 0.2);
}

.dark\:hover\:bg-muted:hover:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: hsl(var(--muted) / var(--tw-bg-opacity, 1));
}

.dark\:hover\:bg-muted\/50:hover:is(.dark *){
  background-color: hsl(var(--muted) / 0.5);
}

.dark\:hover\:bg-primary\/30:hover:is(.dark *){
  background-color: hsl(var(--primary) / 0.3);
}

.dark\:focus\:bg-secondary:focus:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: hsl(var(--secondary) / var(--tw-bg-opacity, 1));
}

@media (min-width: 375px){

  .xs\:block{
    display: block;
  }

  .xs\:inline{
    display: inline;
  }

  .xs\:hidden{
    display: none;
  }

  .xs\:gap-1\.5{
    gap: 0.375rem;
  }

  .xs\:gap-2{
    gap: 0.5rem;
  }

  .xs\:px-2{
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}

@media (min-width: 640px){

  .sm\:relative{
    position: relative;
  }

  .sm\:inset-auto{
    inset: auto;
  }

  .sm\:order-first{
    order: -9999;
  }

  .sm\:order-last{
    order: 9999;
  }

  .sm\:col-span-2{
    grid-column: span 2 / span 2;
  }

  .sm\:mx-0{
    margin-left: 0px;
    margin-right: 0px;
  }

  .sm\:-ms-5{
    margin-inline-start: -1.25rem;
  }

  .sm\:mb-10{
    margin-bottom: 2.5rem;
  }

  .sm\:mb-12{
    margin-bottom: 3rem;
  }

  .sm\:mb-14{
    margin-bottom: 3.5rem;
  }

  .sm\:mb-2{
    margin-bottom: 0.5rem;
  }

  .sm\:mb-3{
    margin-bottom: 0.75rem;
  }

  .sm\:mb-4{
    margin-bottom: 1rem;
  }

  .sm\:mb-5{
    margin-bottom: 1.25rem;
  }

  .sm\:mb-6{
    margin-bottom: 1.5rem;
  }

  .sm\:mb-8{
    margin-bottom: 2rem;
  }

  .sm\:ms-\[52px\]{
    margin-inline-start: 52px;
  }

  .sm\:mt-0{
    margin-top: 0px;
  }

  .sm\:mt-10{
    margin-top: 2.5rem;
  }

  .sm\:mt-12{
    margin-top: 3rem;
  }

  .sm\:mt-4{
    margin-top: 1rem;
  }

  .sm\:mt-6{
    margin-top: 1.5rem;
  }

  .sm\:mt-8{
    margin-top: 2rem;
  }

  .sm\:block{
    display: block;
  }

  .sm\:inline{
    display: inline;
  }

  .sm\:flex{
    display: flex;
  }

  .sm\:inline-flex{
    display: inline-flex;
  }

  .sm\:grid{
    display: grid;
  }

  .sm\:hidden{
    display: none;
  }

  .sm\:h-10{
    height: 2.5rem;
  }

  .sm\:h-12{
    height: 3rem;
  }

  .sm\:h-14{
    height: 3.5rem;
  }

  .sm\:h-24{
    height: 6rem;
  }

  .sm\:h-4{
    height: 1rem;
  }

  .sm\:h-48{
    height: 12rem;
  }

  .sm\:h-5{
    height: 1.25rem;
  }

  .sm\:h-7{
    height: 1.75rem;
  }

  .sm\:h-8{
    height: 2rem;
  }

  .sm\:h-\[300px\]{
    height: 300px;
  }

  .sm\:h-auto{
    height: auto;
  }

  .sm\:max-h-\[90vh\]{
    max-height: 90vh;
  }

  .sm\:min-h-\[60vh\]{
    min-height: 60vh;
  }

  .sm\:w-10{
    width: 2.5rem;
  }

  .sm\:w-12{
    width: 3rem;
  }

  .sm\:w-14{
    width: 3.5rem;
  }

  .sm\:w-24{
    width: 6rem;
  }

  .sm\:w-32{
    width: 8rem;
  }

  .sm\:w-4{
    width: 1rem;
  }

  .sm\:w-48{
    width: 12rem;
  }

  .sm\:w-5{
    width: 1.25rem;
  }

  .sm\:w-7{
    width: 1.75rem;
  }

  .sm\:w-8{
    width: 2rem;
  }

  .sm\:w-\[300px\]{
    width: 300px;
  }

  .sm\:w-\[320px\]{
    width: 320px;
  }

  .sm\:w-\[380px\]{
    width: 380px;
  }

  .sm\:w-\[48\%\]{
    width: 48%;
  }

  .sm\:w-auto{
    width: auto;
  }

  .sm\:w-full{
    width: 100%;
  }

  .sm\:max-w-\[420px\]{
    max-width: 420px;
  }

  .sm\:max-w-\[425px\]{
    max-width: 425px;
  }

  .sm\:max-w-\[440px\]{
    max-width: 440px;
  }

  .sm\:max-w-\[480px\]{
    max-width: 480px;
  }

  .sm\:max-w-\[520px\]{
    max-width: 520px;
  }

  .sm\:max-w-\[560px\]{
    max-width: 560px;
  }

  .sm\:max-w-\[60\%\]{
    max-width: 60%;
  }

  .sm\:max-w-\[80\%\]{
    max-width: 80%;
  }

  .sm\:max-w-\[85\%\]{
    max-width: 85%;
  }

  .sm\:max-w-lg{
    max-width: 32rem;
  }

  .sm\:max-w-md{
    max-width: 28rem;
  }

  .sm\:max-w-sm{
    max-width: 24rem;
  }

  .sm\:max-w-xs{
    max-width: 20rem;
  }

  .sm\:flex-none{
    flex: none;
  }

  .sm\: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));
  }

  .sm\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sm\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .sm\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .sm\:grid-cols-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .sm\:grid-cols-7{
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }

  .sm\:flex-row{
    flex-direction: row;
  }

  .sm\:flex-wrap{
    flex-wrap: wrap;
  }

  .sm\:flex-nowrap{
    flex-wrap: nowrap;
  }

  .sm\:items-start{
    align-items: flex-start;
  }

  .sm\:items-center{
    align-items: center;
  }

  .sm\:justify-start{
    justify-content: flex-start;
  }

  .sm\:justify-end{
    justify-content: flex-end;
  }

  .sm\:justify-between{
    justify-content: space-between;
  }

  .sm\:gap-10{
    gap: 2.5rem;
  }

  .sm\:gap-12{
    gap: 3rem;
  }

  .sm\:gap-2{
    gap: 0.5rem;
  }

  .sm\:gap-2\.5{
    gap: 0.625rem;
  }

  .sm\:gap-3{
    gap: 0.75rem;
  }

  .sm\:gap-4{
    gap: 1rem;
  }

  .sm\:gap-5{
    gap: 1.25rem;
  }

  .sm\:gap-6{
    gap: 1.5rem;
  }

  .sm\:gap-8{
    gap: 2rem;
  }

  .sm\:gap-x-10{
    -moz-column-gap: 2.5rem;
         column-gap: 2.5rem;
  }

  .sm\:gap-x-4{
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }

  .sm\:gap-x-6{
    -moz-column-gap: 1.5rem;
         column-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-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));
  }

  .sm\:space-y-6 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
  }

  .sm\:space-y-8 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2rem * var(--tw-space-y-reverse));
  }

  .sm\:rounded-lg{
    border-radius: .625rem;
  }

  .sm\:rounded-md{
    border-radius: .5rem;
  }

  .sm\:rounded-xl{
    border-radius: .75rem;
  }

  .sm\:border-0{
    border-width: 0px;
  }

  .sm\:p-0{
    padding: 0px;
  }

  .sm\:p-10{
    padding: 2.5rem;
  }

  .sm\:p-12{
    padding: 3rem;
  }

  .sm\:p-4{
    padding: 1rem;
  }

  .sm\:p-5{
    padding: 1.25rem;
  }

  .sm\:p-6{
    padding: 1.5rem;
  }

  .sm\:p-8{
    padding: 2rem;
  }

  .sm\:px-0{
    padding-left: 0px;
    padding-right: 0px;
  }

  .sm\:px-10{
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  .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-1{
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }

  .sm\:py-10{
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .sm\:py-12{
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .sm\:py-14{
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  .sm\:py-16{
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .sm\:py-2{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  .sm\:py-20{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .sm\:py-24{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .sm\:py-3{
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }

  .sm\:py-6{
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  .sm\:py-8{
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .sm\:pb-10{
    padding-bottom: 2.5rem;
  }

  .sm\:pb-12{
    padding-bottom: 3rem;
  }

  .sm\:pb-16{
    padding-bottom: 4rem;
  }

  .sm\:pb-20{
    padding-bottom: 5rem;
  }

  .sm\:pb-32{
    padding-bottom: 8rem;
  }

  .sm\:pb-4{
    padding-bottom: 1rem;
  }

  .sm\:pb-6{
    padding-bottom: 1.5rem;
  }

  .sm\:pb-8{
    padding-bottom: 2rem;
  }

  .sm\:pl-4{
    padding-left: 1rem;
  }

  .sm\:ps-5{
    padding-inline-start: 1.25rem;
  }

  .sm\:ps-\[44px\]{
    padding-inline-start: 44px;
  }

  .sm\:pt-10{
    padding-top: 2.5rem;
  }

  .sm\:pt-12{
    padding-top: 3rem;
  }

  .sm\:pt-16{
    padding-top: 4rem;
  }

  .sm\:pt-24{
    padding-top: 6rem;
  }

  .sm\:pt-6{
    padding-top: 1.5rem;
  }

  .sm\:pt-8{
    padding-top: 2rem;
  }

  .sm\:pt-9{
    padding-top: 2.25rem;
  }

  .sm\:text-start{
    text-align: start;
  }

  .sm\:text-1xs{
    font-size: 11px;
    line-height: 1.4;
  }

  .sm\:text-2xl{
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .sm\:text-2xs{
    font-size: 10px;
    line-height: 1.4;
  }

  .sm\:text-3xl{
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .sm\:text-4xl{
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .sm\:text-5xl{
    font-size: 3rem;
    line-height: 1;
  }

  .sm\:text-6xl{
    font-size: 3.75rem;
    line-height: 1;
  }

  .sm\:text-\[12px\]{
    font-size: 12px;
  }

  .sm\:text-\[15px\]{
    font-size: 15px;
  }

  .sm\:text-\[28px\]{
    font-size: 28px;
  }

  .sm\:text-base{
    font-size: 1rem;
    line-height: 1.5rem;
  }

  .sm\:text-lg{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  .sm\:text-lg-sm{
    font-size: 17px;
    line-height: 1.6;
  }

  .sm\:text-sm{
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .sm\:text-xl{
    font-size: 1.25rem;
    line-height: 1.75rem;
  }

  .sm\:text-xs{
    font-size: 0.75rem;
    line-height: 1rem;
  }
}

@media (min-width: 768px){

  .md\:top-\[12px\]{
    top: 12px;
  }

  .md\:col-span-1{
    grid-column: span 1 / span 1;
  }

  .md\:col-span-2{
    grid-column: span 2 / span 2;
  }

  .md\:mx-0{
    margin-left: 0px;
    margin-right: 0px;
  }

  .md\:mb-12{
    margin-bottom: 3rem;
  }

  .md\:mb-16{
    margin-bottom: 4rem;
  }

  .md\:mb-20{
    margin-bottom: 5rem;
  }

  .md\:mb-4{
    margin-bottom: 1rem;
  }

  .md\:me-1{
    margin-inline-end: 0.25rem;
  }

  .md\:ms-1{
    margin-inline-start: 0.25rem;
  }

  .md\:mt-16{
    margin-top: 4rem;
  }

  .md\:block{
    display: block;
  }

  .md\:flex{
    display: flex;
  }

  .md\:hidden{
    display: none;
  }

  .md\:h-1\.5{
    height: 0.375rem;
  }

  .md\:h-10{
    height: 2.5rem;
  }

  .md\:h-3{
    height: 0.75rem;
  }

  .md\:h-3\.5{
    height: 0.875rem;
  }

  .md\:h-32{
    height: 8rem;
  }

  .md\:h-4{
    height: 1rem;
  }

  .md\:h-5{
    height: 1.25rem;
  }

  .md\:h-52{
    height: 13rem;
  }

  .md\:h-6{
    height: 1.5rem;
  }

  .md\:h-8{
    height: 2rem;
  }

  .md\:h-9{
    height: 2.25rem;
  }

  .md\:h-\[16px\]{
    height: 16px;
  }

  .md\:h-\[18px\]{
    height: 18px;
  }

  .md\:h-\[34px\]{
    height: 34px;
  }

  .md\:h-\[400px\]{
    height: 400px;
  }

  .md\:max-h-\[64px\]{
    max-height: 64px;
  }

  .md\:w-1\/2{
    width: 50%;
  }

  .md\:w-20{
    width: 5rem;
  }

  .md\:w-3{
    width: 0.75rem;
  }

  .md\:w-3\.5{
    width: 0.875rem;
  }

  .md\:w-4{
    width: 1rem;
  }

  .md\:w-40{
    width: 10rem;
  }

  .md\:w-5{
    width: 1.25rem;
  }

  .md\:w-56{
    width: 14rem;
  }

  .md\:w-6{
    width: 1.5rem;
  }

  .md\:w-8{
    width: 2rem;
  }

  .md\:w-9{
    width: 2.25rem;
  }

  .md\:w-\[18px\]{
    width: 18px;
  }

  .md\:w-\[200px\]{
    width: 200px;
  }

  .md\:w-\[260px\]{
    width: 260px;
  }

  .md\:w-\[88px\]{
    width: 88px;
  }

  .md\:max-w-\[360px\]{
    max-width: 360px;
  }

  .md\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .md\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .md\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .md\:grid-cols-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .md\:grid-cols-6{
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .md\:grid-cols-8{
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .md\:grid-cols-\[1fr_1fr_2fr\]{
    grid-template-columns: 1fr 1fr 2fr;
  }

  .md\:flex-row{
    flex-direction: row;
  }

  .md\:items-start{
    align-items: flex-start;
  }

  .md\:justify-start{
    justify-content: flex-start;
  }

  .md\:gap-12{
    gap: 3rem;
  }

  .md\:gap-14{
    gap: 3.5rem;
  }

  .md\:gap-2{
    gap: 0.5rem;
  }

  .md\:gap-3{
    gap: 0.75rem;
  }

  .md\:gap-4{
    gap: 1rem;
  }

  .md\:gap-5{
    gap: 1.25rem;
  }

  .md\:gap-6{
    gap: 1.5rem;
  }

  .md\:gap-8{
    gap: 2rem;
  }

  .md\: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));
  }

  .md\:space-y-12 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(3rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(3rem * var(--tw-space-y-reverse));
  }

  .md\:space-y-16 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(4rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(4rem * var(--tw-space-y-reverse));
  }

  .md\:space-y-2 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
  }

  .md\:divide-x > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 0;
    border-right-width: calc(1px * var(--tw-divide-x-reverse));
    border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
  }

  .md\:divide-y-0 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-y-reverse: 0;
    border-top-width: calc(0px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(0px * var(--tw-divide-y-reverse));
  }

  .md\:rounded-\[1\.5rem\]{
    border-radius: 1.5rem;
  }

  .md\:rounded-\[2\.9rem\]{
    border-radius: 2.9rem;
  }

  .md\:rounded-\[2rem\]{
    border-radius: 2rem;
  }

  .md\:rounded-\[3\.4rem\]{
    border-radius: 3.4rem;
  }

  .md\:p-12{
    padding: 3rem;
  }

  .md\:p-2{
    padding: 0.5rem;
  }

  .md\:p-3{
    padding: 0.75rem;
  }

  .md\:p-3\.5{
    padding: 0.875rem;
  }

  .md\:p-4{
    padding: 1rem;
  }

  .md\:p-5{
    padding: 1.25rem;
  }

  .md\:p-6{
    padding: 1.5rem;
  }

  .md\:p-8{
    padding: 2rem;
  }

  .md\:p-\[7px\]{
    padding: 7px;
  }

  .md\:px-3{
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  .md\:px-4{
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .md\:px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .md\:px-7{
    padding-left: 1.75rem;
    padding-right: 1.75rem;
  }

  .md\:px-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .md\:py-16{
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .md\:py-2{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  .md\:py-2\.5{
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
  }

  .md\:py-20{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .md\:py-24{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .md\:py-28{
    padding-top: 7rem;
    padding-bottom: 7rem;
  }

  .md\:py-3\.5{
    padding-top: 0.875rem;
    padding-bottom: 0.875rem;
  }

  .md\:py-4{
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .md\:pb-2{
    padding-bottom: 0.5rem;
  }

  .md\:pb-20{
    padding-bottom: 5rem;
  }

  .md\:pb-\[3px\]{
    padding-bottom: 3px;
  }

  .md\:pe-8{
    padding-inline-end: 2rem;
  }

  .md\:ps-8{
    padding-inline-start: 2rem;
  }

  .md\:pt-2{
    padding-top: 0.5rem;
  }

  .md\:text-start{
    text-align: start;
  }

  .md\:text-1xs{
    font-size: 11px;
    line-height: 1.4;
  }

  .md\:text-2xl{
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .md\:text-2xs{
    font-size: 10px;
    line-height: 1.4;
  }

  .md\:text-3xl{
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .md\:text-3xs{
    font-size: 9px;
    line-height: 1.3;
  }

  .md\:text-4xl{
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .md\:text-5xl{
    font-size: 3rem;
    line-height: 1;
  }

  .md\:text-6xl{
    font-size: 3.75rem;
    line-height: 1;
  }

  .md\:text-7xl{
    font-size: 4.5rem;
    line-height: 1;
  }

  .md\:text-8xl{
    font-size: 6rem;
    line-height: 1;
  }

  .md\:text-\[12px\]{
    font-size: 12px;
  }

  .md\:text-\[2\.75rem\]{
    font-size: 2.75rem;
  }

  .md\:text-\[6px\]{
    font-size: 6px;
  }

  .md\:text-\[7px\]{
    font-size: 7px;
  }

  .md\:text-\[8px\]{
    font-size: 8px;
  }

  .md\:text-base{
    font-size: 1rem;
    line-height: 1.5rem;
  }

  .md\:text-lg{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  .md\:text-sm{
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .md\:text-xl{
    font-size: 1.25rem;
    line-height: 1.75rem;
  }

  .md\:opacity-0{
    opacity: 0;
  }
  
  .md\:hover-tilt-3d {
    transform-style: preserve-3d;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  
  .md\:hover-tilt-3d:hover {
    transform: perspective(1000px) rotateX(2deg) rotateY(-2deg) translateY(-6px) scale(1.02);
  }
  
  .md\:after\:hidden::after{
    content: var(--tw-content);
    display: none;
  }
  
  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:m-2{
    margin: 0.5rem;
  }
  
  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:ms-0{
    margin-inline-start: 0px;
  }
  
  .peer[data-variant="inset"][data-state="collapsed"] ~ .md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ms-2{
    margin-inline-start: 0.5rem;
  }
  
  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:rounded-xl{
    border-radius: .75rem;
  }
  
  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\: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);
  }
}

@media (min-width: 1024px){

  .lg\:order-1{
    order: 1;
  }

  .lg\:order-2{
    order: 2;
  }

  .lg\:col-span-1{
    grid-column: span 1 / span 1;
  }

  .lg\:col-span-2{
    grid-column: span 2 / span 2;
  }

  .lg\:col-span-3{
    grid-column: span 3 / span 3;
  }

  .lg\:mb-12{
    margin-bottom: 3rem;
  }

  .lg\:mb-14{
    margin-bottom: 3.5rem;
  }

  .lg\:mb-16{
    margin-bottom: 4rem;
  }

  .lg\:mb-20{
    margin-bottom: 5rem;
  }

  .lg\:block{
    display: block;
  }

  .lg\:flex{
    display: flex;
  }

  .lg\:table-cell{
    display: table-cell;
  }

  .lg\:hidden{
    display: none;
  }

  .lg\:w-1\/2{
    width: 50%;
  }

  .lg\:w-\[40\%\]{
    width: 40%;
  }

  .lg\:max-w-\[95\%\]{
    max-width: 95%;
  }

  .lg\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lg\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lg\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .lg\:grid-cols-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .lg\:grid-cols-6{
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .lg\:grid-cols-8{
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .lg\:grid-cols-\[1fr_auto_1fr\]{
    grid-template-columns: 1fr auto 1fr;
  }

  .lg\:gap-0{
    gap: 0px;
  }

  .lg\:gap-10{
    gap: 2.5rem;
  }

  .lg\:gap-12{
    gap: 3rem;
  }

  .lg\:gap-16{
    gap: 4rem;
  }

  .lg\:gap-5{
    gap: 1.25rem;
  }

  .lg\:gap-6{
    gap: 1.5rem;
  }

  .lg\:gap-8{
    gap: 2rem;
  }

  .lg\: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));
  }

  .lg\:border-s{
    border-inline-start-width: 1px;
  }

  .lg\:border-border\/30{
    border-color: hsl(var(--border) / 0.3);
  }

  .lg\:p-10{
    padding: 2.5rem;
  }

  .lg\:p-7{
    padding: 1.75rem;
  }

  .lg\:p-8{
    padding: 2rem;
  }

  .lg\:px-10{
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  .lg\:px-12{
    padding-left: 3rem;
    padding-right: 3rem;
  }

  .lg\:px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .lg\:px-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .lg\:py-10{
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .lg\:py-14{
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  .lg\:py-16{
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .lg\:py-20{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .lg\:py-24{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .lg\:py-28{
    padding-top: 7rem;
    padding-bottom: 7rem;
  }

  .lg\:pb-0{
    padding-bottom: 0px;
  }

  .lg\:pb-10{
    padding-bottom: 2.5rem;
  }

  .lg\:pb-16{
    padding-bottom: 4rem;
  }

  .lg\:pb-24{
    padding-bottom: 6rem;
  }

  .lg\:ps-12{
    padding-inline-start: 3rem;
  }

  .lg\:pt-20{
    padding-top: 5rem;
  }

  .lg\:pt-28{
    padding-top: 7rem;
  }

  .lg\:pt-6{
    padding-top: 1.5rem;
  }

  .lg\:text-2xl{
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .lg\:text-3xl{
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .lg\:text-4xl{
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .lg\:text-5xl{
    font-size: 3rem;
    line-height: 1;
  }

  .lg\:text-6xl{
    font-size: 3.75rem;
    line-height: 1;
  }

  .lg\:text-7xl{
    font-size: 4.5rem;
    line-height: 1;
  }

  .lg\:text-\[4\.5rem\]{
    font-size: 4.5rem;
  }

  .lg\:text-\[56px\]{
    font-size: 56px;
  }

  .lg\:text-display{
    font-size: 56px;
    line-height: 1.1;
  }

  .lg\:text-lg{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  .lg\:text-xl{
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}

@media (min-width: 1280px){

  .xl\:block{
    display: block;
  }

  .xl\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .xl\:grid-cols-6{
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .xl\:text-6xl{
    font-size: 3.75rem;
    line-height: 1;
  }
}

.rtl\:rotate-180:where([dir="rtl"], [dir="rtl"] *){
  --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));
}

@media print{

  .print\:static{
    position: static;
  }

  .print\:mx-0{
    margin-left: 0px;
    margin-right: 0px;
  }

  .print\:mb-1{
    margin-bottom: 0.25rem;
  }

  .print\:mb-2{
    margin-bottom: 0.5rem;
  }

  .print\:mb-3{
    margin-bottom: 0.75rem;
  }

  .print\:mb-4{
    margin-bottom: 1rem;
  }

  .print\:mt-1{
    margin-top: 0.25rem;
  }

  .print\:mt-3{
    margin-top: 0.75rem;
  }

  .print\:mt-4{
    margin-top: 1rem;
  }

  .print\:mt-8{
    margin-top: 2rem;
  }

  .print\:block{
    display: block;
  }

  .print\:flex{
    display: flex;
  }

  .print\:hidden{
    display: none;
  }

  .print\:min-h-0{
    min-height: 0px;
  }

  .print\:max-w-none{
    max-width: none;
  }

  .print\:items-start{
    align-items: flex-start;
  }

  .print\:justify-between{
    justify-content: space-between;
  }

  .print\:space-y-0\.5 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
  }

  .print\: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));
  }

  .print\:overflow-visible{
    overflow: visible;
  }

  .print\:border{
    border-width: 1px;
  }

  .print\:border-s-2{
    border-inline-start-width: 2px;
  }

  .print\:border-black\/\[0\.08\]{
    border-color: rgb(0 0 0 / 0.08);
  }

  .print\:border-primary{
    --tw-border-opacity: 1;
    border-color: hsl(var(--primary) / var(--tw-border-opacity, 1));
  }

  .print\:border-primary\/10{
    border-color: hsl(var(--primary) / 0.1);
  }

  .print\:border-primary\/20{
    border-color: hsl(var(--primary) / 0.2);
  }

  .print\:bg-\[\#F2F2F7\]{
    --tw-bg-opacity: 1;
    background-color: rgb(242 242 247 / var(--tw-bg-opacity, 1));
  }

  .print\:bg-primary\/10{
    background-color: hsl(var(--primary) / 0.1);
  }

  .print\:bg-white{
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  }

  .print\:p-0{
    padding: 0px;
  }

  .print\:p-3{
    padding: 0.75rem;
  }

  .print\:ps-3{
    padding-inline-start: 0.75rem;
  }

  .print\:ps-4{
    padding-inline-start: 1rem;
  }

  .print\:pt-3{
    padding-top: 0.75rem;
  }

  .print\:text-start{
    text-align: start;
  }

  .print\:text-3xs{
    font-size: 9px;
    line-height: 1.3;
  }

  .print\:text-\[8pt\]{
    font-size: 8pt;
  }

  .print\:text-base{
    font-size: 1rem;
    line-height: 1.5rem;
  }

  .print\:text-lg{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  .print\:text-sm{
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .print\:text-xl{
    font-size: 1.25rem;
    line-height: 1.75rem;
  }

  .print\:text-xs{
    font-size: 0.75rem;
    line-height: 1rem;
  }

  .print\:font-bold{
    font-weight: 700;
  }

  .print\:font-semibold{
    font-weight: 600;
  }

  .print\:italic{
    font-style: italic;
  }

  .print\:leading-relaxed{
    line-height: 1.625;
  }

  .print\:leading-tight{
    line-height: 1.25;
  }

  .print\:text-\[\#1D1D1F\]{
    --tw-text-opacity: 1;
    color: rgb(29 29 31 / var(--tw-text-opacity, 1));
  }

  .print\:text-\[\#6E6E73\]{
    --tw-text-opacity: 1;
    color: rgb(110 110 115 / var(--tw-text-opacity, 1));
  }

  .print\:text-\[\#999\]{
    --tw-text-opacity: 1;
    color: rgb(153 153 153 / var(--tw-text-opacity, 1));
  }

  .print\:text-primary{
    --tw-text-opacity: 1;
    color: hsl(var(--primary) / var(--tw-text-opacity, 1));
  }

  .print\:border.toggle-elevate::before {
    inset: -1px;
  }

  .print\:border.hover-elevate:not(.no-hover-interaction-elevate)::after,.print\:border.active-elevate:not(.no-active-interaction-elevate)::after,.print\:border.hover-elevate-2:not(.no-hover-interaction-elevate)::after,.print\:border.active-elevate-2:not(.no-active-interaction-elevate)::after,.print\:border.hover-elevate:not(.no-hover-interaction-elevate)::after {
    inset: -1px;
  }
}

.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){
  --tw-bg-opacity: 1;
  background-color: hsl(var(--accent) / var(--tw-bg-opacity, 1));
}

.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{
  border-top-left-radius: .5rem;
  border-bottom-left-radius: .5rem;
}

.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{
  border-top-right-radius: .5rem;
  border-bottom-right-radius: .5rem;
}

.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside){
  background-color: hsl(var(--accent) / 0.5);
}

.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){
  border-top-right-radius: .5rem;
  border-bottom-right-radius: .5rem;
}

.\[\&\:has\(\[role\=checkbox\]\)\]\:pe-0:has([role=checkbox]){
  padding-inline-end: 0px;
}

.\[\&\>button\]\:hidden>button{
  display: none;
}

.\[\&\>div\]\:bg-amber-500>div{
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}

.\[\&\>div\]\:bg-destructive>div{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--destructive) / var(--tw-bg-opacity, 1));
}

.\[\&\>div\]\:bg-red-500>div{
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}

.\[\&\>span\:last-child\]\:truncate>span:last-child{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.\[\&\>span\]\:line-clamp-1>span{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{
  --tw-translate-y: -3px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.\[\&\>svg\]\:absolute>svg{
  position: absolute;
}

.\[\&\>svg\]\:left-4>svg{
  left: 1rem;
}

.\[\&\>svg\]\:top-4>svg{
  top: 1rem;
}

.\[\&\>svg\]\:size-4>svg{
  width: 1rem;
  height: 1rem;
}

.\[\&\>svg\]\:h-2\.5>svg{
  height: 0.625rem;
}

.\[\&\>svg\]\:h-3>svg{
  height: 0.75rem;
}

.\[\&\>svg\]\:h-3\.5>svg{
  height: 0.875rem;
}

.\[\&\>svg\]\:h-4>svg{
  height: 1rem;
}

.\[\&\>svg\]\:h-6>svg{
  height: 1.5rem;
}

.\[\&\>svg\]\:w-2\.5>svg{
  width: 0.625rem;
}

.\[\&\>svg\]\:w-3>svg{
  width: 0.75rem;
}

.\[\&\>svg\]\:w-3\.5>svg{
  width: 0.875rem;
}

.\[\&\>svg\]\:w-4>svg{
  width: 1rem;
}

.\[\&\>svg\]\:w-6>svg{
  width: 1.5rem;
}

.\[\&\>svg\]\:shrink-0>svg{
  flex-shrink: 0;
}

.\[\&\>svg\]\:text-amber-600>svg{
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}

.\[\&\>svg\]\:text-destructive>svg{
  --tw-text-opacity: 1;
  color: hsl(var(--destructive) / var(--tw-text-opacity, 1));
}

.\[\&\>svg\]\:text-emerald-600>svg{
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}

.\[\&\>svg\]\:text-muted-foreground>svg{
  --tw-text-opacity: 1;
  color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));
}

.\[\&\>svg\]\:text-primary>svg{
  --tw-text-opacity: 1;
  color: hsl(var(--primary) / var(--tw-text-opacity, 1));
}

.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{
  --tw-text-opacity: 1;
  color: hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity, 1));
}

.\[\&\>svg\]\:transition-transform>svg{
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.\[\&\>svg\]\:duration-300>svg{
  transition-duration: 300ms;
  animation-duration: 300ms;
}

@media (max-width: 640px) {
    .\[\&\>svg\]\:text-muted-foreground>svg {
      color: hsl(var(--muted-foreground) / 0.9);
    }
  }

.dark\:\[\&\>svg\]\:text-amber-400>svg:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}

.dark\:\[\&\>svg\]\:text-emerald-400>svg:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}

.\[\&\>svg\~\*\]\:ps-7>svg~*{
  padding-inline-start: 1.75rem;
}

.\[\&\>tr\]\:last\:border-b-0:last-child>tr{
  border-bottom-width: 0px;
}

.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.\[\&\[data-state\=open\]\>svg\]\:text-primary[data-state=open]>svg{
  --tw-text-opacity: 1;
  color: hsl(var(--primary) / var(--tw-text-opacity, 1));
}

.\[\&\[data-state\=open\]\]\:bg-muted\/20[data-state=open]{
  background-color: hsl(var(--muted) / 0.2);
}

.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{
  fill: hsl(var(--muted-foreground) / 1);
}

.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke='#ccc']{
  stroke: hsl(var(--border) / 0.5);
}

.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{
  stroke: hsl(var(--border) / 1);
}

.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke='#fff']{
  stroke: transparent;
}

.\[\&_\.recharts-layer\]\:outline-none .recharts-layer{
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke='#ccc']{
  stroke: hsl(var(--border) / 1);
}

.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector{
  fill: hsl(var(--muted) / 1);
}

.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{
  fill: hsl(var(--muted) / 1);
}

.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke='#ccc']{
  stroke: hsl(var(--border) / 1);
}

.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke='#fff']{
  stroke: transparent;
}

.\[\&_\.recharts-sector\]\:outline-none .recharts-sector{
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.\[\&_\.recharts-surface\]\:outline-none .recharts-surface{
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{
  font-size: 0.75rem;
  line-height: 1rem;
}

.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{
  font-weight: 500;
}

.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{
  --tw-text-opacity: 1;
  color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));
}

@media (max-width: 640px) {
    .\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading] {
      color: hsl(var(--muted-foreground) / 0.9);
    }
  }

.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden]) ~[cmdk-group]{
  padding-top: 0px;
}

.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{
  height: 1.25rem;
}

.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{
  width: 1.25rem;
}

.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{
  height: 3rem;
}

.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{
  height: 1.25rem;
}

.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{
  width: 1.25rem;
}

.\[\&_h2\]\:mb-1 h2{
  margin-bottom: 0.25rem;
}

.\[\&_h2\]\:mt-3 h2{
  margin-top: 0.75rem;
}

.\[\&_h2\]\:mt-4 h2{
  margin-top: 1rem;
}

.\[\&_h2\]\:text-sm h2{
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.\[\&_h2\]\:text-xs h2{
  font-size: 0.75rem;
  line-height: 1rem;
}

.\[\&_h2\]\:font-semibold h2{
  font-weight: 600;
}

.\[\&_h3\]\:mb-0\.5 h3{
  margin-bottom: 0.125rem;
}

.\[\&_h3\]\:mt-2 h3{
  margin-top: 0.5rem;
}

.\[\&_h3\]\:mt-3 h3{
  margin-top: 0.75rem;
}

.\[\&_h3\]\:text-xs h3{
  font-size: 0.75rem;
  line-height: 1rem;
}

.\[\&_h3\]\:font-medium h3{
  font-weight: 500;
}

.\[\&_li\]\:text-1xs li{
  font-size: 11px;
  line-height: 1.4;
}

.\[\&_li\]\:text-xs li{
  font-size: 0.75rem;
  line-height: 1rem;
}

.\[\&_ol\]\:my-1 ol{
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

.\[\&_p\]\:text-1xs p{
  font-size: 11px;
  line-height: 1.4;
}

.\[\&_p\]\:text-xs p{
  font-size: 0.75rem;
  line-height: 1rem;
}

.\[\&_p\]\:leading-relaxed p{
  line-height: 1.625;
}

.\[\&_svg\]\:pointer-events-none svg{
  pointer-events: none;
}

.\[\&_svg\]\:size-4 svg{
  width: 1rem;
  height: 1rem;
}

.\[\&_svg\]\:shrink-0 svg{
  flex-shrink: 0;
}

.\[\&_tr\:last-child\]\:border-0 tr:last-child{
  border-width: 0px;
}

.\[\&_tr\]\:border-b tr{
  border-bottom-width: 1px;
}

.\[\&_ul\]\:my-1 ul{
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{
  right: -0.5rem;
}

[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{
  cursor: e-resize;
}

[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{
  left: -0.5rem;
}

[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{
  cursor: w-resize;
}

[data-state=open]>.\[\[data-state\=open\]\>\&\]\:rotate-180{
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
