/* The theme's stylesheet initializes tailwindcss and imports the theme's default styles.

   The $ThemeStylesheet path is evaluated via a postcss resolver, which finds the theme's
   main stylesheet within the theme's gem.
   
   To control the order of the tailwindcss imports further, you can eject the theme's
   stylesheet locally using the following command, which will take precedence.
   > rake bullet_train:themes:light:eject_css

   Read more: https://bullettrain.co/docs/stylesheets
*/
/*
 * This is an extra level of indirection because for some reason using @tailwind directives directly inside this file doesn't work.
 * When we move to v4 we should be able to just to `@import "tailwindcss"` here.
 */
*, ::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.19 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

b,
strong {
  font-weight: bolder;
}

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

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

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

small {
  font-size: 80%;
}

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

button,
select {
  text-transform: none;
}

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

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

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

:-moz-focusring {
  outline: auto;
}

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

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

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

progress {
  vertical-align: baseline;
}

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

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

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

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

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

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

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

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

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

summary {
  display: list-item;
}

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

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

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

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

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

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

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

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

/*
Set the default cursor for buttons.
*/

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

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

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

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

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

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

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
input:where([type='text']),input:where(:not([type])),input:where([type='email']),input:where([type='url']),input:where([type='password']),input:where([type='number']),input:where([type='date']),input:where([type='datetime-local']),input:where([type='month']),input:where([type='search']),input:where([type='tel']),input:where([type='time']),input:where([type='week']),select:where([multiple]),textarea,select{
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  border-color: #6b7280;
  border-width: 1px;
  border-radius: 0px;
  padding-top: 0.5rem;
  padding-right: 0.75rem;
  padding-bottom: 0.5rem;
  padding-left: 0.75rem;
  font-size: 1rem;
  line-height: 1.5rem;
  --tw-shadow: 0 0 #0000;
}
input:where([type='text']):focus, input:where(:not([type])):focus, input:where([type='email']):focus, input:where([type='url']):focus, input:where([type='password']):focus, input:where([type='number']):focus, input:where([type='date']):focus, input:where([type='datetime-local']):focus, input:where([type='month']):focus, input:where([type='search']):focus, input:where([type='tel']):focus, input:where([type='time']):focus, input:where([type='week']):focus, select:where([multiple]):focus, textarea:focus, select:focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2563eb;
  --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);
  border-color: #2563eb;
}
input::-moz-placeholder, textarea::-moz-placeholder{
  color: #6b7280;
  opacity: 1;
}
input::placeholder,textarea::placeholder{
  color: #6b7280;
  opacity: 1;
}
::-webkit-datetime-edit-fields-wrapper{
  padding: 0;
}
::-webkit-date-and-time-value{
  min-height: 1.5em;
  text-align: inherit;
}
::-webkit-datetime-edit{
  display: inline-flex;
}
::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{
  padding-top: 0;
  padding-bottom: 0;
}
select{
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 0.5rem center;
  background-repeat: no-repeat;
  background-size: 1.5em 1.5em;
  padding-right: 2.5rem;
  -webkit-print-color-adjust: exact;
          print-color-adjust: exact;
}
select:where([multiple]),select:where([size]:not([size="1"])){
  background-image: initial;
  background-position: initial;
  background-repeat: unset;
  background-size: initial;
  padding-right: 0.75rem;
  -webkit-print-color-adjust: unset;
          print-color-adjust: unset;
}
input:where([type='checkbox']),input:where([type='radio']){
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0;
  -webkit-print-color-adjust: exact;
          print-color-adjust: exact;
  display: inline-block;
  vertical-align: middle;
  background-origin: border-box;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  flex-shrink: 0;
  height: 1rem;
  width: 1rem;
  color: #2563eb;
  background-color: #fff;
  border-color: #6b7280;
  border-width: 1px;
  --tw-shadow: 0 0 #0000;
}
input:where([type='checkbox']){
  border-radius: 0px;
}
input:where([type='radio']){
  border-radius: 100%;
}
input:where([type='checkbox']):focus,input:where([type='radio']):focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 2px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2563eb;
  --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);
}
input:where([type='checkbox']):checked,input:where([type='radio']):checked{
  border-color: transparent;
  background-color: currentColor;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}
input:where([type='checkbox']):checked{
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
}
@media (forced-colors: active) {
  input:where([type='checkbox']):checked{
    -webkit-appearance: auto;
       -moz-appearance: auto;
            appearance: auto;
  }
}
input:where([type='radio']):checked{
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");
}
@media (forced-colors: active) {
  input:where([type='radio']):checked{
    -webkit-appearance: auto;
       -moz-appearance: auto;
            appearance: auto;
  }
}
input:where([type='checkbox']):checked:hover,input:where([type='checkbox']):checked:focus,input:where([type='radio']):checked:hover,input:where([type='radio']):checked:focus{
  border-color: transparent;
  background-color: currentColor;
}
input:where([type='checkbox']):indeterminate{
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");
  border-color: transparent;
  background-color: currentColor;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}
@media (forced-colors: active) {
  input:where([type='checkbox']):indeterminate{
    -webkit-appearance: auto;
       -moz-appearance: auto;
            appearance: auto;
  }
}
input:where([type='checkbox']):indeterminate:hover,input:where([type='checkbox']):indeterminate:focus{
  border-color: transparent;
  background-color: currentColor;
}
input:where([type='file']){
  background: unset;
  border-color: inherit;
  border-width: 0;
  border-radius: 0;
  padding: 0;
  font-size: unset;
  line-height: inherit;
}
input:where([type='file']):focus{
  outline: 1px solid ButtonText;
  outline: 1px auto -webkit-focus-ring-color;
}
.\!container{
  width: 100% !important;
}
.container{
  width: 100%;
}
@media (min-width: 640px){
  .\!container{
    max-width: 640px !important;
  }
  .container{
    max-width: 640px;
  }
}
@media (min-width: 768px){
  .\!container{
    max-width: 768px !important;
  }
  .container{
    max-width: 768px;
  }
}
@media (min-width: 1024px){
  .\!container{
    max-width: 1024px !important;
  }
  .container{
    max-width: 1024px;
  }
}
@media (min-width: 1280px){
  .\!container{
    max-width: 1280px !important;
  }
  .container{
    max-width: 1280px;
  }
}
@media (min-width: 1536px){
  .\!container{
    max-width: 1536px !important;
  }
  .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-slate{
  --tw-prose-body: #334155;
  --tw-prose-headings: #0f172a;
  --tw-prose-lead: #475569;
  --tw-prose-links: #0f172a;
  --tw-prose-bold: #0f172a;
  --tw-prose-counters: #64748b;
  --tw-prose-bullets: #cbd5e1;
  --tw-prose-hr: #e2e8f0;
  --tw-prose-quotes: #0f172a;
  --tw-prose-quote-borders: #e2e8f0;
  --tw-prose-captions: #64748b;
  --tw-prose-kbd: #0f172a;
  --tw-prose-kbd-shadows: rgb(15 23 42 / 10%);
  --tw-prose-code: #0f172a;
  --tw-prose-pre-code: #e2e8f0;
  --tw-prose-pre-bg: #1e293b;
  --tw-prose-th-borders: #cbd5e1;
  --tw-prose-td-borders: #e2e8f0;
  --tw-prose-invert-body: #cbd5e1;
  --tw-prose-invert-headings: #fff;
  --tw-prose-invert-lead: #94a3b8;
  --tw-prose-invert-links: #fff;
  --tw-prose-invert-bold: #fff;
  --tw-prose-invert-counters: #94a3b8;
  --tw-prose-invert-bullets: #475569;
  --tw-prose-invert-hr: #334155;
  --tw-prose-invert-quotes: #f1f5f9;
  --tw-prose-invert-quote-borders: #334155;
  --tw-prose-invert-captions: #94a3b8;
  --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: #cbd5e1;
  --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
  --tw-prose-invert-th-borders: #475569;
  --tw-prose-invert-td-borders: #334155;
}
.prose-indigo{
  --tw-prose-links: #4f46e5;
  --tw-prose-invert-links: #6366f1;
}
.prose-invert{
  --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);
}
  a{
  color: var(--secondary-500);
}
  a:hover{
  color: var(--secondary-600);
  text-decoration-line: underline;
}

  b, strong{
  font-weight: 500;
}

  .buttons > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(0.75rem * var(--tw-space-x-reverse));
  margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
}

  .button{
  background-color: var(--primary-500);
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  --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);
}

  .button:hover{
  background-color: var(--primary-600);
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  text-decoration-line: none;
}

  .button:focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
  --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);
  --tw-ring-color: var(--primary-600);
  --tw-ring-offset-width: 2px;
}

  .button:is(.dark *){
  --tw-ring-offset-color: #334155;
}

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

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

    .button.button-red:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(220 38 38 / var(--tw-ring-opacity, 1));
}

  .button-secondary{
  color: var(--secondary-500);
}

  .button-secondary:hover{
  color: var(--secondary-600);
  text-decoration-line: underline;
}
    /* @apply dark:text-base-200; */

    .button-secondary.button-increase-contrast{
  color: var(--secondary-700);
}

    .button-secondary.button-increase-contrast:hover{
  color: var(--secondary-900);
}

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

    .button-secondary.button-red:hover{
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
      .button-secondary.button-red.button-increase-contrast{
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
      .button-secondary.button-red.button-increase-contrast:hover{
  --tw-text-opacity: 1;
  color: rgb(127 29 29 / var(--tw-text-opacity, 1));
}

  .button, .button-secondary, .button-alternative{
  border-radius: 12px;
  border-width: 1px;
  border-color: transparent;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}
    .button.button-smaller, .button-secondary.button-smaller, .button-alternative.button-smaller{
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  font-size: .81rem;
}

  .button-alternative{
  border-radius: 12px;
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
  text-decoration-line: none;
  --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);
}

  .button-alternative,.button-alternative:hover { text-decoration: none; }

  .button-alternative:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
  text-decoration-line: none;
}

  .button-alternative:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(15 23 42 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

  .button-alternative:hover:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}

  .button-color{
  background-color: var(--primary-500);
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  --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);
}

  .button-color:hover{
  background-color: var(--primary-600);
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  text-decoration-line: none;
}

  .button-color:focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
  --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);
  --tw-ring-color: var(--primary-600);
  --tw-ring-offset-width: 2px;
}

  .button-color:is(.dark *){
  --tw-ring-offset-color: #334155;
}

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

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

  .button-color.button-red:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(220 38 38 / var(--tw-ring-opacity, 1));
}

  .button-color{
  border-radius: 12px;
  border-width: 1px;
  border-color: transparent;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}

  .button-color.button-smaller{
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  font-size: .81rem;
}

  form.button_to input[type=submit].button-color{
  background-color: var(--primary-500);
}

  form.button_to input[type=submit].button-color:hover{
  background-color: var(--primary-600);
}

  .button-color{
  border-radius: 9999px;
}
    .btn-toggle input[type=checkbox], .btn-toggle input[type=radio] {
      display: none;
    }
        .btn-toggle input[type=checkbox]:checked + button, .btn-toggle input[type=radio]:checked + button{
  background-color: var(--primary-500);
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  --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);
}
        .btn-toggle input[type=checkbox]:checked + button:hover, .btn-toggle input[type=radio]:checked + button:hover{
  background-color: var(--primary-600);
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  text-decoration-line: none;
}
        .btn-toggle input[type=checkbox]:checked + button:focus, .btn-toggle input[type=radio]:checked + button:focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
  --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);
  --tw-ring-color: var(--primary-600);
  --tw-ring-offset-width: 2px;
}
        .btn-toggle input[type=checkbox]:checked + button:is(.dark *), .btn-toggle input[type=radio]:checked + button:is(.dark *){
  --tw-ring-offset-color: #334155;
}
        .btn-toggle input[type=checkbox]:checked + button.button-red, .btn-toggle input[type=radio]:checked + button.button-red{
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
        .btn-toggle input[type=checkbox]:checked + button.button-red:hover, .btn-toggle input[type=radio]:checked + button.button-red:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}
        .btn-toggle input[type=checkbox]:checked + button.button-red:focus, .btn-toggle input[type=radio]:checked + button.button-red:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(220 38 38 / var(--tw-ring-opacity, 1));
}
        .btn-toggle input[type=checkbox]:checked + button, .btn-toggle input[type=radio]:checked + button{
  border-radius: 12px;
  border-width: 1px;
  border-color: transparent;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}
        .btn-toggle input[type=checkbox]:checked + button.button-smaller, .btn-toggle input[type=radio]:checked + button.button-smaller{
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  font-size: .81rem;
}
        form.button_to input[type=submit].btn-toggle input[type=checkbox]:checked + button,form.button_to input[type=submit] .btn-toggle input[type=radio]:checked + button{
  background-color: var(--primary-500);
}
        form.button_to input[type=submit].btn-toggle input[type=checkbox]:checked + button:hover,form.button_to input[type=submit] .btn-toggle input[type=radio]:checked + button:hover{
  background-color: var(--primary-600);
}
          .btn-toggle.btn-color-picker input[type=checkbox]:checked + button, .btn-toggle.btn-color-picker input[type=radio]:checked + button{
  border-radius: 9999px;
  --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);
  --tw-ring-offset-width: 2px;
}

  .full{
  display: flex;
  width: 100%;
  justify-content: center;
}

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

    form.form .form-wrapper > :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));
}
      form.form .form-wrapper[disabled] {
        opacity: 0.3;
        position: relative;
        -webkit-user-select: none;
           -moz-user-select: none;
                user-select: none;
      }
        form.form .form-wrapper[disabled]:before {
          content: "";
          position: absolute;
          background-color: transparent;
          top: 0;
          bottom: 0;
          left: 0;
          right: 0;
        }

    /*
    This is the best way I know how to solve the problem of Tailwind's `space-y-5` creating extra space at the top
    because Rails injects hidden fields at the top of our forms. However, we don't need this on `get` forms, because
    no extra element is injected into the form.
    */
    form.form[method="post" i], form.form[method="patch" i]{
  margin-top: -1.25rem;
}

    form.form .buttons{
  padding-top: 0.25rem;
}

    form.form .buttons > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(0.75rem * var(--tw-space-x-reverse));
  margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
}

  .\!table{
  width: 100%;
}

  .\!table > :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));
  border-color: rgb(15 23 42 / 0.05);
}

  .\!table{
  text-align: left;
}

  .\!table:is(.dark *) > :not([hidden]) ~ :not([hidden]){
  border-color: rgb(51 65 85 / 0.05);
}

  .table{
  width: 100%;
}

  .table > :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));
  border-color: rgb(15 23 42 / 0.05);
}

  .table{
  text-align: left;
}

  .table:is(.dark *) > :not([hidden]) ~ :not([hidden]){
  border-color: rgb(51 65 85 / 0.05);
}


    .\!table th{
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 0.65rem;
  line-height: 0.9rem;
  letter-spacing: 1px;
  font-weight: 400;
  text-transform: uppercase;
}


    .table th{
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 0.65rem;
  line-height: 0.9rem;
  letter-spacing: 1px;
  font-weight: 400;
  text-transform: uppercase;
}


    .\!table th:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}


    .table th:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}

      .\!table th:first-child{
  padding-left: 1.25rem;
}

      .table th:first-child{
  padding-left: 1.25rem;
}

      .\!table th:last-child{
  padding-right: 1.25rem;
}

      .table th:last-child{
  padding-right: 1.25rem;
}

    .\!table tbody > :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));
  border-color: rgb(15 23 42 / 0.05);
}

    .table tbody > :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));
  border-color: rgb(15 23 42 / 0.05);
}

    .\!table tbody:is(.dark *) > :not([hidden]) ~ :not([hidden]){
  border-color: rgb(51 65 85 / 0.05);
}

    .table tbody:is(.dark *) > :not([hidden]) ~ :not([hidden]){
  border-color: rgb(51 65 85 / 0.05);
}

    .\!table td{
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}

    .table td{
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}

    .\!table td:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}

    .table td:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}

      .\!table td:first-child{
  padding-left: 1.25rem;
}

      .table td:first-child{
  padding-left: 1.25rem;
}

      .\!table td:last-child{
  padding-right: 1.25rem;
}

      .table td:last-child{
  padding-right: 1.25rem;
}

      .\!table td.buttons{
  padding-right: 0.75rem;
}

      .table td.buttons{
  padding-right: 0.75rem;
}

      .\!table td.buttons > :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)));
}

      .\!table td.buttons{
  text-align: right;
}

      .table td.buttons > :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)));
}

      .table td.buttons{
  text-align: right;
}

        /* just having a cell with buttons shouldn't expand the height of a table row. */
        .\!table td.buttons > *{
  margin-top: -1.25rem;
  margin-bottom: -1.25rem;
}
        .table td.buttons > *{
  margin-top: -1.25rem;
  margin-bottom: -1.25rem;
}
        .box-table .table th:first-child, .box-table .table td:first-child{
  padding-left: 2rem;
}
        .box-table .\!table th:first-child, .box-table .\!table td:first-child{
  padding-left: 2rem;
}

        .box-table .table th:last-child, .box-table .table td:last-child{
  padding-right: 2rem;
}

        .box-table .\!table th:last-child, .box-table .\!table td:last-child{
  padding-right: 2rem;
}

  .pagy{
  display: flex;
}

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

    .pagy a:not(.gap){
  border-radius: 12px;
  border-width: 1px;
  border-color: transparent;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}

    .pagy a:not(.gap).button-smaller{
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  font-size: .81rem;
}

    .pagy a:not(.gap){
  border-radius: 12px;
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
  text-decoration-line: none;
  --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);
}

    .pagy a:not(.gap),.pagy a:not(.gap):hover { text-decoration: none; }

    .pagy a:not(.gap):hover{
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
  text-decoration-line: none;
}

    .pagy a:not(.gap):is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(15 23 42 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

    .pagy a:not(.gap):hover:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}

      .pagy a:not(.gap):not([href]) { /* disabled links (aka: the current page) */ background-color: var(--primary-500); --tw-text-opacity: 1; color: rgb(255 255 255 / var(--tw-text-opacity, 1)); --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);
      }

      .pagy a:not(.gap):not([href]):hover{
  background-color: var(--primary-600);
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  text-decoration-line: none;
}

      .pagy a:not(.gap):not([href]):focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
  --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);
  --tw-ring-color: var(--primary-600);
  --tw-ring-offset-width: 2px;
}

      .pagy a:not(.gap):not([href]):is(.dark *){
  --tw-ring-offset-color: #334155;
}

      .pagy a:not(.gap):not([href]).button-red{
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}

      .pagy a:not(.gap):not([href]).button-red:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}

      .pagy a:not(.gap):not([href]).button-red:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(220 38 38 / var(--tw-ring-opacity, 1));
}

      .pagy a:not(.gap):not([href]){
  border-radius: 12px;
  border-width: 1px;
  border-color: transparent;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}

      .pagy a:not(.gap):not([href]).button-smaller{
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  font-size: .81rem;
}

      form.button_to input[type=submit].pagy a:not(.gap):not([href]){
  background-color: var(--primary-500);
}

      form.button_to input[type=submit].pagy a:not(.gap):not([href]):hover{
  background-color: var(--primary-600);
}

        .pagy a:not(.gap):not([href]):not([aria-current]){ /* the prev link when on first page, next link when on last page */ display: none;
        }

  /* Fix Safari issue related to <summary> / <details> arrow */
  details > summary.list-none::-webkit-details-marker,
  details > summary.list-none::marker {
    display: none;
  }

  .sortable-active-dropzone{
  border-style: dashed;
  --tw-border-opacity: 1;
  border-color: rgb(148 163 184 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

  .sortable-active-dropzone:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}

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

  .sortable-active-item > *{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  opacity: 1;
}

  .sortable-active-item:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}

  .sortable-active-item > *:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}

  .sortable-drop-target{
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
  --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  --tw-shadow-color: #6b7280;
  --tw-shadow: var(--tw-shadow-colored);
}

  .sortable-drop-target > *{
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
  opacity: 0;
}

  .sortable-drop-target:hover{
  --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

  .sortable-drop-target:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(15 23 42 / var(--tw-bg-opacity, 1));
  --tw-shadow-color: #000;
  --tw-shadow: var(--tw-shadow-colored);
}

  .sortable-drop-target > *:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(15 23 42 / var(--tw-bg-opacity, 1));
}
  .bulk-action-unavailable{
  display: none !important;
}

  .bulk-actions-selectable-item-checkbox-wrapper{
  display: none;
}

  .bulk-actions .bulk-actions-checkbox-cell{
  width: 1rem;
  padding-right: 0px;
}
    .bulk-actions:not(.selectable-available) .bulk-actions-selectable-toggle{
  display: none;
}
    .bulk-actions:not(.selectable) td:nth-child(2),.bulk-actions:not(.selectable) th:nth-child(2){
  padding-left: 1.25rem;
}

    .bulk-actions:not(.selectable) .box-table td:nth-child(2),.bulk-actions:not(.selectable) th:nth-child(2){
  padding-left: 2rem;
}
    .bulk-actions.selectable-available:not(.selectable) .bulk-action{
  display: none;
}
    .bulk-actions.selectable-available:not(.selectable) .bulk-actions-checkbox-cell{
  display: none;
}
    .bulk-actions.selectable .bulk-action-single{
  display: none;
}
    .date-input .single-daterange{
  border-radius: 12px;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 300;
  --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);
}
    .date-input .single-daterange:focus{
  border-color: var(--primary-500);
  --tw-ring-color: var(--primary-500);
}
    @media (min-width: 768px){
  .date-input .single-daterange{
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}
    .daterangepicker .hourselect, .daterangepicker .minuteselect, .daterangepicker .ampmselect{
  border-radius: 12px;
  font-weight: 300;
  --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);
}
    .daterangepicker .hourselect:focus, .daterangepicker .minuteselect:focus, .daterangepicker .ampmselect:focus{
  --tw-ring-color: var(--primary-500);
}
    .daterangepicker .hourselect, .daterangepicker .minuteselect, .daterangepicker .ampmselect{
  --tw-border-opacity: 1 !important;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1)) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)) !important;
}
    .daterangepicker .hourselect:focus, .daterangepicker .minuteselect:focus, .daterangepicker .ampmselect:focus{
  border-color: var(--primary-500) !important;
}
    .daterangepicker .hourselect, .daterangepicker .minuteselect, .daterangepicker .ampmselect {
      -moz-text-align-last: center;
           text-align-last: center;
    }

    .daterangepicker .calendar-table .active{
  background-color: var(--primary-500) !important;
}

    .daterangepicker .calendar-table .\!active{
  background-color: var(--primary-500) !important;
}
  .select2-container{
  width: 100%;
}

  .select2-border{
  border-color: var(--primary-500) !important;
    box-shadow: inset 0 0 0 1px var(--primary-500) !important;
    outline: 0 !important;
}

  .select2-selection--single,
  .select2-selection--multiple {
    height: 38px !important;
    --tw-border-opacity: 1;
    border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
    border-radius: 12px !important;
    padding-top: 0px !important;
    --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05) !important;
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color) !important;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
  }

  .select2-selection--single:focus, .select2-selection--multiple:focus{
  --tw-ring-color: var(--primary-500) !important;
}

    .select2-selection--single.focus-visible, .select2-selection--multiple.focus-visible{
  border-color: var(--primary-500) !important;
    box-shadow: inset 0 0 0 1px var(--primary-500) !important;
    outline: 0 !important;
}

    .select2-selection--single:focus, .select2-selection--multiple:focus {
      outline: 0 !important;
    }

    .select2-selection--single .select2-selection__arrow, .select2-selection--multiple .select2-selection__arrow {
      height: 34px !important;
    }

    .select2-selection--single .select2-selection__rendered, .select2-selection--multiple .select2-selection__rendered{
  padding-left: 0.75rem !important;
  --tw-text-opacity: 1 !important;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1)) !important;
      line-height: 35px !important;
}

  .select2-selection--multiple .select2-selection__choice {
    margin-top: 6px !important;
    line-height: 22px !important;
  }
    .select2-container--open .select2-selection--single, .select2-container--open .select2-selection--multiple, .select2-container--focus .select2-selection--single, .select2-container--focus .select2-selection--multiple{
  border-color: var(--primary-500) !important;
    box-shadow: inset 0 0 0 1px var(--primary-500) !important;
    outline: 0 !important;
}

  .select2-container--default.select2-container--disabled .select2-selection--single,
  .select2-container--default.select2-container--disabled .select2-selection--multiple{
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}

  .select2-container--default.select2-container--disabled .select2-selection--single:hover,
  .select2-container--default.select2-container--disabled .select2-selection--multiple:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}

  .select2-container--default.select2-container--disabled .select2-selection--single:is(.dark *),
  .select2-container--default.select2-container--disabled .select2-selection--multiple:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}

  .select2-container--default.select2-container--disabled .select2-selection--single:is(.dark *):hover,
  .select2-container--default.select2-container--disabled .select2-selection--multiple:is(.dark *):hover{
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}

  .select2-container .select2-dropdown{
  overflow: hidden !important;
  border-width: 2px !important;
  --tw-border-opacity: 1 !important;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1)) !important;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05) !important;
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color) !important;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
  border-color: var(--primary-500) !important;
}

  .select2-container--default .select2-results__option[aria-selected=true]{
  background-color: var(--primary-500) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
}

  .select2-search__field{
  border-radius: 12px;
  --tw-border-opacity: 1 !important;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1)) !important;
}

    .select2-search__field:focus{
  border-color: var(--primary-500) !important;
  --tw-ring-color: var(--primary-500) !important;
}
.sr-only{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.pointer-events-none{
  pointer-events: none;
}
.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-4{
  inset: -1rem;
}
.inset-0{
  inset: 0px;
}
.inset-y-0{
  top: 0px;
  bottom: 0px;
}
.-right-2{
  right: -0.5rem;
}
.-top-0{
  top: -0px;
}
.-top-2{
  top: -0.5rem;
}
.bottom-0{
  bottom: 0px;
}
.bottom-1{
  bottom: 0.25rem;
}
.bottom-4{
  bottom: 1rem;
}
.left-0{
  left: 0px;
}
.left-10{
  left: 2.5rem;
}
.left-3{
  left: 0.75rem;
}
.left-4{
  left: 1rem;
}
.left-full{
  left: 100%;
}
.right-0{
  right: 0px;
}
.right-0\.5{
  right: 0.125rem;
}
.right-10{
  right: 2.5rem;
}
.right-2{
  right: 0.5rem;
}
.right-3{
  right: 0.75rem;
}
.right-4{
  right: 1rem;
}
.top-0{
  top: 0px;
}
.top-1{
  top: 0.25rem;
}
.top-2{
  top: 0.5rem;
}
.top-20{
  top: 5rem;
}
.top-3{
  top: 0.75rem;
}
.top-4{
  top: 1rem;
}
.top-6{
  top: 1.5rem;
}
.isolate{
  isolation: isolate;
}
.-z-10{
  z-index: -10;
}
.z-0{
  z-index: 0;
}
.z-10{
  z-index: 10;
}
.z-20{
  z-index: 20;
}
.z-40{
  z-index: 40;
}
.z-50{
  z-index: 50;
}
.order-1{
  order: 1;
}
.order-2{
  order: 2;
}
.order-3{
  order: 3;
}
.col-span-1{
  grid-column: span 1 / span 1;
}
.col-span-2{
  grid-column: span 2 / span 2;
}
.float-right{
  float: right;
}
.-m-2{
  margin: -0.5rem;
}
.m-0{
  margin: 0px;
}
.m-5{
  margin: 1.25rem;
}
.m-auto{
  margin: auto;
}
.-mx-4{
  margin-left: -1rem;
  margin-right: -1rem;
}
.mx-12{
  margin-left: 3rem;
  margin-right: 3rem;
}
.mx-2{
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.mx-auto{
  margin-left: auto;
  margin-right: auto;
}
.my-12{
  margin-top: 3rem;
  margin-bottom: 3rem;
}
.my-3{
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}
.my-6{
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.-mb-1{
  margin-bottom: -0.25rem;
}
.-mb-1\.5{
  margin-bottom: -0.375rem;
}
.-mb-5{
  margin-bottom: -1.25rem;
}
.-ml-1{
  margin-left: -0.25rem;
}
.-ml-10{
  margin-left: -2.5rem;
}
.-ml-5{
  margin-left: -1.25rem;
}
.-mt-0\.5{
  margin-top: -0.125rem;
}
.-mt-1{
  margin-top: -0.25rem;
}
.-mt-1\.5{
  margin-top: -0.375rem;
}
.-mt-16{
  margin-top: -4rem;
}
.-mt-2{
  margin-top: -0.5rem;
}
.-mt-3{
  margin-top: -0.75rem;
}
.-mt-4{
  margin-top: -1rem;
}
.-mt-5{
  margin-top: -1.25rem;
}
.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-3{
  margin-bottom: 0.75rem;
}
.mb-4{
  margin-bottom: 1rem;
}
.mb-5{
  margin-bottom: 1.25rem;
}
.mb-6{
  margin-bottom: 1.5rem;
}
.mb-7{
  margin-bottom: 1.75rem;
}
.mb-8{
  margin-bottom: 2rem;
}
.ml-0{
  margin-left: 0px;
}
.ml-1{
  margin-left: 0.25rem;
}
.ml-1\.5{
  margin-left: 0.375rem;
}
.ml-10{
  margin-left: 2.5rem;
}
.ml-12{
  margin-left: 3rem;
}
.ml-2{
  margin-left: 0.5rem;
}
.ml-2\.5{
  margin-left: 0.625rem;
}
.ml-3{
  margin-left: 0.75rem;
}
.ml-4{
  margin-left: 1rem;
}
.ml-5{
  margin-left: 1.25rem;
}
.ml-auto{
  margin-left: auto;
}
.mr-0{
  margin-right: 0px;
}
.mr-1{
  margin-right: 0.25rem;
}
.mr-1\.5{
  margin-right: 0.375rem;
}
.mr-10{
  margin-right: 2.5rem;
}
.mr-12{
  margin-right: 3rem;
}
.mr-2{
  margin-right: 0.5rem;
}
.mr-3{
  margin-right: 0.75rem;
}
.mr-4{
  margin-right: 1rem;
}
.mr-auto{
  margin-right: auto;
}
.mt-0{
  margin-top: 0px;
}
.mt-0\.5{
  margin-top: 0.125rem;
}
.mt-1{
  margin-top: 0.25rem;
}
.mt-1\.5{
  margin-top: 0.375rem;
}
.mt-10{
  margin-top: 2.5rem;
}
.mt-12{
  margin-top: 3rem;
}
.mt-2{
  margin-top: 0.5rem;
}
.mt-3{
  margin-top: 0.75rem;
}
.mt-4{
  margin-top: 1rem;
}
.mt-5{
  margin-top: 1.25rem;
}
.mt-6{
  margin-top: 1.5rem;
}
.mt-7{
  margin-top: 1.75rem;
}
.mt-8{
  margin-top: 2rem;
}
.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;
}
.block{
  display: block;
}
.inline-block{
  display: inline-block;
}
.inline{
  display: inline;
}
.flex{
  display: flex;
}
.inline-flex{
  display: inline-flex;
}
.\!table{
  display: table !important;
}
.table{
  display: table;
}
.grid{
  display: grid;
}
.contents{
  display: contents;
}
.hidden{
  display: none;
}
.aspect-\[16\/5\]{
  aspect-ratio: 16/5;
}
.aspect-\[2\/3\]{
  aspect-ratio: 2/3;
}
.aspect-\[3\/4\]{
  aspect-ratio: 3/4;
}
.aspect-square{
  aspect-ratio: 1 / 1;
}
.aspect-video{
  aspect-ratio: 16 / 9;
}
.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-4{
  height: 1rem;
}
.h-40{
  height: 10rem;
}
.h-44{
  height: 11rem;
}
.h-5{
  height: 1.25rem;
}
.h-6{
  height: 1.5rem;
}
.h-7{
  height: 1.75rem;
}
.h-8{
  height: 2rem;
}
.h-9{
  height: 2.25rem;
}
.h-auto{
  height: auto;
}
.h-full{
  height: 100%;
}
.h-screen{
  height: 100vh;
}
.max-h-48{
  max-height: 12rem;
}
.min-h-32{
  min-height: 8rem;
}
.min-h-\[100px\]{
  min-height: 100px;
}
.min-h-\[300px\]{
  min-height: 300px;
}
.min-h-\[50vh\]{
  min-height: 50vh;
}
.min-h-\[70vh\]{
  min-height: 70vh;
}
.min-h-screen{
  min-height: 100vh;
}
.w-0{
  width: 0px;
}
.w-1\/12{
  width: 8.333333%;
}
.w-1\/3{
  width: 33.333333%;
}
.w-1\/4{
  width: 25%;
}
.w-1\/5{
  width: 20%;
}
.w-1\/6{
  width: 16.666667%;
}
.w-10{
  width: 2.5rem;
}
.w-11{
  width: 2.75rem;
}
.w-12{
  width: 3rem;
}
.w-14{
  width: 3.5rem;
}
.w-16{
  width: 4rem;
}
.w-2{
  width: 0.5rem;
}
.w-2\.5{
  width: 0.625rem;
}
.w-20{
  width: 5rem;
}
.w-24{
  width: 6rem;
}
.w-3{
  width: 0.75rem;
}
.w-3\.5{
  width: 0.875rem;
}
.w-3\/4{
  width: 75%;
}
.w-32{
  width: 8rem;
}
.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-56{
  width: 14rem;
}
.w-6{
  width: 1.5rem;
}
.w-64{
  width: 16rem;
}
.w-7{
  width: 1.75rem;
}
.w-8{
  width: 2rem;
}
.w-9{
  width: 2.25rem;
}
.w-\[220px\]{
  width: 220px;
}
.w-\[280px\]{
  width: 280px;
}
.w-\[570px\]{
  width: 570px;
}
.w-auto{
  width: auto;
}
.w-full{
  width: 100%;
}
.min-w-0{
  min-width: 0px;
}
.min-w-\[120px\]{
  min-width: 120px;
}
.min-w-\[1rem\]{
  min-width: 1rem;
}
.min-w-\[2rem\]{
  min-width: 2rem;
}
.min-w-\[40px\]{
  min-width: 40px;
}
.min-w-full{
  min-width: 100%;
}
.min-w-max{
  min-width: -moz-max-content;
  min-width: max-content;
}
.max-w-2xl{
  max-width: 42rem;
}
.max-w-3xl{
  max-width: 48rem;
}
.max-w-4xl{
  max-width: 56rem;
}
.max-w-5xl{
  max-width: 64rem;
}
.max-w-7xl{
  max-width: 80rem;
}
.max-w-\[150px\]{
  max-width: 150px;
}
.max-w-\[160px\]{
  max-width: 160px;
}
.max-w-\[200px\]{
  max-width: 200px;
}
.max-w-\[320px\]{
  max-width: 320px;
}
.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-auto{
  flex: 1 1 auto;
}
.flex-initial{
  flex: 0 1 auto;
}
.flex-none{
  flex: none;
}
.flex-shrink{
  flex-shrink: 1;
}
.flex-shrink-0{
  flex-shrink: 0;
}
.shrink-0{
  flex-shrink: 0;
}
.flex-grow{
  flex-grow: 1;
}
.grow{
  flex-grow: 1;
}
.border-collapse{
  border-collapse: collapse;
}
.-translate-x-20{
  --tw-translate-x: -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-x-full{
  --tw-translate-x: -100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-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-y-0{
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-1{
  --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));
}
.translate-y-2{
  --tw-translate-y: 0.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-5{
  --tw-translate-y: 1.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-12{
  --tw-rotate: 12deg;
  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-110{
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-90{
  --tw-scale-x: .9;
  --tw-scale-y: .9;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-95{
  --tw-scale-x: .95;
  --tw-scale-y: .95;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.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));
}
.transform-gpu{
  transform: translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) 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-none{
  transform: none;
}
@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-not-allowed{
  cursor: not-allowed;
}
.cursor-pointer{
  cursor: pointer;
}
.select-none{
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.select-all{
  -webkit-user-select: all;
     -moz-user-select: all;
          user-select: all;
}
.resize{
  resize: both;
}
.snap-x{
  scroll-snap-type: x var(--tw-scroll-snap-strictness);
}
.snap-mandatory{
  --tw-scroll-snap-strictness: mandatory;
}
.snap-start{
  scroll-snap-align: start;
}
.list-inside{
  list-style-position: inside;
}
.list-decimal{
  list-style-type: decimal;
}
.list-disc{
  list-style-type: disc;
}
.list-none{
  list-style-type: none;
}
.columns-\[var\(--column-width\2c _15ch\)_3\]{
  -moz-columns: var(--column-width, 15ch) 3;
       columns: var(--column-width, 15ch) 3;
}
.grid-cols-1{
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-10{
  grid-template-columns: repeat(10, 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));
}
.flex-row{
  flex-direction: row;
}
.flex-col{
  flex-direction: column;
}
.flex-wrap{
  flex-wrap: wrap;
}
.flex-nowrap{
  flex-wrap: nowrap;
}
.place-content-center{
  place-content: 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;
}
.gap-0\.5{
  gap: 0.125rem;
}
.gap-1{
  gap: 0.25rem;
}
.gap-1\.5{
  gap: 0.375rem;
}
.gap-2{
  gap: 0.5rem;
}
.gap-20{
  gap: 5rem;
}
.gap-3{
  gap: 0.75rem;
}
.gap-4{
  gap: 1rem;
}
.gap-5{
  gap: 1.25rem;
}
.gap-6{
  gap: 1.5rem;
}
.gap-8{
  gap: 2rem;
}
.gap-x-4{
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.gap-x-6{
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}
.gap-x-8{
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}
.gap-y-2{
  row-gap: 0.5rem;
}
.space-x-1 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(0.25rem * var(--tw-space-x-reverse));
  margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-2 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(0.5rem * var(--tw-space-x-reverse));
  margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-3 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(0.75rem * var(--tw-space-x-reverse));
  margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-4 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(1rem * var(--tw-space-x-reverse));
  margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-8 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(2rem * var(--tw-space-x-reverse));
  margin-left: calc(2rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-y-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-2 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.space-y-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-7 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.75rem * 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-y-2 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-y-reverse: 0;
  border-top-width: calc(2px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(2px * var(--tw-divide-y-reverse));
}
.divide-dashed > :not([hidden]) ~ :not([hidden]){
  border-style: dashed;
}
.divide-base-900\/5 > :not([hidden]) ~ :not([hidden]){
  border-color: rgb(15 23 42 / 0.05);
}
.divide-white\/5 > :not([hidden]) ~ :not([hidden]){
  border-color: rgb(255 255 255 / 0.05);
}
.self-center{
  align-self: center;
}
.overflow-auto{
  overflow: auto;
}
.overflow-hidden{
  overflow: hidden;
}
.overflow-x-auto{
  overflow-x: auto;
}
.overflow-y-auto{
  overflow-y: auto;
}
.scroll-smooth{
  scroll-behavior: smooth;
}
.truncate{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.whitespace-nowrap{
  white-space: nowrap;
}
.text-wrap{
  text-wrap: wrap;
}
.break-words{
  overflow-wrap: break-word;
}
.rounded{
  border-radius: 0.25rem;
}
.rounded-full{
  border-radius: 9999px;
}
.rounded-lg{
  border-radius: 16px;
}
.rounded-md{
  border-radius: 12px;
}
.rounded-sm{
  border-radius: 8px;
}
.rounded-xl{
  border-radius: 24px;
}
.rounded-l-full{
  border-top-left-radius: 9999px;
  border-bottom-left-radius: 9999px;
}
.rounded-l-md{
  border-top-left-radius: 12px;
  border-bottom-left-radius: 12px;
}
.rounded-r-full{
  border-top-right-radius: 9999px;
  border-bottom-right-radius: 9999px;
}
.rounded-r-md{
  border-top-right-radius: 12px;
  border-bottom-right-radius: 12px;
}
.rounded-tl-lg{
  border-top-left-radius: 16px;
}
.border{
  border-width: 1px;
}
.border-0{
  border-width: 0px;
}
.border-2{
  border-width: 2px;
}
.border-4{
  border-width: 4px;
}
.border-b{
  border-bottom-width: 1px;
}
.border-b-2{
  border-bottom-width: 2px;
}
.border-l{
  border-left-width: 1px;
}
.border-l-4{
  border-left-width: 4px;
}
.border-t{
  border-top-width: 1px;
}
.border-t-4{
  border-top-width: 4px;
}
.border-solid{
  border-style: solid;
}
.border-dashed{
  border-style: dashed;
}
.border-\[color\:var\(--rs-primary-500\)\]{
  border-color: var(--rs-primary-500);
}
.border-\[color\:var\(--rs-primary-800\)\]{
  border-color: var(--rs-primary-800);
}
.border-\[var\(--rs-border-default\)\]{
  border-color: var(--rs-border-default);
}
.border-\[var\(--rs-border-strong\)\]{
  border-color: var(--rs-border-strong);
}
.border-\[var\(--rs-border-subtle\)\]{
  border-color: var(--rs-border-subtle);
}
.border-amber-200{
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
}
.border-base-200{
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
}
.border-base-300{
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}
.border-base-400{
  --tw-border-opacity: 1;
  border-color: rgb(148 163 184 / var(--tw-border-opacity, 1));
}
.border-base-900{
  --tw-border-opacity: 1;
  border-color: rgb(15 23 42 / var(--tw-border-opacity, 1));
}
.border-blue-500\/20{
  border-color: rgb(59 130 246 / 0.2);
}
.border-blue-600{
  --tw-border-opacity: 1;
  border-color: rgb(37 99 235 / var(--tw-border-opacity, 1));
}
.border-emerald-500\/30{
  border-color: rgb(16 185 129 / 0.3);
}
.border-fuchsia-500\/20{
  border-color: rgb(217 70 239 / 0.2);
}
.border-gray-200{
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}
.border-gray-300{
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.border-green-200{
  --tw-border-opacity: 1;
  border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));
}
.border-green-800{
  --tw-border-opacity: 1;
  border-color: rgb(22 101 52 / var(--tw-border-opacity, 1));
}
.border-indigo-200{
  --tw-border-opacity: 1;
  border-color: rgb(199 210 254 / var(--tw-border-opacity, 1));
}
.border-indigo-300{
  --tw-border-opacity: 1;
  border-color: rgb(165 180 252 / var(--tw-border-opacity, 1));
}
.border-indigo-400{
  --tw-border-opacity: 1;
  border-color: rgb(129 140 248 / var(--tw-border-opacity, 1));
}
.border-indigo-600{
  --tw-border-opacity: 1;
  border-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
}
.border-primary-300{
  border-color: var(--primary-300);
}
.border-primary-500{
  border-color: var(--primary-500);
}
.border-primary-600{
  border-color: var(--primary-600);
}
.border-red-200{
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
}
.border-red-500{
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}
.border-transparent{
  border-color: transparent;
}
.border-violet-500{
  --tw-border-opacity: 1;
  border-color: rgb(139 92 246 / var(--tw-border-opacity, 1));
}
.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\/5{
  border-color: rgb(255 255 255 / 0.05);
}
.border-zinc-700{
  --tw-border-opacity: 1;
  border-color: rgb(63 63 70 / var(--tw-border-opacity, 1));
}
.border-zinc-800{
  --tw-border-opacity: 1;
  border-color: rgb(39 39 42 / var(--tw-border-opacity, 1));
}
.border-l-primary-500{
  border-left-color: var(--primary-500);
}
.bg-\[color\:--code-editor-background\]{
  background-color: var(--code-editor-background);
}
.bg-\[color\:var\(--rs-error-bg\)\]{
  background-color: var(--rs-error-bg);
}
.bg-\[color\:var\(--rs-info-bg\)\]{
  background-color: var(--rs-info-bg);
}
.bg-\[color\:var\(--rs-primary-600\)\]{
  background-color: var(--rs-primary-600);
}
.bg-\[color\:var\(--rs-seat-reserved\)\]{
  background-color: var(--rs-seat-reserved);
}
.bg-\[color\:var\(--rs-seat-selected\)\]{
  background-color: var(--rs-seat-selected);
}
.bg-\[color\:var\(--rs-seat-sold\)\]{
  background-color: var(--rs-seat-sold);
}
.bg-\[color\:var\(--rs-success\)\]{
  background-color: var(--rs-success);
}
.bg-\[color\:var\(--rs-success-bg\)\]{
  background-color: var(--rs-success-bg);
}
.bg-\[var\(--rs-bg-primary\)\]{
  background-color: var(--rs-bg-primary);
}
.bg-\[var\(--rs-bg-secondary\)\]{
  background-color: var(--rs-bg-secondary);
}
.bg-\[var\(--rs-bg-tertiary\)\]{
  background-color: var(--rs-bg-tertiary);
}
.bg-\[var\(--rs-surface-2\)\]{
  background-color: var(--rs-surface-2);
}
.bg-\[var\(--rs-surface-4\)\]{
  background-color: var(--rs-surface-4);
}
.bg-amber-100{
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}
.bg-amber-50{
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}
.bg-amber-500{
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}
.bg-amber-500\/20{
  background-color: rgb(245 158 11 / 0.2);
}
.bg-base-100{
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}
.bg-base-200{
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}
.bg-base-300{
  --tw-bg-opacity: 1;
  background-color: rgb(203 213 225 / var(--tw-bg-opacity, 1));
}
.bg-base-50{
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}
.bg-base-800{
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}
.bg-black{
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.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-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\/20{
  background-color: rgb(59 130 246 / 0.2);
}
.bg-blue-600{
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}
.bg-blue-700{
  --tw-bg-opacity: 1;
  background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));
}
.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\/20{
  background-color: rgb(16 185 129 / 0.2);
}
.bg-fuchsia-500\/10{
  background-color: rgb(217 70 239 / 0.1);
}
.bg-gray-100{
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.bg-gray-200{
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}
.bg-gray-300{
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}
.bg-gray-400{
  --tw-bg-opacity: 1;
  background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
}
.bg-gray-50{
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.bg-gray-500{
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
}
.bg-gray-800{
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}
.bg-green-100{
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}
.bg-green-50{
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}
.bg-green-500{
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}
.bg-indigo-100{
  --tw-bg-opacity: 1;
  background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1));
}
.bg-indigo-200{
  --tw-bg-opacity: 1;
  background-color: rgb(199 210 254 / var(--tw-bg-opacity, 1));
}
.bg-indigo-300{
  --tw-bg-opacity: 1;
  background-color: rgb(165 180 252 / var(--tw-bg-opacity, 1));
}
.bg-indigo-500{
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}
.bg-indigo-600{
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}
.bg-indigo-800{
  --tw-bg-opacity: 1;
  background-color: rgb(55 48 163 / var(--tw-bg-opacity, 1));
}
.bg-primary-200{
  background-color: var(--primary-200);
}
.bg-primary-400{
  background-color: var(--primary-400);
}
.bg-primary-500{
  background-color: var(--primary-500);
}
.bg-primary-600{
  background-color: var(--primary-600);
}
.bg-primary-700{
  background-color: var(--primary-700);
}
.bg-primary-900{
  background-color: var(--primary-900);
}
.bg-purple-500{
  --tw-bg-opacity: 1;
  background-color: rgb(168 85 247 / var(--tw-bg-opacity, 1));
}
.bg-red-100{
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}
.bg-red-500{
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.bg-teal-500{
  --tw-bg-opacity: 1;
  background-color: rgb(20 184 166 / var(--tw-bg-opacity, 1));
}
.bg-transparent{
  background-color: transparent;
}
.bg-violet-500\/10{
  background-color: rgb(139 92 246 / 0.1);
}
.bg-violet-500\/20{
  background-color: rgb(139 92 246 / 0.2);
}
.bg-violet-600{
  --tw-bg-opacity: 1;
  background-color: rgb(124 58 237 / var(--tw-bg-opacity, 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-yellow-100{
  --tw-bg-opacity: 1;
  background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
}
.bg-yellow-50{
  --tw-bg-opacity: 1;
  background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));
}
.bg-yellow-500{
  --tw-bg-opacity: 1;
  background-color: rgb(234 179 8 / var(--tw-bg-opacity, 1));
}
.bg-zinc-800{
  --tw-bg-opacity: 1;
  background-color: rgb(39 39 42 / var(--tw-bg-opacity, 1));
}
.bg-zinc-800\/50{
  background-color: rgb(39 39 42 / 0.5);
}
.bg-zinc-900{
  --tw-bg-opacity: 1;
  background-color: rgb(24 24 27 / var(--tw-bg-opacity, 1));
}
.bg-zinc-900\/40{
  background-color: rgb(24 24 27 / 0.4);
}
.bg-zinc-900\/50{
  background-color: rgb(24 24 27 / 0.5);
}
.bg-zinc-900\/80{
  background-color: rgb(24 24 27 / 0.8);
}
.bg-zinc-950{
  --tw-bg-opacity: 1;
  background-color: rgb(9 9 11 / var(--tw-bg-opacity, 1));
}
.bg-opacity-75{
  --tw-bg-opacity: 0.75;
}
.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-r{
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.bg-gradient-to-t{
  background-image: linear-gradient(to top, var(--tw-gradient-stops));
}
.from-\[color\:var\(--rs-primary-900\)\]{
  --tw-gradient-from: var(--rs-primary-900) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[var\(--rs-bg-primary\)\]{
  --tw-gradient-from: var(--rs-bg-primary) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[var\(--rs-bg-tertiary\)\]{
  --tw-gradient-from: var(--rs-bg-tertiary) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-100{
  --tw-gradient-from: #e0e7ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(224 231 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-900{
  --tw-gradient-from: #312e81 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(49 46 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary-500{
  --tw-gradient-from: var(--primary-500) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary-700{
  --tw-gradient-from: var(--primary-700) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary-900{
  --tw-gradient-from: var(--primary-900) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-secondary-200{
  --tw-gradient-from: var(--secondary-200) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-400{
  --tw-gradient-from: #a78bfa var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(167 139 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-600\/40{
  --tw-gradient-from: rgb(124 58 237 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(124 58 237 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-900\/20{
  --tw-gradient-from: rgb(76 29 149 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(76 29 149 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-900\/50{
  --tw-gradient-from: rgb(76 29 149 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(76 29 149 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-white{
  --tw-gradient-from: #fff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-fuchsia-500\/30{
  --tw-gradient-to: rgb(217 70 239 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(217 70 239 / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-transparent{
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-\[color\:var\(--rs-primary-900\)\]{
  --tw-gradient-to: var(--rs-primary-900) var(--tw-gradient-to-position);
}
.to-\[var\(--rs-bg-primary\)\]{
  --tw-gradient-to: var(--rs-bg-primary) var(--tw-gradient-to-position);
}
.to-\[var\(--rs-bg-secondary\)\]{
  --tw-gradient-to: var(--rs-bg-secondary) var(--tw-gradient-to-position);
}
.to-black{
  --tw-gradient-to: #000 var(--tw-gradient-to-position);
}
.to-fuchsia-400{
  --tw-gradient-to: #e879f9 var(--tw-gradient-to-position);
}
.to-fuchsia-900\/50{
  --tw-gradient-to: rgb(112 26 117 / 0.5) var(--tw-gradient-to-position);
}
.to-indigo-200{
  --tw-gradient-to: #c7d2fe var(--tw-gradient-to-position);
}
.to-orange-400\/40{
  --tw-gradient-to: rgb(251 146 60 / 0.4) var(--tw-gradient-to-position);
}
.to-primary-400{
  --tw-gradient-to: var(--primary-400) var(--tw-gradient-to-position);
}
.to-primary-600{
  --tw-gradient-to: var(--primary-600) var(--tw-gradient-to-position);
}
.to-primary-800{
  --tw-gradient-to: var(--primary-800) var(--tw-gradient-to-position);
}
.to-purple-800{
  --tw-gradient-to: #6b21a8 var(--tw-gradient-to-position);
}
.to-transparent{
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.to-zinc-950{
  --tw-gradient-to: #09090b var(--tw-gradient-to-position);
}
.bg-clip-text{
  -webkit-background-clip: text;
          background-clip: text;
}
.fill-current{
  fill: currentColor;
}
.stroke-current{
  stroke: currentColor;
}
.object-cover{
  -o-object-fit: cover;
     object-fit: cover;
}
.p-0{
  padding: 0px;
}
.p-1{
  padding: 0.25rem;
}
.p-1\.5{
  padding: 0.375rem;
}
.p-2{
  padding: 0.5rem;
}
.p-2\.5{
  padding: 0.625rem;
}
.p-3{
  padding: 0.75rem;
}
.p-4{
  padding: 1rem;
}
.p-5{
  padding: 1.25rem;
}
.p-6{
  padding: 1.5rem;
}
.p-8{
  padding: 2rem;
}
.p-9{
  padding: 2.25rem;
}
.px-0{
  padding-left: 0px;
  padding-right: 0px;
}
.px-1{
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.px-10{
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}
.px-2{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-2\.5{
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
.px-3{
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-4{
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-5{
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.px-6{
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.px-7{
  padding-left: 1.75rem;
  padding-right: 1.75rem;
}
.px-8{
  padding-left: 2rem;
  padding-right: 2rem;
}
.py-0\.5{
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}
.py-1{
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-1\.5{
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
.py-10{
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.py-12{
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.py-16{
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.py-2{
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-2\.5{
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}
.py-20{
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.py-3{
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-4{
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-5{
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.py-6{
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.py-8{
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.pb-0\.5{
  padding-bottom: 0.125rem;
}
.pb-1{
  padding-bottom: 0.25rem;
}
.pb-2{
  padding-bottom: 0.5rem;
}
.pb-3{
  padding-bottom: 0.75rem;
}
.pb-3\.5{
  padding-bottom: 0.875rem;
}
.pb-4{
  padding-bottom: 1rem;
}
.pb-6{
  padding-bottom: 1.5rem;
}
.pb-7{
  padding-bottom: 1.75rem;
}
.pl-1{
  padding-left: 0.25rem;
}
.pl-11{
  padding-left: 2.75rem;
}
.pl-2{
  padding-left: 0.5rem;
}
.pl-3{
  padding-left: 0.75rem;
}
.pl-4{
  padding-left: 1rem;
}
.pl-5{
  padding-left: 1.25rem;
}
.pl-8{
  padding-left: 2rem;
}
.pr-0{
  padding-right: 0px;
}
.pr-1{
  padding-right: 0.25rem;
}
.pr-10{
  padding-right: 2.5rem;
}
.pr-2{
  padding-right: 0.5rem;
}
.pr-3{
  padding-right: 0.75rem;
}
.pr-3\.5{
  padding-right: 0.875rem;
}
.pr-4{
  padding-right: 1rem;
}
.pr-5{
  padding-right: 1.25rem;
}
.pr-8{
  padding-right: 2rem;
}
.pt-0{
  padding-top: 0px;
}
.pt-1{
  padding-top: 0.25rem;
}
.pt-1\.5{
  padding-top: 0.375rem;
}
.pt-2{
  padding-top: 0.5rem;
}
.pt-3{
  padding-top: 0.75rem;
}
.pt-4{
  padding-top: 1rem;
}
.pt-5{
  padding-top: 1.25rem;
}
.pt-6{
  padding-top: 1.5rem;
}
.pt-7{
  padding-top: 1.75rem;
}
.pt-8{
  padding-top: 2rem;
}
.text-left{
  text-align: left;
}
.text-center{
  text-align: center;
}
.text-right{
  text-align: right;
}
.font-mono{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.text-2xl{
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-2xs{
  font-size: 0.65rem;
  line-height: 0.9rem;
  letter-spacing: 1px;
}
.text-3xl{
  font-size: 1.875rem;
  line-height: 2.25rem;
}
.text-4xl{
  font-size: 2.25rem;
  line-height: 2.5rem;
}
.text-6xl{
  font-size: 3.75rem;
  line-height: 1;
}
.text-\[10px\]{
  font-size: 10px;
}
.text-base{
  font-size: 1rem;
  line-height: 1.5rem;
}
.text-lg{
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-sm{
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-xl{
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.text-xs{
  font-size: .81rem;
}
.font-bold{
  font-weight: 700;
}
.font-extrabold{
  font-weight: 800;
}
.font-extralight{
  font-weight: 200;
}
.font-light{
  font-weight: 300;
}
.font-medium{
  font-weight: 500;
}
.font-normal{
  font-weight: 400;
}
.font-semibold{
  font-weight: 600;
}
.uppercase{
  text-transform: uppercase;
}
.italic{
  font-style: italic;
}
.leading-4{
  line-height: 1rem;
}
.leading-5{
  line-height: 1.25rem;
}
.leading-6{
  line-height: 1.5rem;
}
.leading-none{
  line-height: 1;
}
.leading-normal{
  line-height: 1.5;
}
.leading-relaxed{
  line-height: 1.625;
}
.leading-tight{
  line-height: 1.25;
}
.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-\[color\:var\(--rs-accent-400\)\]{
  color: var(--rs-accent-400);
}
.text-\[color\:var\(--rs-error\)\]{
  color: var(--rs-error);
}
.text-\[color\:var\(--rs-info\)\]{
  color: var(--rs-info);
}
.text-\[color\:var\(--rs-primary-200\)\]{
  color: var(--rs-primary-200);
}
.text-\[color\:var\(--rs-primary-300\)\]{
  color: var(--rs-primary-300);
}
.text-\[color\:var\(--rs-primary-400\)\]{
  color: var(--rs-primary-400);
}
.text-\[color\:var\(--rs-primary-600\)\]{
  color: var(--rs-primary-600);
}
.text-\[color\:var\(--rs-success\)\]{
  color: var(--rs-success);
}
.text-\[color\:var\(--rs-text-muted\)\]{
  color: var(--rs-text-muted);
}
.text-\[color\:var\(--rs-text-primary\)\]{
  color: var(--rs-text-primary);
}
.text-\[color\:var\(--rs-text-secondary\)\]{
  color: var(--rs-text-secondary);
}
.text-\[color\:var\(--rs-text-tertiary\)\]{
  color: var(--rs-text-tertiary);
}
.text-\[color\:var\(--rs-warning\)\]{
  color: var(--rs-warning);
}
.text-amber-400{
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.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-base-300{
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}
.text-base-400{
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.text-base-50{
  --tw-text-opacity: 1;
  color: rgb(248 250 252 / var(--tw-text-opacity, 1));
}
.text-base-500{
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.text-base-600{
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}
.text-base-700{
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
.text-base-800{
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}
.text-black{
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
.text-blue-300\/70{
  color: rgb(147 197 253 / 0.7);
}
.text-blue-400{
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / 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-emerald-300{
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity, 1));
}
.text-emerald-400{
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.text-fuchsia-400{
  --tw-text-opacity: 1;
  color: rgb(232 121 249 / var(--tw-text-opacity, 1));
}
.text-fuchsia-500\/5{
  color: rgb(217 70 239 / 0.05);
}
.text-gray-400{
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
.text-gray-500{
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.text-gray-600{
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}
.text-gray-700{
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.text-gray-800{
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}
.text-gray-900{
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}
.text-green-400{
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / 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-300{
  --tw-text-opacity: 1;
  color: rgb(165 180 252 / var(--tw-text-opacity, 1));
}
.text-indigo-500{
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}
.text-indigo-600{
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}
.text-pink-600{
  --tw-text-opacity: 1;
  color: rgb(219 39 119 / var(--tw-text-opacity, 1));
}
.text-primary-400{
  color: var(--primary-400);
}
.text-primary-500{
  color: var(--primary-500);
}
.text-primary-600{
  color: var(--primary-600);
}
.text-purple-100{
  --tw-text-opacity: 1;
  color: rgb(243 232 255 / var(--tw-text-opacity, 1));
}
.text-purple-200{
  --tw-text-opacity: 1;
  color: rgb(233 213 255 / var(--tw-text-opacity, 1));
}
.text-purple-300{
  --tw-text-opacity: 1;
  color: rgb(216 180 254 / var(--tw-text-opacity, 1));
}
.text-red-400{
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / 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-900{
  --tw-text-opacity: 1;
  color: rgb(127 29 29 / var(--tw-text-opacity, 1));
}
.text-secondary-300{
  color: var(--secondary-300);
}
.text-secondary-500{
  color: var(--secondary-500);
}
.text-secondary-700{
  color: var(--secondary-700);
}
.text-slate-100{
  --tw-text-opacity: 1;
  color: rgb(241 245 249 / var(--tw-text-opacity, 1));
}
.text-slate-200{
  --tw-text-opacity: 1;
  color: rgb(226 232 240 / var(--tw-text-opacity, 1));
}
.text-slate-300{
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}
.text-slate-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-transparent{
  color: transparent;
}
.text-violet-300{
  --tw-text-opacity: 1;
  color: rgb(196 181 253 / var(--tw-text-opacity, 1));
}
.text-violet-400{
  --tw-text-opacity: 1;
  color: rgb(167 139 250 / var(--tw-text-opacity, 1));
}
.text-violet-400\/40{
  color: rgb(167 139 250 / 0.4);
}
.text-violet-400\/60{
  color: rgb(167 139 250 / 0.6);
}
.text-violet-500\/5{
  color: rgb(139 92 246 / 0.05);
}
.text-white{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-yellow-500{
  --tw-text-opacity: 1;
  color: rgb(234 179 8 / var(--tw-text-opacity, 1));
}
.text-yellow-600{
  --tw-text-opacity: 1;
  color: rgb(202 138 4 / var(--tw-text-opacity, 1));
}
.text-yellow-700{
  --tw-text-opacity: 1;
  color: rgb(161 98 7 / var(--tw-text-opacity, 1));
}
.underline{
  text-decoration-line: underline;
}
.line-through{
  text-decoration-line: line-through;
}
.no-underline{
  text-decoration-line: none;
}
.antialiased{
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.placeholder-red-500::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgb(239 68 68 / var(--tw-placeholder-opacity, 1));
}
.placeholder-red-500::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgb(239 68 68 / var(--tw-placeholder-opacity, 1));
}
.placeholder-slate-500::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgb(100 116 139 / var(--tw-placeholder-opacity, 1));
}
.placeholder-slate-500::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgb(100 116 139 / var(--tw-placeholder-opacity, 1));
}
.opacity-0{
  opacity: 0;
}
.opacity-100{
  opacity: 1;
}
.opacity-20{
  opacity: 0.2;
}
.opacity-25{
  opacity: 0.25;
}
.opacity-30{
  opacity: 0.3;
}
.opacity-40{
  opacity: 0.4;
}
.opacity-50{
  opacity: 0.5;
}
.opacity-60{
  opacity: 0.6;
}
.opacity-70{
  opacity: 0.7;
}
.opacity-75{
  opacity: 0.75;
}
.opacity-80{
  opacity: 0.8;
}
.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-inner{
  --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg{
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-md{
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-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-base-900{
  --tw-shadow-color: #0f172a;
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-gray-500{
  --tw-shadow-color: #6b7280;
  --tw-shadow: var(--tw-shadow-colored);
}
.outline-none{
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.outline{
  outline-style: solid;
}
.ring{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-1{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-2{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-4{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-\[color\:var\(--rs-primary-500\)\]{
  --tw-ring-color: var(--rs-primary-500);
}
.ring-\[var\(--rs-border-default\)\]{
  --tw-ring-color: var(--rs-border-default);
}
.ring-\[var\(--rs-border-strong\)\]{
  --tw-ring-color: var(--rs-border-strong);
}
.ring-blue-300{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(147 197 253 / var(--tw-ring-opacity, 1));
}
.ring-indigo-500{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity, 1));
}
.ring-primary-500{
  --tw-ring-color: var(--primary-500);
}
.ring-violet-500\/30{
  --tw-ring-color: rgb(139 92 246 / 0.3);
}
.ring-white{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1));
}
.ring-white\/10{
  --tw-ring-color: rgb(255 255 255 / 0.1);
}
.ring-white\/5{
  --tw-ring-color: rgb(255 255 255 / 0.05);
}
.ring-zinc-950{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(9 9 11 / var(--tw-ring-opacity, 1));
}
.ring-opacity-75{
  --tw-ring-opacity: 0.75;
}
.ring-offset-2{
  --tw-ring-offset-width: 2px;
}
.blur{
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-3xl{
  --tw-blur: blur(64px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-sm{
  --tw-blur: blur(4px);
  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-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-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-all{
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-colors{
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-opacity{
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-shadow{
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-transform{
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.duration-1000{
  transition-duration: 1000ms;
}
.duration-150{
  transition-duration: 150ms;
}
.duration-200{
  transition-duration: 200ms;
}
.duration-300{
  transition-duration: 300ms;
}
.duration-500{
  transition-duration: 500ms;
}
.ease-in-out{
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-linear{
  transition-timing-function: linear;
}
.ease-out{
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
  .background-fade-container {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 100vw;
    max-width: 100vw;
    overflow: hidden;
    z-index: -1;
  }
    .background-fade:before {
      content: "";
      position: absolute;
      z-index: 1;
      background-color: var(--primary-200);
      background-image: linear-gradient(to right, var(--tw-gradient-stops));
      --tw-gradient-from: #fff var(--tw-gradient-from-position);
      --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
      --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}
    .background-fade{

    position: absolute;
    top: 0px;
    transform: translate(-360px, 0px) rotate(-45deg);
    z-index: -1;
    background-color: var(--primary-400);
    background-image: linear-gradient(to right, var(--tw-gradient-stops));
    --tw-gradient-from: #fff var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
    .medium-fade:before {
      right: -40px;
      top: -200px;
      width: 1000px;
      height: 600px;
    }
    .medium-fade{

    right: -800px;
    width: 800px;
    height: 600px;
}
    .large-fade:before {
      right: -0px;
      top: -200px;
      width: 1500px;
      height: 800px;
    }
    .large-fade{

    right: -700px;
    width: 1000px;
    height: 800px;
}
  .pricing-table-shadow {
    box-shadow: 0 2px 30px 0 rgba(54,88,206,0.2);
  }

  .pricing-page-background {
    background-image: linear-gradient(to bottom, #f8faff, #fff);
  }

  .brand-title {
    color: #047bf8;
    font-size: 2.99rem;
    margin: 30px 0px;
    margin-top: 10px;
    position: relative;
    letter-spacing: -0.025em;
    line-height: 120%;
    font-weight: 700;
  }

  .brand-description {
    color: #868686;
    font-size: 1.2rem;
    line-height: 1.5;
    font-weight: 200;
  }

  .text-light-gradient {
    -webkit-background-clip: text;
    -webkit-box-decoration-break: clone;
    -webkit-font-smoothing: subpixel-antialiased;
    -webkit-text-fill-color: rgba(0,0,0,0);
    background-attachment: scroll;
    background-clip: text;
    background-color: rgba(0,0,0,0);
    --tw-bg-opacity: 1;
    background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
    background-image: linear-gradient(to right, var(--tw-gradient-stops));
    --tw-gradient-from: var(--primary-500) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}
  .reveal {
    transition-property: opacity, transform;
    --tw-translate-y: 1.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    opacity: 0;
    transition-timing-function: cubic-bezier(0, 0, 0.2, 1)}

  .reveal-from-left{
  --tw-translate-y: 0px;
  --tw-translate-x: -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));
}

  .reveal.in{
  transform: none;
  opacity: 1;
  transition-duration: 1000ms;
}
  .space-y > :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-x > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(0.75rem * var(--tw-space-x-reverse));
  margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
}

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

  .gap-x{
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
 
  [hidden] {
    display: none !important;
  }
    /**
     * Custom components
     **/
    /* Color picker */
    .dark .pcr-app{
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(15 23 42 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}

      .dark .pcr-app .pcr-interaction .pcr-result{
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(15 23 42 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}

        .dark .pcr-app .pcr-interaction .pcr-result:focus {
          box-shadow: 0 0 0 1px var(--primary-500), 0 0 0 3px var(--primary-500);
        }

    /* Date range picker */
    .dark .daterangepicker{
  --tw-border-opacity: 1;
  border-color: rgb(15 23 42 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}

      .dark .daterangepicker::before {
        border-bottom-color: #0f172a;
      }

      .dark .daterangepicker::after {
        border-bottom-color: #1e293b;
      }

      .dark .daterangepicker .calendar-table{
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}

        /* navigation arrows */
          .dark .daterangepicker .calendar-table .available span{
  border-color: var(--primary-500);
}

      /* Clear and Apply buttons wrapper */
      .dark .daterangepicker .drp-buttons {
        border-top-color: #0f172a;
        --tw-text-opacity: 1;
        color: rgb(203 213 225 / var(--tw-text-opacity, 1));
      }
        .dark .daterangepicker th.available:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(71 85 105 / var(--tw-bg-opacity, 1));
}
        .dark .daterangepicker td.off{
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

        .dark .daterangepicker td.available:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(71 85 105 / var(--tw-bg-opacity, 1));
}

      .dark .daterangepicker .hourselect, .dark .daterangepicker .minuteselect, .dark .daterangepicker .ampmselect{
  --tw-border-opacity: 1 !important;
  border-color: rgb(15 23 42 / var(--tw-border-opacity, 1)) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1)) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1)) !important;
}

    /* Phone field */
    .dark .iti__country-list{
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(15 23 42 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}

    /* Select2 */
      .dark .select2-container .select2-selection__rendered{
  --tw-text-opacity: 1 !important;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1)) !important;
}

      .dark .select2-container .select2-dropdown{
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}

      .dark .select2-container .select2-search__field{
  --tw-border-opacity: 1 !important;
  border-color: rgb(15 23 42 / var(--tw-border-opacity, 1)) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1)) !important;
}

      .dark .select2-container .select2-selection--multiple, .dark .select2-container .select2-selection--single{
  --tw-border-opacity: 1 !important;
  border-color: rgb(15 23 42 / var(--tw-border-opacity, 1)) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1)) !important;
}

      .dark .select2-container .select2-selection--multiple:focus, .dark .select2-container .select2-selection--single:focus{
  --tw-ring-color: var(--primary-500) !important;
}

      .dark .select2-container .select2-selection--multiple, .dark .select2-container .select2-selection--single{
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}

      /* For the selected options in the multiple select2 component */
      .dark .select2-container .select2-selection__choice{
  border-color: var(--primary-500) !important;
  background-color: var(--primary-500) !important;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

        .dark .select2-container .select2-selection__choice .select2-selection__choice__remove{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

          .dark .select2-container .select2-selection__choice .select2-selection__choice__remove:hover{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

      .dark .select2-container .select2-results__option{
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}

    /* Trix Editor */
    .dark trix-editor{
  --tw-border-opacity: 1 !important;
  border-color: rgb(15 23 42 / var(--tw-border-opacity, 1)) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1)) !important;
}

      .dark trix-editor:focus, .dark trix-editor:active{
  border-color: var(--primary-500) !important;
}

    .dark trix-toolbar{
  opacity: 0.5 !important;
}

      .dark trix-toolbar.visible{
  opacity: 1 !important;
}

      .dark trix-toolbar .trix-button-group, .dark trix-toolbar .trix-button{
  --tw-border-opacity: 1 !important;
  border-color: rgb(148 163 184 / var(--tw-border-opacity, 1)) !important;
}

      .dark trix-toolbar .trix-button:disabled::before{
  opacity: 0.25;
}

      .dark trix-toolbar .trix-dialog{
  --tw-border-opacity: 1 !important;
  border-color: rgb(15 23 42 / var(--tw-border-opacity, 1)) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1)) !important;
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1) !important;
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color) !important;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
  --tw-shadow-color: #0f172a !important;
  --tw-shadow: var(--tw-shadow-colored) !important;
}

        .dark trix-toolbar .trix-dialog .trix-button--dialog{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

        .dark trix-toolbar .trix-dialog .trix-input--dialog{
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}

        .dark trix-toolbar .trix-dialog .trix-input--dialog:focus{
  border-color: var(--primary-500);
  --tw-ring-color: var(--primary-500);
}

        .dark trix-toolbar .trix-dialog .trix-input--dialog:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}
      .dark .tribute-container ul{
  --tw-border-opacity: 1 !important;
  border-color: rgb(15 23 42 / var(--tw-border-opacity, 1)) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1)) !important;
}

    .dark .trix-dialogs{
  --tw-border-opacity: 1 !important;
  border-color: rgb(15 23 42 / var(--tw-border-opacity, 1)) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1)) !important;
}

    .dark .trix-content a[href^="bullettrain://"]{
  --tw-bg-opacity: 1;
  background-color: rgb(100 116 139 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

    /* CKEditor */
    .dark .ck {
      --ck-color-base-background: #1e293b;
      --ck-color-base-border: #0f172a;
      --ck-color-toolbar-background: #1e293b;
      --ck-color-toolbar-border: #0f172a;
      --ck-color-text: #cbd5e1;
    }

      .dark .ck .ck-editor__editable:not(.ck-editor__nested-editable){
  --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);
}

        .dark .ck .ck-editor__editable:not(.ck-editor__nested-editable).ck-focused{
  --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);
}
.\[--code-editor-background\:theme\(\'colors\.base\.50\'\)\]{
  --code-editor-background: #f8fafc;
}
/* 
 * Refer to the stimulus-scroll-reveal documentation for details.
 * https://www.stimulus-components.com/docs/stimulus-scroll-reveal/
 */
:root, .theme-blue {
  --primary-50: #eff6ff;
  --primary-100: #dbeafe;
  --primary-200: #bfdbfe;
  --primary-300: #93c5fd;
  --primary-400: #60a5fa;
  --primary-500: #3b82f6;
  --primary-600: #2563eb;
  --primary-700: #1d4ed8;
  --primary-800: #1e40af;
  --primary-900: #1e3a8a;

  --secondary-50: #eff6ff;
  --secondary-100: #dbeafe;
  --secondary-200: #bfdbfe;
  --secondary-300: #93c5fd;
  --secondary-400: #60a5fa;
  --secondary-500: #3b82f6;
  --secondary-600: #2563eb;
  --secondary-700: #1d4ed8;
  --secondary-800: #1e40af;
  --secondary-900: #1e3a8a;
}
.theme-slate {
  --primary-50: #f8fafc;
  --primary-100: #f1f5f9;
  --primary-200: #e2e8f0;
  --primary-300: #cbd5e1;
  --primary-400: #94a3b8;
  --primary-500: #64748b;
  --primary-600: #475569;
  --primary-700: #334155;
  --primary-800: #1e293b;
  --primary-900: #0f172a;

  --secondary-50: #f8fafc;
  --secondary-100: #f1f5f9;
  --secondary-200: #e2e8f0;
  --secondary-300: #cbd5e1;
  --secondary-400: #94a3b8;
  --secondary-500: #64748b;
  --secondary-600: #475569;
  --secondary-700: #334155;
  --secondary-800: #1e293b;
  --secondary-900: #0f172a;
}
.theme-gray {
  --primary-50: #f8fafc;
  --primary-100: #f1f5f9;
  --primary-200: #e2e8f0;
  --primary-300: #cbd5e1;
  --primary-400: #94a3b8;
  --primary-500: #64748b;
  --primary-600: #475569;
  --primary-700: #334155;
  --primary-800: #1e293b;
  --primary-900: #0f172a;

  --secondary-50: #f8fafc;
  --secondary-100: #f1f5f9;
  --secondary-200: #e2e8f0;
  --secondary-300: #cbd5e1;
  --secondary-400: #94a3b8;
  --secondary-500: #64748b;
  --secondary-600: #475569;
  --secondary-700: #334155;
  --secondary-800: #1e293b;
  --secondary-900: #0f172a;
}
.theme-zinc {
  --primary-50: #fafafa;
  --primary-100: #f4f4f5;
  --primary-200: #e4e4e7;
  --primary-300: #d4d4d8;
  --primary-400: #a1a1aa;
  --primary-500: #71717a;
  --primary-600: #52525b;
  --primary-700: #3f3f46;
  --primary-800: #27272a;
  --primary-900: #18181b;

  --secondary-50: #fafafa;
  --secondary-100: #f4f4f5;
  --secondary-200: #e4e4e7;
  --secondary-300: #d4d4d8;
  --secondary-400: #a1a1aa;
  --secondary-500: #71717a;
  --secondary-600: #52525b;
  --secondary-700: #3f3f46;
  --secondary-800: #27272a;
  --secondary-900: #18181b;
}
.theme-neutral {
  --primary-50: #fafafa;
  --primary-100: #f5f5f5;
  --primary-200: #e5e5e5;
  --primary-300: #d4d4d4;
  --primary-400: #a3a3a3;
  --primary-500: #737373;
  --primary-600: #525252;
  --primary-700: #404040;
  --primary-800: #262626;
  --primary-900: #171717;

  --secondary-50: #fafafa;
  --secondary-100: #f5f5f5;
  --secondary-200: #e5e5e5;
  --secondary-300: #d4d4d4;
  --secondary-400: #a3a3a3;
  --secondary-500: #737373;
  --secondary-600: #525252;
  --secondary-700: #404040;
  --secondary-800: #262626;
  --secondary-900: #171717;
}
.theme-stone {
  --primary-50: #fafaf9;
  --primary-100: #f5f5f4;
  --primary-200: #e7e5e4;
  --primary-300: #d6d3d1;
  --primary-400: #a8a29e;
  --primary-500: #78716c;
  --primary-600: #57534e;
  --primary-700: #44403c;
  --primary-800: #292524;
  --primary-900: #1c1917;

  --secondary-50: #fafaf9;
  --secondary-100: #f5f5f4;
  --secondary-200: #e7e5e4;
  --secondary-300: #d6d3d1;
  --secondary-400: #a8a29e;
  --secondary-500: #78716c;
  --secondary-600: #57534e;
  --secondary-700: #44403c;
  --secondary-800: #292524;
  --secondary-900: #1c1917;
}
.theme-red {
  --primary-50: #fef2f2;
  --primary-100: #fee2e2;
  --primary-200: #fecaca;
  --primary-300: #fca5a5;
  --primary-400: #f87171;
  --primary-500: #ef4444;
  --primary-600: #dc2626;
  --primary-700: #b91c1c;
  --primary-800: #991b1b;
  --primary-900: #7f1d1d;

  --secondary-50: #fef2f2;
  --secondary-100: #fee2e2;
  --secondary-200: #fecaca;
  --secondary-300: #fca5a5;
  --secondary-400: #f87171;
  --secondary-500: #ef4444;
  --secondary-600: #dc2626;
  --secondary-700: #b91c1c;
  --secondary-800: #991b1b;
  --secondary-900: #7f1d1d;
}
.theme-orange {
  --primary-50: #fff7ed;
  --primary-100: #ffedd5;
  --primary-200: #fed7aa;
  --primary-300: #fdba74;
  --primary-400: #fb923c;
  --primary-500: #f97316;
  --primary-600: #ea580c;
  --primary-700: #c2410c;
  --primary-800: #9a3412;
  --primary-900: #7c2d12;

  --secondary-50: #fff7ed;
  --secondary-100: #ffedd5;
  --secondary-200: #fed7aa;
  --secondary-300: #fdba74;
  --secondary-400: #fb923c;
  --secondary-500: #f97316;
  --secondary-600: #ea580c;
  --secondary-700: #c2410c;
  --secondary-800: #9a3412;
  --secondary-900: #7c2d12;
}
.theme-amber {
  --primary-50: #fffbeb;
  --primary-100: #fef3c7;
  --primary-200: #fde68a;
  --primary-300: #fcd34d;
  --primary-400: #fbbf24;
  --primary-500: #f59e0b;
  --primary-600: #d97706;
  --primary-700: #b45309;
  --primary-800: #92400e;
  --primary-900: #78350f;

  --secondary-50: #fffbeb;
  --secondary-100: #fef3c7;
  --secondary-200: #fde68a;
  --secondary-300: #fcd34d;
  --secondary-400: #fbbf24;
  --secondary-500: #f59e0b;
  --secondary-600: #d97706;
  --secondary-700: #b45309;
  --secondary-800: #92400e;
  --secondary-900: #78350f;
}
.theme-yellow {
  --primary-50: #fefce8;
  --primary-100: #fef9c3;
  --primary-200: #fef08a;
  --primary-300: #fde047;
  --primary-400: #facc15;
  --primary-500: #eab308;
  --primary-600: #ca8a04;
  --primary-700: #a16207;
  --primary-800: #854d0e;
  --primary-900: #713f12;

  --secondary-50: #fefce8;
  --secondary-100: #fef9c3;
  --secondary-200: #fef08a;
  --secondary-300: #fde047;
  --secondary-400: #facc15;
  --secondary-500: #eab308;
  --secondary-600: #ca8a04;
  --secondary-700: #a16207;
  --secondary-800: #854d0e;
  --secondary-900: #713f12;
}
.theme-lime {
  --primary-50: #f7fee7;
  --primary-100: #ecfccb;
  --primary-200: #d9f99d;
  --primary-300: #bef264;
  --primary-400: #a3e635;
  --primary-500: #84cc16;
  --primary-600: #65a30d;
  --primary-700: #4d7c0f;
  --primary-800: #3f6212;
  --primary-900: #365314;

  --secondary-50: #f7fee7;
  --secondary-100: #ecfccb;
  --secondary-200: #d9f99d;
  --secondary-300: #bef264;
  --secondary-400: #a3e635;
  --secondary-500: #84cc16;
  --secondary-600: #65a30d;
  --secondary-700: #4d7c0f;
  --secondary-800: #3f6212;
  --secondary-900: #365314;
}
.theme-green {
  --primary-50: #f0fdf4;
  --primary-100: #dcfce7;
  --primary-200: #bbf7d0;
  --primary-300: #86efac;
  --primary-400: #4ade80;
  --primary-500: #22c55e;
  --primary-600: #16a34a;
  --primary-700: #15803d;
  --primary-800: #166534;
  --primary-900: #14532d;

  --secondary-50: #f0fdf4;
  --secondary-100: #dcfce7;
  --secondary-200: #bbf7d0;
  --secondary-300: #86efac;
  --secondary-400: #4ade80;
  --secondary-500: #22c55e;
  --secondary-600: #16a34a;
  --secondary-700: #15803d;
  --secondary-800: #166534;
  --secondary-900: #14532d;
}
.theme-emerald {
  --primary-50: #ecfdf5;
  --primary-100: #d1fae5;
  --primary-200: #a7f3d0;
  --primary-300: #6ee7b7;
  --primary-400: #34d399;
  --primary-500: #10b981;
  --primary-600: #059669;
  --primary-700: #047857;
  --primary-800: #065f46;
  --primary-900: #064e3b;

  --secondary-50: #ecfdf5;
  --secondary-100: #d1fae5;
  --secondary-200: #a7f3d0;
  --secondary-300: #6ee7b7;
  --secondary-400: #34d399;
  --secondary-500: #10b981;
  --secondary-600: #059669;
  --secondary-700: #047857;
  --secondary-800: #065f46;
  --secondary-900: #064e3b;
}
.theme-teal {
  --primary-50: #f0fdfa;
  --primary-100: #ccfbf1;
  --primary-200: #99f6e4;
  --primary-300: #5eead4;
  --primary-400: #2dd4bf;
  --primary-500: #14b8a6;
  --primary-600: #0d9488;
  --primary-700: #0f766e;
  --primary-800: #115e59;
  --primary-900: #134e4a;

  --secondary-50: #f0fdfa;
  --secondary-100: #ccfbf1;
  --secondary-200: #99f6e4;
  --secondary-300: #5eead4;
  --secondary-400: #2dd4bf;
  --secondary-500: #14b8a6;
  --secondary-600: #0d9488;
  --secondary-700: #0f766e;
  --secondary-800: #115e59;
  --secondary-900: #134e4a;
}
.theme-cyan {
  --primary-50: #ecfeff;
  --primary-100: #cffafe;
  --primary-200: #a5f3fc;
  --primary-300: #67e8f9;
  --primary-400: #22d3ee;
  --primary-500: #06b6d4;
  --primary-600: #0891b2;
  --primary-700: #0e7490;
  --primary-800: #155e75;
  --primary-900: #164e63;

  --secondary-50: #ecfeff;
  --secondary-100: #cffafe;
  --secondary-200: #a5f3fc;
  --secondary-300: #67e8f9;
  --secondary-400: #22d3ee;
  --secondary-500: #06b6d4;
  --secondary-600: #0891b2;
  --secondary-700: #0e7490;
  --secondary-800: #155e75;
  --secondary-900: #164e63;
}
.theme-sky {
  --primary-50: #f0f9ff;
  --primary-100: #e0f2fe;
  --primary-200: #bae6fd;
  --primary-300: #7dd3fc;
  --primary-400: #38bdf8;
  --primary-500: #0ea5e9;
  --primary-600: #0284c7;
  --primary-700: #0369a1;
  --primary-800: #075985;
  --primary-900: #0c4a6e;

  --secondary-50: #f0f9ff;
  --secondary-100: #e0f2fe;
  --secondary-200: #bae6fd;
  --secondary-300: #7dd3fc;
  --secondary-400: #38bdf8;
  --secondary-500: #0ea5e9;
  --secondary-600: #0284c7;
  --secondary-700: #0369a1;
  --secondary-800: #075985;
  --secondary-900: #0c4a6e;
}
.theme-indigo {
  --primary-50: #eef2ff;
  --primary-100: #e0e7ff;
  --primary-200: #c7d2fe;
  --primary-300: #a5b4fc;
  --primary-400: #818cf8;
  --primary-500: #6366f1;
  --primary-600: #4f46e5;
  --primary-700: #4338ca;
  --primary-800: #3730a3;
  --primary-900: #312e81;

  --secondary-50: #eef2ff;
  --secondary-100: #e0e7ff;
  --secondary-200: #c7d2fe;
  --secondary-300: #a5b4fc;
  --secondary-400: #818cf8;
  --secondary-500: #6366f1;
  --secondary-600: #4f46e5;
  --secondary-700: #4338ca;
  --secondary-800: #3730a3;
  --secondary-900: #312e81;
}
.theme-violet {
  --primary-50: #f5f3ff;
  --primary-100: #ede9fe;
  --primary-200: #ddd6fe;
  --primary-300: #c4b5fd;
  --primary-400: #a78bfa;
  --primary-500: #8b5cf6;
  --primary-600: #7c3aed;
  --primary-700: #6d28d9;
  --primary-800: #5b21b6;
  --primary-900: #4c1d95;

  --secondary-50: #f5f3ff;
  --secondary-100: #ede9fe;
  --secondary-200: #ddd6fe;
  --secondary-300: #c4b5fd;
  --secondary-400: #a78bfa;
  --secondary-500: #8b5cf6;
  --secondary-600: #7c3aed;
  --secondary-700: #6d28d9;
  --secondary-800: #5b21b6;
  --secondary-900: #4c1d95;
}
.theme-purple {
  --primary-50: #faf5ff;
  --primary-100: #f3e8ff;
  --primary-200: #e9d5ff;
  --primary-300: #d8b4fe;
  --primary-400: #c084fc;
  --primary-500: #a855f7;
  --primary-600: #9333ea;
  --primary-700: #7e22ce;
  --primary-800: #6b21a8;
  --primary-900: #581c87;

  --secondary-50: #faf5ff;
  --secondary-100: #f3e8ff;
  --secondary-200: #e9d5ff;
  --secondary-300: #d8b4fe;
  --secondary-400: #c084fc;
  --secondary-500: #a855f7;
  --secondary-600: #9333ea;
  --secondary-700: #7e22ce;
  --secondary-800: #6b21a8;
  --secondary-900: #581c87;
}
.theme-fuchsia {
  --primary-50: #fdf4ff;
  --primary-100: #fae8ff;
  --primary-200: #f5d0fe;
  --primary-300: #f0abfc;
  --primary-400: #e879f9;
  --primary-500: #d946ef;
  --primary-600: #c026d3;
  --primary-700: #a21caf;
  --primary-800: #86198f;
  --primary-900: #701a75;

  --secondary-50: #fdf4ff;
  --secondary-100: #fae8ff;
  --secondary-200: #f5d0fe;
  --secondary-300: #f0abfc;
  --secondary-400: #e879f9;
  --secondary-500: #d946ef;
  --secondary-600: #c026d3;
  --secondary-700: #a21caf;
  --secondary-800: #86198f;
  --secondary-900: #701a75;
}
.theme-pink {
  --primary-50: #fdf2f8;
  --primary-100: #fce7f3;
  --primary-200: #fbcfe8;
  --primary-300: #f9a8d4;
  --primary-400: #f472b6;
  --primary-500: #ec4899;
  --primary-600: #db2777;
  --primary-700: #be185d;
  --primary-800: #9d174d;
  --primary-900: #831843;

  --secondary-50: #fdf2f8;
  --secondary-100: #fce7f3;
  --secondary-200: #fbcfe8;
  --secondary-300: #f9a8d4;
  --secondary-400: #f472b6;
  --secondary-500: #ec4899;
  --secondary-600: #db2777;
  --secondary-700: #be185d;
  --secondary-800: #9d174d;
  --secondary-900: #831843;
}
.theme-rose {
  --primary-50: #fff1f2;
  --primary-100: #ffe4e6;
  --primary-200: #fecdd3;
  --primary-300: #fda4af;
  --primary-400: #fb7185;
  --primary-500: #f43f5e;
  --primary-600: #e11d48;
  --primary-700: #be123c;
  --primary-800: #9f1239;
  --primary-900: #881337;

  --secondary-50: #fff1f2;
  --secondary-100: #ffe4e6;
  --secondary-200: #fecdd3;
  --secondary-300: #fda4af;
  --secondary-400: #fb7185;
  --secondary-500: #f43f5e;
  --secondary-600: #e11d48;
  --secondary-700: #be123c;
  --secondary-800: #9f1239;
  --secondary-900: #881337;
}

.theme-secondary-blue {
  --secondary-50: #eff6ff;
  --secondary-100: #dbeafe;
  --secondary-200: #bfdbfe;
  --secondary-300: #93c5fd;
  --secondary-400: #60a5fa;
  --secondary-500: #3b82f6;
  --secondary-600: #2563eb;
  --secondary-700: #1d4ed8;
  --secondary-800: #1e40af;
  --secondary-900: #1e3a8a;
}
.theme-secondary-slate {
  --secondary-50: #f8fafc;
  --secondary-100: #f1f5f9;
  --secondary-200: #e2e8f0;
  --secondary-300: #cbd5e1;
  --secondary-400: #94a3b8;
  --secondary-500: #64748b;
  --secondary-600: #475569;
  --secondary-700: #334155;
  --secondary-800: #1e293b;
  --secondary-900: #0f172a;
}
.theme-secondary-gray {
  --secondary-50: #f8fafc;
  --secondary-100: #f1f5f9;
  --secondary-200: #e2e8f0;
  --secondary-300: #cbd5e1;
  --secondary-400: #94a3b8;
  --secondary-500: #64748b;
  --secondary-600: #475569;
  --secondary-700: #334155;
  --secondary-800: #1e293b;
  --secondary-900: #0f172a;
}
.theme-secondary-zinc {
  --secondary-50: #fafafa;
  --secondary-100: #f4f4f5;
  --secondary-200: #e4e4e7;
  --secondary-300: #d4d4d8;
  --secondary-400: #a1a1aa;
  --secondary-500: #71717a;
  --secondary-600: #52525b;
  --secondary-700: #3f3f46;
  --secondary-800: #27272a;
  --secondary-900: #18181b;
}
.theme-secondary-neutral {
  --secondary-50: #fafafa;
  --secondary-100: #f5f5f5;
  --secondary-200: #e5e5e5;
  --secondary-300: #d4d4d4;
  --secondary-400: #a3a3a3;
  --secondary-500: #737373;
  --secondary-600: #525252;
  --secondary-700: #404040;
  --secondary-800: #262626;
  --secondary-900: #171717;
}
.theme-secondary-stone {
  --secondary-50: #fafaf9;
  --secondary-100: #f5f5f4;
  --secondary-200: #e7e5e4;
  --secondary-300: #d6d3d1;
  --secondary-400: #a8a29e;
  --secondary-500: #78716c;
  --secondary-600: #57534e;
  --secondary-700: #44403c;
  --secondary-800: #292524;
  --secondary-900: #1c1917;
}
.theme-secondary-red {
  --secondary-50: #fef2f2;
  --secondary-100: #fee2e2;
  --secondary-200: #fecaca;
  --secondary-300: #fca5a5;
  --secondary-400: #f87171;
  --secondary-500: #ef4444;
  --secondary-600: #dc2626;
  --secondary-700: #b91c1c;
  --secondary-800: #991b1b;
  --secondary-900: #7f1d1d;
}
.theme-secondary-orange {
  --secondary-50: #fff7ed;
  --secondary-100: #ffedd5;
  --secondary-200: #fed7aa;
  --secondary-300: #fdba74;
  --secondary-400: #fb923c;
  --secondary-500: #f97316;
  --secondary-600: #ea580c;
  --secondary-700: #c2410c;
  --secondary-800: #9a3412;
  --secondary-900: #7c2d12;
}
.theme-secondary-amber {
  --secondary-50: #fffbeb;
  --secondary-100: #fef3c7;
  --secondary-200: #fde68a;
  --secondary-300: #fcd34d;
  --secondary-400: #fbbf24;
  --secondary-500: #f59e0b;
  --secondary-600: #d97706;
  --secondary-700: #b45309;
  --secondary-800: #92400e;
  --secondary-900: #78350f;
}
.theme-secondary-yellow {
  --secondary-50: #fefce8;
  --secondary-100: #fef9c3;
  --secondary-200: #fef08a;
  --secondary-300: #fde047;
  --secondary-400: #facc15;
  --secondary-500: #eab308;
  --secondary-600: #ca8a04;
  --secondary-700: #a16207;
  --secondary-800: #854d0e;
  --secondary-900: #713f12;
}
.theme-secondary-lime {
  --secondary-50: #f7fee7;
  --secondary-100: #ecfccb;
  --secondary-200: #d9f99d;
  --secondary-300: #bef264;
  --secondary-400: #a3e635;
  --secondary-500: #84cc16;
  --secondary-600: #65a30d;
  --secondary-700: #4d7c0f;
  --secondary-800: #3f6212;
  --secondary-900: #365314;
}
.theme-secondary-green {
  --secondary-50: #f0fdf4;
  --secondary-100: #dcfce7;
  --secondary-200: #bbf7d0;
  --secondary-300: #86efac;
  --secondary-400: #4ade80;
  --secondary-500: #22c55e;
  --secondary-600: #16a34a;
  --secondary-700: #15803d;
  --secondary-800: #166534;
  --secondary-900: #14532d;
}
.theme-secondary-emerald {
  --secondary-50: #ecfdf5;
  --secondary-100: #d1fae5;
  --secondary-200: #a7f3d0;
  --secondary-300: #6ee7b7;
  --secondary-400: #34d399;
  --secondary-500: #10b981;
  --secondary-600: #059669;
  --secondary-700: #047857;
  --secondary-800: #065f46;
  --secondary-900: #064e3b;
}
.theme-secondary-teal {
  --secondary-50: #f0fdfa;
  --secondary-100: #ccfbf1;
  --secondary-200: #99f6e4;
  --secondary-300: #5eead4;
  --secondary-400: #2dd4bf;
  --secondary-500: #14b8a6;
  --secondary-600: #0d9488;
  --secondary-700: #0f766e;
  --secondary-800: #115e59;
  --secondary-900: #134e4a;
}
.theme-secondary-cyan {
  --secondary-50: #ecfeff;
  --secondary-100: #cffafe;
  --secondary-200: #a5f3fc;
  --secondary-300: #67e8f9;
  --secondary-400: #22d3ee;
  --secondary-500: #06b6d4;
  --secondary-600: #0891b2;
  --secondary-700: #0e7490;
  --secondary-800: #155e75;
  --secondary-900: #164e63;
}
.theme-secondary-sky {
  --secondary-50: #f0f9ff;
  --secondary-100: #e0f2fe;
  --secondary-200: #bae6fd;
  --secondary-300: #7dd3fc;
  --secondary-400: #38bdf8;
  --secondary-500: #0ea5e9;
  --secondary-600: #0284c7;
  --secondary-700: #0369a1;
  --secondary-800: #075985;
  --secondary-900: #0c4a6e;
}
.theme-secondary-indigo {
  --secondary-50: #eef2ff;
  --secondary-100: #e0e7ff;
  --secondary-200: #c7d2fe;
  --secondary-300: #a5b4fc;
  --secondary-400: #818cf8;
  --secondary-500: #6366f1;
  --secondary-600: #4f46e5;
  --secondary-700: #4338ca;
  --secondary-800: #3730a3;
  --secondary-900: #312e81;
}
.theme-secondary-violet {
  --secondary-50: #f5f3ff;
  --secondary-100: #ede9fe;
  --secondary-200: #ddd6fe;
  --secondary-300: #c4b5fd;
  --secondary-400: #a78bfa;
  --secondary-500: #8b5cf6;
  --secondary-600: #7c3aed;
  --secondary-700: #6d28d9;
  --secondary-800: #5b21b6;
  --secondary-900: #4c1d95;
}
.theme-secondary-purple {
  --secondary-50: #faf5ff;
  --secondary-100: #f3e8ff;
  --secondary-200: #e9d5ff;
  --secondary-300: #d8b4fe;
  --secondary-400: #c084fc;
  --secondary-500: #a855f7;
  --secondary-600: #9333ea;
  --secondary-700: #7e22ce;
  --secondary-800: #6b21a8;
  --secondary-900: #581c87;
}
.theme-secondary-fuchsia {
  --secondary-50: #fdf4ff;
  --secondary-100: #fae8ff;
  --secondary-200: #f5d0fe;
  --secondary-300: #f0abfc;
  --secondary-400: #e879f9;
  --secondary-500: #d946ef;
  --secondary-600: #c026d3;
  --secondary-700: #a21caf;
  --secondary-800: #86198f;
  --secondary-900: #701a75;
}
.theme-secondary-pink {
  --secondary-50: #fdf2f8;
  --secondary-100: #fce7f3;
  --secondary-200: #fbcfe8;
  --secondary-300: #f9a8d4;
  --secondary-400: #f472b6;
  --secondary-500: #ec4899;
  --secondary-600: #db2777;
  --secondary-700: #be185d;
  --secondary-800: #9d174d;
  --secondary-900: #831843;
}
.theme-secondary-rose {
  --secondary-50: #fff1f2;
  --secondary-100: #ffe4e6;
  --secondary-200: #fecdd3;
  --secondary-300: #fda4af;
  --secondary-400: #fb7185;
  --secondary-500: #f43f5e;
  --secondary-600: #e11d48;
  --secondary-700: #be123c;
  --secondary-800: #9f1239;
  --secondary-900: #881337;
}
/* Import Electron utilities shared across all Tailwind-based themes. */
/* @import "../tailwind/electron.scss"; */

.electron a, .todesktop a {
    outline-color: var(--tw-ring-color);
    /* TODO: Will --tw-ring-opacity still be available in tailwindcss v4? */
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(3, 98, 198, var(--tw-ring-opacity));
  }

.electron .electron-mobile-only, .todesktop .electron-mobile-only{
  display: block;
}

@media (min-width: 1024px){
  .electron .electron-mobile-only, .todesktop .electron-mobile-only{
    display: none;
  }
}

.electron .electron-title-bar, .todesktop .electron-title-bar {
    /* override `md:rounded-lg` */
    border-top-left-radius: 0;
  }

/* hide logo because it doesn't fit into the ui well. */

.electron .electron-title-bar img, .todesktop .electron-title-bar img { display: none; }

.electron .electron-title-bar, .todesktop .electron-title-bar{

    min-height: 36px;
}

.electron .main-container-padding, .todesktop .main-container-padding {
    padding: 0;
  }

.electron .main-container, .todesktop .main-container {
    /* override `md:rounded-lg` */
    border-top-right-radius: 0;
    border-top-left-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;

    /* override `md:h-auto` */
    height: 100vh;
  }

/* hide profiler results because they don't fit into the ui well. */

.electron .profiler-results, .todesktop .profiler-results { display: none; }

/* touch up the padding of the breadcrumbs. */

.electron ol.breadcrumb, .todesktop ol.breadcrumb { padding-top: 3px; }
/*
 * This takes care of the window's contents shifting when the
 * scrollbar appears and disappears during the turn.css animation
 */

/* Chrome, Safari and Opera */
.devise_layout::-webkit-scrollbar {
  display: none;
}

/* Firefox and Edge */
.devise_layout {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.cloudinary-field button.upload {
    margin: 0;
    border-radius: 4px;
    padding: 0;
    border: 2px solid #dde2ec;
    background: transparent;
    position: relative;
    min-height: 50px;
    min-width: 50px;
  }
.cloudinary-field button.upload:not(.present) {
      min-height: 100px;
      min-width: 100px;
    }
.cloudinary-field button.upload i {
      display: block;
      text-align: center;
      vertical-align: middle;
      position: absolute;
      line-height: 50px;
      width: 50px;
      height: 50px;
      margin-left: -25px;
      margin-top: -25px;
      top: 50%;
      left: 50%;
      font-size: 32px;
      color: #dde2ec;
    }
.cloudinary-field button.upload + button.clear {
      display: none;
      font-size: 32px;
      color: #dde2ec;
      background: transparent;
      border: 0;
      overflow: visible;
    }
.cloudinary-field button.upload + button.clear:focus i, .cloudinary-field button.upload + button.clear:active i {
          color: var(--primary-500);
        }
.cloudinary-field button.upload.present i {
        display: none;
      }
.cloudinary-field button.upload.present + button.clear {
        display: inline-block;
      }
.cloudinary-field button.upload:focus, .cloudinary-field button.upload:active {
      border-color: var(--primary-500);
    }
.cloudinary-field button.upload:focus i, .cloudinary-field button.upload:active i {
        color: var(--primary-500);
      }
input[type=tel] {
  line-height: 21px;
}
input[type=tel]::-moz-placeholder {
    color: #9ca3af;
  }
input[type=tel]::placeholder {
    color: #9ca3af;
  }
.select2-container--default .select2-selection--single,
  .select2-container--default .select2-selection--multiple{
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}

.select2-selection.select2-selection--single,
.select2-selection.select2-selection--multiple {
  min-height: 37px;
}

.select2-selection.select2-selection--single .select2-selection__rendered, .select2-selection.select2-selection--multiple .select2-selection__rendered {
    padding-left: 12px;
    min-height: 34px;
    line-height: 34px;
  }

.select2-selection.select2-selection--single .select2-selection__arrow, .select2-selection.select2-selection--multiple .select2-selection__arrow {
    padding-top: 35px;
  }

.select2-container .select2-search--inline .select2-search__field {
  font-weight: 300;
  margin-top: 6px;
  font-size: 1rem;
  line-height: 1.5rem;
}

@media (min-width: 768px){
  .select2-container .select2-search--inline .select2-search__field{
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}

.select2 {
  display: block;
}

.select2 img {
    display: none;
  }

.select2-results img {
    height: 30px;
    width: 30px;
    border-radius: 15px;
    margin-right: 8px;
  }

.select2-results__option--highlighted{
  background-color: var(--primary-400) !important;
}
.trix-content .attachment-gallery > action-text-attachment,
    .trix-content .attachment-gallery > .attachment {
      flex: 1 0 33%;
      padding: 0 0.5em;
      max-width: 33%;
    }
.trix-content .attachment-gallery.attachment-gallery--2 > action-text-attachment,
      .trix-content .attachment-gallery.attachment-gallery--2 > .attachment,
      .trix-content .attachment-gallery.attachment-gallery--4 > action-text-attachment,
      .trix-content .attachment-gallery.attachment-gallery--4 > .attachment {
        flex-basis: 50%;
        max-width: 50%;
      }
/* Override Tailwind's preflight styles */
/* https://github.com/tailwindlabs/tailwindcss/issues/989#issuecomment-506555308 */
.trix-content ul {
    list-style-type: disc;
  }
.trix-content ol {
    list-style-type: decimal;
  }
.trix-content action-text-attachment .attachment {
      padding: 0 !important;
      max-width: 100% !important;
    }

/* don't show the editor tool bar unless the user is editing the field. */
/* see https://github.com/basecamp/trix/issues/343 and `app/assets/javascripts/account/fields.js` */
trix-toolbar {
  opacity: 0.15;
}
trix-toolbar.visible {
    opacity: 1;
  }

/* Override Tailwind's preflight styles */
/* https://github.com/tailwindlabs/tailwindcss/issues/989#issuecomment-506555308 */
.trix-button:is(.dark *){
  --tw-bg-opacity: 1 !important;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1)) !important;
}

/* Prevent red ring on Trix Editor */
:-moz-focusring {
  outline-style: none;
}

a[href^="bullettrain://"], span.tribute-reference {
  border-radius: 4px;
  display: inline-block;
  box-sizing: border-box;
  padding: 0 4px;
  margin: -1px 0;
  color: #3E4B5B;
  line-height: 17px;
  text-decoration: none;
  background-color: #ebe2ff;
  border: 1px solid #7147d2;
}

a[href^="bullettrain://users"], a[href^="bullettrain://teams"], span.tribute-users-reference, span.tribute-teams-reference {
  background-color: #e2ebff;
  border: 1px solid #4771d2;
}

.tribute-container ul {
    border-radius: 5px;
    overflow: hidden;
    box-sizing: border-box;
    border: 2px solid var(--primary-500);
    background: white;
    list-style: none;
    padding: 0;
  }

.tribute-container ul:empty {
      display: none;
    }

.tribute-container ul li{
  display: flex;
  align-items: center;
}

.tribute-container ul li span {
        font-weight: normal;
      }

.tribute-container ul li.highlight {
        background-color: #5897fb;
        color: white;
      }

.tribute-container ul li{
      padding: 5px 10px;
}

.tribute-container ul li img {
        height: 30px;
        width: 30px;
        border-radius: 15px;
        margin-right: 5px;
      }

trix-editor [data-trix-cursor-target] {
  display: none !important;
  height: 0 !important;
  width: 0 !important;
  /* background-color: red; */
}

.trix-editor * {
    box-sizing: border-box;
  }

trix-editor {
  padding-right: 0.75rem;
  padding-left: 0.75rem;
  border-radius: 12px;
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
  font-weight: 300;
  --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);
}

trix-editor:focus, trix-editor:active {
    border-color: var(--primary-500);
    box-shadow: inset 0 0 0 1px var(--primary-500);
  }

trix-editor[disabled]{
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}

trix-editor[disabled]:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}

trix-editor[disabled]:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}

trix-editor[disabled]:is(.dark *):hover{
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}

.trix-hide-toolbar trix-toolbar {
    display: none !important;
  }

.trix-content{
  font-size: 1rem;
  line-height: 1.5rem;
}

@media (min-width: 768px){
  .trix-content{
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}

/* The Trix Editor uses SVGs for its buttons, so we manually override them here for dark mode */
/* Icons taken from https://react-icons.github.io/react-icons/icons?name=md */
.dark .trix-button--icon-bold::before {
    background-image: url('data:image/svg+xml;utf-8,<svg stroke="currentColor" fill="%23FFFFFF" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"></path><path d="M15.6 10.79c.97-.67 1.65-1.77 1.65-2.79 0-2.26-1.75-4-4-4H7v14h7.04c2.09 0 3.71-1.7 3.71-3.79 0-1.52-.86-2.82-2.15-3.42zM10 6.5h3c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-3v-3zm3.5 9H10v-3h3.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5z"></path></svg>') !important;
  }
.dark .trix-button--icon-italic::before {
    background-image: url('data:image/svg+xml;utf-8,<svg stroke="currentColor" fill="%23FFFFFF" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"></path><path d="M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z"></path></svg>') !important;
  }
.dark .trix-button--icon-strike::before {
    background-image: url('data:image/svg+xml;utf8,<svg stroke="currentColor" fill="%23FFFFFF" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"></path><path d="M6.85 7.08C6.85 4.37 9.45 3 12.24 3c1.64 0 3 .49 3.9 1.28.77.65 1.46 1.73 1.46 3.24h-3.01c0-.31-.05-.59-.15-.85-.29-.86-1.2-1.28-2.25-1.28-1.86 0-2.34 1.02-2.34 1.7 0 .48.25.88.74 1.21.38.25.77.48 1.41.7H7.39c-.21-.34-.54-.89-.54-1.92zM21 12v-2H3v2h9.62c1.15.45 1.96.75 1.96 1.97 0 1-.81 1.67-2.28 1.67-1.54 0-2.93-.54-2.93-2.51H6.4c0 .55.08 1.13.24 1.58.81 2.29 3.29 3.3 5.67 3.3 2.27 0 5.3-.89 5.3-4.05 0-.3-.01-1.16-.48-1.94H21V12z"></path></svg>') !important;
  }
.dark .trix-button--icon-link::before {
    background-image: url('data:image/svg+xml;utf8,<svg stroke="currentColor" fill="%23FFFFFF" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"></path><path d="M8 11h8v2H8v-2zm12.1 1H22c0-2.76-2.24-5-5-5h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1zM3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM19 12h-2v3h-3v2h3v3h2v-3h3v-2h-3v-3z"></path></svg>') !important;
  }
.dark .trix-button--icon-heading-1::before {
    background-image: url('data:image/svg+xml;utf8,<svg stroke="currentColor" fill="%23FFFFFF" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"></path><path d="M9 4v3h5v12h3V7h5V4H9zm-6 8h3v7h3v-7h3V9H3v3z"></path></svg>') !important;
  }
.dark .trix-button--icon-quote::before {
    background-image: url('data:image/svg+xml;utf8,<svg stroke="currentColor" fill="%23FFFFFF" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"></path><path d="M6 17h3l2-4V7H5v6h3zm8 0h3l2-4V7h-6v6h3z"></path></svg>') !important;
  }
.dark .trix-button--icon-code::before {
    background-image: url('data:image/svg+xml;utf8,<svg stroke="currentColor" fill="%23FFFFFF" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0V0z"></path><path d="M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"></path></svg>') !important;
  }
.dark .trix-button--icon-bullet-list::before {
    background-image: url('data:image/svg+xml;utf8,<svg stroke="currentColor" fill="%23FFFFFF" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0V0z"></path><path d="M4 10.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm0-6c-.83 0-1.5.67-1.5 1.5S3.17 7.5 4 7.5 5.5 6.83 5.5 6 4.83 4.5 4 4.5zm0 12c-.83 0-1.5.68-1.5 1.5s.68 1.5 1.5 1.5 1.5-.68 1.5-1.5-.67-1.5-1.5-1.5zM7 19h14v-2H7v2zm0-6h14v-2H7v2zm0-8v2h14V5H7z"></path></svg>') !important;
  }
.dark .trix-button--icon-number-list::before {
    background-image: url('data:image/svg+xml;utf8,<svg stroke="currentColor" fill="%23FFFFFF" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"></path><path d="M2 17h2v.5H3v1h1v.5H2v1h3v-4H2v1zm1-9h1V4H2v1h1v3zm-1 3h1.8L2 13.1v.9h3v-1H3.2L5 10.9V10H2v1zm5-6v2h14V5H7zm0 14h14v-2H7v2zm0-6h14v-2H7v2z"></path></svg>') !important;
  }
.dark .trix-button--icon-decrease-nesting-level::before {
    background-image: url('data:image/svg+xml;utf8,<svg stroke="currentColor" fill="%23FFFFFF" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"></path><path d="M11 17h10v-2H11v2zm-8-5l4 4V8l-4 4zm0 9h18v-2H3v2zM3 3v2h18V3H3zm8 6h10V7H11v2zm0 4h10v-2H11v2z"></path></svg>') !important;
  }
.dark .trix-button--icon-increase-nesting-level::before {
    background-image: url('data:image/svg+xml;utf8,<svg stroke="currentColor" fill="%23FFFFFF" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"></path><path d="M3 21h18v-2H3v2zM3 8v8l4-4-4-4zm8 9h10v-2H11v2zM3 3v2h18V3H3zm8 6h10V7H11v2zm0 4h10v-2H11v2z"></path></svg>') !important;
  }
.dark .trix-button--icon-attach::before {
    background-image: url('data:image/svg+xml;utf8,<svg stroke="currentColor" fill="%23FFFFFF" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"></path><path d="M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5a2.5 2.5 0 015 0v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5a2.5 2.5 0 005 0V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z"></path></svg>') !important;
  }
.dark .trix-button--icon-undo::before {
    background-image: url('data:image/svg+xml;utf8,<svg stroke="currentColor" fill="%23FFFFFF" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0V0z"></path><path d="M12.5 8c-2.65 0-5.05.99-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z"></path></svg>') !important;
  }
.dark .trix-button--icon-redo::before {
    background-image: url('data:image/svg+xml;utf8,<svg stroke="currentColor" fill="%23FFFFFF" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h24v24H0z"></path><path d="M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16a8.002 8.002 0 017.6-5.5c1.95 0 3.73.72 5.12 1.88L13 16h9V7l-3.6 3.6z"></path></svg>') !important;
  }
.code-editor .monaco-editor, .code-editor .monaco-editor .overflow-guard {
    border-radius: inherit;
  }
.code-editor .monaco-editor, .code-editor .monaco-editor-background, .code-editor .monaco-editor .margin {
    background-color: var(--code-editor-background,transparent);
  }

.required > label::after{
  display: inline-block;
  padding-left: 0.25rem;
  font-size: 1rem;
  line-height: 1.5rem;
  line-height: 1;
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
  content: "*";
}
[data-turn-exit],
[data-turn-enter] {
  animation-timing-function: cubic-bezier(0.65, 0.05, 0.35, 1);
  animation-fill-mode: forwards;
}

html.turn-exit [data-turn-exit] {
  animation-name: fade-out-up;
  animation-duration: .3s;
}

html.turn-enter [data-turn-enter] {
  animation-name: fade-in-up;
  animation-duration: .6s;
}

html.turn-before-exit [data-turn-exit],
html.turn-exit [data-turn-exit] {
  will-change: transform, opacity;
}

@keyframes fade-out-up {
  0% {
   opacity: 1;
   transform: translateZ(0)
  }

  100% {
   opacity: 0;
   transform: translate3d(0, -2rem, 0)
  }
}

@keyframes fade-in-up {
  0% {
   opacity: 0;
   transform: translate3d(0, 2rem, 0)
  }

  100% {
   opacity: 1;
   transform: translateZ(0)
  }
}

/*
 * A (possibly) temporary fix for a weird interaction between Turbo and turn.js
 * https://github.com/bullet-train-co/bullet_train/issues/2214#issuecomment-3349556410
 */
.turn-view-transitions.turn-transition [data-turn-enter],
.turn-view-transitions.turn-before-transition [data-turn-enter] {
  opacity: 0;
}

/*
 * This mostly prevents sudden side-to-side jumping due to the addition of a scrollbar during transition.
 */
html.turn-advance:has(body.devise_layout){
  overflow: hidden;
}

/*
 * This disables the view transitions that turn automatically injects just by being present.
 */
@supports (view-transition-name: root) {
  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation: none !important;
    opacity: 1 !important;
  }
}
#bt-docs-content h1,
#bt-docs-content h2,
#bt-docs-content h3,
#bt-docs-content h4,
#bt-docs-content h5,
#bt-docs-content h6{
  position: relative;
  margin-left: -1.2rem;
  padding-left: 1.2rem;
}
#bt-docs-content h1 a,
#bt-docs-content h2 a,
#bt-docs-content h3 a,
#bt-docs-content h4 a,
#bt-docs-content h5 a,
#bt-docs-content h6 a{
  text-decoration: none;
  display: none;
  position: absolute;
  float:left;
  margin-left:-1.2rem;
  line-height: 1;
  width: 1rem;
  height: 100%;
}

#bt-docs-content h1 a::before,
#bt-docs-content h2 a::before,
#bt-docs-content h3 a::before,
#bt-docs-content h4 a::before,
#bt-docs-content h5 a::before,
#bt-docs-content h6 a::before{
  content: "🔗";
}

#bt-docs-content h1:hover a,
#bt-docs-content h2:hover a,
#bt-docs-content h3:hover a,
#bt-docs-content h4:hover a,
#bt-docs-content h5:hover a,
#bt-docs-content h6:hover a{
  display: flex;
  justify-content: center; /* Align horizontal */
  align-items: center; /* Align vertical */
}


@media only screen and (max-width: 640px) {
  #bt-docs-content h1,
  #bt-docs-content h2,
  #bt-docs-content h3,
  #bt-docs-content h4,
  #bt-docs-content h5,
  #bt-docs-content h6{
    margin-left: -1.375rem;
    padding-left: 1.375rem;
  }
  #bt-docs-content h1 a,
  #bt-docs-content h2 a,
  #bt-docs-content h3 a,
  #bt-docs-content h4 a,
  #bt-docs-content h5 a,
  #bt-docs-content h6 a{
    margin-left:-1.375rem;
  }
  #bt-docs-content h1 a::before,
  #bt-docs-content h2 a::before,
  #bt-docs-content h3 a::before,
  #bt-docs-content h4 a::before,
  #bt-docs-content h5 a::before,
  #bt-docs-content h6 a::before{
    font-size: 1rem;
  }
}

form.button_to{
  display: inline-block;
}

form.button_to input[type=submit]{
  background-color: transparent;
}

form.button_to input[type=submit].button{
  background-color: var(--primary-500);
}

form.button_to input[type=submit].button:hover{
  background-color: var(--primary-600);
}

/* hide the first breadcrumb chevron */
ol.breadcrumb li:first-child svg { display: none; }

/* Override Turbo's progress bar color with the application's theme. */
.turbo-progress-bar {
  height: 5px;
  background-color: var(--primary-500);
}

/*
  When dragging a sortable table row, only show the first column, usually containing the element's label.
  Can be customize on a per-table basis.
*/
tr.gu-mirror > *:not(:first-child) {
  display: none;
} /* alias used to support ejecting the file to local */

/* ✅ YOUR APPLICATION'S CSS */
/* If you need to customize your application's CSS, this is the place to do it. This helps
   avoid merge conflicts in the future when Rails or Bullet Train update their own CSS.
*/

/* Revolution Stage Design System (token/component split) */
/* ===================================================================
   Revolution Stage Design System — in-repo manifest.
   Mirrors the source bundle's project/styles.css @import order, then
   appends rs-public-overrides.css (rules the bundle split dropped) so
   the public storefront renders pixel-identically to the pre-split
   design_system.css.
   =================================================================== */

/* Foundations / design tokens */
/* ===================================================================
   Revolution Stage — Color Tokens
   Dark-first palette. Violet/purple primary, coral/orange secondary,
   fuchsia accent, near-black backgrounds, glass surfaces.
   =================================================================== */
:root {
  /* Primary — Violet / Purple */
  --rs-primary-50: #f5f3ff;
  --rs-primary-100: #ede9fe;
  --rs-primary-200: #ddd6fe;
  --rs-primary-300: #c4b5fd;
  --rs-primary-400: #a78bfa;
  --rs-primary-500: #8b5cf6;
  --rs-primary-600: #7c3aed;
  --rs-primary-700: #6d28d9;
  --rs-primary-800: #5b21b6;
  --rs-primary-900: #4c1d95;

  /* Secondary — Coral / Orange */
  --rs-secondary-50: #fff7ed;
  --rs-secondary-100: #ffedd5;
  --rs-secondary-200: #fed7aa;
  --rs-secondary-300: #fdba74;
  --rs-secondary-400: #fb923c;
  --rs-secondary-500: #f97316;
  --rs-secondary-600: #ea580c;
  --rs-secondary-700: #c2410c;
  --rs-secondary-800: #9a3412;
  --rs-secondary-900: #7c2d12;

  /* Accent — Fuchsia / Pink */
  --rs-accent-400: #e879f9;
  --rs-accent-500: #d946ef;
  --rs-accent-600: #c026d3;

  /* Backgrounds — near-black with a cool undertone */
  --rs-bg-primary: #050508;
  --rs-bg-secondary: #0a0a0f;
  --rs-bg-tertiary: #111118;
  --rs-bg-elevated: #0d0d14;

  /* Surfaces — translucent white for glass layering */
  --rs-surface-1: rgba(255, 255, 255, 0.03);
  --rs-surface-2: rgba(255, 255, 255, 0.05);
  --rs-surface-3: rgba(255, 255, 255, 0.08);
  --rs-surface-4: rgba(255, 255, 255, 0.12);

  /* Text */
  --rs-text-primary: #f8fafc;
  --rs-text-secondary: #cbd5e1;
  --rs-text-tertiary: #94a3b8;
  --rs-text-muted: #64748b;

  /* Borders */
  --rs-border-subtle: rgba(255, 255, 255, 0.06);
  --rs-border-default: rgba(255, 255, 255, 0.1);
  --rs-border-strong: rgba(255, 255, 255, 0.2);

  /* Semantic */
  --rs-success: #22c55e;
  --rs-success-bg: rgba(34, 197, 94, 0.1);
  --rs-warning: #eab308;
  --rs-warning-bg: rgba(234, 179, 8, 0.1);
  --rs-error: #ef4444;
  --rs-error-bg: rgba(239, 68, 68, 0.1);
  --rs-success-hover: #16a34a;
  --rs-error-hover: #dc2626;
  --rs-neutral-900: #0f172a;
  --rs-info: #3b82f6;
  --rs-info-bg: rgba(59, 130, 246, 0.1);

  /* ---- Semantic aliases (use these in components) ---- */
  --rs-page: var(--rs-bg-primary);
  --rs-surface-card: var(--rs-bg-secondary);
  --rs-text-body: var(--rs-text-secondary);
  --rs-text-heading: var(--rs-text-primary);
  --rs-text-mute: var(--rs-text-muted);
  --rs-brand: var(--rs-primary-500);
  --rs-brand-hover: var(--rs-primary-400);
  --rs-on-brand: #ffffff;

  /* Focus-visible ring (spec §4.6) — violet, reads on both dark and light surfaces */
  --rs-ring: rgba(139, 92, 246, 0.55);

  /* Seat-status colors (domain-specific) */
  --rs-seat-available: var(--rs-success);
  --rs-seat-selected: #6366f1;   /* indigo-500 */
  --rs-seat-reserved: var(--rs-warning);
  --rs-seat-sold: var(--rs-error);
  --rs-seat-blocked: var(--rs-text-muted);
}
/* ===================================================================
   Revolution Stage — Typography Tokens
   The product UI is set in the native system sans stack (no webfont
   dependency — fast, neutral, lets event posters carry the personality).
   The "Revolution Stage" wordmark is custom hand-lettering shipped as
   an image asset (assets/logo/), NOT a font.
   =================================================================== */
:root {
  /* Families */
  --rs-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --rs-font-display: var(--rs-font-sans);
  --rs-font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas,
    "Liberation Mono", monospace;

  /* Type scale (rem) — matches the Tailwind sizes used across the app */
  --rs-text-xs: 0.75rem;      /* 12px — meta, legend, eyebrow */
  --rs-text-sm: 0.875rem;     /* 14px — body small, buttons, nav */
  --rs-text-base: 0.9375rem;  /* 15px — inputs, default body */
  --rs-text-md: 1rem;         /* 16px */
  --rs-text-lg: 1.125rem;     /* 18px — card titles */
  --rs-text-xl: 1.25rem;      /* 20px — taglines */
  --rs-text-2xl: 1.5rem;      /* 24px — section titles, price */
  --rs-text-3xl: 1.875rem;    /* 30px */
  --rs-text-4xl: 2.25rem;     /* 36px */
  --rs-text-5xl: 3rem;        /* 48px — hero (mobile) */
  --rs-text-6xl: 3.75rem;     /* 60px */
  --rs-text-7xl: 5rem;        /* 80px — hero (desktop) */

  /* Weights — the brand leans heavy: 700/800 for display, 600 for UI */
  --rs-weight-normal: 400;
  --rs-weight-medium: 500;
  --rs-weight-semibold: 600;
  --rs-weight-bold: 700;
  --rs-weight-extrabold: 800;

  /* Line heights */
  --rs-leading-none: 1;
  --rs-leading-tight: 1.1;
  --rs-leading-snug: 1.25;
  --rs-leading-normal: 1.5;
  --rs-leading-relaxed: 1.65;

  /* Letter spacing — uppercase eyebrows/labels use positive tracking */
  --rs-tracking-tight: -0.02em;
  --rs-tracking-normal: 0;
  --rs-tracking-wide: 0.025em;
  --rs-tracking-wider: 0.05em;
  --rs-tracking-widest: 0.1em;
}
/* ===================================================================
   Revolution Stage — Spacing & Layout Tokens
   4px base unit. Container maxes out at 80rem (1280px) with responsive
   gutters.
   =================================================================== */
:root {
  --rs-space-1: 0.25rem;   /* 4 */
  --rs-space-2: 0.5rem;    /* 8 */
  --rs-space-3: 0.75rem;   /* 12 */
  --rs-space-4: 1rem;      /* 16 */
  --rs-space-5: 1.25rem;   /* 20 */
  --rs-space-6: 1.5rem;    /* 24 */
  --rs-space-8: 2rem;      /* 32 */
  --rs-space-10: 2.5rem;   /* 40 */
  --rs-space-12: 3rem;     /* 48 */
  --rs-space-16: 4rem;     /* 64 */
  --rs-space-20: 5rem;     /* 80 */

  /* Layout */
  --rs-container-max: 80rem;     /* 1280px */
  --rs-gutter: var(--rs-space-4);
  --rs-gutter-sm: var(--rs-space-6);
  --rs-gutter-lg: var(--rs-space-8);

  /* Section rhythm */
  --rs-section-y: var(--rs-space-16);

  /* Minimum touch target (Material 48dp / WCAG 2.5.8) */
  --rs-min-touch: 44px;
}
/* ===================================================================
   Revolution Stage — Radius Tokens  ★ SIGNATURE MOTIF ★
   The defining visual quirk: containers are rounded on ONLY the
   top-left and bottom-right corners (the other two stay sharp),
   giving every surface a subtle parallelogram-like "ticket stub" lean.
   The scale steps in 8px increments. Circles (avatars, status dots)
   are the only fully-symmetric exception.
   =================================================================== */
:root {
  --rs-radius-none: 0;
  --rs-radius-xs: 4px 0 4px 0;        /* subtle rounding */
  --rs-radius-sm: 8px 0 8px 0;        /* menu items, small badges */
  --rs-radius-md: 12px 0 12px 0;      /* inputs, icon buttons, tags */
  --rs-radius-lg: 16px 0 16px 0;      /* buttons, small cards, inputs */
  --rs-radius-xl: 24px 0 24px 0;      /* cards, dropdowns, modals */
  --rs-radius-2xl: 32px 0 32px 0;     /* large cards, sections */
  --rs-radius-3xl: 40px 0 40px 0;     /* hero sections */
  --rs-radius-4xl: 48px 0 48px 0;     /* extra-large containers */
  --rs-radius-full: 9999px 0 9999px 0;/* asymmetric pill — nav/search */

  /* Symmetric circle — ONLY for avatars, status dots, circular icons */
  --rs-radius-circle: 9999px;
}
/* ===================================================================
   Revolution Stage — Effects Tokens
   Shadows are deep & dark (dark theme). Glows tint shadow with the
   brand violet / secondary coral. Gradients drive primary buttons,
   text accents and hero washes. Blur powers the glassmorphism.
   =================================================================== */
:root {
  /* Elevation shadows — tuned dark so they read on near-black */
  --rs-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --rs-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -2px rgba(0, 0, 0, 0.3);
  --rs-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -4px rgba(0, 0, 0, 0.4);
  --rs-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.4);

  /* Colored glows — hover halo on cards & primary buttons */
  --rs-shadow-glow: 0 0 40px rgba(139, 92, 246, 0.3);
  --rs-shadow-glow-secondary: 0 0 40px rgba(249, 115, 22, 0.3);

  /* Gradients */
  --rs-gradient-primary: linear-gradient(135deg, #8b5cf6 0%, #a855f7 50%, #d946ef 100%); /* @kind color */
  --rs-gradient-secondary: linear-gradient(135deg, #f97316 0%, #fb923c 100%); /* @kind color */
  --rs-gradient-dark: linear-gradient(180deg, #0f172a 0%, #1e293b 100%); /* @kind color */
  --rs-gradient-glow: radial-gradient(ellipse at center, rgba(139, 92, 246, 0.15) 0%, transparent 70%); /* @kind color */

  /* Glass blur */
  --rs-blur-sm: blur(8px); /* @kind other */
  --rs-blur-md: blur(16px) saturate(150%); /* @kind other */
  --rs-blur-lg: blur(20px) saturate(180%); /* @kind other */

  /* Transitions — fast, ease-based. The brand uses subtle lifts, not bounces. */
  --rs-transition-fast: 150ms ease; /* @kind other */
  --rs-transition-normal: 200ms ease; /* @kind other */
  --rs-transition-slow: 300ms ease; /* @kind other */
}

/* Base reset + container */
/* ===================================================================
   Revolution Stage — Base / Reset
   The product renders on a near-black page with light text. These are
   the only global element rules; everything else is token-driven and
   component-scoped.
   =================================================================== */

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

.rs-page,
body.rs-page {
  background: var(--rs-bg-primary);
  color: var(--rs-text-secondary);
  font-family: var(--rs-font-sans);
  font-size: var(--rs-text-sm);
  line-height: var(--rs-leading-normal);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  min-height: 100vh;
}

/* Container */
.rs-container {
  max-width: var(--rs-container-max);
  margin: 0 auto;
  padding-left: var(--rs-gutter);
  padding-right: var(--rs-gutter);
}

@media (min-width: 640px) {
  .rs-container {
    padding-left: var(--rs-gutter-sm);
    padding-right: var(--rs-gutter-sm);
  }
}

@media (min-width: 1024px) {
  .rs-container {
    padding-left: var(--rs-gutter-lg);
    padding-right: var(--rs-gutter-lg);
  }
}

/* Component class library (.rs-*) */
/* ===================================================================
   Revolution Stage — Component Class Library
   The product's UI primitives are CSS-class based (.rs-*). The React
   components in /components are thin wrappers that apply these classes,
   so this file IS the source of truth for component styling.
   All values reference the design tokens in /tokens.
   =================================================================== */

/* ===================================
   Navbar
   =================================== */
.rs-navbar {
  background: rgba(5, 5, 8, 0.6);
  backdrop-filter: var(--rs-blur-lg);
  -webkit-backdrop-filter: var(--rs-blur-lg);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.rs-nav-link {
  color: var(--rs-text-secondary);
  font-weight: var(--rs-weight-medium);
  font-size: var(--rs-text-sm);
  transition: color var(--rs-transition-fast);
}
.rs-nav-link:hover { color: var(--rs-text-primary); }
.rs-nav-link.active { color: var(--rs-primary-400); }

/* Pill-shaped nav button */
.rs-nav-btn {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1rem;
  font-size: var(--rs-text-sm);
  font-weight: var(--rs-weight-medium);
  color: var(--rs-text-secondary);
  background: var(--rs-surface-2);
  border: 1px solid var(--rs-border-default);
  border-radius: var(--rs-radius-full);
  transition: all var(--rs-transition-fast);
  text-decoration: none;
}
.rs-nav-btn:hover {
  background: var(--rs-surface-3);
  color: var(--rs-text-primary);
  border-color: var(--rs-border-strong);
}
.rs-nav-btn.active {
  background: var(--rs-primary-500);
  color: var(--rs-on-brand);
  border-color: var(--rs-primary-500);
}

/* Avatar button */
.rs-avatar-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--rs-radius-md);
  background: var(--rs-surface-3);
  border: 1px solid var(--rs-border-default);
  overflow: hidden;
  cursor: pointer;
  transition: all var(--rs-transition-fast);
  color: var(--rs-text-secondary);
}
.rs-avatar-btn:hover { border-color: var(--rs-primary-500); }
.rs-avatar-btn-circle { border-radius: var(--rs-radius-circle); }

/* ===================================
   Buttons
   =================================== */
.rs-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: var(--rs-weight-semibold);
  font-size: var(--rs-text-sm);
  line-height: 1.25rem;
  padding: 0.75rem 1.5rem;
  border-radius: var(--rs-radius-lg);
  border: none;
  cursor: pointer;
  transition: all var(--rs-transition-normal);
  text-decoration: none !important;
  white-space: nowrap;
}
a.rs-btn, a.rs-btn:hover, a.rs-btn:focus, a.rs-btn:active, a.rs-btn:visited {
  text-decoration: none !important;
}
.rs-btn:focus {
  outline: 2px solid var(--rs-primary-500);
  outline-offset: 2px;
}
.rs-btn:disabled { opacity: 0.5; cursor: not-allowed; }

/* Primary — gradient + glow + lift */
.rs-btn-primary {
  background: var(--rs-gradient-primary);
  color: var(--rs-on-brand) !important;
  box-shadow: 0 4px 12px rgba(139, 92, 246, 0.3), 0 2px 4px rgba(0, 0, 0, 0.12);
}
.rs-btn-primary:hover:not(:disabled),
.rs-btn-primary:focus:not(:disabled),
a.rs-btn-primary:hover, a.rs-btn-primary:focus {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(139, 92, 246, 0.4), 0 4px 6px rgba(0, 0, 0, 0.15);
  color: var(--rs-on-brand) !important;
}
.rs-btn-primary:active:not(:disabled), a.rs-btn-primary:active {
  transform: translateY(1px);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
}

/* Secondary — outline */
.rs-btn-secondary {
  background: transparent;
  color: var(--rs-text-primary) !important;
  border: 1px solid var(--rs-border-strong);
}
.rs-btn-secondary:hover:not(:disabled), a.rs-btn-secondary:hover {
  background: var(--rs-surface-3);
  border-color: var(--rs-primary-500);
  color: var(--rs-primary-400) !important;
}

/* Ghost */
.rs-btn-ghost { background: transparent; color: var(--rs-text-secondary) !important; }
.rs-btn-ghost:hover:not(:disabled), a.rs-btn-ghost:hover {
  background: var(--rs-surface-2);
  color: var(--rs-text-primary) !important;
}

/* Accent — coral gradient */
.rs-btn-accent {
  background: var(--rs-gradient-secondary);
  color: var(--rs-on-brand) !important;
  box-shadow: 0 4px 12px rgba(249, 115, 22, 0.3), 0 2px 4px rgba(0, 0, 0, 0.12);
}
.rs-btn-accent:hover:not(:disabled), a.rs-btn-accent:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(249, 115, 22, 0.4), 0 4px 6px rgba(0, 0, 0, 0.15);
  color: var(--rs-on-brand) !important;
}
.rs-btn-accent:active:not(:disabled), a.rs-btn-accent:active {
  transform: translateY(1px);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
}

/* Success / Danger */
.rs-btn-success { background: var(--rs-success); color: var(--rs-on-brand) !important; }
.rs-btn-success:hover:not(:disabled), a.rs-btn-success:hover { background: var(--rs-success-hover); color: var(--rs-on-brand) !important; }
.rs-btn-danger { background: var(--rs-error); color: var(--rs-on-brand) !important; }
.rs-btn-danger:hover:not(:disabled), a.rs-btn-danger:hover { background: var(--rs-error-hover); color: var(--rs-on-brand) !important; }

/* Sizes */
.rs-btn-xs { padding: 0.375rem 0.875rem; font-size: var(--rs-text-xs); }
.rs-btn-sm { padding: 0.5rem 1.125rem; font-size: 0.8125rem; }
.rs-btn-lg { padding: 1rem 2rem; font-size: var(--rs-text-md); }
.rs-btn-xl { padding: 1.125rem 2.5rem; font-size: var(--rs-text-lg); }
.rs-btn-block { width: 100%; }

/* Icon button */
.rs-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border-radius: var(--rs-radius-md);
  background: transparent;
  color: var(--rs-text-secondary);
  border: 1px solid var(--rs-border-subtle);
  cursor: pointer;
  transition: all var(--rs-transition-fast);
}
.rs-icon-btn:hover {
  background: var(--rs-surface-3);
  color: var(--rs-text-primary);
  border-color: var(--rs-border-default);
}
.rs-icon-btn-circle { border-radius: var(--rs-radius-circle); }

.rs-btn svg { width: 1.25rem; height: 1.25rem; color: inherit !important; fill: currentColor; }
.rs-btn svg:first-child { margin-right: 0.5rem; }
.rs-btn svg:last-child:not(:first-child) { margin-left: 0.5rem; }

/* ===================================
   Cards
   =================================== */
.rs-card {
  background: var(--rs-bg-secondary);
  border: 1px solid var(--rs-border-subtle);
  border-radius: var(--rs-radius-xl);
  overflow: hidden;
  transition: all var(--rs-transition-normal);
}
.rs-card:hover { border-color: var(--rs-border-default); box-shadow: var(--rs-shadow-lg); }
.rs-card-sm { border-radius: var(--rs-radius-lg); }
.rs-card-lg { border-radius: var(--rs-radius-2xl); }
.rs-card-body { padding: var(--rs-space-6); }
.rs-card-header { padding: var(--rs-space-4) var(--rs-space-6); border-bottom: 1px solid var(--rs-border-subtle); }
.rs-card-footer { padding: var(--rs-space-4) var(--rs-space-6); border-top: 1px solid var(--rs-border-subtle); background: var(--rs-surface-1); }
.rs-card-selected { box-shadow: 0 0 0 2px var(--rs-brand); }

/* Glass card */
.rs-glass-card {
  background: rgba(255, 255, 255, 0.03);
  backdrop-filter: var(--rs-blur-lg);
  -webkit-backdrop-filter: var(--rs-blur-lg);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--rs-radius-xl);
}

/* Section card */
.rs-section-card {
  background: rgba(255, 255, 255, 0.02);
  backdrop-filter: var(--rs-blur-md);
  -webkit-backdrop-filter: var(--rs-blur-md);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: var(--rs-radius-xl);
  transition: all var(--rs-transition-normal);
}
.rs-section-card:hover { background: rgba(255, 255, 255, 0.04); border-color: rgba(255, 255, 255, 0.1); }
.rs-section-card-header { padding: var(--rs-space-4) var(--rs-space-5); border-bottom: 1px solid rgba(255, 255, 255, 0.06); }
.rs-section-card-body { padding: var(--rs-space-5); }

/* Event card */
.rs-event-card {
  background: var(--rs-bg-secondary);
  border: 1px solid var(--rs-border-subtle);
  border-radius: var(--rs-radius-xl);
  overflow: hidden;
  transition: all var(--rs-transition-normal);
}
.rs-event-card:hover {
  transform: translateY(-4px);
  border-color: var(--rs-primary-500);
  box-shadow: var(--rs-shadow-xl), var(--rs-shadow-glow);
}

/* Dropdown / menu card */
.rs-dropdown-card {
  background: var(--rs-bg-secondary);
  border: 1px solid var(--rs-border-default);
  border-radius: var(--rs-radius-lg);
  box-shadow: var(--rs-shadow-xl);
}
.rs-menu-item {
  display: flex;
  align-items: center;
  gap: var(--rs-space-3);
  padding: var(--rs-space-3) var(--rs-space-4);
  border-radius: var(--rs-radius-sm);
  color: var(--rs-text-secondary);
  transition: all var(--rs-transition-fast);
  cursor: pointer;
}
.rs-menu-item:hover { background: var(--rs-surface-3); color: var(--rs-text-primary); }
.rs-menu-item-icon { width: 1.25rem; height: 1.25rem; color: var(--rs-text-muted); }

.rs-event-card-image { aspect-ratio: 3/4; overflow: hidden; position: relative; background: var(--rs-bg-tertiary); }
.rs-event-card-image img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; transition: transform var(--rs-transition-slow); }
.rs-event-card:hover .rs-event-card-image img { transform: scale(1.05); }
.rs-event-card-content { padding: var(--rs-space-5); }
.rs-event-card-title { font-size: var(--rs-text-lg); font-weight: var(--rs-weight-bold); color: var(--rs-text-primary); margin-bottom: var(--rs-space-2); line-height: 1.4; }
.rs-event-card-meta { font-size: var(--rs-text-sm); color: var(--rs-text-tertiary); }

/* ===================================
   Forms
   =================================== */
.rs-form-group { margin-bottom: var(--rs-space-5); }
.rs-label { display: block; font-size: var(--rs-text-sm); font-weight: var(--rs-weight-medium); color: var(--rs-text-secondary); margin-bottom: var(--rs-space-2); }
.rs-label-required::after { content: " *"; color: var(--rs-error); }

.rs-input {
  display: block;
  width: 100%;
  padding: 0.875rem 1.25rem;
  font-size: var(--rs-text-base);
  line-height: 1.5;
  color: var(--rs-text-primary);
  background: var(--rs-surface-2);
  border: 1px solid var(--rs-border-default);
  border-radius: var(--rs-radius-lg);
  transition: all var(--rs-transition-fast);
}
.rs-input-pill { border-radius: var(--rs-radius-full); padding-left: 1.5rem; }
.rs-input::-moz-placeholder { color: var(--rs-text-muted); }
.rs-input::placeholder { color: var(--rs-text-muted); }
.rs-input:focus {
  outline: none;
  border-color: var(--rs-primary-500);
  box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.15);
}
.rs-input:disabled { opacity: 0.5; cursor: not-allowed; }
.rs-input-error { border-color: var(--rs-error); }
.rs-input-error:focus { box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15); }
.rs-textarea { min-height: 120px; resize: vertical; }

.rs-select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%2394a3b8' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");
  background-position: right 0.75rem center;
  background-repeat: no-repeat;
  background-size: 1.25rem;
  padding-right: 2.5rem;
}

.rs-checkbox, .rs-radio { display: flex; align-items: flex-start; gap: var(--rs-space-3); cursor: pointer; }
.rs-checkbox input, .rs-radio input {
  flex-shrink: 0; width: 1.125rem; height: 1.125rem; margin-top: 0.125rem;
  accent-color: var(--rs-primary-500); cursor: pointer;
}
.rs-checkbox-label, .rs-radio-label { font-size: var(--rs-text-base); color: var(--rs-text-primary); }
.rs-checkbox-description, .rs-radio-description { font-size: 0.8125rem; color: var(--rs-text-tertiary); margin-top: var(--rs-space-1); }

.rs-help-text { font-size: 0.8125rem; color: var(--rs-text-tertiary); margin-top: var(--rs-space-2); }
.rs-error-text { font-size: 0.8125rem; color: var(--rs-error); margin-top: var(--rs-space-2); }

.rs-input-group { display: flex; position: relative; }
.rs-input-group .rs-input { flex: 1; }
.rs-input-group-icon { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); color: var(--rs-text-muted); pointer-events: none; }
.rs-input-group-icon + .rs-input { padding-left: 2.75rem; }

/* ===================================
   Badges
   =================================== */
.rs-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  font-size: var(--rs-text-xs);
  font-weight: var(--rs-weight-semibold);
  border-radius: var(--rs-radius-sm);
  text-transform: uppercase;
  letter-spacing: var(--rs-tracking-wide);
}
.rs-badge-primary { background: rgba(139, 92, 246, 0.6); color: var(--rs-on-brand); backdrop-filter: var(--rs-blur-sm); -webkit-backdrop-filter: var(--rs-blur-sm); }
.rs-badge-secondary { background: rgba(249, 115, 22, 0.15); color: var(--rs-secondary-400); }
.rs-badge-success { background: var(--rs-success-bg); color: var(--rs-success); }
.rs-badge-warning { background: var(--rs-warning-bg); color: var(--rs-warning); }
.rs-badge-error { background: var(--rs-error-bg); color: var(--rs-error); }
.rs-badge-info { background: var(--rs-info-bg); color: var(--rs-info); }
.rs-badge-lg { padding: 0.375rem 0.875rem; font-size: 0.8125rem; }

/* ===================================
   Alerts
   =================================== */
.rs-alert {
  display: flex;
  align-items: flex-start;
  gap: var(--rs-space-3);
  padding: var(--rs-space-4) var(--rs-space-5);
  border-radius: var(--rs-radius-lg);
  font-size: var(--rs-text-sm);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
}
.rs-alert-success { background: rgba(34, 197, 94, 0.15); border: 1px solid rgba(34, 197, 94, 0.3); color: var(--rs-success); }
.rs-alert-warning { background: rgba(234, 179, 8, 0.15); border: 1px solid rgba(234, 179, 8, 0.3); color: var(--rs-warning); }
.rs-alert-error { background: rgba(239, 68, 68, 0.15); border: 1px solid rgba(239, 68, 68, 0.3); color: var(--rs-error); }
.rs-alert-info { background: rgba(59, 130, 246, 0.15); border: 1px solid rgba(59, 130, 246, 0.3); color: var(--rs-info); }

/* ===================================
   Tags / Chips
   =================================== */
.rs-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 1rem;
  font-size: 0.8125rem;
  font-weight: var(--rs-weight-medium);
  border-radius: var(--rs-radius-md);
  background: var(--rs-surface-2);
  color: var(--rs-text-secondary);
  border: 1px solid var(--rs-border-default);
  cursor: pointer;
  transition: all var(--rs-transition-fast);
}
.rs-tag:hover { background: var(--rs-surface-3); border-color: var(--rs-border-strong); }
.rs-tag:focus { outline: none; }
.rs-tag:focus-visible { outline: 2px solid var(--rs-primary-500); outline-offset: 1px; }
.rs-tag-primary { background: rgba(139, 92, 246, 0.1); color: var(--rs-primary-400); border-color: rgba(139, 92, 246, 0.2); }
.rs-tag-primary:hover { background: rgba(139, 92, 246, 0.15); }
.rs-tag-active { background: var(--rs-primary-500); color: var(--rs-on-brand); border-color: var(--rs-primary-500); }
.rs-tag-active:hover { background: var(--rs-primary-600); }

/* ===================================
   Sections & layout
   =================================== */
.rs-section { padding: var(--rs-space-16) 0; }
.rs-section-header { text-align: center; margin-bottom: var(--rs-space-12); }
.rs-section-title { font-size: var(--rs-text-2xl); font-weight: var(--rs-weight-extrabold); color: var(--rs-text-primary); margin-bottom: var(--rs-space-4); }
.rs-section-subtitle { font-size: var(--rs-text-lg); color: var(--rs-text-tertiary); max-width: 600px; margin: 0 auto; }

/* ===================================
   Hero
   =================================== */
.rs-hero { position: relative; min-height: 70vh; display: flex; align-items: center; overflow: hidden; }
.rs-hero-bg { position: absolute; inset: 0; background: var(--rs-gradient-dark); }
.rs-hero-bg::after { content: ""; position: absolute; inset: 0; background: var(--rs-gradient-glow); opacity: 0.5; }
.rs-hero-content { position: relative; z-index: 10; }
.rs-hero-title { font-size: var(--rs-text-5xl); font-weight: var(--rs-weight-extrabold); line-height: var(--rs-leading-tight); color: var(--rs-text-primary); margin-bottom: var(--rs-space-6); }
@media (min-width: 768px) { .rs-hero-title { font-size: var(--rs-text-6xl); } }
@media (min-width: 1024px) { .rs-hero-title { font-size: var(--rs-text-7xl); } }
.rs-hero-subtitle { font-size: var(--rs-text-xl); color: var(--rs-text-tertiary); margin-bottom: var(--rs-space-8); max-width: 600px; }

/* ===================================
   Dividers
   =================================== */
.rs-divider { height: 1px; background: var(--rs-border-subtle); margin: var(--rs-space-6) 0; }
.rs-divider-gradient { height: 1px; background: linear-gradient(90deg, transparent 0%, var(--rs-border-default) 50%, transparent 100%); }

/* ===================================
   Price
   =================================== */
.rs-price { font-size: var(--rs-text-2xl); font-weight: var(--rs-weight-bold); color: var(--rs-text-primary); }
.rs-price-currency { font-size: var(--rs-text-md); font-weight: var(--rs-weight-medium); color: var(--rs-text-tertiary); margin-right: 0.125rem; }
.rs-price-from { font-size: 0.8125rem; font-weight: var(--rs-weight-normal); color: var(--rs-text-muted); display: block; margin-bottom: 0.25rem; }

/* ===================================
   Tables
   =================================== */
.rs-table { width: 100%; border-collapse: separate; border-spacing: 0; }
.rs-table th {
  padding: var(--rs-space-3) var(--rs-space-4);
  font-size: var(--rs-text-xs);
  font-weight: var(--rs-weight-semibold);
  text-transform: uppercase;
  letter-spacing: var(--rs-tracking-wider);
  color: var(--rs-text-muted);
  background: var(--rs-surface-1);
  border-bottom: 1px solid var(--rs-border-subtle);
  text-align: left;
}
.rs-table td { padding: var(--rs-space-4); font-size: var(--rs-text-sm); color: var(--rs-text-secondary); border-bottom: 1px solid var(--rs-border-subtle); }
.rs-table tbody tr:hover { background: var(--rs-surface-2); }

/* ===================================
   Breadcrumbs
   =================================== */
.rs-breadcrumbs { display: flex; align-items: center; flex-wrap: wrap; gap: var(--rs-space-2); font-size: var(--rs-text-sm); }
.rs-breadcrumbs a { color: var(--rs-text-tertiary); text-decoration: none; transition: color var(--rs-transition-fast); }
.rs-breadcrumbs a:hover { color: var(--rs-primary-400); }
.rs-breadcrumbs-separator { color: var(--rs-text-muted); }
.rs-breadcrumbs-current { color: var(--rs-text-primary); font-weight: var(--rs-weight-medium); }

/* ===================================
   Loading / skeleton
   =================================== */
.rs-skeleton {
  background: linear-gradient(90deg, var(--rs-surface-2) 0%, var(--rs-surface-3) 50%, var(--rs-surface-2) 100%);
  background-size: 200% 100%;
  animation: rs-skeleton-pulse 1.5s ease-in-out infinite;
  border-radius: var(--rs-radius-md);
}
@keyframes rs-skeleton-pulse {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* ===================================
   Utilities
   =================================== */
.rs-text-gradient { background: var(--rs-gradient-primary); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.rs-text-gradient-secondary { background: var(--rs-gradient-secondary); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.rs-glow { box-shadow: var(--rs-shadow-glow); }
.rs-glow-secondary { box-shadow: var(--rs-shadow-glow-secondary); }

/* Events grid */
.rs-events-grid { display: grid; gap: var(--rs-space-6); grid-template-columns: 1fr; }
@media (min-width: 640px) { .rs-events-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .rs-events-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1280px) { .rs-events-grid { grid-template-columns: repeat(4, 1fr); } }

/* Seat status (domain) */
.rs-seat-available { background: var(--rs-seat-available); }
.rs-seat-reserved { background: var(--rs-seat-reserved); }
.rs-seat-sold { background: var(--rs-seat-sold); }
.rs-seat-blocked { background: var(--rs-seat-blocked); opacity: 0.5; }

/* Scroll helpers */
.scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }
.scrollbar-hide::-webkit-scrollbar { display: none; }

/* Line clamp */
.line-clamp-1 { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* Asymmetric radius utilities (signature) */
.rs-rounded-xs { border-radius: 4px 0 4px 0; }
.rs-rounded-sm { border-radius: 8px 0 8px 0; }
.rs-rounded-md, .rs-rounded { border-radius: 12px 0 12px 0; }
.rs-rounded-lg { border-radius: 16px 0 16px 0; }
.rs-rounded-xl { border-radius: 24px 0 24px 0; }
.rs-rounded-2xl { border-radius: 32px 0 32px 0; }
.rs-rounded-3xl { border-radius: 40px 0 40px 0; }
.rs-rounded-full { border-radius: 9999px 0 9999px 0; }
.rs-rounded-circle { border-radius: 9999px; }

/* ===================================
   Links
   =================================== */
.rs-link { color: var(--rs-primary-400); text-decoration: none; transition: color var(--rs-transition-fast); }
.rs-link:hover { color: var(--rs-primary-300); text-decoration: underline; text-underline-offset: 2px; }
.rs-link:focus { outline: 2px solid var(--rs-primary-500); outline-offset: 2px; border-radius: 2px; }
.rs-link-subtle { color: var(--rs-text-tertiary); text-decoration: none; transition: color var(--rs-transition-fast); }
.rs-link-subtle:hover { color: var(--rs-text-primary); }
.rs-link-muted { color: var(--rs-text-muted); text-decoration: none; transition: color var(--rs-transition-fast); }
.rs-link-muted:hover { color: var(--rs-text-secondary); }
.rs-link-inline {
  color: var(--rs-primary-400);
  text-decoration: underline; text-underline-offset: 2px;
  text-decoration-color: var(--rs-primary-400); text-decoration-thickness: 1px;
  transition: all var(--rs-transition-fast);
}
.rs-link-inline:hover { color: var(--rs-primary-300); text-decoration-color: var(--rs-primary-300); }

/* Application-tier components (app shell, table, stats, overlays, …) */
/* ===================================================================
   Revolution Stage — Application Component Library
   ===================================================================
   Higher-order + application-tier components used to build box-office,
   check-in and organiser surfaces. Theme-agnostic: they read the same
   tokens, so they render correctly in both the dark storefront and the
   `.rs-theme-light` application theme. Signature asymmetric radius
   throughout. React wrappers live in /components/{app,overlay,navigation}.
   =================================================================== */

/* ===================================
   Avatar
   =================================== */
.rs-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--rs-radius-circle);
  background: var(--rs-surface-3);
  color: var(--rs-text-secondary);
  font-weight: var(--rs-weight-semibold);
  font-size: var(--rs-text-sm);
  overflow: hidden;
  flex-shrink: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.rs-avatar img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }
.rs-avatar-xs { width: 1.5rem; height: 1.5rem; font-size: 0.625rem; }
.rs-avatar-sm { width: 2rem; height: 2rem; font-size: 0.75rem; }
.rs-avatar-lg { width: 3rem; height: 3rem; font-size: var(--rs-text-md); }
.rs-avatar-xl { width: 4rem; height: 4rem; font-size: var(--rs-text-xl); }
.rs-avatar-square { border-radius: var(--rs-radius-md); }
.rs-avatar-ring { box-shadow: 0 0 0 2px var(--rs-bg-secondary), 0 0 0 4px var(--rs-primary-500); }
.rs-avatar-stack { display: inline-flex; }
.rs-avatar-stack > .rs-avatar { margin-left: -0.6rem; box-shadow: 0 0 0 2px var(--rs-bg-secondary); }
.rs-avatar-stack > .rs-avatar:first-child { margin-left: 0; }

/* ===================================
   Switch / Toggle
   =================================== */
.rs-switch { position: relative; display: inline-flex; align-items: center; cursor: pointer; }
.rs-switch input { position: absolute; opacity: 0; width: 0; height: 0; }
.rs-switch-track {
  width: 2.5rem; height: 1.4rem;
  border-radius: var(--rs-radius-circle);
  background: var(--rs-surface-4);
  transition: background var(--rs-transition-fast);
  flex-shrink: 0;
}
.rs-switch-thumb {
  position: absolute; top: 0.2rem; left: 0.2rem;
  width: 1rem; height: 1rem;
  border-radius: var(--rs-radius-circle);
  background: var(--rs-on-brand);
  box-shadow: var(--rs-shadow-sm);
  transition: transform var(--rs-transition-fast);
}
.rs-switch input:checked + .rs-switch-track { background: var(--rs-primary-500); }
.rs-switch input:checked ~ .rs-switch-thumb { transform: translateX(1.1rem); }
.rs-switch input:focus-visible + .rs-switch-track { box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.25); }
.rs-switch input:disabled ~ .rs-switch-track { opacity: 0.5; }

/* Button-form switch: a server-toggling button_to (PATCH) that carries the
   switch visual. State is driven by the .is-on class on .rs-switch-visual
   (no :checked sibling — this is a real form submit, not a checkbox). */
.rs-switch-button {
  display: inline-flex; align-items: center; gap: 0.5rem;
  padding: 0.375rem 0.75rem;
  border: 1px solid var(--rs-border-default);
  border-radius: var(--rs-radius-md);
  background: var(--rs-surface-1);
  color: var(--rs-text-secondary);
  font-weight: 600;
  cursor: pointer;
  transition: background var(--rs-transition-fast), border-color var(--rs-transition-fast);
}
.rs-switch-button:hover { background: var(--rs-surface-2); }
.rs-switch-button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.25);
}
.rs-switch-visual { position: relative; display: inline-flex; flex-shrink: 0; }
.rs-switch-visual .rs-switch-thumb { transition: transform var(--rs-transition-fast); }
.rs-switch-visual.is-on .rs-switch-track { background: var(--rs-primary-500); }
.rs-switch-visual.is-on .rs-switch-thumb { transform: translateX(1.1rem); }

/* ===================================
   Inherited-halls preview (event form, read-only)
   =================================== */
.rs-hall-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 0.625rem;
}
.rs-hall-card {
  display: flex; align-items: center; gap: 0.625rem;
  padding: 0.75rem;
  /* Asymmetric radius signature */
  border-radius: 12px 0 12px 0;
  background: var(--rs-surface-1);
  border: 1px solid var(--rs-border-subtle);
}
.rs-hall-swatches { display: flex; gap: 0.125rem; }
.rs-hall-swatch {
  width: 7px; height: 20px;
  border-radius: 2px;
  background: var(--rs-surface-4);
}
.rs-hall-swatch-empty { background: var(--rs-surface-4); }
.rs-hall-name { font-size: 0.8125rem; font-weight: 600; color: var(--rs-text-primary); }
.rs-hall-meta { font-size: 0.75rem; color: var(--rs-text-tertiary); }

/* ===================================
   Attachment preview (event form, current image thumbnails)
   =================================== */
.rs-attachment-preview {
  display: flex; align-items: center; gap: 0.75rem;
  margin-bottom: 0.75rem;
}
.rs-attachment-thumb {
  overflow: hidden;
  border-radius: 12px 0 12px 0;
  flex-shrink: 0;
}
.rs-attachment-thumb-poster { width: 4rem; height: 6rem; }
.rs-attachment-thumb-banner { width: 8rem; height: 2.5rem; }
.rs-attachment-thumb-square { width: 4rem; height: 4rem; }
.rs-attachment-caption { font-size: 0.75rem; color: var(--rs-text-tertiary); }

/* ===================================
   Tabs
   =================================== */
.rs-tabs { display: flex; gap: 0.25rem; border-bottom: 1px solid var(--rs-border-default); }
.rs-tab {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; background: none; border: none; cursor: pointer;
  padding: 0.75rem 1rem;
  font-size: var(--rs-text-sm); font-weight: var(--rs-weight-medium);
  color: var(--rs-text-tertiary);
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color var(--rs-transition-fast), border-color var(--rs-transition-fast);
}
.rs-tab:hover { color: var(--rs-text-primary); }
.rs-tab.active { color: var(--rs-primary-500); border-bottom-color: var(--rs-primary-500); }
/* Pill tab group (segmented control) */
.rs-tabs-pill { display: inline-flex; gap: 0.25rem; padding: 0.25rem; background: var(--rs-surface-2); border-radius: var(--rs-radius-md); border: none; }
.rs-tabs-pill .rs-tab { padding: 0.4rem 0.9rem; border: none; margin: 0; border-radius: var(--rs-radius-sm); }
.rs-tabs-pill .rs-tab.active { background: var(--rs-bg-secondary); color: var(--rs-primary-500); box-shadow: var(--rs-shadow-sm); }

/* ===================================
   Dropdown menu
   =================================== */
.rs-menu {
  min-width: 12rem;
  padding: 0.375rem;
  background: var(--rs-bg-elevated, var(--rs-bg-secondary));
  border: 1px solid var(--rs-border-default);
  border-radius: var(--rs-radius-lg);
  box-shadow: var(--rs-shadow-xl);
}
.rs-menu-label { padding: 0.4rem 0.6rem; font-size: var(--rs-text-xs); text-transform: uppercase; letter-spacing: var(--rs-tracking-wide); color: var(--rs-text-muted); }
.rs-menu .rs-menu-item { border-radius: var(--rs-radius-sm); font-size: var(--rs-text-sm); }
.rs-menu-divider { height: 1px; background: var(--rs-border-subtle); margin: 0.375rem 0; }
.rs-menu-item-danger { color: var(--rs-error); }
.rs-menu-item-danger:hover { background: var(--rs-error-bg); color: var(--rs-error); }

/* ===================================
   Modal / Dialog
   =================================== */
.rs-modal-overlay {
  position: fixed; inset: 0; z-index: 100;
  background: rgba(2, 2, 6, 0.6);
  backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
  display: flex; align-items: center; justify-content: center;
  padding: var(--rs-space-4);
}
.rs-modal {
  width: 100%; max-width: 32rem;
  background: var(--rs-bg-secondary);
  border: 1px solid var(--rs-border-default);
  border-radius: var(--rs-radius-2xl);
  box-shadow: var(--rs-shadow-xl);
  overflow: hidden;
}
.rs-modal-header { padding: var(--rs-space-5) var(--rs-space-6); border-bottom: 1px solid var(--rs-border-subtle); display: flex; align-items: center; justify-content: space-between; }
.rs-modal-title { font-size: var(--rs-text-lg); font-weight: var(--rs-weight-bold); color: var(--rs-text-primary); margin: 0; }
.rs-modal-body { padding: var(--rs-space-6); color: var(--rs-text-secondary); }
.rs-modal-footer { padding: var(--rs-space-4) var(--rs-space-6); border-top: 1px solid var(--rs-border-subtle); display: flex; justify-content: flex-end; gap: var(--rs-space-3); background: var(--rs-surface-1); }

/* ===================================
   Toast
   =================================== */
.rs-toast-region { position: fixed; top: var(--rs-space-5); right: var(--rs-space-5); z-index: 120; display: flex; flex-direction: column; gap: var(--rs-space-3); max-width: 24rem; }
.rs-toast {
  display: flex; align-items: flex-start; gap: var(--rs-space-3);
  padding: var(--rs-space-4);
  background: var(--rs-bg-elevated, var(--rs-bg-secondary));
  border: 1px solid var(--rs-border-default);
  border-left: 3px solid var(--rs-primary-500);
  border-radius: var(--rs-radius-lg);
  box-shadow: var(--rs-shadow-xl);
  font-size: var(--rs-text-sm); color: var(--rs-text-secondary);
}
.rs-toast-success { border-left-color: var(--rs-success); }
.rs-toast-warning { border-left-color: var(--rs-warning); }
.rs-toast-error { border-left-color: var(--rs-error); }
.rs-toast-title { font-weight: var(--rs-weight-semibold); color: var(--rs-text-primary); }

/* ===================================
   Tooltip
   =================================== */
.rs-tooltip-wrap { position: relative; display: inline-flex; }
.rs-tooltip {
  position: absolute; bottom: calc(100% + 0.5rem); left: 50%; transform: translateX(-50%);
  padding: 0.375rem 0.625rem;
  background: var(--rs-neutral-900); color: var(--rs-text-primary);
  font-size: var(--rs-text-xs); white-space: nowrap;
  border-radius: var(--rs-radius-sm);
  box-shadow: var(--rs-shadow-lg);
  opacity: 0; pointer-events: none; transition: opacity var(--rs-transition-fast);
  z-index: 130;
}
.rs-tooltip-wrap:hover .rs-tooltip { opacity: 1; }

/* ===================================
   Pagination
   =================================== */
.rs-pagination { display: inline-flex; align-items: center; gap: 0.25rem; }
.rs-page-btn {
  min-width: 2.25rem; height: 2.25rem; padding: 0 0.5rem;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--rs-border-default);
  background: var(--rs-bg-secondary);
  color: var(--rs-text-secondary);
  font-size: var(--rs-text-sm); font-weight: var(--rs-weight-medium);
  border-radius: var(--rs-radius-md);
  cursor: pointer; transition: all var(--rs-transition-fast);
}
.rs-page-btn:hover:not(:disabled) { border-color: var(--rs-border-strong); color: var(--rs-text-primary); }
.rs-page-btn.active { background: var(--rs-primary-500); border-color: var(--rs-primary-500); color: var(--rs-on-brand); }
.rs-page-btn:disabled { opacity: 0.4; cursor: not-allowed; }

/* ===================================
   Spinner & progress
   =================================== */
.rs-spinner {
  width: 1.25rem; height: 1.25rem;
  border: 2px solid var(--rs-surface-4);
  border-top-color: var(--rs-primary-500);
  border-radius: var(--rs-radius-circle);
  animation: rs-spin 0.7s linear infinite;
  display: inline-block;
}
.rs-spinner-lg { width: 2.25rem; height: 2.25rem; border-width: 3px; }
@keyframes rs-spin { to { transform: rotate(360deg); } }

.rs-progress { width: 100%; height: 0.5rem; background: var(--rs-surface-3); border-radius: var(--rs-radius-circle); overflow: hidden; }
.rs-progress-bar { height: 100%; background: var(--rs-gradient-primary); border-radius: var(--rs-radius-circle); transition: width var(--rs-transition-slow); }

/* Event index — card grid (Box Office "Events" screen). */
.rs-event-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)); gap: var(--rs-space-4); }
.rs-event-tile { display: flex; flex-direction: column; gap: var(--rs-space-3); padding: var(--rs-space-5); text-decoration: none; }
.rs-event-tile:hover { border-color: var(--rs-border-strong); box-shadow: var(--rs-shadow-md); }
.rs-event-tile-head { display: flex; gap: var(--rs-space-4); align-items: flex-start; justify-content: space-between; }
.rs-event-tile-lead { display: flex; gap: var(--rs-space-4); min-width: 0; }
.rs-event-tile-poster { width: 3.5rem; height: 4.5rem; flex-shrink: 0; border-radius: var(--rs-radius-lg) 0 var(--rs-radius-lg) 0; overflow: hidden; background: var(--rs-surface-2); display: flex; align-items: center; justify-content: center; color: var(--rs-text-muted); }
.rs-event-tile-poster img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }
.rs-event-tile-title { margin: 0 0 var(--rs-space-1); font-size: var(--rs-text-lg); font-weight: var(--rs-weight-bold); color: var(--rs-text-primary); }
.rs-event-tile-meta { display: flex; flex-wrap: wrap; gap: var(--rs-space-1) var(--rs-space-3); font-size: var(--rs-text-sm); color: var(--rs-text-tertiary); }
.rs-event-tile-meta-item { display: inline-flex; align-items: center; gap: var(--rs-space-1); }
.rs-event-tile-sold { display: flex; justify-content: space-between; font-size: var(--rs-text-xs); color: var(--rs-text-tertiary); margin-bottom: var(--rs-space-2); }
.rs-event-tile-sold-pct { font-weight: var(--rs-weight-bold); color: var(--rs-text-secondary); }
.rs-event-tile-empty { font-size: var(--rs-text-sm); color: var(--rs-text-muted); font-style: italic; }
.rs-event-tile-manage { display: inline-flex; align-items: center; gap: var(--rs-space-1); margin-top: var(--rs-space-1); font-size: var(--rs-text-sm); font-weight: var(--rs-weight-semibold); color: var(--rs-primary-600); }

/* ===================================
   App shell — sidebar + topbar
   =================================== */
.rs-app { display: flex; min-height: 100vh; background: var(--rs-bg-primary); }
.rs-sidebar {
  width: 16rem; flex-shrink: 0;
  background: var(--rs-bg-secondary);
  border-right: 1px solid var(--rs-border-default);
  display: flex; flex-direction: column;
  padding: var(--rs-space-4);
  gap: var(--rs-space-1);
}
.rs-sidebar-brand { display: flex; align-items: center; gap: 0.625rem; padding: 0.5rem 0.75rem var(--rs-space-4); }
.rs-sidebar-section { font-size: var(--rs-text-xs); text-transform: uppercase; letter-spacing: var(--rs-tracking-wide); color: var(--rs-text-muted); padding: var(--rs-space-4) 0.75rem 0.5rem; }
.rs-nav-item {
  display: flex; align-items: center; gap: 0.75rem;
  padding: 0.6rem 0.75rem;
  border-radius: var(--rs-radius-md);
  color: var(--rs-text-secondary);
  font-size: var(--rs-text-sm); font-weight: var(--rs-weight-medium);
  cursor: pointer; transition: all var(--rs-transition-fast);
  text-decoration: none;
}
.rs-nav-item:hover { background: var(--rs-surface-2); color: var(--rs-text-primary); }
.rs-nav-item.active { background: rgba(139, 92, 246, 0.1); color: var(--rs-primary-600); }
.rs-nav-item.active svg { color: var(--rs-primary-500); }
.rs-nav-item-icon { width: 1.25rem; height: 1.25rem; flex-shrink: 0; color: var(--rs-text-tertiary); }
.rs-nav-badge { margin-left: auto; font-size: var(--rs-text-xs); font-weight: var(--rs-weight-semibold); padding: 0.05rem 0.4rem; border-radius: var(--rs-radius-circle); background: var(--rs-primary-500); color: var(--rs-on-brand); }

.rs-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.rs-topbar {
  height: 4rem; flex-shrink: 0;
  display: flex; align-items: center; gap: var(--rs-space-4);
  padding: 0 var(--rs-space-6);
  background: var(--rs-bg-secondary);
  border-bottom: 1px solid var(--rs-border-default);
}
.rs-content { flex: 1; padding: var(--rs-space-6); overflow: auto; }

/* Page header */
.rs-page-header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--rs-space-4); margin-bottom: var(--rs-space-6); flex-wrap: wrap; }
.rs-page-header-actions { display: flex; align-items: center; gap: var(--rs-space-2); flex-wrap: wrap; }
.rs-page-title { font-size: var(--rs-text-2xl); font-weight: var(--rs-weight-extrabold); color: var(--rs-text-primary); margin: 0; }
.rs-page-subtitle { font-size: var(--rs-text-sm); color: var(--rs-text-tertiary); margin: 0.25rem 0 0; }

/* ===================================
   Stat / KPI card
   =================================== */
.rs-stat {
  padding: var(--rs-space-5);
  background: var(--rs-bg-secondary);
  border: 1px solid var(--rs-border-default);
  border-radius: var(--rs-radius-xl);
  box-shadow: var(--rs-shadow-sm);
}
.rs-stat-label { font-size: var(--rs-text-xs); text-transform: uppercase; letter-spacing: var(--rs-tracking-wide); color: var(--rs-text-muted); font-weight: var(--rs-weight-semibold); }
.rs-stat-value { font-size: var(--rs-text-3xl); font-weight: var(--rs-weight-extrabold); color: var(--rs-text-primary); margin: var(--rs-space-2) 0 0; line-height: 1; }
.rs-stat-delta { display: inline-flex; align-items: center; gap: 0.25rem; font-size: var(--rs-text-xs); font-weight: var(--rs-weight-semibold); margin-top: var(--rs-space-3); }
.rs-stat-up { color: var(--rs-success); }
.rs-stat-down { color: var(--rs-error); }
.rs-stat-icon { width: 2.5rem; height: 2.5rem; border-radius: var(--rs-radius-md); display: inline-flex; align-items: center; justify-content: center; background: rgba(139, 92, 246, 0.1); color: var(--rs-primary-500); float: right; }
/* Responsive stat-card grid — collapses at narrow widths (WCAG 1.4.10 reflow)
   without media queries. Replaces hardcoded repeat(4, 1fr) inline styles. */
.rs-stat-grid { display: grid; gap: var(--rs-space-4); margin-bottom: var(--rs-space-6); grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }

/* Detail list — muted-label / value pairs for record detail views (bookings,
   venues, …). Replaces ad-hoc dl markup with a token-driven, gridable list. */
.rs-detail-list { display: grid; gap: var(--rs-space-4); }
.rs-detail-list-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rs-detail-list-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rs-detail-label { font-size: var(--rs-text-sm); font-weight: var(--rs-weight-medium); color: var(--rs-text-muted); }
.rs-detail-value { font-size: var(--rs-text-base); color: var(--rs-text-primary); margin-top: var(--rs-space-1); }

/* ===================================
   Data table (enhanced)
   =================================== */
.rs-data-table { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--rs-bg-secondary); border: 1px solid var(--rs-border-default); border-radius: var(--rs-radius-xl); overflow: hidden; }
.rs-data-table thead th {
  padding: 0.75rem 1rem; text-align: left;
  font-size: var(--rs-text-xs); font-weight: var(--rs-weight-semibold);
  text-transform: uppercase; letter-spacing: var(--rs-tracking-wide);
  color: var(--rs-text-muted); background: var(--rs-surface-1);
  border-bottom: 1px solid var(--rs-border-default); white-space: nowrap;
}
.rs-data-table tbody td { padding: 0.875rem 1rem; font-size: var(--rs-text-sm); color: var(--rs-text-secondary); border-bottom: 1px solid var(--rs-border-subtle); }
.rs-data-table tbody tr:last-child td { border-bottom: none; }
.rs-data-table tbody tr:hover { background: var(--rs-surface-1); }
.rs-th-sortable { cursor: pointer; -webkit-user-select: none; -moz-user-select: none; user-select: none; }
.rs-th-sortable:hover { color: var(--rs-text-secondary); }

/* ===================================
   Filter bar / toolbar
   =================================== */
.rs-toolbar {
  display: flex; align-items: center; gap: var(--rs-space-3); flex-wrap: wrap;
  padding: var(--rs-space-3) var(--rs-space-4);
  background: var(--rs-bg-secondary);
  border: 1px solid var(--rs-border-default);
  border-radius: var(--rs-radius-lg);
  margin-bottom: var(--rs-space-5);
}
.rs-toolbar-search { position: relative; flex: 1; min-width: 12rem; }
.rs-toolbar-spacer { flex: 1; }
/* Keep the toolbar search in scale with the filter pills next to it */
.rs-toolbar .rs-input { padding-top: 0.5rem; padding-bottom: 0.5rem; font-size: var(--rs-text-sm); }
.rs-toolbar .rs-input-group-icon { top: 50%; }
/* Topbar search: same compact height */
.rs-topbar .rs-input { padding-top: 0.5rem; padding-bottom: 0.5rem; font-size: var(--rs-text-sm); }

/* ===================================
   Misc app helpers
   =================================== */
.rs-pill { display: inline-flex; align-items: center; gap: 0.375rem; padding: 0.2rem 0.625rem; font-size: var(--rs-text-xs); font-weight: var(--rs-weight-semibold); border-radius: var(--rs-radius-circle); }
.rs-pill-dot { width: 0.5rem; height: 0.5rem; border-radius: var(--rs-radius-circle); }
.rs-empty { text-align: center; padding: var(--rs-space-16) var(--rs-space-6); color: var(--rs-text-tertiary); }
.rs-empty-icon { width: 3.5rem; height: 3.5rem; margin: 0 auto var(--rs-space-4); border-radius: var(--rs-radius-xl); background: var(--rs-surface-2); display: flex; align-items: center; justify-content: center; color: var(--rs-text-muted); }
.rs-kbd { font-family: var(--rs-font-mono); font-size: 0.75rem; padding: 0.1rem 0.4rem; border: 1px solid var(--rs-border-default); border-radius: var(--rs-radius-xs); color: var(--rs-text-tertiary); background: var(--rs-surface-1); }

/* ===================================
   Phase 2 — behavioural component states
   =================================== */

/* Screen-reader-only utility (shared by table captions, aria labels) */
.rs-visually-hidden {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* Horizontal scroll wrapper for data tables (<768px pins nothing; just scrolls) */
.rs-table-wrap { width: 100%; overflow-x: auto; }

/* Native <dialog> substrate for rs-modal. The .rs-modal card lives inside. */
.rs-modal-dialog { padding: 0; border: none; background: transparent; max-width: none; max-height: none; }
.rs-modal-dialog::backdrop { background: rgba(2, 2, 6, 0.6); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); }
.rs-modal-dialog[open] { animation: rs-modal-in var(--rs-transition-fast) ease; }
.rs-modal-dialog.animating { will-change: transform, opacity; }
@keyframes rs-modal-in { from { opacity: 0; transform: translateY(8px) scale(0.98); } to { opacity: 1; transform: none; } }
.rs-modal-close {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; background: none; border: none; cursor: pointer;
  color: var(--rs-text-tertiary); padding: 0.25rem; border-radius: var(--rs-radius-sm);
  display: inline-flex; align-items: center; justify-content: center;
}
.rs-modal-close:hover { color: var(--rs-text-primary); background: var(--rs-surface-2); }

/* Toast enter/leave transitions driven by rs-toast static classes */
.rs-toast { transform: translateX(120%); opacity: 0; transition: transform var(--rs-transition-fast), opacity var(--rs-transition-fast); }
.rs-toast.entering { transform: none; opacity: 1; }
.rs-toast.leaving { transform: translateX(120%); opacity: 0; }
.rs-toast-message { margin: 0.125rem 0 0; font-size: var(--rs-text-xs); color: var(--rs-text-tertiary); }
.rs-toast-close {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; background: none; border: none; cursor: pointer;
  color: var(--rs-text-muted); margin-left: auto; padding: 0.125rem;
  display: inline-flex; align-items: center;
}
.rs-toast-close:hover { color: var(--rs-text-secondary); }

@media (prefers-reduced-motion: reduce) {
  .rs-modal-dialog[open] { animation: none; }
  .rs-toast { transition: none; transform: none; opacity: 1; }
}

/* ===================================
   Audit timeline (bookings support desk)
   =================================== */
.rs-timeline { list-style: none; margin: 0; padding: 0; }
.rs-timeline-item {
  position: relative;
  display: flex;
  gap: var(--rs-space-3);
  padding-block: var(--rs-space-3);
  padding-inline-start: var(--rs-space-2);
  border-inline-start: 1px solid var(--rs-border-subtle);
}
.rs-timeline-item:first-child { padding-block-start: 0; }
.rs-timeline-item:last-child { border-inline-start-color: transparent; padding-block-end: 0; }
.rs-timeline-dot {
  position: absolute;
  inset-inline-start: calc(var(--rs-space-2) * -1 - 4px);
  inset-block-start: var(--rs-space-4);
  width: 8px;
  height: 8px;
  border-radius: 9999px;
  background: var(--rs-primary-400);
}
.rs-timeline-item:first-child .rs-timeline-dot { inset-block-start: 4px; }
.rs-timeline-body { display: flex; flex-direction: column; gap: var(--rs-space-2); min-width: 0; }
.rs-timeline-head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--rs-space-2); }
.rs-timeline-actor { color: var(--rs-text-secondary); font-weight: var(--rs-weight-medium); }
.rs-timeline-time { color: var(--rs-text-muted); font-size: var(--rs-text-sm); }
.rs-timeline-changes {
  list-style: none;
  margin: 0;
  padding: 0;
  color: var(--rs-text-secondary);
  font-size: var(--rs-text-sm);
}
.rs-timeline-changes li { padding-block: 2px; }
.rs-timeline-note {
  margin: 0;
  padding: var(--rs-space-2) var(--rs-space-3);
  background: var(--rs-bg-elevated);
  border-radius: var(--rs-radius-md) 0 var(--rs-radius-md) 0;
  color: var(--rs-text-primary);
}

/* ===================================
   Booking support-desk action bar (tier-grouped)
   =================================== */
.rs-action-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--rs-space-3);
}
.rs-action-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--rs-space-2);
}
.rs-action-group-recovery {
  padding-inline-start: var(--rs-space-3);
  border-inline-start: 1px solid var(--rs-border-subtle);
}
.rs-action-group-label {
  color: var(--rs-text-muted);
  font-size: var(--rs-text-xs);
  font-weight: var(--rs-weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.rs-action-dialogs { margin-block-end: var(--rs-space-8); }

/* Support-desk modal helpers */
.rs-modal-hint { margin: 0 0 var(--rs-space-3); color: var(--rs-text-muted); font-size: var(--rs-text-sm); }
.rs-form-inline { display: flex; flex-direction: row; align-items: center; gap: var(--rs-space-2); }
.rs-form-inline .rs-label { margin: 0; }

/* ===================================
   Door check-in — scan target, verdict, worklists
   Tokens only (var(--rs-*)); no raw hex, no palette classes.
   =================================== */

/* Big glanceable scan target */
.rs-scan-target {
  all: unset;
  cursor: pointer;
  display: block;
  width: 260px;
  max-width: 78vw;
  aspect-ratio: 1 / 1;
  margin: 0 auto;
}
.rs-scan-target-inner {
  width: 100%;
  height: 100%;
  border-radius: var(--rs-radius-3xl);
  position: relative;
  overflow: hidden;
  background: var(--rs-surface-1);
  border: 2px solid var(--rs-border-strong);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--rs-primary-500);
  box-shadow: var(--rs-shadow-glow);
  transition: border-color var(--rs-transition-fast), box-shadow var(--rs-transition-fast);
}
.rs-scan-target:hover .rs-scan-target-inner,
.rs-scan-target:focus-visible .rs-scan-target-inner {
  border-color: var(--rs-primary-500);
  box-shadow: var(--rs-shadow-glow);
}
.rs-scan-target:focus-visible { outline: 2px solid var(--rs-primary-500); outline-offset: 3px; }
.rs-scan-target-inner svg { width: 45%; height: 45%; }
.rs-scan-target-sweep {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 2px;
  background: var(--rs-gradient-primary);
}
.rs-scan-caption { text-align: center; margin-top: var(--rs-space-5); }
.rs-scan-caption-title { color: var(--rs-text-primary); font-weight: var(--rs-weight-bold); font-size: var(--rs-text-lg); }
.rs-scan-caption-sub { color: var(--rs-text-tertiary); font-size: var(--rs-text-sm); margin-top: var(--rs-space-1); }
.rs-scan-stage { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--rs-space-8) var(--rs-space-4); gap: var(--rs-space-4); }

/* Live attendance count */
.rs-count-row { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: var(--rs-space-3); }
.rs-count-value { color: var(--rs-text-primary); font-weight: var(--rs-weight-extrabold); font-size: var(--rs-text-3xl); line-height: 1; }
.rs-count-total { color: var(--rs-text-muted); font-weight: var(--rs-weight-semibold); font-size: var(--rs-text-lg); }
.rs-count-meta { display: flex; justify-content: space-between; margin-top: var(--rs-space-2); font-size: var(--rs-text-xs); color: var(--rs-text-muted); }

/* Full-bleed verdict card */
.rs-verdict {
  border-radius: var(--rs-radius-2xl);
  overflow: hidden;
  background: var(--rs-bg-secondary);
  border: 1px solid var(--rs-border-default);
}
.rs-verdict-banner {
  padding: var(--rs-space-8) var(--rs-space-6);
  text-align: center;
  color: var(--rs-on-brand);
}
.rs-verdict-success .rs-verdict-banner { background: var(--rs-success); }
.rs-verdict-warning .rs-verdict-banner { background: var(--rs-warning); }
.rs-verdict-error .rs-verdict-banner { background: var(--rs-error); }
.rs-verdict-icon {
  width: 5rem;
  height: 5rem;
  margin: 0 auto var(--rs-space-3);
  border-radius: var(--rs-radius-circle);
  background: rgba(255, 255, 255, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
}
.rs-verdict-icon svg { width: 2.75rem; height: 2.75rem; }
.rs-verdict-label { font-size: var(--rs-text-2xl); font-weight: var(--rs-weight-extrabold); }
.rs-verdict-body { padding: var(--rs-space-6); text-align: center; }
.rs-verdict-seat { font-family: var(--rs-font-mono); font-size: var(--rs-text-2xl); font-weight: var(--rs-weight-extrabold); color: var(--rs-text-primary); }
.rs-verdict-meta { font-size: var(--rs-text-md); color: var(--rs-text-secondary); margin-top: var(--rs-space-1); }
.rs-verdict-note { margin-top: var(--rs-space-3); font-size: var(--rs-text-sm); border-radius: var(--rs-radius-md); padding: var(--rs-space-2) var(--rs-space-3); display: inline-block; }
.rs-verdict-success .rs-verdict-note { color: var(--rs-success); background: var(--rs-success-bg); }
.rs-verdict-warning .rs-verdict-note { color: var(--rs-warning); background: var(--rs-warning-bg); }
.rs-verdict-error .rs-verdict-note { color: var(--rs-error); background: var(--rs-error-bg); }
.rs-verdict-actions { display: flex; gap: var(--rs-space-3); margin-top: var(--rs-space-5); }

/* Check-in worklist rows */
.rs-worklist { max-height: 24rem; overflow-y: auto; }
.rs-worklist-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rs-space-3);
  padding: var(--rs-space-3) var(--rs-space-4);
  border-bottom: 1px solid var(--rs-border-subtle);
}
.rs-worklist-row:last-child { border-bottom: none; }
.rs-worklist-row:hover { background: var(--rs-surface-1); }
.rs-worklist-row-done { background: var(--rs-success-bg); }
.rs-worklist-seat { font-family: var(--rs-font-mono); font-weight: var(--rs-weight-bold); font-size: var(--rs-text-lg); color: var(--rs-text-primary); }
.rs-worklist-name { color: var(--rs-text-secondary); font-size: var(--rs-text-sm); margin-left: var(--rs-space-2); }
.rs-worklist-ref { color: var(--rs-text-muted); font-size: var(--rs-text-xs); margin-left: var(--rs-space-2); }
.rs-worklist-empty { color: var(--rs-text-muted); text-align: center; padding: var(--rs-space-8) 0; }
.rs-worklist-time { color: var(--rs-success); font-size: var(--rs-text-sm); font-weight: var(--rs-weight-semibold); }

/* People / Profiles surface (Wave 2: directory grid, PersonProfile, RoleChip) */
/* ===================================================================
   People / Profiles surface (Wave 2). Styled after the box-office
   "People" module: directory grid + rs-data-table, PersonProfile
   header, EventRow/RoleChip involvements. Tokens only — no raw hex,
   asymmetric radius signature, no rounded circles except avatars.
   =================================================================== */

/* --- Directory: view toggle ------------------------------------------- */
.rs-view-toggle {
  display: inline-flex;
  gap: var(--rs-space-1);
}

/* --- Directory: cards grid -------------------------------------------- */
.rs-people-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(15.5rem, 1fr));
  gap: var(--rs-space-4);
}

.rs-people-card {
  display: flex;
  flex-direction: column;
  gap: var(--rs-space-3);
  padding: var(--rs-space-4);
  background: var(--rs-surface-1);
  border: 1px solid var(--rs-border-subtle);
  border-radius: var(--rs-radius-xl);
  text-decoration: none;
  transition: border-color var(--rs-transition-fast), background var(--rs-transition-fast);
}
.rs-people-card:hover {
  background: var(--rs-surface-2);
  border-color: var(--rs-border-default);
}
.rs-people-card:focus-visible {
  outline: 2px solid var(--rs-primary-500);
  outline-offset: 2px;
}

.rs-people-card-head {
  display: flex;
  align-items: flex-start;
  gap: var(--rs-space-3);
}
.rs-people-card-identity {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--rs-space-1);
}
.rs-people-card-name {
  font-size: var(--rs-text-md);
  font-weight: var(--rs-weight-bold);
  color: var(--rs-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rs-people-card-type {
  font-size: var(--rs-text-xs);
  color: var(--rs-text-tertiary);
}
.rs-people-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rs-space-2);
  min-height: var(--rs-space-6);
}
.rs-people-card-foot {
  margin-top: auto;
  padding-top: var(--rs-space-3);
  border-top: 1px solid var(--rs-border-subtle);
  font-size: var(--rs-text-sm);
  color: var(--rs-text-tertiary);
}

/* --- PersonProfile header --------------------------------------------- */
.rs-profile-header {
  padding: var(--rs-space-6);
  margin-bottom: var(--rs-space-4);
}
.rs-profile-header-main {
  display: flex;
  gap: var(--rs-space-6);
  align-items: flex-start;
  flex-wrap: wrap;
}
.rs-profile-header-body {
  flex: 1;
  min-width: 15rem;
  display: flex;
  flex-direction: column;
  gap: var(--rs-space-3);
}
.rs-profile-header-tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rs-space-2);
  align-items: center;
}
.rs-profile-bio {
  font-size: var(--rs-text-sm);
  color: var(--rs-text-secondary);
  line-height: var(--rs-leading-relaxed);
  max-width: 40rem;
}
.rs-profile-contact {
  display: inline-flex;
  align-items: center;
  gap: var(--rs-space-2);
  font-size: var(--rs-text-sm);
  color: var(--rs-text-secondary);
}
.rs-profile-header-actions {
  display: flex;
  gap: var(--rs-space-2);
  flex-wrap: wrap;
}

/* --- Involvements list (EventRow + RoleChip) -------------------------- */
.rs-profile-involvements-title {
  margin: 0;
  font-size: var(--rs-text-md);
  font-weight: var(--rs-weight-bold);
  color: var(--rs-text-primary);
}
.rs-profile-involvements-sub {
  margin: var(--rs-space-1) 0 0;
  font-size: var(--rs-text-sm);
  color: var(--rs-text-tertiary);
}

.rs-involvement-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.rs-involvement-row {
  display: flex;
  align-items: flex-start;
  gap: var(--rs-space-4);
  padding: var(--rs-space-4) 0;
  border-bottom: 1px solid var(--rs-border-subtle);
}
.rs-involvement-row:last-child {
  border-bottom: none;
}
.rs-involvement-icon {
  flex-shrink: 0;
  width: var(--rs-space-10);
  height: var(--rs-space-10);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--rs-radius-md);
  background: var(--rs-surface-2);
  color: var(--rs-primary-400);
}
.rs-involvement-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--rs-space-2);
}
.rs-involvement-event {
  font-size: var(--rs-text-md);
  font-weight: var(--rs-weight-semibold);
}
.rs-involvement-chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rs-space-2);
}

.rs-role-chip {
  display: inline-flex;
  align-items: center;
  gap: var(--rs-space-2);
  padding: var(--rs-space-1) var(--rs-space-3);
  border-radius: var(--rs-radius-sm);
  background: var(--rs-surface-1);
  border: 1px solid var(--rs-border-subtle);
  font-size: var(--rs-text-xs);
  font-weight: var(--rs-weight-medium);
  color: var(--rs-text-primary);
}
.rs-role-chip-dot {
  width: var(--rs-space-2);
  height: var(--rs-space-2);
  border-radius: var(--rs-radius-full);
  flex-shrink: 0;
}
.rs-role-chip-dot-cast { background: var(--rs-primary-500); }
.rs-role-chip-dot-crew { background: var(--rs-secondary-500); }

/* --- Form (AccountModal-styled) --------------------------------------- */
.rs-profile-form .rs-form-section {
  display: flex;
  flex-direction: column;
  gap: var(--rs-space-4);
}
.rs-profile-form .rs-form-actions {
  display: flex;
  gap: var(--rs-space-3);
  margin-top: var(--rs-space-6);
}

/* App-shell responsive + interaction layer (Phase 1: drawer, icon rail, focus ring) */
/* ===================================================================
   Revolution Stage — App shell responsive + interaction layer (Phase 1)
   Layers on rs-app-components.css (.rs-app/.rs-sidebar/.rs-topbar/.rs-nav-item).
   =================================================================== */

/* --- Sidebar --------------------------------------------------------- */
.rs-sidebar-brand-name { font-weight: 800; font-size: var(--rs-text-md); color: var(--rs-text-primary); }
.rs-sidebar-nav { display: flex; flex-direction: column; gap: var(--rs-space-1); flex: 1; min-height: 0; }
.rs-sidebar-group { padding-bottom: var(--rs-space-3); }

/* --- Focus-visible ring (spec §4.6) ---------------------------------- */
.rs-nav-item:focus-visible,
.rs-topbar-avatar:focus-visible,
.rs-topbar-menu-btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--rs-ring);
}

/* --- Topbar ---------------------------------------------------------- */
.rs-topbar-spacer { flex: 1; }
.rs-topbar-menu-btn {
  display: none;
  align-items: center; justify-content: center;
  width: 2.75rem; height: 2.75rem;
  border: none; background: none; cursor: pointer;
  color: var(--rs-text-secondary);
  border-radius: var(--rs-radius-md);
}
.rs-topbar-menu-btn:hover { background: var(--rs-surface-2); color: var(--rs-text-primary); }
.rs-topbar-user { position: relative; }
.rs-topbar-avatar { border: none; background: none; padding: 0; cursor: pointer; border-radius: var(--rs-radius-circle); }
/* Flush to the avatar (top:100%, no gap): a gap would drop :hover mid-traversal and
   collapse the menu before a hover-driven click (legacy sign_out) can reach an item.
   The visual breathing room lives inside the card as padding-top instead. */
.rs-topbar-menu { position: absolute; right: 0; top: 100%; padding-top: 0.5rem; z-index: 60; min-width: 14rem; }
/* Hover-reveal keeps legacy Capybara `#user`.hover flows working alongside the rs-menu click toggle. */
.rs-topbar-user:hover .rs-topbar-menu,
.rs-topbar-user.open .rs-topbar-menu { display: block; }

.rs-breadcrumbs { margin-bottom: var(--rs-space-4); }
.rs-breadcrumbs .breadcrumb { display: flex; align-items: center; gap: var(--rs-space-3); margin: 0; padding: 0; list-style: none; }

/* --- Body scroll lock (drawer open) ---------------------------------- */
.rs-scroll-locked { overflow: hidden; }

/* --- Mobile drawer --------------------------------------------------- */
.rs-drawer-backdrop { position: fixed; inset: 0; z-index: 90; background: rgba(2, 2, 6, 0.5); }
.rs-drawer-panel {
  position: fixed; inset: 0 auto 0 0; z-index: 100;
  width: 16rem; max-width: 85vw;
  transform: translateX(-100%);
  transition: transform 200ms ease;
  overflow-y: auto;
  background: var(--rs-bg-secondary);
  border-right: 1px solid var(--rs-border-default);
}
.rs-app.rs-drawer-open .rs-drawer-panel { transform: translateX(0); }
@media (prefers-reduced-motion: reduce) { .rs-drawer-panel { transition: none; } }

/* --- ≥1024px: fixed sidebar console (default). Hide drawer chrome. ---- */
@media (min-width: 1024px) {
  .rs-drawer-panel, .rs-drawer-backdrop { display: none !important; }
}

/* --- 768–1023px: collapse the static sidebar to an icon rail. -------- */
@media (min-width: 768px) and (max-width: 1023px) {
  .rs-app > .rs-sidebar { width: 4.5rem; padding-left: var(--rs-space-2); padding-right: var(--rs-space-2); }
  .rs-app > .rs-sidebar .rs-nav-item .rs-nav-label,
  .rs-app > .rs-sidebar .rs-sidebar-section,
  .rs-app > .rs-sidebar .rs-sidebar-brand-name { display: none; }
  .rs-app > .rs-sidebar .rs-nav-item { justify-content: center; }
  .rs-drawer-panel, .rs-drawer-backdrop { display: none !important; }
}

/* --- <768px: hide static sidebar, show hamburger, drawer provides nav. */
@media (max-width: 767px) {
  .rs-app > .rs-sidebar { display: none; }
  .rs-topbar-menu-btn { display: inline-flex; }
  .rs-drawer-panel .rs-nav-item { min-height: 44px; }   /* 44px touch target (spec §4.6) */
  .rs-data-table { display: block; overflow-x: auto; }
}

/* Accessibility baseline (reduced-motion, focus-visible, hit areas, skip link) */
/* ===================================================================
   Accessibility utilities — design-system a11y baseline.
   Theme-agnostic: every rule works on both the dark storefront (:root)
   and the .rs-theme-light wrapper because it uses --rs-* tokens only.
   NO hex literals here — the design-system gate scans this directory.
   Complements the narrow reduced-motion blocks already present in
   rs-app-components.css / rs-app-shell.css.
   =================================================================== */

/* 1. Global reduced-motion reset (WCAG 2.3.3). Neutralises Tailwind
   animate-spin/animate-pulse, hover scale/lift, and any transition-driven
   motion for users who ask for less. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* 2. Focus-visible baseline (WCAG 2.4.7). Global floor that wins over
   `outline: none` / `focus:outline-none` resets. Component-level rings
   (.rs-nav-item, .rs-tag, .rs-switch, …) have higher specificity and
   intentionally override this. */
:focus-visible {
  outline: 2px solid var(--rs-ring);
  outline-offset: 2px;
}

/* 3. Hit-area expansion (Material 48dp / WCAG 2.5.8). Grows the tap
   target to >=44px without changing the visual size, via a centred
   pseudo-element. Requires a positioned parent (set below). */
.rs-hit-area { position: relative; }

/* 4. Apply the hit-area floor to the known-small shared controls
   (visuals unchanged): .rs-modal-close (~28px), .rs-toast-close (~20px),
   .rs-page-btn (36px), .rs-icon-btn (40px) are all below 44px. */
.rs-modal-close,
.rs-toast-close,
.rs-page-btn,
.rs-icon-btn {
  position: relative;
}
.rs-hit-area::after,
.rs-modal-close::after,
.rs-toast-close::after,
.rs-page-btn::after,
.rs-icon-btn::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: max(100%, var(--rs-min-touch));
  height: max(100%, var(--rs-min-touch));
}

/* 5. Skip link (consumed by the layout shell task). Visually hidden until
   focused, then slides into the top-left. Uses the asymmetric-radius
   token as-is (--rs-radius-md is already the `12px 0 12px 0` signature). */
.rs-skip-link {
  position: absolute;
  left: var(--rs-space-4);
  top: var(--rs-space-4);
  z-index: 200;
  padding: var(--rs-space-3) var(--rs-space-4);
  background: var(--rs-bg-secondary);
  color: var(--rs-text-primary);
  border: 1px solid var(--rs-border-strong);
  border-radius: var(--rs-radius-md); /* asymmetric signature */
  transform: translateY(-200%);
}
.rs-skip-link:focus,
.rs-skip-link:focus-visible {
  transform: none;
}

/* 6. Accessible-target floor for the classic Bullet Train theme controls
   used across the un-migrated account namespaces. This is an a11y-only
   override (min tap height + spacing), NOT a re-skin — colours, radius,
   and typography of the BT theme are untouched. `td.buttons` is scoped to
   `.table td.buttons` so it only affects BT scaffold row-action cells
   (where a link + a `button_to` <form> sit adjacent). */
.button-smaller {
  min-height: var(--rs-min-touch);
  display: inline-flex;
  align-items: center;
}
.table td.buttons {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rs-space-2);
  align-items: center;
  justify-content: flex-end;
}

/* 7. Booking-type radio cards (account/bookings/_form): the real <input> is
   visually hidden (`sr-only`) so its own focus ring is clipped. Surface the
   keyboard-focus ring on the card label instead (WCAG 2.4.7). :has(:focus-visible)
   keeps it keyboard-only — clicking the card does not flash a ring. */
.booking-type-option:has(:focus-visible) {
  outline: 2px solid var(--rs-ring);
  outline-offset: 2px;
}

/* Light application theme (.rs-theme-light wrapper) — inert until a body opts in */
/* ===================================================================
   Revolution Stage — Light Application Theme
   ===================================================================
   The dark storefront is the default (:root). The box-office / organiser
   APPLICATION surfaces run on a light theme — an upgraded take on the
   Bullet Train light theme that shares 100% of the brand: same violet
   primary, coral accent, signature asymmetric radius, same type scale.

   Apply by wrapping an app surface in `.rs-theme-light` (usually together
   with `.rs-page`):

       <body class="rs-page rs-theme-light"> … </body>

   It re-points the *same* token names to light values, so every existing
   .rs-* component flips automatically. A handful of components get a
   scoped tweak below where a dark-only treatment (glass, translucency)
   doesn't translate to a light work surface.
   =================================================================== */

.rs-theme-light {
  /* Page layers — cool light greys, white cards */
  --rs-bg-primary: #f6f7f9;     /* app canvas */
  --rs-bg-secondary: #ffffff;   /* cards, panels */
  --rs-bg-tertiary: #eef0f4;    /* wells, inset areas */
  --rs-bg-elevated: #ffffff;    /* popovers, menus */

  /* Surfaces — dark-on-light tints for hover fills (replace white-α glass) */
  --rs-surface-1: rgba(15, 23, 42, 0.02);
  --rs-surface-2: rgba(15, 23, 42, 0.04);
  --rs-surface-3: rgba(15, 23, 42, 0.07);
  --rs-surface-4: rgba(15, 23, 42, 0.11);

  /* Text — slate ramp */
  --rs-text-primary: #0f172a;
  --rs-text-secondary: #334155;
  --rs-text-tertiary: #64748b;
  --rs-text-muted: #94a3b8;

  /* Borders — dark hairlines on light */
  --rs-border-subtle: rgba(15, 23, 42, 0.07);
  --rs-border-default: rgba(15, 23, 42, 0.12);
  --rs-border-strong: rgba(15, 23, 42, 0.22);

  /* Brand link/accent text wants a darker step for contrast on white */
  --rs-brand: var(--rs-primary-600);
  --rs-brand-hover: var(--rs-primary-700);

  /* Semantic tint backgrounds — lighter on white */
  --rs-success-bg: rgba(34, 197, 94, 0.12);
  --rs-warning-bg: rgba(234, 179, 8, 0.14);
  --rs-error-bg: rgba(239, 68, 68, 0.10);
  --rs-info-bg: rgba(59, 130, 246, 0.10);

  /* Elevation — soft, neutral light shadows (not the deep dark ones) */
  --rs-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06);
  --rs-shadow-md: 0 4px 6px -1px rgba(15, 23, 42, 0.08), 0 2px 4px -2px rgba(15, 23, 42, 0.06);
  --rs-shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, 0.10), 0 4px 6px -4px rgba(15, 23, 42, 0.08);
  --rs-shadow-xl: 0 20px 25px -5px rgba(15, 23, 42, 0.12), 0 8px 10px -6px rgba(15, 23, 42, 0.10);
  --rs-shadow-glow: 0 0 0 4px rgba(139, 92, 246, 0.12);
  --rs-shadow-glow-secondary: 0 0 0 4px rgba(249, 115, 22, 0.12);

  /* Hero wash → light gradient (rarely used in app, kept consistent) */
  --rs-gradient-dark: linear-gradient(180deg, #ffffff 0%, #eef0f4 100%); /* @kind color */
  --rs-gradient-glow: radial-gradient(ellipse at center, rgba(139, 92, 246, 0.08) 0%, transparent 70%); /* @kind color */
}

/* ---- Scoped component tweaks for the light surface ---- */

/* Inputs read better as crisp white fields with a defined border on light */
.rs-theme-light .rs-input {
  background: var(--rs-bg-secondary);
  border-color: var(--rs-border-strong);
}
.rs-theme-light .rs-input::-moz-placeholder { color: var(--rs-text-muted); }
.rs-theme-light .rs-input::placeholder { color: var(--rs-text-muted); }

/* Solid primary badge instead of translucent violet glass */
.rs-theme-light .rs-badge-primary {
  background: var(--rs-primary-600);
  color: var(--rs-on-brand);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* Cards: solid white with a soft shadow rather than relying on borders alone */
.rs-theme-light .rs-card { box-shadow: var(--rs-shadow-sm); }
.rs-theme-light .rs-card:hover { box-shadow: var(--rs-shadow-lg); }

/* Glass becomes a frosted white panel */
.rs-theme-light .rs-glass-card {
  background: rgba(255, 255, 255, 0.7);
  border-color: var(--rs-border-default);
}
.rs-theme-light .rs-section-card {
  background: var(--rs-bg-secondary);
  border-color: var(--rs-border-default);
  box-shadow: var(--rs-shadow-sm);
}
.rs-theme-light .rs-section-card:hover { background: var(--rs-bg-secondary); box-shadow: var(--rs-shadow-md); }

/* Navbar / topbar frosted white */
.rs-theme-light .rs-navbar {
  background: rgba(255, 255, 255, 0.78);
  border-bottom: 1px solid var(--rs-border-default);
}

/* Dropdown / menu surface */
.rs-theme-light .rs-dropdown-card {
  background: var(--rs-bg-elevated);
  border-color: var(--rs-border-default);
  box-shadow: var(--rs-shadow-lg);
}

/* Ghost / secondary buttons: subtle dark hover fill already handled by surfaces */
.rs-theme-light .rs-tag { background: var(--rs-bg-secondary); }
.rs-theme-light .rs-tag:hover { background: var(--rs-surface-2); }
/* Active filter pill must win over the white .rs-tag base above (same theme scope) */
.rs-theme-light .rs-tag.rs-tag-active { background: var(--rs-primary-500); color: var(--rs-on-brand); border-color: var(--rs-primary-500); }
.rs-theme-light .rs-tag.rs-tag-active:hover { background: var(--rs-primary-600); }
.rs-theme-light .rs-tag.rs-tag-primary { background: rgba(139, 92, 246, 0.1); color: var(--rs-primary-700); border-color: rgba(139, 92, 246, 0.25); }

/* Public storefront overrides (parity keystone) */
/* ===================================================================
   Revolution Stage — Public storefront overrides
   These rules exist in the pre-split design_system.css but are NOT in
   the bundle's tokens/*.css split. They are re-added here so public
   rendering stays pixel-identical. Do not delete without a public
   before/after screenshot check.
   =================================================================== */

/* Rectangular button variant (legacy: points at the asymmetric lg radius) */
.rs-btn-rect { border-radius: var(--rs-radius-lg); }

/* Snap-scroll utilities (used by public horizontal carousels) */
.scroll-snap-x { scroll-snap-type: x mandatory; }
.scroll-snap-start { scroll-snap-align: start; }
.scroll-smooth { scroll-behavior: smooth; }

/* No-underline utility (used by _featured_hero and _home_event_card) */
.no-underline,
.no-underline:hover { text-decoration: none !important; }

/* Public-page default link colors (violet, no underline) — governs EVERY
   public link that isn't already an rs-btn / rs-nav / rs-link / no-underline. */
body.public-page a:not(.rs-btn):not(.rs-nav-link):not(.rs-nav-btn):not([class*="rs-link"]):not([class*="no-underline"]) {
  color: var(--rs-primary-400);
  text-decoration: none;
  transition: color var(--rs-transition-fast);
}
body.public-page a:not(.rs-btn):not(.rs-nav-link):not(.rs-nav-btn):not([class*="rs-link"]):not([class*="no-underline"]):hover {
  color: var(--rs-primary-300);
}

/* Seat map widget styles (kept last so seat internals win) */
/* SeatchartJS Styles */
.seatchart-container {
  font-family: Arial, sans-serif;
  position: relative;
  width: 100%;
  min-height: 100%;
}

/* Seat Map Container Styles */
.seat-map-container {
  position: relative;
  overflow: hidden; /* CRITICAL: Clips transformed content */
  touch-action: none; /* Prevent browser handling of touch gestures */
  isolation: isolate; /* Creates new stacking context */
}

/* Level container for dynamic venue levels */
.level-container {
  position: relative;
  overflow: hidden; /* CRITICAL: Clips transformed content */
  touch-action: none;
  isolation: isolate; /* Creates new stacking context */
}

/* Seat content - the transformable area */
.seat-map-container .seat-content,
.level-container .seat-content {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: auto;
  transform-origin: 0 0; /* Transform from top-left for predictable pan/zoom */
  will-change: transform;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1rem;
  /* Ensure content stays within bounds during transforms */
  contain: layout paint;
}

/* Wrapper that holds all sections - this is the transformable element */
.seatchart-wrapper {
  width: 100%;
  min-width: -moz-max-content;
  min-width: max-content;
  padding-bottom: 2rem;
  transform-origin: 0 0; /* Transform from top-left */
  will-change: transform;
}

/* Section container for auditorium/balcony */
.seatchart-section {
  width: 100%;
}

/* Responsive height for seat map */
@media (max-width: 640px) {
  .seat-map-container,
  .level-container {
    height: 400px !important;
  }
}

.seatchart-row {
  display: flex;
  align-items: center;
  margin-bottom: 2px;
  justify-content: center;
}

.seatchart-row-label {
  width: 32px;
  min-width: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  color: #94a3b8; /* slate-400 */
  font-size: 0.875rem;
}

.seatchart-seats {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
}

/* Individual seat styling */
.seat {
  width: 28px;
  height: 28px;
  margin: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  cursor: pointer;
  font-size: 9px;
  font-weight: 600;
  transition: all 0.15s ease;
  border: 1px solid rgba(255,255,255,0.15);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  color: #1e293b;
}

.seat:hover:not(.selected):not([style*="cursor: not-allowed"]) {
  transform: scale(1.1);
  box-shadow: 0 0 8px rgba(139, 92, 246, 0.5);
  z-index: 10;
}

.seat.selected {
  background-color: #4f46e5 !important;
  color: #fff !important;
  transform: scale(1.1);
  box-shadow: 0 0 10px rgba(79, 70, 229, 0.6);
  border-color: rgba(255,255,255,0.3);
}

/* Gap elements for spacing */
.seat-gap {
  width: 28px;
  height: 28px;
  margin: 2px;
  background: transparent;
}

.seat-half-gap {
  width: 14px;
  height: 28px;
  margin: 2px 0;
  background: transparent;
}

/* Seating area label */
.seating-area-label {
  font-size: 1rem;
  font-weight: 600;
  text-align: center;
  margin-bottom: 1rem;
  color: #e2e8f0;
  letter-spacing: 0.025em;
}

/* Legacy seatchart-seat class for backwards compatibility */
.seatchart-seat {
  width: 28px;
  height: 28px;
  margin: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  cursor: pointer;
  font-size: 9px;
  font-weight: 600;
  transition: all 0.15s ease;
  border: 1px solid rgba(255,255,255,0.15);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.seatchart-seat:hover {
  transform: scale(1.1);
  box-shadow: 0 0 8px rgba(139, 92, 246, 0.5);
}

.seatchart-seat[data-status="unavailable"] {
  background-color: #374151 !important;
  color: #6b7280 !important;
  cursor: not-allowed;
  opacity: 0.5;
}

.seatchart-seat[data-status="selected"] {
  background-color: #4f46e5 !important;
  color: #fff !important;
  transform: scale(1.1);
  box-shadow: 0 0 10px rgba(79, 70, 229, 0.6);
}

/* Legend styles */
.seatchart-legend {
  margin-top: 15px;
  padding: 10px;
  border-top: 1px solid rgba(255,255,255,0.1);
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.seatchart-legend-item {
  display: flex;
  align-items: center;
}

.seatchart-legend-color {
  width: 20px;
  height: 20px;
  margin-right: 5px;
  border-radius: 4px;
}

/* Level tab styling */
.level-tab {
  transition: all 0.2s ease;
}

.level-tab:hover:not(.bg-violet-600) {
  background-color: #3f3f46; /* zinc-700 */
}

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

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

.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-\[1\.02\]:hover{
  --tw-scale-x: 1.02;
  --tw-scale-y: 1.02;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:bg-\[color\:var\(--rs-primary-500\)\]:hover{
  background-color: var(--rs-primary-500);
}

.hover\:bg-\[var\(--rs-bg-secondary\)\]:hover{
  background-color: var(--rs-bg-secondary);
}

.hover\:bg-\[var\(--rs-bg-tertiary\)\]:hover{
  background-color: var(--rs-bg-tertiary);
}

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

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

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

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

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

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

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

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

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

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

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

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

.hover\:bg-opacity-75:hover{
  --tw-bg-opacity: 0.75;
}

.hover\:text-\[color\:var\(--rs-accent-400\)\]:hover{
  color: var(--rs-accent-400);
}

.hover\:text-\[color\:var\(--rs-error\)\]:hover{
  color: var(--rs-error);
}

.hover\:text-\[color\:var\(--rs-info\)\]:hover{
  color: var(--rs-info);
}

.hover\:text-\[color\:var\(--rs-primary-300\)\]:hover{
  color: var(--rs-primary-300);
}

.hover\:text-\[color\:var\(--rs-primary-400\)\]:hover{
  color: var(--rs-primary-400);
}

.hover\:text-\[color\:var\(--rs-success\)\]:hover{
  color: var(--rs-success);
}

.hover\:text-\[color\:var\(--rs-text-primary\)\]:hover{
  color: var(--rs-text-primary);
}

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

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

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

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

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

.hover\:text-green-800:hover{
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}

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

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

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

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

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

.hover\:text-secondary-600:hover{
  color: var(--secondary-600);
}

.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-75:hover{
  opacity: 0.75;
}

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

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

.hover\:shadow-lg:hover{
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

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

.hover\:ring-violet-500\/30:hover{
  --tw-ring-color: rgb(139 92 246 / 0.3);
}

.focus\:border-\[color\:var\(--rs-primary-500\)\]:focus{
  border-color: var(--rs-primary-500);
}

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

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

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

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

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

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

.focus\:ring-inset:focus{
  --tw-ring-inset: inset;
}

.focus\:ring-\[color\:var\(--rs-primary-500\)\]:focus{
  --tw-ring-color: var(--rs-primary-500);
}

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

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

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

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

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

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

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

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

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

.disabled\:opacity-50:disabled{
  opacity: 0.5;
}
    .disabled\:dark:disabled .pcr-app{
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(15 23 42 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}

      .disabled\:dark:disabled .pcr-app .pcr-interaction .pcr-result{
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(15 23 42 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}

        .disabled\:dark:disabled .pcr-app .pcr-interaction .pcr-result:focus {
          box-shadow: 0 0 0 1px var(--primary-500), 0 0 0 3px var(--primary-500);
        }
    .disabled\:dark:disabled .daterangepicker{
  --tw-border-opacity: 1;
  border-color: rgb(15 23 42 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}

      .disabled\:dark:disabled .daterangepicker::before {
        border-bottom-color: #0f172a;
      }

      .disabled\:dark:disabled .daterangepicker::after {
        border-bottom-color: #1e293b;
      }

      .disabled\:dark:disabled .daterangepicker .calendar-table{
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}
          .disabled\:dark:disabled .daterangepicker .calendar-table .available span{
  border-color: var(--primary-500);
}
      .disabled\:dark:disabled .daterangepicker .drp-buttons {
        border-top-color: #0f172a;
        --tw-text-opacity: 1;
        color: rgb(203 213 225 / var(--tw-text-opacity, 1));
      }
        .disabled\:dark:disabled .daterangepicker th.available:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(71 85 105 / var(--tw-bg-opacity, 1));
}
        .disabled\:dark:disabled .daterangepicker td.off{
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

        .disabled\:dark:disabled .daterangepicker td.available:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(71 85 105 / var(--tw-bg-opacity, 1));
}

      .disabled\:dark:disabled .daterangepicker .hourselect,.disabled\:dark:disabled .daterangepicker .minuteselect,.disabled\:dark:disabled .daterangepicker .ampmselect{
  --tw-border-opacity: 1 !important;
  border-color: rgb(15 23 42 / var(--tw-border-opacity, 1)) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1)) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1)) !important;
}
    .disabled\:dark:disabled .iti__country-list{
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(15 23 42 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}
      .disabled\:dark:disabled .select2-container .select2-selection__rendered{
  --tw-text-opacity: 1 !important;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1)) !important;
}

      .disabled\:dark:disabled .select2-container .select2-dropdown{
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}

      .disabled\:dark:disabled .select2-container .select2-search__field{
  --tw-border-opacity: 1 !important;
  border-color: rgb(15 23 42 / var(--tw-border-opacity, 1)) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1)) !important;
}

      .disabled\:dark:disabled .select2-container .select2-selection--multiple,.disabled\:dark:disabled .select2-container .select2-selection--single{
  --tw-border-opacity: 1 !important;
  border-color: rgb(15 23 42 / var(--tw-border-opacity, 1)) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1)) !important;
}

      .disabled\:dark:disabled .select2-container .select2-selection--multiple:focus,.disabled\:dark:disabled .select2-container .select2-selection--single:focus{
  --tw-ring-color: var(--primary-500) !important;
}

      .disabled\:dark:disabled .select2-container .select2-selection--multiple,.disabled\:dark:disabled .select2-container .select2-selection--single{
  --tw-border-opacity: 1 !important;
  border-color: rgb(15 23 42 / var(--tw-border-opacity, 1)) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1)) !important;
}

      .disabled\:dark:disabled .select2-container .select2-selection--multiple:focus,.disabled\:dark:disabled .select2-container .select2-selection--single:focus{
  --tw-ring-color: var(--primary-500) !important;
}

      .disabled\:dark:disabled .select2-container .select2-selection--multiple,.disabled\:dark:disabled .select2-container .select2-selection--single{
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}
      .disabled\:dark:disabled .select2-container .select2-selection__choice{
  border-color: var(--primary-500) !important;
  background-color: var(--primary-500) !important;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

        .disabled\:dark:disabled .select2-container .select2-selection__choice .select2-selection__choice__remove{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

          .disabled\:dark:disabled .select2-container .select2-selection__choice .select2-selection__choice__remove:hover{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

      .disabled\:dark:disabled .select2-container .select2-results__option{
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}
    .disabled\:dark:disabled trix-editor{
  --tw-border-opacity: 1 !important;
  border-color: rgb(15 23 42 / var(--tw-border-opacity, 1)) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1)) !important;
}

      .disabled\:dark:disabled trix-editor:focus,.disabled\:dark:disabled trix-editor:active{
  border-color: var(--primary-500) !important;
}

    .disabled\:dark:disabled trix-toolbar{
  opacity: 0.5 !important;
}

      .disabled\:dark:disabled trix-toolbar.visible{
  opacity: 1 !important;
}

      .disabled\:dark:disabled trix-toolbar .trix-button-group,.disabled\:dark:disabled trix-toolbar .trix-button{
  --tw-border-opacity: 1 !important;
  border-color: rgb(148 163 184 / var(--tw-border-opacity, 1)) !important;
}

      .disabled\:dark:disabled trix-toolbar .trix-button:disabled::before{
  opacity: 0.25;
}

      .disabled\:dark:disabled trix-toolbar .trix-dialog{
  --tw-border-opacity: 1 !important;
  border-color: rgb(15 23 42 / var(--tw-border-opacity, 1)) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1)) !important;
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1) !important;
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color) !important;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
  --tw-shadow-color: #0f172a !important;
  --tw-shadow: var(--tw-shadow-colored) !important;
}

        .disabled\:dark:disabled trix-toolbar .trix-dialog .trix-button--dialog{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

        .disabled\:dark:disabled trix-toolbar .trix-dialog .trix-input--dialog{
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}

        .disabled\:dark:disabled trix-toolbar .trix-dialog .trix-input--dialog:focus{
  border-color: var(--primary-500);
  --tw-ring-color: var(--primary-500);
}

        .disabled\:dark:disabled trix-toolbar .trix-dialog .trix-input--dialog:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}
      .disabled\:dark:disabled .tribute-container ul{
  --tw-border-opacity: 1 !important;
  border-color: rgb(15 23 42 / var(--tw-border-opacity, 1)) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1)) !important;
}

    .disabled\:dark:disabled .trix-dialogs{
  --tw-border-opacity: 1 !important;
  border-color: rgb(15 23 42 / var(--tw-border-opacity, 1)) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1)) !important;
}

    .disabled\:dark:disabled .trix-content a[href^="bullettrain://"]{
  --tw-bg-opacity: 1;
  background-color: rgb(100 116 139 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
    .disabled\:dark:disabled .ck {
      --ck-color-base-background: #1e293b;
      --ck-color-base-border: #0f172a;
      --ck-color-toolbar-background: #1e293b;
      --ck-color-toolbar-border: #0f172a;
      --ck-color-text: #cbd5e1;
    }

      .disabled\:dark:disabled .ck .ck-editor__editable:not(.ck-editor__nested-editable){
  --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\:dark:disabled .ck .ck-editor__editable:not(.ck-editor__nested-editable).ck-focused{
  --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\:\[--code-editor-background\:theme\(\'colors\.base\.200\'\)\]:disabled{
  --code-editor-background: #e2e8f0;
}

.group[open] .group-open\:hidden{
  display: none;
}

.group:focus-within .group-focus-within\: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));
}

.group:focus-within .group-focus-within\:border-\[color\:var\(--rs-primary-500\)\]{
  border-color: var(--rs-primary-500);
}

.group:focus-within .group-focus-within\:text-\[color\:var\(--rs-primary-400\)\]{
  color: var(--rs-primary-400);
}

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

.group:hover .group-hover\:visible{
  visibility: visible;
}

.group\/item:hover .group-hover\/item\:translate-x-3{
  --tw-translate-x: 0.75rem;
  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\:translate-x-0\.5{
  --tw-translate-x: 0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:translate-x-3{
  --tw-translate-x: 0.75rem;
  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\: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));
}

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

.group:hover .group-hover\:scale-105{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:scale-110{
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:border-\[color\:var\(--rs-primary-500\)\]{
  border-color: var(--rs-primary-500);
}

.group:hover .group-hover\:text-\[color\:var\(--rs-primary-200\)\]{
  color: var(--rs-primary-200);
}

.group:hover .group-hover\:text-\[color\:var\(--rs-primary-300\)\]{
  color: var(--rs-primary-300);
}

.group:hover .group-hover\:text-\[color\:var\(--rs-primary-400\)\]{
  color: var(--rs-primary-400);
}

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

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

.group:hover .group-hover\:text-violet-400{
  --tw-text-opacity: 1;
  color: rgb(167 139 250 / var(--tw-text-opacity, 1));
}

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

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

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

.group:hover .group-hover\:opacity-0{
  opacity: 0;
}

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

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

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

.group:hover .group-hover\:grayscale-0{
  --tw-grayscale: grayscale(0);
  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);
}

      .dark .group:hover .group-hover\:visibletrix-toolbar{
  opacity: 1 !important;
}

.peer[open] ~ .peer-open\:hidden{
  display: none;
}

.dark\:divide-base-700\/5:is(.dark *) > :not([hidden]) ~ :not([hidden]){
  border-color: rgb(51 65 85 / 0.05);
}

.dark\:border-base-300\/10:is(.dark *){
  border-color: rgb(203 213 225 / 0.1);
}

.dark\:border-base-500:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(100 116 139 / var(--tw-border-opacity, 1));
}

.dark\:border-base-500\/5:is(.dark *){
  border-color: rgb(100 116 139 / 0.05);
}

.dark\:border-base-600:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(71 85 105 / var(--tw-border-opacity, 1));
}

.dark\:border-base-900:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(15 23 42 / var(--tw-border-opacity, 1));
}

.dark\:border-red-700:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(185 28 28 / var(--tw-border-opacity, 1));
}

.dark\:bg-base-50\/10:is(.dark *){
  background-color: rgb(248 250 252 / 0.1);
}

.dark\:bg-base-700:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}

.dark\:bg-base-700\/50:is(.dark *){
  background-color: rgb(51 65 85 / 0.5);
}

.dark\:bg-base-800:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}

.dark\:bg-base-900:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(15 23 42 / var(--tw-bg-opacity, 1));
}

.dark\:bg-black\/10:is(.dark *){
  background-color: rgb(0 0 0 / 0.1);
}

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

.dark\:bg-red-700\/40:is(.dark *){
  background-color: rgb(185 28 28 / 0.4);
}

.dark\:bg-red-900:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(127 29 29 / var(--tw-bg-opacity, 1));
}

.dark\:from-base-700:is(.dark *){
  --tw-gradient-from: #334155 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(51 65 85 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-base-700\/50:is(.dark *){
  --tw-gradient-from: rgb(51 65 85 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(51 65 85 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-base-800:is(.dark *){
  --tw-gradient-from: #1e293b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(30 41 59 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-primary-900:is(.dark *){
  --tw-gradient-from: var(--primary-900) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:to-base-800:is(.dark *){
  --tw-gradient-to: #1e293b var(--tw-gradient-to-position);
}

.dark\:to-primary-600:is(.dark *){
  --tw-gradient-to: var(--primary-600) var(--tw-gradient-to-position);
}

.dark\:text-base-200:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(226 232 240 / var(--tw-text-opacity, 1));
}

.dark\:text-base-300:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}

.dark\:text-base-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}

.dark\:text-base-500:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}

.dark\:text-base-800:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}

.dark\:text-blue-500:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(59 130 246 / var(--tw-text-opacity, 1));
}

.dark\:text-primary-300:is(.dark *){
  color: var(--primary-300);
}

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

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

.dark\:shadow:is(.dark *){
  --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);
}

.dark\:shadow-black:is(.dark *){
  --tw-shadow-color: #000;
  --tw-shadow: var(--tw-shadow-colored);
}

.dark\:ring-transparent:is(.dark *){
  --tw-ring-color: transparent;
}

.dark\:ring-offset-base-700:is(.dark *){
  --tw-ring-offset-color: #334155;
}

.dark\:\[--code-editor-background\:theme\(\'colors\.base\.800\'\)\]:is(.dark *){
  --code-editor-background: #1e293b;
}

.dark\:\*\:bg-base-700 > *:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}

.dark\:\*\:bg-base-900 > *:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(15 23 42 / var(--tw-bg-opacity, 1));
}

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

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

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

.disabled\:dark\:\[--code-editor-background\:theme\(\'colors\.base\.700\'\)\]:is(.dark *):disabled{
  --code-editor-background: #334155;
}

.group:hover .dark\:group-hover\:bg-base-700\/25:is(.dark *){
  background-color: rgb(51 65 85 / 0.25);
}

.group:hover .dark\:group-hover\:text-base-100:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(241 245 249 / var(--tw-text-opacity, 1));
}

@media (min-width: 640px){
  .sm\:col-span-1{
    grid-column: span 1 / span 1;
  }
  .sm\:col-span-2{
    grid-column: span 2 / span 2;
  }
  .sm\:col-span-3{
    grid-column: span 3 / span 3;
  }
  .sm\:m-10{
    margin: 2.5rem;
  }
  .sm\:mx-auto{
    margin-left: auto;
    margin-right: auto;
  }
  .sm\:mt-0{
    margin-top: 0px;
  }
  .sm\:flex{
    display: flex;
  }
  .sm\:h-10{
    height: 2.5rem;
  }
  .sm\:h-28{
    height: 7rem;
  }
  .sm\:w-20{
    width: 5rem;
  }
  .sm\:w-28{
    width: 7rem;
  }
  .sm\:w-48{
    width: 12rem;
  }
  .sm\:w-auto{
    width: auto;
  }
  .sm\:w-full{
    width: 100%;
  }
  .sm\:max-w-md{
    max-width: 28rem;
  }
  .sm\:max-w-sm{
    max-width: 24rem;
  }
  .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-6{
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .sm\:flex-row{
    flex-direction: row;
  }
  .sm\:items-center{
    align-items: center;
  }
  .sm\:justify-between{
    justify-content: space-between;
  }
  .sm\:gap-3{
    gap: 0.75rem;
  }
  .sm\:rounded-md{
    border-radius: 12px;
  }
  .sm\:bg-white{
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  }
  .sm\:bg-gradient-to-br{
    background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
  }
  .sm\:px-12{
    padding-left: 3rem;
    padding-right: 3rem;
  }
  .sm\:px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .sm\:py-12{
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  .sm\:py-14{
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }
  .sm\:py-4{
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .sm\:pl-8{
    padding-left: 2rem;
  }
  .sm\:pr-10{
    padding-right: 2.5rem;
  }
  .sm\:pr-6{
    padding-right: 1.5rem;
  }
  .sm\:text-left{
    text-align: left;
  }
  .sm\:text-4xl{
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
  .sm\:text-5xl{
    font-size: 3rem;
    line-height: 1;
  }
  .sm\:text-lg{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
  .sm\:text-sm{
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  .sm\: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);
  }
  .sm\:dark\:bg-base-700:is(.dark *){
    --tw-bg-opacity: 1;
    background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
  }
  .sm\:dark\:shadow-lg:is(.dark *){
    --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);
  }
}

@media (min-width: 768px){
  .md\:top-0\.5{
    top: 0.125rem;
  }
  .md\:col-span-2{
    grid-column: span 2 / span 2;
  }
  .md\:-mt-20{
    margin-top: -5rem;
  }
  .md\:block{
    display: block;
  }
  .md\:hidden{
    display: none;
  }
  .md\:h-14{
    height: 3.5rem;
  }
  .md\:h-20{
    height: 5rem;
  }
  .md\:h-40{
    height: 10rem;
  }
  .md\:h-auto{
    height: auto;
  }
  .md\:w-1\/3{
    width: 33.333333%;
  }
  .md\:w-1\/4{
    width: 25%;
  }
  .md\:w-14{
    width: 3.5rem;
  }
  .md\:w-20{
    width: 5rem;
  }
  .md\:w-40{
    width: 10rem;
  }
  .md\:w-full{
    width: 100%;
  }
  .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\:flex-row{
    flex-direction: row;
  }
  .md\:justify-start{
    justify-content: flex-start;
  }
  .md\:rounded-lg{
    border-radius: 16px;
  }
  .md\:rounded-l-lg{
    border-top-left-radius: 16px;
    border-bottom-left-radius: 16px;
  }
  .md\:rounded-t-lg{
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
  }
  .md\:rounded-tl-lg{
    border-top-left-radius: 16px;
  }
  .md\:bg-gradient-to-br{
    background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
  }
  .md\:p-10{
    padding: 2.5rem;
  }
  .md\:p-5{
    padding: 1.25rem;
  }
  .md\:p-8{
    padding: 2rem;
  }
  .md\:px-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .md\:pb-8{
    padding-bottom: 2rem;
  }
  .md\:text-left{
    text-align: left;
  }
  .md\:text-3xl{
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
  .md\:text-5xl{
    font-size: 3rem;
    line-height: 1;
  }
  .md\:text-\[0\.75rem\]{
    font-size: 0.75rem;
  }
  .md\:text-sm{
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  .md\:text-xl{
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}

@media (min-width: 1024px){
  .lg\:col-span-1{
    grid-column: span 1 / span 1;
  }
  .lg\:col-span-2{
    grid-column: span 2 / span 2;
  }
  .lg\:m-20{
    margin: 5rem;
  }
  .lg\:mx-0{
    margin-left: 0px;
    margin-right: 0px;
  }
  .lg\:-ml-px{
    margin-left: -1px;
  }
  .lg\:-mr-px{
    margin-right: -1px;
  }
  .lg\:-mt-5{
    margin-top: -1.25rem;
  }
  .lg\:mb-0{
    margin-bottom: 0px;
  }
  .lg\:inline-block{
    display: inline-block;
  }
  .lg\:flex{
    display: flex;
  }
  .lg\:hidden{
    display: none;
  }
  .lg\:w-1\/3{
    width: 33.333333%;
  }
  .lg\:w-1\/4{
    width: 25%;
  }
  .lg\:w-2\/3{
    width: 66.666667%;
  }
  .lg\:w-4\/5{
    width: 80%;
  }
  .lg\:w-72{
    width: 18rem;
  }
  .lg\:w-\[260px\]{
    width: 260px;
  }
  .lg\:w-\[320px\]{
    width: 320px;
  }
  .lg\:max-w-\[380px\]{
    max-width: 380px;
  }
  .lg\:max-w-md{
    max-width: 28rem;
  }
  .lg\:shrink-0{
    flex-shrink: 0;
  }
  .lg\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .lg\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .lg\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .lg\:grid-cols-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .lg\:grid-cols-6{
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .lg\:flex-row{
    flex-direction: row;
  }
  .lg\:justify-start{
    justify-content: flex-start;
  }
  .lg\:gap-10{
    gap: 2.5rem;
  }
  .lg\:gap-16{
    gap: 4rem;
  }
  .lg\:gap-8{
    gap: 2rem;
  }
  .lg\:rounded-l-none{
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
  }
  .lg\:border-l{
    border-left-width: 1px;
  }
  .lg\:border-t-0{
    border-top-width: 0px;
  }
  .lg\:p-10{
    padding: 2.5rem;
  }
  .lg\:px-4{
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .lg\:px-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .lg\:py-12{
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  .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\:text-left{
    text-align: left;
  }
  .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-lg{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}

@media (min-width: 1280px){
  .xl\:col-span-1{
    grid-column: span 1 / span 1;
  }
  .xl\:grid{
    display: grid;
  }
  .xl\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .xl\:grid-cols-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .xl\:grid-cols-6{
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .xl\:px-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .xl\:py-8{
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  .xl\:text-6xl{
    font-size: 3.75rem;
    line-height: 1;
  }
}
