*, ::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: #e2e8f0;
  /* 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, "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;
  /* 4 */
  font-feature-settings: normal;
  /* 5 */
  font-variation-settings: normal;
  /* 6 */
  -webkit-tap-highlight-color: transparent;
  /* 7 */
}

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

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

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

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

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

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

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

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

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

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

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

b,
strong {
  font-weight: bolder;
}

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

code,
kbd,
samp,
pre {
  font-family: "JetBrains Mono", "Fira Code", Consolas, 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: #94a3b8;
  /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1;
  /* 1 */
  color: #94a3b8;
  /* 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;
}

.container {
  width: 100%;
}

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

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

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

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

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

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

.visible {
  visibility: visible;
}

.invisible {
  visibility: hidden;
}

.collapse {
  visibility: collapse;
}

.static {
  position: static;
}

.fixed {
  position: fixed;
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.sticky {
  position: sticky;
}

.inset-0 {
  inset: 0px;
}

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

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

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

.-bottom-24 {
  bottom: -6rem;
}

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

.-bottom-5 {
  bottom: -1.25rem;
}

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

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

.-left-32 {
  left: -8rem;
}

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

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

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

.-right-24 {
  right: -6rem;
}

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

.-right-5 {
  right: -1.25rem;
}

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

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

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

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

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

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

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

.bottom-0 {
  bottom: 0px;
}

.bottom-3 {
  bottom: 0.75rem;
}

.bottom-6 {
  bottom: 1.5rem;
}

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

.left-0 {
  left: 0px;
}

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

.left-3 {
  left: 0.75rem;
}

.left-6 {
  left: 1.5rem;
}

.right-0 {
  right: 0px;
}

.right-2 {
  right: 0.5rem;
}

.right-3 {
  right: 0.75rem;
}

.right-4 {
  right: 1rem;
}

.right-6 {
  right: 1.5rem;
}

.top-0 {
  top: 0px;
}

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

.top-20 {
  top: 5rem;
}

.top-24 {
  top: 6rem;
}

.top-3 {
  top: 0.75rem;
}

.top-4 {
  top: 1rem;
}

.top-6 {
  top: 1.5rem;
}

.top-full {
  top: 100%;
}

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

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

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

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

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

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

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

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

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

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

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

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

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.col-auto {
  grid-column: auto;
}

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

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

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

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

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

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

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

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

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

.float-end {
  float: inline-end;
}

.m-0 {
  margin: 0px;
}

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

.m-2 {
  margin: 0.5rem;
}

.m-3 {
  margin: 0.75rem;
}

.m-4 {
  margin: 1rem;
}

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

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

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

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

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

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

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

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

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

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

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

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

.my-5 {
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.ml-11 {
  margin-left: 2.75rem;
}

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

.ml-3 {
  margin-left: 0.75rem;
}

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

.ml-5 {
  margin-left: 1.25rem;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.mt-6 {
  margin-top: 1.5rem;
}

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

.block {
  display: block;
}

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

.inline {
  display: inline;
}

.flex {
  display: flex;
}

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

.table {
  display: table;
}

.grid {
  display: grid;
}

.\!contents {
  display: contents !important;
}

.contents {
  display: contents;
}

.hidden {
  display: none;
}

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

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

.h-0 {
  height: 0px;
}

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

.h-1 {
  height: 0.25rem;
}

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

.h-10 {
  height: 2.5rem;
}

.h-11 {
  height: 2.75rem;
}

.h-12 {
  height: 3rem;
}

.h-14 {
  height: 3.5rem;
}

.h-16 {
  height: 4rem;
}

.h-2 {
  height: 0.5rem;
}

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

.h-20 {
  height: 5rem;
}

.h-24 {
  height: 6rem;
}

.h-28 {
  height: 7rem;
}

.h-3 {
  height: 0.75rem;
}

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

.h-32 {
  height: 8rem;
}

.h-4 {
  height: 1rem;
}

.h-44 {
  height: 11rem;
}

.h-48 {
  height: 12rem;
}

.h-5 {
  height: 1.25rem;
}

.h-6 {
  height: 1.5rem;
}

.h-7 {
  height: 1.75rem;
}

.h-8 {
  height: 2rem;
}

.h-80 {
  height: 20rem;
}

.h-9 {
  height: 2.25rem;
}

.h-\[1\.125rem\] {
  height: 1.125rem;
}

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

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

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

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

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

.h-full {
  height: 100%;
}

.h-px {
  height: 1px;
}

.h-screen {
  height: 100vh;
}

.max-h-52 {
  max-height: 13rem;
}

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

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

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

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

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

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

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

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

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

.w-0 {
  width: 0px;
}

.w-1 {
  width: 0.25rem;
}

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

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

.w-10 {
  width: 2.5rem;
}

.w-11 {
  width: 2.75rem;
}

.w-12 {
  width: 3rem;
}

.w-14 {
  width: 3.5rem;
}

.w-16 {
  width: 4rem;
}

.w-2 {
  width: 0.5rem;
}

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

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

.w-20 {
  width: 5rem;
}

.w-24 {
  width: 6rem;
}

.w-28 {
  width: 7rem;
}

.w-3 {
  width: 0.75rem;
}

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

.w-32 {
  width: 8rem;
}

.w-36 {
  width: 9rem;
}

.w-4 {
  width: 1rem;
}

.w-40 {
  width: 10rem;
}

.w-44 {
  width: 11rem;
}

.w-48 {
  width: 12rem;
}

.w-5 {
  width: 1.25rem;
}

.w-52 {
  width: 13rem;
}

.w-6 {
  width: 1.5rem;
}

.w-7 {
  width: 1.75rem;
}

.w-72 {
  width: 18rem;
}

.w-8 {
  width: 2rem;
}

.w-80 {
  width: 20rem;
}

.w-9 {
  width: 2.25rem;
}

.w-\[1\.125rem\] {
  width: 1.125rem;
}

.w-\[17\.25rem\] {
  width: 17.25rem;
}

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

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

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

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

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

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

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

.w-auto {
  width: auto;
}

.w-full {
  width: 100%;
}

.w-px {
  width: 1px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.max-w-xl {
  max-width: 36rem;
}

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

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

.flex-none {
  flex: none;
}

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

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

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

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

.grow {
  flex-grow: 1;
}

.border-collapse {
  border-collapse: collapse;
}

.origin-top {
  transform-origin: top;
}

.-translate-x-1 {
  --tw-translate-x: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-x-4 {
  --tw-translate-x: -1rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-x-full {
  --tw-translate-x: -100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-y-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-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-y-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-x-0 {
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

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

.translate-x-4 {
  --tw-translate-x: 1rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-\[1\.1rem\] {
  --tw-translate-x: 1.1rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

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

.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-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.rotate-90 {
  --tw-rotate: 90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.scale-0 {
  --tw-scale-x: 0;
  --tw-scale-y: 0;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.scale-100 {
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.scale-50 {
  --tw-scale-x: .5;
  --tw-scale-y: .5;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.scale-95 {
  --tw-scale-x: .95;
  --tw-scale-y: .95;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.scale-\[\.98\] {
  --tw-scale-x: .98;
  --tw-scale-y: .98;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.scale-y-100 {
  --tw-scale-y: 1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

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

@keyframes ping {
  75%, 100% {
    transform: scale(2);
    opacity: 0;
  }
}

.animate-ping {
  animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
}

@keyframes pulse {
  50% {
    opacity: .5;
  }
}

.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

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

.animate-spin {
  animation: spin 1s linear infinite;
}

.cursor-default {
  cursor: default;
}

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

.resize-y {
  resize: vertical;
}

.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-none {
  list-style-type: none;
}

.appearance-none {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

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

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

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

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

.grid-cols-\[1fr_120px_100px_auto\] {
  grid-template-columns: 1fr 120px 100px auto;
}

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

.grid-rows-\[0fr\] {
  grid-template-rows: 0fr;
}

.grid-rows-\[1fr\] {
  grid-template-rows: 1fr;
}

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

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

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

.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 {
  gap: 0px;
}

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

.gap-1 {
  gap: 0.25rem;
}

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

.gap-12 {
  gap: 3rem;
}

.gap-2 {
  gap: 0.5rem;
}

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

.gap-3 {
  gap: 0.75rem;
}

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

.gap-4 {
  gap: 1rem;
}

.gap-5 {
  gap: 1.25rem;
}

.gap-6 {
  gap: 1.5rem;
}

.gap-8 {
  gap: 2rem;
}

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

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

.gap-x-5 {
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;
}

.gap-x-8 {
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}

.gap-y-1 {
  row-gap: 0.25rem;
}

.gap-y-2 {
  row-gap: 0.5rem;
}

.gap-y-3 {
  row-gap: 0.75rem;
}

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

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

.space-y-0 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0px * var(--tw-space-y-reverse));
}

.space-y-0\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}

.space-y-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}

.space-y-1\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}

.space-y-10 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2.5rem * var(--tw-space-y-reverse));
}

.space-y-12 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(3rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(3rem * var(--tw-space-y-reverse));
}

.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}

.space-y-2\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.625rem * var(--tw-space-y-reverse));
}

.space-y-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}

.space-y-3\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.875rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.875rem * var(--tw-space-y-reverse));
}

.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}

.space-y-5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}

.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}

.space-y-8 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}

.divide-y > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}

.divide-slate-100 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(241 245 249 / var(--tw-divide-opacity, 1));
}

.divide-white\/\[0\.04\] > :not([hidden]) ~ :not([hidden]) {
  border-color: rgb(255 255 255 / 0.04);
}

.divide-white\/\[0\.05\] > :not([hidden]) ~ :not([hidden]) {
  border-color: rgb(255 255 255 / 0.05);
}

.divide-white\/\[0\.06\] > :not([hidden]) ~ :not([hidden]) {
  border-color: rgb(255 255 255 / 0.06);
}

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

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

.overflow-auto {
  overflow: auto;
}

.overflow-hidden {
  overflow: hidden;
}

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

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

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

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

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

.overscroll-contain {
  overscroll-behavior: contain;
}

.overscroll-x-contain {
  overscroll-behavior-x: contain;
}

.scroll-smooth {
  scroll-behavior: smooth;
}

.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.whitespace-nowrap {
  white-space: nowrap;
}

.text-wrap {
  text-wrap: wrap;
}

.text-nowrap {
  text-wrap: nowrap;
}

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

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

.rounded {
  border-radius: 0.25rem;
}

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

.rounded-3xl {
  border-radius: 0.875rem;
}

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

.rounded-lg {
  border-radius: 0.5rem;
}

.rounded-md {
  border-radius: 0.375rem;
}

.rounded-sm {
  border-radius: 0.125rem;
}

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

.rounded-b-2xl {
  border-bottom-right-radius: 0.75rem;
  border-bottom-left-radius: 0.75rem;
}

.rounded-r-md {
  border-top-right-radius: 0.375rem;
  border-bottom-right-radius: 0.375rem;
}

.rounded-t-xl {
  border-top-left-radius: 0.625rem;
  border-top-right-radius: 0.625rem;
}

.rounded-bl-md {
  border-bottom-left-radius: 0.375rem;
}

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

.rounded-bl-xl {
  border-bottom-left-radius: 0.625rem;
}

.rounded-br-md {
  border-bottom-right-radius: 0.375rem;
}

.rounded-tl-md {
  border-top-left-radius: 0.375rem;
}

.rounded-tl-none {
  border-top-left-radius: 0px;
}

.rounded-tr-2xl {
  border-top-right-radius: 0.75rem;
}

.rounded-tr-md {
  border-top-right-radius: 0.375rem;
}

.border {
  border-width: 1px;
}

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

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

.border-y {
  border-top-width: 1px;
  border-bottom-width: 1px;
}

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

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

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

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

.border-l-\[3px\] {
  border-left-width: 3px;
}

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

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

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

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

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

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

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

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

.border-\[\#030712\] {
  --tw-border-opacity: 1;
  border-color: rgb(3 7 18 / var(--tw-border-opacity, 1));
}

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

.border-\[rgba\(var\(--color-primary-rgb\)\2c 0\.15\)\] {
  border-color: rgba(var(--color-primary-rgb),0.15);
}

.border-\[rgba\(var\(--color-primary-rgb\)\2c 0\.2\)\] {
  border-color: rgba(var(--color-primary-rgb),0.2);
}

.border-\[rgba\(var\(--color-primary-rgb\)\2c 0\.25\)\] {
  border-color: rgba(var(--color-primary-rgb),0.25);
}

.border-\[rgba\(var\(--color-primary-rgb\)\2c 0\.3\)\] {
  border-color: rgba(var(--color-primary-rgb),0.3);
}

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

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

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

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

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

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

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

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

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

.border-blue-500\/15 {
  border-color: rgb(59 130 246 / 0.15);
}

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

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

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

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

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

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

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

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

.border-emerald-500\/40 {
  border-color: rgb(16 185 129 / 0.4);
}

.border-emerald-500\/70 {
  border-color: rgb(16 185 129 / 0.7);
}

.border-gray-100 {
  --tw-border-opacity: 1;
  border-color: rgb(241 245 249 / var(--tw-border-opacity, 1));
}

.border-gray-200 {
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
}

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

.border-gray-500\/20 {
  border-color: rgb(100 116 139 / 0.2);
}

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

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

.border-green-300 {
  --tw-border-opacity: 1;
  border-color: rgb(134 239 172 / var(--tw-border-opacity, 1));
}

.border-green-400\/40 {
  border-color: rgb(74 222 128 / 0.4);
}

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

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

.border-green-500\/50 {
  border-color: rgb(34 197 94 / 0.5);
}

.border-indigo-100 {
  --tw-border-opacity: 1;
  border-color: rgb(var(--brand-100) / var(--tw-border-opacity, 1));
}

.border-indigo-200 {
  --tw-border-opacity: 1;
  border-color: rgb(var(--brand-200) / var(--tw-border-opacity, 1));
}

.border-indigo-400 {
  --tw-border-opacity: 1;
  border-color: rgb(var(--brand-400) / var(--tw-border-opacity, 1));
}

.border-indigo-500 {
  --tw-border-opacity: 1;
  border-color: rgb(var(--brand-500) / var(--tw-border-opacity, 1));
}

.border-indigo-500\/15 {
  border-color: rgb(var(--brand-500) / 0.15);
}

.border-indigo-500\/20 {
  border-color: rgb(var(--brand-500) / 0.2);
}

.border-indigo-500\/25 {
  border-color: rgb(var(--brand-500) / 0.25);
}

.border-indigo-500\/30 {
  border-color: rgb(var(--brand-500) / 0.3);
}

.border-indigo-500\/40 {
  border-color: rgb(var(--brand-500) / 0.4);
}

.border-indigo-500\/50 {
  border-color: rgb(var(--brand-500) / 0.5);
}

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

.border-outline-variant {
  --tw-border-opacity: 1;
  border-color: rgb(196 197 215 / var(--tw-border-opacity, 1));
}

.border-outline-variant\/40 {
  border-color: rgb(196 197 215 / 0.4);
}

.border-primary {
  --tw-border-opacity: 1;
  border-color: rgb(var(--brand-500) / var(--tw-border-opacity, 1));
}

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

.border-primary\/40 {
  border-color: rgb(var(--brand-500) / 0.4);
}

.border-purple-500\/20 {
  border-color: rgb(168 85 247 / 0.2);
}

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

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

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

.border-red-400\/40 {
  border-color: rgb(248 113 113 / 0.4);
}

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

.border-red-500\/25 {
  border-color: rgb(239 68 68 / 0.25);
}

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

.border-red-500\/60 {
  border-color: rgb(239 68 68 / 0.6);
}

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

.border-sky-200 {
  --tw-border-opacity: 1;
  border-color: rgb(186 230 253 / var(--tw-border-opacity, 1));
}

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

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

.border-slate-200\/60 {
  border-color: rgb(226 232 240 / 0.6);
}

.border-slate-200\/70 {
  border-color: rgb(226 232 240 / 0.7);
}

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

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

.border-surface-container {
  --tw-border-opacity: 1;
  border-color: rgb(238 237 249 / var(--tw-border-opacity, 1));
}

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

.border-violet-500\/20 {
  border-color: rgb(var(--brand2-500) / 0.2);
}

.border-violet-500\/30 {
  border-color: rgb(var(--brand2-500) / 0.3);
}

.border-violet-500\/50 {
  border-color: rgb(var(--brand2-500) / 0.5);
}

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

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

.border-white\/15 {
  border-color: rgb(255 255 255 / 0.15);
}

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

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

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

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

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

.border-white\/\[0\.04\] {
  border-color: rgb(255 255 255 / 0.04);
}

.border-white\/\[0\.05\] {
  border-color: rgb(255 255 255 / 0.05);
}

.border-white\/\[0\.06\] {
  border-color: rgb(255 255 255 / 0.06);
}

.border-white\/\[0\.07\] {
  border-color: rgb(255 255 255 / 0.07);
}

.border-white\/\[0\.08\] {
  border-color: rgb(255 255 255 / 0.08);
}

.border-white\/\[0\.10\] {
  border-color: rgb(255 255 255 / 0.10);
}

.border-white\/\[0\.12\] {
  border-color: rgb(255 255 255 / 0.12);
}

.border-white\/\[0\.15\] {
  border-color: rgb(255 255 255 / 0.15);
}

.border-white\/\[0\.1\] {
  border-color: rgb(255 255 255 / 0.1);
}

.border-l-indigo-400 {
  --tw-border-opacity: 1;
  border-left-color: rgb(var(--brand-400) / var(--tw-border-opacity, 1));
}

.border-l-primary {
  --tw-border-opacity: 1;
  border-left-color: rgb(var(--brand-500) / var(--tw-border-opacity, 1));
}

.border-t-indigo-400 {
  --tw-border-opacity: 1;
  border-top-color: rgb(var(--brand-400) / var(--tw-border-opacity, 1));
}

.border-t-primary {
  --tw-border-opacity: 1;
  border-top-color: rgb(var(--brand-500) / var(--tw-border-opacity, 1));
}

.bg-\[\#00b67a\] {
  --tw-bg-opacity: 1;
  background-color: rgb(0 182 122 / var(--tw-bg-opacity, 1));
}

.bg-\[\#030712\] {
  --tw-bg-opacity: 1;
  background-color: rgb(3 7 18 / var(--tw-bg-opacity, 1));
}

.bg-\[\#030712\]\/95 {
  background-color: rgb(3 7 18 / 0.95);
}

.bg-\[\#0a0f1e\] {
  --tw-bg-opacity: 1;
  background-color: rgb(10 15 30 / var(--tw-bg-opacity, 1));
}

.bg-\[\#0b1c30\]\/60 {
  background-color: rgb(11 28 48 / 0.6);
}

.bg-\[\#0d1424\] {
  --tw-bg-opacity: 1;
  background-color: rgb(13 20 36 / var(--tw-bg-opacity, 1));
}

.bg-\[\#0f172a\] {
  --tw-bg-opacity: 1;
  background-color: rgb(15 23 42 / var(--tw-bg-opacity, 1));
}

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

.bg-\[\#f8f9ff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(248 249 255 / var(--tw-bg-opacity, 1));
}

.bg-\[\#feeceb\] {
  --tw-bg-opacity: 1;
  background-color: rgb(254 236 235 / var(--tw-bg-opacity, 1));
}

.bg-\[color\:rgba\(var\(--color-primary-rgb\)\2c \.06\)\] {
  background-color: rgba(var(--color-primary-rgb),.06);
}

.bg-\[color\:rgba\(var\(--color-primary-rgb\2c 99\2c 102\2c 241\)\2c 0\.05\)\] {
  background-color: rgba(var(--color-primary-rgb,99,102,241),0.05);
}

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

.bg-\[rgba\(var\(--color-primary-rgb\)\2c 0\.08\)\] {
  background-color: rgba(var(--color-primary-rgb),0.08);
}

.bg-\[rgba\(var\(--color-primary-rgb\)\2c 0\.1\)\] {
  background-color: rgba(var(--color-primary-rgb),0.1);
}

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

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

.bg-amber-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / 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-50\/30 {
  background-color: rgb(255 251 235 / 0.3);
}

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

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

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

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

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

.bg-amber-500\/5 {
  background-color: rgb(245 158 11 / 0.05);
}

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

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

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

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

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

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

.bg-blue-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\/15 {
  background-color: rgb(59 130 246 / 0.15);
}

.bg-blue-500\/5 {
  background-color: rgb(59 130 246 / 0.05);
}

.bg-brand-accent-surface {
  --tw-bg-opacity: 1;
  background-color: rgb(255 243 233 / var(--tw-bg-opacity, 1));
}

.bg-brand-success-surface {
  --tw-bg-opacity: 1;
  background-color: rgb(232 248 241 / var(--tw-bg-opacity, 1));
}

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

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

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

.bg-emerald-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / 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\/15 {
  background-color: rgb(16 185 129 / 0.15);
}

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

.bg-emerald-500\/5 {
  background-color: rgb(16 185 129 / 0.05);
}

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

.bg-gray-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(148 163 184 / 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(100 116 139 / var(--tw-bg-opacity, 1));
}

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

.bg-gray-500\/15 {
  background-color: rgb(100 116 139 / 0.15);
}

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

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

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

.bg-gray-900\/95 {
  background-color: rgb(15 23 42 / 0.95);
}

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

.bg-green-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(134 239 172 / var(--tw-bg-opacity, 1));
}

.bg-green-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));
}

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

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

.bg-green-500\/10 {
  background-color: rgb(34 197 94 / 0.1);
}

.bg-green-500\/15 {
  background-color: rgb(34 197 94 / 0.15);
}

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

.bg-green-500\/25 {
  background-color: rgb(34 197 94 / 0.25);
}

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

.bg-green-500\/5 {
  background-color: rgb(34 197 94 / 0.05);
}

.bg-green-500\/\[0\.06\] {
  background-color: rgb(34 197 94 / 0.06);
}

.bg-indigo-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand-100) / var(--tw-bg-opacity, 1));
}

.bg-indigo-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand-200) / var(--tw-bg-opacity, 1));
}

.bg-indigo-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand-400) / var(--tw-bg-opacity, 1));
}

.bg-indigo-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand-50) / var(--tw-bg-opacity, 1));
}

.bg-indigo-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand-500) / var(--tw-bg-opacity, 1));
}

.bg-indigo-500\/10 {
  background-color: rgb(var(--brand-500) / 0.1);
}

.bg-indigo-500\/15 {
  background-color: rgb(var(--brand-500) / 0.15);
}

.bg-indigo-500\/20 {
  background-color: rgb(var(--brand-500) / 0.2);
}

.bg-indigo-500\/40 {
  background-color: rgb(var(--brand-500) / 0.4);
}

.bg-indigo-500\/5 {
  background-color: rgb(var(--brand-500) / 0.05);
}

.bg-indigo-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand-600) / var(--tw-bg-opacity, 1));
}

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

.bg-orange-500\/10 {
  background-color: rgb(249 115 22 / 0.1);
}

.bg-orange-500\/15 {
  background-color: rgb(249 115 22 / 0.15);
}

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

.bg-pink-500\/20 {
  background-color: rgb(236 72 153 / 0.2);
}

.bg-primary {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand-500) / var(--tw-bg-opacity, 1));
}

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

.bg-primary-fixed {
  --tw-bg-opacity: 1;
  background-color: rgb(237 241 255 / var(--tw-bg-opacity, 1));
}

.bg-primary-fixed-dim {
  --tw-bg-opacity: 1;
  background-color: rgb(192 202 255 / var(--tw-bg-opacity, 1));
}

.bg-primary-fixed\/20 {
  background-color: rgb(237 241 255 / 0.2);
}

.bg-primary\/10 {
  background-color: rgb(var(--brand-500) / 0.1);
}

.bg-primary\/40 {
  background-color: rgb(var(--brand-500) / 0.4);
}

.bg-primary\/5 {
  background-color: rgb(var(--brand-500) / 0.05);
}

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

.bg-purple-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(192 132 252 / var(--tw-bg-opacity, 1));
}

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

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

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

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

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

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

.bg-red-50\/20 {
  background-color: rgb(254 242 242 / 0.2);
}

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

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

.bg-red-500\/15 {
  background-color: rgb(239 68 68 / 0.15);
}

.bg-red-500\/25 {
  background-color: rgb(239 68 68 / 0.25);
}

.bg-red-500\/5 {
  background-color: rgb(239 68 68 / 0.05);
}

.bg-rose-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 113 133 / var(--tw-bg-opacity, 1));
}

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

.bg-secondary {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand2-600) / var(--tw-bg-opacity, 1));
}

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

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

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

.bg-sky-500\/20 {
  background-color: rgb(14 165 233 / 0.2);
}

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

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

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

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

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

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

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

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

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

.bg-surface-container-high {
  --tw-bg-opacity: 1;
  background-color: rgb(232 232 245 / var(--tw-bg-opacity, 1));
}

.bg-surface-container-low {
  --tw-bg-opacity: 1;
  background-color: rgb(243 242 254 / var(--tw-bg-opacity, 1));
}

.bg-surface-container-low\/50 {
  background-color: rgb(243 242 254 / 0.5);
}

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

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

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

.bg-violet-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand2-400) / var(--tw-bg-opacity, 1));
}

.bg-violet-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand2-50) / var(--tw-bg-opacity, 1));
}

.bg-violet-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand2-500) / var(--tw-bg-opacity, 1));
}

.bg-violet-500\/10 {
  background-color: rgb(var(--brand2-500) / 0.1);
}

.bg-violet-500\/15 {
  background-color: rgb(var(--brand2-500) / 0.15);
}

.bg-violet-500\/20 {
  background-color: rgb(var(--brand2-500) / 0.2);
}

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

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

.bg-white\/15 {
  background-color: rgb(255 255 255 / 0.15);
}

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

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

.bg-white\/95 {
  background-color: rgb(255 255 255 / 0.95);
}

.bg-white\/\[0\.02\] {
  background-color: rgb(255 255 255 / 0.02);
}

.bg-white\/\[0\.03\] {
  background-color: rgb(255 255 255 / 0.03);
}

.bg-white\/\[0\.04\] {
  background-color: rgb(255 255 255 / 0.04);
}

.bg-white\/\[0\.05\] {
  background-color: rgb(255 255 255 / 0.05);
}

.bg-white\/\[0\.06\] {
  background-color: rgb(255 255 255 / 0.06);
}

.bg-white\/\[0\.08\] {
  background-color: rgb(255 255 255 / 0.08);
}

.bg-white\/\[0\.15\] {
  background-color: rgb(255 255 255 / 0.15);
}

.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-amber-500 {
  --tw-gradient-from: #f59e0b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-indigo-500 {
  --tw-gradient-from: rgb(var(--brand-500) / 1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(var(--brand-500) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-indigo-950 {
  --tw-gradient-from: rgb(var(--brand-950) / 1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(var(--brand-950) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-primary {
  --tw-gradient-from: rgb(var(--brand-500) / 1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(var(--brand-500) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-slate-900 {
  --tw-gradient-from: #0f172a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(15 23 42 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-slate-900\/80 {
  --tw-gradient-from: rgb(15 23 42 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(15 23 42 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.via-orange-400 {
  --tw-gradient-to: rgb(251 146 60 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fb923c var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-purple-500 {
  --tw-gradient-to: rgb(168 85 247 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #a855f7 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-slate-900 {
  --tw-gradient-to: rgb(15 23 42 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #0f172a var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.to-amber-600 {
  --tw-gradient-to: #d97706 var(--tw-gradient-to-position);
}

.to-indigo-600 {
  --tw-gradient-to: rgb(var(--brand-600) / 1) var(--tw-gradient-to-position);
}

.to-primary {
  --tw-gradient-to: rgb(var(--brand-500) / 1) var(--tw-gradient-to-position);
}

.to-slate-800 {
  --tw-gradient-to: #1e293b var(--tw-gradient-to-position);
}

.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}

.to-violet-600 {
  --tw-gradient-to: rgb(var(--brand2-600) / 1) var(--tw-gradient-to-position);
}

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

.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-10 {
  padding: 2.5rem;
}

.p-2 {
  padding: 0.5rem;
}

.p-2\.5 {
  padding: 0.625rem;
}

.p-3 {
  padding: 0.75rem;
}

.p-3\.5 {
  padding: 0.875rem;
}

.p-4 {
  padding: 1rem;
}

.p-5 {
  padding: 1.25rem;
}

.p-6 {
  padding: 1.5rem;
}

.p-7 {
  padding: 1.75rem;
}

.p-8 {
  padding: 2rem;
}

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

.px-1 {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

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

.px-10 {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

.px-14 {
  padding-left: 3.5rem;
  padding-right: 3.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-3\.5 {
  padding-left: 0.875rem;
  padding-right: 0.875rem;
}

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

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

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

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

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

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

.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

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

.py-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

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

.py-14 {
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}

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

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

.py-2\.5 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

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

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

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

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

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

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

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

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

.pb-0 {
  padding-bottom: 0px;
}

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

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

.pb-10 {
  padding-bottom: 2.5rem;
}

.pb-14 {
  padding-bottom: 3.5rem;
}

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

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

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

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

.pb-3\.5 {
  padding-bottom: 0.875rem;
}

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

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

.pb-6 {
  padding-bottom: 1.5rem;
}

.pb-7 {
  padding-bottom: 1.75rem;
}

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

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

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

.pl-11 {
  padding-left: 2.75rem;
}

.pl-2 {
  padding-left: 0.5rem;
}

.pl-3 {
  padding-left: 0.75rem;
}

.pl-3\.5 {
  padding-left: 0.875rem;
}

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

.pl-9 {
  padding-left: 2.25rem;
}

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

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

.pr-11 {
  padding-right: 2.75rem;
}

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

.pr-14 {
  padding-right: 3.5rem;
}

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

.pr-2\.5 {
  padding-right: 0.625rem;
}

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

.pr-3\.5 {
  padding-right: 0.875rem;
}

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

.pr-6 {
  padding-right: 1.5rem;
}

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

.ps-0 {
  padding-inline-start: 0px;
}

.ps-3 {
  padding-inline-start: 0.75rem;
}

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

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

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

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

.pt-14 {
  padding-top: 3.5rem;
}

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

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

.pt-2\.5 {
  padding-top: 0.625rem;
}

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

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

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

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

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

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

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

.text-center {
  text-align: center;
}

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

.text-start {
  text-align: start;
}

.text-end {
  text-align: end;
}

.align-top {
  vertical-align: top;
}

.align-middle {
  vertical-align: middle;
}

.font-display {
  font-family: "Inter Tight", "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;
}

.font-mono {
  font-family: "JetBrains Mono", "Fira Code", Consolas, monospace;
}

.font-sans {
  font-family: Inter, "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;
}

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

.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}

.text-4xl {
  font-size: 2.25rem;
  line-height: 2.5rem;
}

.text-5xl {
  font-size: 3rem;
  line-height: 1;
}

.text-6xl {
  font-size: 3.75rem;
  line-height: 1;
}

.text-\[0\.95rem\] {
  font-size: 0.95rem;
}

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

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

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

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

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

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

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

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

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

.text-\[2\.25rem\] {
  font-size: 2.25rem;
}

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

.text-\[2rem\] {
  font-size: 2rem;
}

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

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

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

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

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

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

.text-body-md {
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
}

.text-h2 {
  font-size: 24px;
  line-height: 32px;
  letter-spacing: -0.01em;
  font-weight: 600;
}

.text-h3 {
  font-size: 18px;
  line-height: 28px;
  letter-spacing: -0.01em;
  font-weight: 600;
}

.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.text-status {
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
}

.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}

.font-black {
  font-weight: 900;
}

.font-bold {
  font-weight: 700;
}

.font-extrabold {
  font-weight: 800;
}

.font-medium {
  font-weight: 500;
}

.font-normal {
  font-weight: 400;
}

.font-semibold {
  font-weight: 600;
}

.uppercase {
  text-transform: uppercase;
}

.lowercase {
  text-transform: lowercase;
}

.capitalize {
  text-transform: capitalize;
}

.normal-case {
  text-transform: none;
}

.italic {
  font-style: italic;
}

.tabular-nums {
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

.leading-5 {
  line-height: 1.25rem;
}

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

.leading-8 {
  line-height: 2rem;
}

.leading-\[1\.2\] {
  line-height: 1.2;
}

.leading-\[1\.8\] {
  line-height: 1.8;
}

.leading-\[38px\] {
  line-height: 38px;
}

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

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

.leading-snug {
  line-height: 1.375;
}

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

.tracking-\[-0\.01em\] {
  letter-spacing: -0.01em;
}

.tracking-\[-0\.02em\] {
  letter-spacing: -0.02em;
}

.tracking-\[\.10em\] {
  letter-spacing: .10em;
}

.tracking-\[\.18em\] {
  letter-spacing: .18em;
}

.tracking-\[0\.05em\] {
  letter-spacing: 0.05em;
}

.tracking-\[0\.14em\] {
  letter-spacing: 0.14em;
}

.tracking-\[0\.3em\] {
  letter-spacing: 0.3em;
}

.tracking-\[0\.5em\] {
  letter-spacing: 0.5em;
}

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

.tracking-tighter {
  letter-spacing: -0.05em;
}

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

.tracking-wider {
  letter-spacing: 0.05em;
}

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

.text-\[\#0b1c30\] {
  --tw-text-opacity: 1;
  color: rgb(11 28 48 / var(--tw-text-opacity, 1));
}

.text-\[\#1a8a47\] {
  --tw-text-opacity: 1;
  color: rgb(26 138 71 / var(--tw-text-opacity, 1));
}

.text-\[\#1e1b4b\] {
  --tw-text-opacity: 1;
  color: rgb(30 27 75 / var(--tw-text-opacity, 1));
}

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

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

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

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

.text-amber-400\/70 {
  color: rgb(251 191 36 / 0.7);
}

.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-600\/80 {
  color: rgb(217 119 6 / 0.8);
}

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

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

.text-blue-300\/80 {
  color: rgb(147 197 253 / 0.8);
}

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

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

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

.text-brand-accent {
  --tw-text-opacity: 1;
  color: rgb(189 84 11 / var(--tw-text-opacity, 1));
}

.text-brand-success {
  --tw-text-opacity: 1;
  color: rgb(21 153 103 / var(--tw-text-opacity, 1));
}

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

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

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

.text-emerald-400\/80 {
  color: rgb(52 211 153 / 0.8);
}

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

.text-emerald-500\/70 {
  color: rgb(16 185 129 / 0.7);
}

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

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

.text-emerald-800 {
  --tw-text-opacity: 1;
  color: rgb(6 95 70 / var(--tw-text-opacity, 1));
}

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

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

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

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

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

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

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

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

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

.text-green-300 {
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}

.text-green-300\/70 {
  color: rgb(134 239 172 / 0.7);
}

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

.text-indigo-100\/80 {
  color: rgb(var(--brand-100) / 0.8);
}

.text-indigo-100\/90 {
  color: rgb(var(--brand-100) / 0.9);
}

.text-indigo-200 {
  --tw-text-opacity: 1;
  color: rgb(var(--brand-200) / var(--tw-text-opacity, 1));
}

.text-indigo-300 {
  --tw-text-opacity: 1;
  color: rgb(var(--brand-300) / var(--tw-text-opacity, 1));
}

.text-indigo-400 {
  --tw-text-opacity: 1;
  color: rgb(var(--brand-400) / var(--tw-text-opacity, 1));
}

.text-indigo-500 {
  --tw-text-opacity: 1;
  color: rgb(var(--brand-500) / var(--tw-text-opacity, 1));
}

.text-indigo-600 {
  --tw-text-opacity: 1;
  color: rgb(var(--brand-600) / var(--tw-text-opacity, 1));
}

.text-indigo-700 {
  --tw-text-opacity: 1;
  color: rgb(var(--brand-700) / var(--tw-text-opacity, 1));
}

.text-on-primary-container {
  color: var(--color-on-primary-container);
}

.text-on-primary-fixed-variant {
  --tw-text-opacity: 1;
  color: rgb(48 80 219 / var(--tw-text-opacity, 1));
}

.text-on-surface {
  --tw-text-opacity: 1;
  color: rgb(26 27 35 / var(--tw-text-opacity, 1));
}

.text-on-surface-variant {
  --tw-text-opacity: 1;
  color: rgb(68 70 85 / var(--tw-text-opacity, 1));
}

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

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

.text-outline {
  --tw-text-opacity: 1;
  color: rgb(101 104 121 / var(--tw-text-opacity, 1));
}

.text-pink-400 {
  --tw-text-opacity: 1;
  color: rgb(244 114 182 / var(--tw-text-opacity, 1));
}

.text-primary {
  --tw-text-opacity: 1;
  color: rgb(var(--brand-500) / var(--tw-text-opacity, 1));
}

.text-purple-400 {
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / var(--tw-text-opacity, 1));
}

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

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

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

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

.text-red-400\/70 {
  color: rgb(248 113 113 / 0.7);
}

.text-red-400\/80 {
  color: rgb(248 113 113 / 0.8);
}

.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-600\/80 {
  color: rgb(220 38 38 / 0.8);
}

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

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

.text-rose-400 {
  --tw-text-opacity: 1;
  color: rgb(251 113 133 / var(--tw-text-opacity, 1));
}

.text-secondary {
  --tw-text-opacity: 1;
  color: rgb(var(--brand2-600) / var(--tw-text-opacity, 1));
}

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

.text-sky-400 {
  --tw-text-opacity: 1;
  color: rgb(56 189 248 / var(--tw-text-opacity, 1));
}

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

.text-sky-800 {
  --tw-text-opacity: 1;
  color: rgb(7 89 133 / 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-slate-700 {
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}

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

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

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

.text-violet-300 {
  --tw-text-opacity: 1;
  color: rgb(var(--brand2-300) / var(--tw-text-opacity, 1));
}

.text-violet-400 {
  --tw-text-opacity: 1;
  color: rgb(var(--brand2-400) / var(--tw-text-opacity, 1));
}

.text-violet-500 {
  --tw-text-opacity: 1;
  color: rgb(var(--brand2-500) / var(--tw-text-opacity, 1));
}

.text-violet-600 {
  --tw-text-opacity: 1;
  color: rgb(var(--brand2-600) / var(--tw-text-opacity, 1));
}

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

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

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

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

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

.text-white\/55 {
  color: rgb(255 255 255 / 0.55);
}

.text-white\/60 {
  color: rgb(255 255 255 / 0.6);
}

.text-white\/65 {
  color: rgb(255 255 255 / 0.65);
}

.text-white\/70 {
  color: rgb(255 255 255 / 0.7);
}

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

.text-white\/90 {
  color: rgb(255 255 255 / 0.9);
}

.text-yellow-300 {
  --tw-text-opacity: 1;
  color: rgb(253 224 71 / var(--tw-text-opacity, 1));
}

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

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

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

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

.decoration-amber-300 {
  text-decoration-color: #fcd34d;
}

.decoration-indigo-300 {
  text-decoration-color: rgb(var(--brand-300) / 1);
}

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

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

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

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

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

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

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

.placeholder-gray-700::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(51 65 85 / var(--tw-placeholder-opacity, 1));
}

.placeholder-gray-700::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(51 65 85 / var(--tw-placeholder-opacity, 1));
}

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

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

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

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

.accent-primary {
  accent-color: rgb(var(--brand-500) / 1);
}

.opacity-0 {
  opacity: 0;
}

.opacity-10 {
  opacity: 0.1;
}

.opacity-100 {
  opacity: 1;
}

.opacity-15 {
  opacity: 0.15;
}

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

.opacity-90 {
  opacity: 0.9;
}

.opacity-95 {
  opacity: 0.95;
}

.opacity-\[0\.06\] {
  opacity: 0.06;
}

.opacity-\[0\.07\] {
  opacity: 0.07;
}

.opacity-\[0\.12\] {
  opacity: 0.12;
}

.opacity-\[0\.15\] {
  opacity: 0.15;
}

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

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

.shadow-\[0_1px_0_rgba\(255\2c 255\2c 255\2c 0\.7\)_inset\] {
  --tw-shadow: 0 1px 0 rgba(255,255,255,0.7) inset;
  --tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_4px_20px_rgba\(0\2c 0\2c 0\2c 0\.02\)\] {
  --tw-shadow: 0 4px 20px rgba(0,0,0,0.02);
  --tw-shadow-colored: 0 4px 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0px_4px_12px_rgba\(0\2c 0\2c 0\2c 0\.02\)\] {
  --tw-shadow: 0px 4px 12px rgba(0,0,0,0.02);
  --tw-shadow-colored: 0px 4px 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-btn {
  --tw-shadow: 0 13px 28px rgba(82,113,255,0.24);
  --tw-shadow-colored: 0 13px 28px 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-card {
  --tw-shadow: 0 14px 35px rgba(31,42,85,0.05);
  --tw-shadow-colored: 0 14px 35px 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-card-hover {
  --tw-shadow: 0 22px 48px rgba(31,42,85,0.09);
  --tw-shadow-colored: 0 22px 48px 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-hero {
  --tw-shadow: 0 35px 90px rgba(31,42,85,0.14);
  --tw-shadow-colored: 0 35px 90px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

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

.shadow-md {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-none {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

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

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

.shadow-\[rgba\(var\(--color-primary-rgb\)\2c 0\.2\)\] {
  --tw-shadow-color: rgba(var(--color-primary-rgb),0.2);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-amber-500\/20 {
  --tw-shadow-color: rgb(245 158 11 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-amber-900\/20 {
  --tw-shadow-color: rgb(120 53 15 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-black\/10 {
  --tw-shadow-color: rgb(0 0 0 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}

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

.shadow-black\/60 {
  --tw-shadow-color: rgb(0 0 0 / 0.6);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-black\/\[0\.06\] {
  --tw-shadow-color: rgb(0 0 0 / 0.06);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-black\/\[0\.08\] {
  --tw-shadow-color: rgb(0 0 0 / 0.08);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-indigo-500\/20 {
  --tw-shadow-color: rgb(var(--brand-500) / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-indigo-500\/25 {
  --tw-shadow-color: rgb(var(--brand-500) / 0.25);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-indigo-500\/30 {
  --tw-shadow-color: rgb(var(--brand-500) / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-primary\/20 {
  --tw-shadow-color: rgb(var(--brand-500) / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-primary\/5 {
  --tw-shadow-color: rgb(var(--brand-500) / 0.05);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-slate-200\/60 {
  --tw-shadow-color: rgb(226 232 240 / 0.6);
  --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-\[rgba\(var\(--color-primary-rgb\)\2c 0\.10\)\] {
  --tw-ring-color: rgba(var(--color-primary-rgb),0.10);
}

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

.ring-red-500\/40 {
  --tw-ring-color: rgb(239 68 68 / 0.4);
}

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

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

.blur {
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.blur-2xl {
  --tw-blur: blur(40px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.blur-3xl {
  --tw-blur: blur(64px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.blur-\[100px\] {
  --tw-blur: blur(100px);
  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-\[140px\] {
  --tw-blur: blur(140px);
  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-\[160px\] {
  --tw-blur: blur(160px);
  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-\[60px\] {
  --tw-blur: blur(60px);
  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-\[80px\] {
  --tw-blur: blur(80px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.invert {
  --tw-invert: invert(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.backdrop-blur-md {
  --tw-backdrop-blur: blur(12px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-blur-sm {
  --tw-backdrop-blur: blur(4px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-blur-xl {
  --tw-backdrop-blur: blur(24px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-filter {
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

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

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

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

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

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

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

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

.delay-75 {
  transition-delay: 75ms;
}

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

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

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

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

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

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

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

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

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

.\[scrollbar-width\:none\] {
  scrollbar-width: none;
}

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

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

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

.focus-within\:border-indigo-400:focus-within {
  --tw-border-opacity: 1;
  border-color: rgb(var(--brand-400) / var(--tw-border-opacity, 1));
}

.focus-within\:border-indigo-500\/40:focus-within {
  border-color: rgb(var(--brand-500) / 0.4);
}

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

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

.hover\:-translate-y-0\.5:hover {
  --tw-translate-y: -0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

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

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

.hover\:border-\[rgba\(var\(--color-primary-rgb\)\2c 0\.3\)\]:hover {
  border-color: rgba(var(--color-primary-rgb),0.3);
}

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

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

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

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

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

.hover\:border-indigo-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(var(--brand-400) / var(--tw-border-opacity, 1));
}

.hover\:border-indigo-400\/50:hover {
  border-color: rgb(var(--brand-400) / 0.5);
}

.hover\:border-indigo-500\/20:hover {
  border-color: rgb(var(--brand-500) / 0.2);
}

.hover\:border-indigo-500\/25:hover {
  border-color: rgb(var(--brand-500) / 0.25);
}

.hover\:border-indigo-500\/30:hover {
  border-color: rgb(var(--brand-500) / 0.3);
}

.hover\:border-indigo-500\/40:hover {
  border-color: rgb(var(--brand-500) / 0.4);
}

.hover\:border-indigo-500\/60:hover {
  border-color: rgb(var(--brand-500) / 0.6);
}

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

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

.hover\:border-primary\/40:hover {
  border-color: rgb(var(--brand-500) / 0.4);
}

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

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

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

.hover\:border-rose-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(251 113 133 / var(--tw-border-opacity, 1));
}

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

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

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

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

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

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

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

.hover\:border-white\/\[0\.12\]:hover {
  border-color: rgb(255 255 255 / 0.12);
}

.hover\:border-white\/\[0\.14\]:hover {
  border-color: rgb(255 255 255 / 0.14);
}

.hover\:border-white\/\[0\.20\]:hover {
  border-color: rgb(255 255 255 / 0.20);
}

.hover\:bg-\[rgba\(var\(--color-primary-rgb\)\2c 0\.06\)\]:hover {
  background-color: rgba(var(--color-primary-rgb),0.06);
}

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

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

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

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

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

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

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

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

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

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

.hover\:bg-indigo-500\/10:hover {
  background-color: rgb(var(--brand-500) / 0.1);
}

.hover\:bg-indigo-500\/15:hover {
  background-color: rgb(var(--brand-500) / 0.15);
}

.hover\:bg-indigo-500\/20:hover {
  background-color: rgb(var(--brand-500) / 0.2);
}

.hover\:bg-indigo-500\/25:hover {
  background-color: rgb(var(--brand-500) / 0.25);
}

.hover\:bg-indigo-500\/5:hover {
  background-color: rgb(var(--brand-500) / 0.05);
}

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

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

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

.hover\:bg-primary\/5:hover {
  background-color: rgb(var(--brand-500) / 0.05);
}

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

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

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

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

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

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

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

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

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

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

.hover\:bg-surface-container:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(238 237 249 / var(--tw-bg-opacity, 1));
}

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

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

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

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

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

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

.hover\:bg-white\/\[0\.02\]:hover {
  background-color: rgb(255 255 255 / 0.02);
}

.hover\:bg-white\/\[0\.04\]:hover {
  background-color: rgb(255 255 255 / 0.04);
}

.hover\:bg-white\/\[0\.05\]:hover {
  background-color: rgb(255 255 255 / 0.05);
}

.hover\:bg-white\/\[0\.06\]:hover {
  background-color: rgb(255 255 255 / 0.06);
}

.hover\:bg-white\/\[0\.07\]:hover {
  background-color: rgb(255 255 255 / 0.07);
}

.hover\:bg-white\/\[0\.08\]:hover {
  background-color: rgb(255 255 255 / 0.08);
}

.hover\:bg-white\/\[0\.10\]:hover {
  background-color: rgb(255 255 255 / 0.10);
}

.hover\:bg-white\/\[0\.25\]:hover {
  background-color: rgb(255 255 255 / 0.25);
}

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

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

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

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

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

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

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

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

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

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

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

.hover\:text-green-300:hover {
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.hover\:opacity-70:hover {
  opacity: 0.7;
}

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

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

.hover\:opacity-95:hover {
  opacity: 0.95;
}

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

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

.hover\:shadow-indigo-500\/50:hover {
  --tw-shadow-color: rgb(var(--brand-500) / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

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

.hover\:ring-red-400\/50:hover {
  --tw-ring-color: rgb(248 113 113 / 0.5);
}

.hover\:brightness-110:hover {
  --tw-brightness: brightness(1.1);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

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

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

.focus\:left-2:focus {
  left: 0.5rem;
}

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

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

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

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

.focus\:border-indigo-400:focus {
  --tw-border-opacity: 1;
  border-color: rgb(var(--brand-400) / var(--tw-border-opacity, 1));
}

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

.focus\:border-indigo-500\/40:focus {
  border-color: rgb(var(--brand-500) / 0.4);
}

.focus\:border-indigo-500\/50:focus {
  border-color: rgb(var(--brand-500) / 0.5);
}

.focus\:border-primary\/50:focus {
  border-color: rgb(var(--brand-500) / 0.5);
}

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

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

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

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

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

.focus\:text-indigo-600:focus {
  --tw-text-opacity: 1;
  color: rgb(var(--brand-600) / var(--tw-text-opacity, 1));
}

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

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

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

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

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

.focus\:ring-\[rgba\(var\(--color-primary-rgb\)\2c 0\.2\)\]:focus {
  --tw-ring-color: rgba(var(--color-primary-rgb),0.2);
}

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

.focus\:ring-indigo-500\/20:focus {
  --tw-ring-color: rgb(var(--brand-500) / 0.2);
}

.focus\:ring-indigo-500\/40:focus {
  --tw-ring-color: rgb(var(--brand-500) / 0.4);
}

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

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

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

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

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

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

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

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

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

.active\:scale-95:active {
  --tw-scale-x: .95;
  --tw-scale-y: .95;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.active\:scale-\[0\.98\]:active {
  --tw-scale-x: 0.98;
  --tw-scale-y: 0.98;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.active\:scale-\[0\.99\]:active {
  --tw-scale-x: 0.99;
  --tw-scale-y: 0.99;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

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

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

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

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

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

.disabled\:active\:scale-100:active:disabled {
  --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[open] .group-open\:rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group\/link:hover .group-hover\/link\: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-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-1 {
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

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

.group:hover .group-hover\:border-indigo-500\/30 {
  border-color: rgb(var(--brand-500) / 0.3);
}

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

.group:hover .group-hover\:bg-\[rgba\(var\(--color-primary-rgb\)\2c 0\.08\)\] {
  background-color: rgba(var(--color-primary-rgb),0.08);
}

.group:hover .group-hover\:bg-\[rgba\(var\(--color-primary-rgb\)\2c 0\.1\)\] {
  background-color: rgba(var(--color-primary-rgb),0.1);
}

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

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

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

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

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

.group:hover .group-hover\:bg-indigo-500\/10 {
  background-color: rgb(var(--brand-500) / 0.1);
}

.group:hover .group-hover\:bg-indigo-500\/20 {
  background-color: rgb(var(--brand-500) / 0.2);
}

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

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

.group:hover .group-hover\:bg-violet-500\/20 {
  background-color: rgb(var(--brand2-500) / 0.2);
}

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

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

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

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

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

.group:hover .group-hover\:text-primary {
  --tw-text-opacity: 1;
  color: rgb(var(--brand-500) / 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\:opacity-100 {
  opacity: 1;
}

@media (min-width: 640px) {
  .sm\:order-1 {
    order: 1;
  }

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

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

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

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

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

  .sm\:-mx-10 {
    margin-left: -2.5rem;
    margin-right: -2.5rem;
  }

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

  .sm\:mb-8 {
    margin-bottom: 2rem;
  }

  .sm\:block {
    display: block;
  }

  .sm\:inline {
    display: inline;
  }

  .sm\:flex {
    display: flex;
  }

  .sm\:table-cell {
    display: table-cell;
  }

  .sm\:grid {
    display: grid;
  }

  .sm\:hidden {
    display: none;
  }

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

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

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

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

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

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

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

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

  .sm\:grid-cols-\[1fr_120px_100px_auto\] {
    grid-template-columns: 1fr 120px 100px auto;
  }

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

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

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

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

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

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

  .sm\:gap-5 {
    gap: 1.25rem;
  }

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

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

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

  .sm\:p-14 {
    padding: 3.5rem;
  }

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

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

  .sm\:px-10 {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

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

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

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

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

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

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

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

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

  .sm\:pl-\[170px\] {
    padding-left: 170px;
  }

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

  .sm\:pt-24 {
    padding-top: 6rem;
  }

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

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

  .sm\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .sm\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .sm\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }

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

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

  .sm\:hover\:scale-\[1\.01\]:hover {
    --tw-scale-x: 1.01;
    --tw-scale-y: 1.01;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }
}

@media (min-width: 768px) {
  .md\:block {
    display: block;
  }

  .md\:table-cell {
    display: table-cell;
  }

  .md\:w-72 {
    width: 18rem;
  }

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

  .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\:items-start {
    align-items: flex-start;
  }

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

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

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

  .md\:p-12 {
    padding: 3rem;
  }

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

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

  .md\:px-10 {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

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

  .md\:pt-12 {
    padding-top: 3rem;
  }

  .md\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .md\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }

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

@media (min-width: 1024px) {
  .lg\:relative {
    position: relative;
  }

  .lg\:sticky {
    position: sticky;
  }

  .lg\:top-20 {
    top: 5rem;
  }

  .lg\:z-auto {
    z-index: auto;
  }

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

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

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

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

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

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

  .lg\:flex {
    display: flex;
  }

  .lg\:hidden {
    display: none;
  }

  .lg\:\!w-\[349px\] {
    width: 349px !important;
  }

  .lg\:w-16 {
    width: 4rem;
  }

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

  .lg\:w-64 {
    width: 16rem;
  }

  .lg\:w-72 {
    width: 18rem;
  }

  .lg\:w-80 {
    width: 20rem;
  }

  .lg\:w-\[17\.25rem\] {
    width: 17.25rem;
  }

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

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

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

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

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

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

  .lg\:grid-cols-12 {
    grid-template-columns: repeat(12, 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\:flex-row {
    flex-direction: row;
  }

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

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

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

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

  .lg\:gap-16 {
    gap: 4rem;
  }

  .lg\:gap-20 {
    gap: 5rem;
  }

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

  .lg\:px-14 {
    padding-left: 3.5rem;
    padding-right: 3.5rem;
  }

  .lg\:px-16 {
    padding-left: 4rem;
    padding-right: 4rem;
  }

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

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

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

@media (min-width: 1280px) {
  .xl\:w-80 {
    width: 20rem;
  }

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

.dark\:divide-slate-700:where([data-theme="dark"], [data-theme="dark"] *) > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(51 65 85 / var(--tw-divide-opacity, 1));
}

.dark\:divide-slate-700\/50:where([data-theme="dark"], [data-theme="dark"] *) > :not([hidden]) ~ :not([hidden]) {
  border-color: rgb(51 65 85 / 0.5);
}

.dark\:divide-white\/\[0\.04\]:where([data-theme="dark"], [data-theme="dark"] *) > :not([hidden]) ~ :not([hidden]) {
  border-color: rgb(255 255 255 / 0.04);
}

.dark\:divide-white\/\[0\.05\]:where([data-theme="dark"], [data-theme="dark"] *) > :not([hidden]) ~ :not([hidden]) {
  border-color: rgb(255 255 255 / 0.05);
}

.dark\:border:where([data-theme="dark"], [data-theme="dark"] *) {
  border-width: 1px;
}

.dark\:border-amber-500\/20:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(245 158 11 / 0.2);
}

.dark\:border-amber-500\/25:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(245 158 11 / 0.25);
}

.dark\:border-amber-500\/30:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(245 158 11 / 0.3);
}

.dark\:border-amber-700:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-border-opacity: 1;
  border-color: rgb(180 83 9 / var(--tw-border-opacity, 1));
}

.dark\:border-amber-700\/50:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(180 83 9 / 0.5);
}

.dark\:border-amber-800:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-border-opacity: 1;
  border-color: rgb(146 64 14 / var(--tw-border-opacity, 1));
}

.dark\:border-amber-900\/40:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(120 53 15 / 0.4);
}

.dark\:border-blue-500\/30:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(59 130 246 / 0.3);
}

.dark\:border-emerald-500\/20:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(16 185 129 / 0.2);
}

.dark\:border-emerald-500\/30:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(16 185 129 / 0.3);
}

.dark\:border-green-500\/20:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(34 197 94 / 0.2);
}

.dark\:border-green-500\/25:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(34 197 94 / 0.25);
}

.dark\:border-green-700:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-border-opacity: 1;
  border-color: rgb(21 128 61 / var(--tw-border-opacity, 1));
}

.dark\:border-indigo-500:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-border-opacity: 1;
  border-color: rgb(var(--brand-500) / var(--tw-border-opacity, 1));
}

.dark\:border-indigo-500\/15:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(var(--brand-500) / 0.15);
}

.dark\:border-indigo-500\/20:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(var(--brand-500) / 0.2);
}

.dark\:border-indigo-500\/40:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(var(--brand-500) / 0.4);
}

.dark\:border-red-500\/20:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(239 68 68 / 0.2);
}

.dark\:border-red-500\/25:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(239 68 68 / 0.25);
}

.dark\:border-red-800:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-border-opacity: 1;
  border-color: rgb(153 27 27 / var(--tw-border-opacity, 1));
}

.dark\:border-sky-700\/60:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(3 105 161 / 0.6);
}

.dark\:border-slate-600:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-border-opacity: 1;
  border-color: rgb(71 85 105 / var(--tw-border-opacity, 1));
}

.dark\:border-slate-700:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-border-opacity: 1;
  border-color: rgb(51 65 85 / var(--tw-border-opacity, 1));
}

.dark\:border-slate-700\/50:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(51 65 85 / 0.5);
}

.dark\:border-slate-800:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-border-opacity: 1;
  border-color: rgb(30 41 59 / var(--tw-border-opacity, 1));
}

.dark\:border-slate-900:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-border-opacity: 1;
  border-color: rgb(15 23 42 / var(--tw-border-opacity, 1));
}

.dark\:border-white\/10:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(255 255 255 / 0.1);
}

.dark\:border-white\/20:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(255 255 255 / 0.2);
}

.dark\:border-white\/\[0\.04\]:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(255 255 255 / 0.04);
}

.dark\:border-white\/\[0\.05\]:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(255 255 255 / 0.05);
}

.dark\:border-white\/\[0\.06\]:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(255 255 255 / 0.06);
}

.dark\:border-white\/\[0\.07\]:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(255 255 255 / 0.07);
}

.dark\:border-white\/\[0\.08\]:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(255 255 255 / 0.08);
}

.dark\:border-white\/\[0\.10\]:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(255 255 255 / 0.10);
}

.dark\:border-white\/\[0\.1\]:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(255 255 255 / 0.1);
}

.dark\:border-l-indigo-500:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-border-opacity: 1;
  border-left-color: rgb(var(--brand-500) / var(--tw-border-opacity, 1));
}

.dark\:bg-amber-500\/10:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(245 158 11 / 0.1);
}

.dark\:bg-amber-500\/15:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(245 158 11 / 0.15);
}

.dark\:bg-amber-500\/\[0\.04\]:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(245 158 11 / 0.04);
}

.dark\:bg-amber-900\/20:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(120 53 15 / 0.2);
}

.dark\:bg-amber-900\/40:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(120 53 15 / 0.4);
}

.dark\:bg-black\/30:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(0 0 0 / 0.3);
}

.dark\:bg-blue-500\/15:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(59 130 246 / 0.15);
}

.dark\:bg-blue-900\/20:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(30 58 138 / 0.2);
}

.dark\:bg-blue-900\/30:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(30 58 138 / 0.3);
}

.dark\:bg-emerald-500\/10:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(16 185 129 / 0.1);
}

.dark\:bg-emerald-500\/15:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(16 185 129 / 0.15);
}

.dark\:bg-emerald-500\/\[0\.04\]:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(16 185 129 / 0.04);
}

.dark\:bg-emerald-900\/30:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(6 78 59 / 0.3);
}

.dark\:bg-gray-600:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-bg-opacity: 1;
  background-color: rgb(71 85 105 / var(--tw-bg-opacity, 1));
}

.dark\:bg-gray-950\/90:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(3 7 18 / 0.9);
}

.dark\:bg-green-500\/10:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(34 197 94 / 0.1);
}

.dark\:bg-green-900\/20:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(20 83 45 / 0.2);
}

.dark\:bg-green-900\/30:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(20 83 45 / 0.3);
}

.dark\:bg-indigo-500:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand-500) / var(--tw-bg-opacity, 1));
}

.dark\:bg-indigo-500\/10:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(var(--brand-500) / 0.1);
}

.dark\:bg-indigo-500\/20:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(var(--brand-500) / 0.2);
}

.dark\:bg-indigo-500\/5:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(var(--brand-500) / 0.05);
}

.dark\:bg-indigo-900:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand-900) / var(--tw-bg-opacity, 1));
}

.dark\:bg-indigo-900\/20:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(var(--brand-900) / 0.2);
}

.dark\:bg-indigo-900\/30:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(var(--brand-900) / 0.3);
}

.dark\:bg-primary\/10:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(var(--brand-500) / 0.1);
}

.dark\:bg-purple-900\/20:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(88 28 135 / 0.2);
}

.dark\:bg-purple-900\/30:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(88 28 135 / 0.3);
}

.dark\:bg-red-500\/10:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(239 68 68 / 0.1);
}

.dark\:bg-red-500\/15:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(239 68 68 / 0.15);
}

.dark\:bg-red-500\/\[0\.04\]:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(239 68 68 / 0.04);
}

.dark\:bg-red-500\/\[0\.08\]:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(239 68 68 / 0.08);
}

.dark\:bg-red-900\/20:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(127 29 29 / 0.2);
}

.dark\:bg-sky-900\/20:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(12 74 110 / 0.2);
}

.dark\:bg-slate-700:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}

.dark\:bg-slate-700\/30:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(51 65 85 / 0.3);
}

.dark\:bg-slate-700\/50:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(51 65 85 / 0.5);
}

.dark\:bg-slate-700\/60:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(51 65 85 / 0.6);
}

.dark\:bg-slate-800:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}

.dark\:bg-slate-800\/95:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(30 41 59 / 0.95);
}

.dark\:bg-slate-900:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-bg-opacity: 1;
  background-color: rgb(15 23 42 / var(--tw-bg-opacity, 1));
}

.dark\:bg-slate-900\/40:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(15 23 42 / 0.4);
}

.dark\:bg-slate-900\/50:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(15 23 42 / 0.5);
}

.dark\:bg-slate-900\/80:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(15 23 42 / 0.8);
}

.dark\:bg-violet-500\/10:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(var(--brand2-500) / 0.1);
}

.dark\:bg-white:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.dark\:bg-white\/10:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(255 255 255 / 0.1);
}

.dark\:bg-white\/5:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(255 255 255 / 0.05);
}

.dark\:bg-white\/\[0\.02\]:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(255 255 255 / 0.02);
}

.dark\:bg-white\/\[0\.03\]:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(255 255 255 / 0.03);
}

.dark\:bg-white\/\[0\.04\]:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(255 255 255 / 0.04);
}

.dark\:bg-white\/\[0\.05\]:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(255 255 255 / 0.05);
}

.dark\:bg-white\/\[0\.06\]:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(255 255 255 / 0.06);
}

.dark\:bg-white\/\[0\.08\]:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(255 255 255 / 0.08);
}

.dark\:from-indigo-500:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-gradient-from: rgb(var(--brand-500) / 1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(var(--brand-500) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:text-amber-200:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(253 230 138 / var(--tw-text-opacity, 1));
}

.dark\:text-amber-300:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}

.dark\:text-amber-400:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}

.dark\:text-amber-400\/80:where([data-theme="dark"], [data-theme="dark"] *) {
  color: rgb(251 191 36 / 0.8);
}

.dark\:text-blue-400:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}

.dark\:text-emerald-300:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity, 1));
}

.dark\:text-emerald-400:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}

.dark\:text-gray-200:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(226 232 240 / var(--tw-text-opacity, 1));
}

.dark\:text-gray-300:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}

.dark\:text-gray-400:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}

.dark\:text-gray-500:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}

.dark\:text-gray-600:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}

.dark\:text-green-300:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}

.dark\:text-green-400:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.dark\:text-indigo-100:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(var(--brand-100) / var(--tw-text-opacity, 1));
}

.dark\:text-indigo-300:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(var(--brand-300) / var(--tw-text-opacity, 1));
}

.dark\:text-indigo-400:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(var(--brand-400) / var(--tw-text-opacity, 1));
}

.dark\:text-primary:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(var(--brand-500) / var(--tw-text-opacity, 1));
}

.dark\:text-primary-fixed-dim:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(192 202 255 / var(--tw-text-opacity, 1));
}

.dark\:text-purple-400:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / var(--tw-text-opacity, 1));
}

.dark\:text-red-300:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}

.dark\:text-red-400:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.dark\:text-red-400\/70:where([data-theme="dark"], [data-theme="dark"] *) {
  color: rgb(248 113 113 / 0.7);
}

.dark\:text-sky-300:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(125 211 252 / var(--tw-text-opacity, 1));
}

.dark\:text-slate-100:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(241 245 249 / var(--tw-text-opacity, 1));
}

.dark\:text-slate-200:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(226 232 240 / var(--tw-text-opacity, 1));
}

.dark\:text-slate-300:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}

.dark\:text-slate-400:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}

.dark\:text-slate-500:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}

.dark\:text-slate-600:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}

.dark\:text-slate-700:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}

.dark\:text-slate-900:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

.dark\:text-violet-400:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(var(--brand2-400) / var(--tw-text-opacity, 1));
}

.dark\:text-white:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.dark\:placeholder-gray-600:where([data-theme="dark"], [data-theme="dark"] *)::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(71 85 105 / var(--tw-placeholder-opacity, 1));
}

.dark\:placeholder-gray-600:where([data-theme="dark"], [data-theme="dark"] *)::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(71 85 105 / var(--tw-placeholder-opacity, 1));
}

.dark\:placeholder-slate-500:where([data-theme="dark"], [data-theme="dark"] *)::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(100 116 139 / var(--tw-placeholder-opacity, 1));
}

.dark\:placeholder-slate-500:where([data-theme="dark"], [data-theme="dark"] *)::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(100 116 139 / var(--tw-placeholder-opacity, 1));
}

.dark\:opacity-0:where([data-theme="dark"], [data-theme="dark"] *) {
  opacity: 0;
}

.dark\:opacity-100:where([data-theme="dark"], [data-theme="dark"] *) {
  opacity: 1;
}

.dark\:shadow-none:where([data-theme="dark"], [data-theme="dark"] *) {
  --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\:shadow-black\/30:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-shadow-color: rgb(0 0 0 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.dark\:shadow-black\/40:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-shadow-color: rgb(0 0 0 / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}

.dark\:ring-white\/10:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-ring-color: rgb(255 255 255 / 0.1);
}

.dark\:focus-within\:border-indigo-500\/50:focus-within:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(var(--brand-500) / 0.5);
}

.dark\:hover\:border-emerald-500\/40:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(16 185 129 / 0.4);
}

.dark\:hover\:border-indigo-500\/30:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(var(--brand-500) / 0.3);
}

.dark\:hover\:border-indigo-500\/40:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(var(--brand-500) / 0.4);
}

.dark\:hover\:border-rose-500\/40:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(244 63 94 / 0.4);
}

.dark\:hover\:border-violet-500\/40:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(var(--brand2-500) / 0.4);
}

.dark\:hover\:border-white\/20:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(255 255 255 / 0.2);
}

.dark\:hover\:border-white\/\[0\.15\]:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(255 255 255 / 0.15);
}

.dark\:hover\:bg-amber-900\/60:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(120 53 15 / 0.6);
}

.dark\:hover\:bg-emerald-500\/10:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(16 185 129 / 0.1);
}

.dark\:hover\:bg-indigo-500\/10:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(var(--brand-500) / 0.1);
}

.dark\:hover\:bg-indigo-500\/20:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(var(--brand-500) / 0.2);
}

.dark\:hover\:bg-red-500\/10:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(239 68 68 / 0.1);
}

.dark\:hover\:bg-rose-500\/10:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(244 63 94 / 0.1);
}

.dark\:hover\:bg-slate-600:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-bg-opacity: 1;
  background-color: rgb(71 85 105 / var(--tw-bg-opacity, 1));
}

.dark\:hover\:bg-slate-700:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}

.dark\:hover\:bg-slate-700\/30:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(51 65 85 / 0.3);
}

.dark\:hover\:bg-slate-700\/50:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(51 65 85 / 0.5);
}

.dark\:hover\:bg-white\/10:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(255 255 255 / 0.1);
}

.dark\:hover\:bg-white\/20:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(255 255 255 / 0.2);
}

.dark\:hover\:bg-white\/5:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(255 255 255 / 0.05);
}

.dark\:hover\:bg-white\/\[0\.01\]:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(255 255 255 / 0.01);
}

.dark\:hover\:bg-white\/\[0\.02\]:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(255 255 255 / 0.02);
}

.dark\:hover\:bg-white\/\[0\.03\]:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(255 255 255 / 0.03);
}

.dark\:hover\:bg-white\/\[0\.04\]:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(255 255 255 / 0.04);
}

.dark\:hover\:bg-white\/\[0\.05\]:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(255 255 255 / 0.05);
}

.dark\:hover\:bg-white\/\[0\.06\]:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(255 255 255 / 0.06);
}

.dark\:hover\:bg-white\/\[0\.07\]:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(255 255 255 / 0.07);
}

.dark\:hover\:bg-white\/\[0\.09\]:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(255 255 255 / 0.09);
}

.dark\:hover\:text-\[color\:var\(--color-primary\)\]:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  color: var(--color-primary);
}

.dark\:hover\:text-emerald-400:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-gray-300:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-gray-400:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-indigo-400:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(var(--brand-400) / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-red-300:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-red-400:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-rose-400:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(251 113 133 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-slate-200:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(226 232 240 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-slate-300:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-slate-400:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-white:hover:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.dark\:focus\:border-indigo-500:focus:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-border-opacity: 1;
  border-color: rgb(var(--brand-500) / var(--tw-border-opacity, 1));
}

.dark\:focus\:border-indigo-500\/50:focus:where([data-theme="dark"], [data-theme="dark"] *) {
  border-color: rgb(var(--brand-500) / 0.5);
}

.group:hover .dark\:group-hover\:bg-indigo-500\/10:where([data-theme="dark"], [data-theme="dark"] *) {
  background-color: rgb(var(--brand-500) / 0.1);
}

.group:hover .dark\:group-hover\:text-indigo-400:where([data-theme="dark"], [data-theme="dark"] *) {
  --tw-text-opacity: 1;
  color: rgb(var(--brand-400) / var(--tw-text-opacity, 1));
}

.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar {
  display: none;
}

.\[\&_li\]\:mt-0\.5 li {
  margin-top: 0.125rem;
}

.\[\&_ol\]\:list-decimal ol {
  list-style-type: decimal;
}

.\[\&_ol\]\:pl-4 ol {
  padding-left: 1rem;
}

.\[\&_strong\]\:text-gray-200 strong {
  --tw-text-opacity: 1;
  color: rgb(226 232 240 / var(--tw-text-opacity, 1));
}

.\[\&_strong\]\:text-gray-300 strong {
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}

.\[\&_ul\]\:list-disc ul {
  list-style-type: disc;
}

.\[\&_ul\]\:pl-4 ul {
  padding-left: 1rem;
}

/* MeroServer — aligned with MeroVPS WordPress design system */
/* Primary framework: Tailwind CSS via CDN */

/* ── MeroVPS font CSS variables ── */
:root {
    --font-brand-sans:    "Inter", "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;
    --font-brand-display: "Inter Tight", "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;
    --font-brand-mono:    "JetBrains Mono", "Fira Code", Consolas, monospace;
    --motion-fast: 150ms;
    --motion-base: 220ms;
    --motion-slow: 300ms;
    --ease-enter: cubic-bezier(.22, 1, .36, 1);
    --ease-exit: cubic-bezier(.4, 0, 1, 1);
    --ease-standard: cubic-bezier(.2, .75, .25, 1);
    --control-height-sm: 2.5rem;
    --control-height-md: 2.75rem;
    --control-radius: .75rem;
}

/* Shared app interaction language. Page-level styles may change layout, but
   typography, easing and control geometry remain consistent. */
button,
input,
select,
textarea,
[role="button"] {
    font-family: var(--font-brand-sans);
}

button,
a,
[role="button"],
input,
select,
textarea {
    transition-timing-function: var(--ease-standard);
}

.btn-primary-gradient,
.btn-outline,
.ref-btn,
.auth-primary-btn,
.ord-srv-submit,
.ord-coupon-apply {
    min-height: var(--control-height-md);
    border-radius: var(--control-radius);
    font-family: var(--font-brand-sans);
    font-size: .875rem;
    font-weight: 650;
}

[x-collapse] {
    transition-timing-function: var(--ease-enter) !important;
}

/* Hide Alpine-controlled elements until Alpine boots */
[x-cloak] { display: none !important; }

/* Global focus-visible ring — keyboard users get a clear indicator on every interactive element */
:focus-visible {
    outline: 2px solid var(--color-primary, #6366f1);
    outline-offset: 2px;
    border-radius: 4px;
}
/* Remove outline for mouse/touch users (only show for keyboard) */
:focus:not(:focus-visible) {
    outline: none;
}

/* ===========================
   CSS custom properties
   =========================== */
:root {
    /* Radio/toggle inactive border — visible in dark mode (white @ 25% opacity) */
    --radio-inactive-border: rgba(255,255,255,0.25);
}

/* ===========================
   Critical base styles
   (applied immediately before Tailwind CDN runs)
   =========================== */
*, *::before, *::after { box-sizing: border-box; }

html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}

body {
    background-color: #030712;
    color: #f8fafc;
    font-family: var(--font-brand-sans);
    font-optical-sizing: auto;
    font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    line-height: 1.6;
    overflow-x: hidden;
}

/* Ensure the full-height flex layout works before Tailwind */
body > div.flex {
    display: flex;
    height: 100vh;
    overflow: hidden;
}

/* Sidebar base — ensures sidebar is visible on desktop without Alpine/Tailwind */
@media (min-width: 1024px) {
    aside {
        position: static !important;
        transform: none !important;
        flex-shrink: 0;
    }
}

/* ===========================
   Global typography scale
   =========================== */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-brand-display);
    font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
    text-rendering: optimizeLegibility;
    letter-spacing: -0.025em;
    line-height: 1.15;
}
h1, h2 {
    letter-spacing: -0.04em;
}
h3 {
    letter-spacing: -0.025em;
    line-height: 1.16;
}

/* Numeric figures — tabular by default for aligned columns */
.tabular-nums,
[class*="text-3xl"],
[class*="text-2xl"],
[class*="text-xl"] {
    font-variant-numeric: tabular-nums;
    font-feature-settings: "kern" 1, "tnum" 1;
}

/* Small uppercase labels (e.g. section headers like "Resource Usage") */
.uppercase {
    font-feature-settings: "kern" 1, "liga" 0;
}

/* Better paragraph readability */
p {
    line-height: 1.7;
}

/* Scrollbar */
::-webkit-scrollbar {
    width: 5px;
    height: 5px;
}
::-webkit-scrollbar-track {
    background: transparent;
}
::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,0.10);
    border-radius: 99px;
}
::-webkit-scrollbar-thumb:hover {
    background: rgba(255,255,255,0.18);
}
/* Light mode scrollbar */
html[data-theme="light"] ::-webkit-scrollbar-track {
    background: #f3f2fe;
}
html[data-theme="light"] ::-webkit-scrollbar-thumb {
    background: #c4c5d7;
}
html[data-theme="light"] ::-webkit-scrollbar-thumb:hover {
    background: #656879;
}

/* ===========================
   StablePanel API form resets
   =========================== */
.is-required {
    border-color: rgba(239,68,68,0.5) !important;
}

/* ===========================
   Markdown content
   =========================== */
.markdown-content,
.bb-content {
    line-height: 1.7;
    font-size: 0.875rem;
    color: #cbd5e1;
}
.markdown-content p,
.bb-content p {
    margin-bottom: 0.75rem;
}
.markdown-content code,
.bb-content code {
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 4px;
    padding: 0.1em 0.4em;
    font-size: 0.8em;
    font-family: var(--font-brand-mono);
}
.markdown-content pre,
.bb-content pre {
    background: rgba(0,0,0,0.3);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 8px;
    padding: 1rem;
    overflow-x: auto;
    margin: 0.75rem 0;
}
.markdown-content a,
.bb-content a {
    color: rgb(var(--brand-400));
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* ===========================
   Print styles
   =========================== */
@media print {
    body {
        background: white;
        color: black;
    }
    aside, header, footer, nav {
        display: none !important;
    }
}

/* ===========================
   Gradient text utility
   =========================== */
.gradient-text {
    background: linear-gradient(135deg, rgb(var(--brand-400)) 0%, rgb(var(--brand2-400)) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ===========================
   Card glass
   =========================== */
.card-glass {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 12px;
    backdrop-filter: blur(8px);
}

/* ===========================
   MeroVPS component library
   Matches WP theme patterns
   =========================== */

/* Eyebrow badge — default (blue) */
.ms-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.35rem 0.7rem;
    border: 1px solid rgba(82,113,255,0.20);
    border-radius: 999px;
    background: #edf1ff;
    color: #405fe7;
    font-family: var(--font-brand-sans);
    font-size: 0.7rem;
    font-weight: 750;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
/* Warm variant for AI/product hero */
.ms-badge-warm {
    background: #fff3e9;
    border-color: rgba(189,84,11,0.20);
    color: #bd540b;
}

/* MeroVPS card — light surface with blue-black shadow */
.ms-card {
    background: #ffffff;
    border: 1px solid #e2e4ec;
    border-radius: 20px;
    box-shadow: 0 14px 35px rgba(31,42,85,0.05);
    transition: box-shadow 200ms ease, transform 200ms ease;
}
.ms-card:hover {
    box-shadow: 0 22px 48px rgba(31,42,85,0.09);
    transform: translateY(-2px);
}

/* MeroVPS primary button */
.ms-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 52px;
    padding: 0.85rem 1.45rem;
    border: 1.5px solid var(--color-primary, #5271ff);
    border-radius: 12px;
    background: var(--color-primary, #5271ff);
    color: #ffffff;
    font-family: var(--font-brand-sans);
    font-size: 0.875rem;
    font-weight: 750;
    letter-spacing: 0.01em;
    box-shadow: 0 13px 28px rgba(82,113,255,0.24);
    transition: background 180ms ease, transform 180ms ease, box-shadow 180ms ease;
    cursor: pointer;
    text-decoration: none;
}
.ms-btn-primary:hover {
    background: #4363f1;
    border-color: #4363f1;
    transform: translateY(-2px);
    box-shadow: 0 18px 36px rgba(82,113,255,0.32);
}
.ms-btn-primary:active {
    transform: scale(0.97);
}

/* MeroVPS secondary button */
.ms-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 52px;
    padding: 0.85rem 1.45rem;
    border: 1.5px solid var(--color-primary, #5271ff);
    border-radius: 12px;
    background: transparent;
    color: var(--color-primary, #5271ff);
    font-family: var(--font-brand-sans);
    font-size: 0.875rem;
    font-weight: 750;
    letter-spacing: 0.01em;
    transition: background 180ms ease, transform 180ms ease;
    cursor: pointer;
    text-decoration: none;
}
.ms-btn-secondary:hover {
    background: rgba(82,113,255,0.06);
    transform: translateY(-1px);
}

/* Status dot — online/healthy */
.ms-status-dot {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #159967;
}
.ms-status-dot::before {
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #18aa70;
    box-shadow: 0 0 0 3px rgba(21,153,103,0.18);
    animation: ms-pulse 2.5s ease-in-out infinite;
}
@keyframes ms-pulse {
    0%, 100% { box-shadow: 0 0 0 3px rgba(21,153,103,0.18); }
    50%       { box-shadow: 0 0 0 5px rgba(21,153,103,0.08); }
}

/* Dark mode: cards flip to dark-glass style */
html:not([data-theme="light"]) .ms-card {
    background: rgba(255,255,255,0.03);
    border-color: rgba(255,255,255,0.08);
    box-shadow: 0 14px 35px rgba(0,0,0,0.30);
}
html:not([data-theme="light"]) .ms-card:hover {
    box-shadow: 0 22px 48px rgba(0,0,0,0.40);
}
html:not([data-theme="light"]) .ms-badge {
    background: rgba(82,113,255,0.12);
    border-color: rgba(82,113,255,0.25);
    color: rgb(var(--brand-300));
}
html:not([data-theme="light"]) .ms-badge-warm {
    background: rgba(189,84,11,0.15);
    border-color: rgba(189,84,11,0.30);
    color: #f9a56a;
}

/* ===========================
   Form elements base
   =========================== */
/* :where() keeps this base rule at zero specificity so Tailwind utilities (pl-10, px-4, …) can override it */
:where(input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="search"],
textarea,
select) {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 8px; /* Stitch: 0.5rem standard radius */
    padding: 0.625rem 0.875rem;
    color: white;
    font-size: 0.875rem;
    font-family: 'Inter', system-ui, sans-serif;
    transition: border-color 0.15s, box-shadow 0.15s;
    width: 100%;
}
input:focus,
textarea:focus,
select:focus {
    outline: none;
    border-color: rgba(var(--color-primary-rgb),0.7);
    /* Stitch: 2px outer glow at 20% opacity */
    box-shadow: 0 0 0 2px rgba(var(--color-primary-rgb),0.20);
}
select option {
    background: #0f172a;
    color: white;
}
/* Light mode inputs */
html[data-theme="light"] input[type="text"],
html[data-theme="light"] input[type="email"],
html[data-theme="light"] input[type="password"],
html[data-theme="light"] input[type="tel"],
html[data-theme="light"] input[type="number"],
html[data-theme="light"] input[type="search"],
html[data-theme="light"] textarea,
html[data-theme="light"] select {
    background: #ffffff;
    border-color: #c4c5d7; /* Stitch outline-variant */
    color: #1a1b23;        /* Stitch on-surface */
}
html[data-theme="light"] input:focus,
html[data-theme="light"] textarea:focus,
html[data-theme="light"] select:focus {
    border-color: rgba(var(--color-primary-rgb),0.80);
    box-shadow: 0 0 0 2px rgba(var(--color-primary-rgb),0.20);
}
html[data-theme="light"] select option {
    background: #ffffff;
    color: #1a1b23;
}

/* ===========================
   Animations
   =========================== */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(4px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes merovps-free-glow {
    0%, 100% { box-shadow: 0 0 0 0 rgba(16,185,129,0); }
    50%      { box-shadow: 0 0 18px 3px rgba(16,185,129,0.22); }
}
.free-addon-card {
    animation: merovps-free-glow 3s ease-in-out infinite;
}
html[data-theme="light"] .free-addon-card {
    animation: merovps-free-glow 3s ease-in-out infinite;
    box-shadow: 0 2px 12px rgba(16,185,129,0.12);
}
/* ── Logo image ──
   Dark mode: invert to white (SVG has dark text on transparent bg).
   Light mode: render at natural colours (#2B1708 + #FF6B00 are legible on light canvas).
── */
html:not([data-theme="light"]) .logo-img {
    filter: brightness(0) invert(1);
}
html[data-theme="light"] .logo-img {
    filter: none !important;
}

.animate-fade-in {
    animation: fadeIn 0.25s ease-out;
}

/* ===========================
   Light mode
   Toggled by: html[data-theme="light"]

   Color system:
     Canvas            : rgb(var(--brand-50)) → radial gradient (indigo-50 base)
     Glass surface     : rgba(255,255,255,0.68) + blur(18px)
     Glass surface-2   : rgba(255,255,255,0.85) + blur(24px)
     Border glass      : rgba(255,255,255,0.75)
     Border line       : rgba(var(--color-primary-rgb),0.12) — indigo-tinted
     Text-900 primary  : #0f172a  slate-900
     Text-700 secondary: #334155  slate-700
     Text-500 muted    : #475569  slate-600
     Text-400 faint    : #64748b  slate-500
     Text-300 ultra    : #94a3b8  slate-400 (labels only)
     Indigo-accent     : rgb(var(--brand-600))  indigo-600
   =========================== */

/* ── Smooth theme transition on toggle ── */
html[data-theme="light"] *,
html[data-theme="light"] *::before,
html[data-theme="light"] *::after {
    transition:
        background-color 0.25s ease,
        border-color     0.25s ease,
        box-shadow       0.25s ease,
        color            0.2s  ease !important;
}
/* But don't transition transforms/opacity (breaks Alpine x-transition).
   Scope to elements that use Alpine show/transition BUT exclude sidebar
   structural elements that need their own width/transform transitions. */
html[data-theme="light"] [x-show]:not(#sidebar):not(#sidebar *):not(.sidebar-overlay),
html[data-theme="light"] [x-transition]:not(#sidebar):not(#sidebar *):not(.sidebar-overlay) {
    transition: none !important;
}
/* Sidebar overlay: restore opacity fade in light mode */
html[data-theme="light"] .sidebar-overlay[x-show] {
    transition: opacity 300ms ease-linear !important;
}
/* Sidebar: restore width + transform transitions in light mode
   (overrides the global !important transition rule above) */
html[data-theme="light"] #sidebar {
    transition:
        width           300ms ease-in-out,
        transform       300ms ease-in-out,
        background-color 0.25s ease,
        border-color    0.25s ease,
        box-shadow      0.25s ease !important;
}
/* Sidebar children: allow opacity/width transitions for collapse labels */
html[data-theme="light"] #sidebar .transition-all,
html[data-theme="light"] #sidebar .transition-opacity {
    transition:
        opacity          200ms ease,
        width            200ms ease,
        background-color 0.25s ease,
        border-color     0.25s ease,
        color            0.2s ease !important;
}

html[data-theme="light"] {
    color-scheme: light;
    /* Improve font rendering in light mode */
    -webkit-font-smoothing: subpixel-antialiased;
    text-rendering: optimizeLegibility;
    /* Radio/toggle inactive border — visible on light canvas (slate-400) */
    --radio-inactive-border: #94a3b8;
}

/* ═══════════════════════════════════════════════════
   1. CANVAS — gradient background for glass depth
   ═══════════════════════════════════════════════════ */
/* Use class+element specificity (0,1,1) so it beats the .bg-[#030712] class rule (0,1,0) */
html[data-theme="light"] body.bg-\[\#030712\] {
    background-color: #fbf8ff !important;   /* MeroVPS: warm near-white canvas */
    background-image: none !important;
    color: #1a1b23 !important;              /* MeroVPS: on-surface */
    font-variant-numeric: tabular-nums;
}
html[data-theme="light"] body {
    background-color: #fbf8ff;              /* MeroVPS: background */
    background-image: none;
    color: #1a1b23;                         /* MeroVPS: on-surface */
    font-variant-numeric: tabular-nums;
}

/* ── Named dark-bg classes ── */
html[data-theme="light"] .bg-\[\#030712\]     { background-color: transparent !important; }
html[data-theme="light"] .bg-\[\#030712\]\/80 {
    background-color: #ffffff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
html[data-theme="light"] .bg-\[\#030712\]\/95 {
    background-color: #ffffff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* ═══════════════════════════════════════════════════
   2. STRUCTURAL GLASS — sidebar, header, dropdowns
   ═══════════════════════════════════════════════════ */

/* Sidebar — frosted glass panel (layout nav sidebar only) */
html[data-theme="light"] #sidebar {
    background: #ffffff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-right: 1px solid #e2e8f0 !important;
    box-shadow: none !important;
}

/* /order page right sidebar cards — light mode */
html[data-theme="light"] .order-sidebar > div {
    background: rgba(255,255,255,0.80) !important;
    border-color: rgb(var(--brand-300) / 0.30) !important;
    box-shadow: 0 2px 12px rgba(var(--color-primary-rgb),0.07) !important;
}
html[data-theme="light"] .order-sidebar > div .text-gray-400 {
    color: #475569 !important;
}
html[data-theme="light"] .order-sidebar > div .text-gray-500 {
    color: #64748b !important;
}
html[data-theme="light"] .order-sidebar > div .text-gray-600 {
    color: #64748b !important;
}

/* ── /order page product cards, buttons, period switcher (light mode) ── */
/* Stitch design: solid white cards with clean slate-200 border, no blur */
html[data-theme="light"] .ord-product-card {
    background: #ffffff !important;
    box-shadow: 0 4px 20px -1px rgba(0,0,0,0.05) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
/* Non-popular card hover — subtle border lift only */
html[data-theme="light"] .ord-product-card:not(.border-2):hover {
    border-color: rgba(var(--color-primary-rgb),0.35) !important;
    box-shadow: 0 8px 28px -2px rgba(0,0,0,0.09) !important;
}
/* Popular card (border-2 border-primary) — keep its ring on hover */
html[data-theme="light"] .ord-product-card.border-2:hover {
    box-shadow: 0 8px 32px -2px rgba(var(--color-primary-rgb),0.18) !important;
}
/* Primary CTA button (bg-primary text-white) — solid primary, not gradient */
html[data-theme="light"] .ord-cat-btn-primary {
    background: var(--color-primary) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(var(--color-primary-rgb),0.3) !important;
}
html[data-theme="light"] .ord-cat-btn-primary:hover {
    opacity: 0.95 !important;
}
/* Secondary CTA button — outlined primary, white bg on hover */
html[data-theme="light"] .ord-cat-btn-secondary {
    background: transparent !important;
    color: var(--color-primary) !important;
}
html[data-theme="light"] .ord-cat-btn-secondary:hover {
    background: rgba(var(--color-primary-rgb),0.05) !important;
}
/* Period-switcher pill container */
html[data-theme="light"] .ord-period-bar {
    background: rgba(var(--color-primary-rgb),0.04) !important;
    border-color: rgba(var(--color-primary-rgb),0.16) !important;
}
/* Price divider row — no border in Stitch design, remove override */
html[data-theme="light"] .ord-price-row {
    border-color: transparent !important;
}

/* ═══════════════════════════════════════════════════
   /order page — DARK MODE overrides
   (default theme is dark so no [data-theme] prefix needed;
    these reset the hardcoded Tailwind light classes)
   ═══════════════════════════════════════════════════ */

/* Product cards */
html:not([data-theme="light"]) .ord-product-card {
    background: rgba(255,255,255,0.04) !important;
    border-color: rgba(255,255,255,0.08) !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.25) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}
html:not([data-theme="light"]) .ord-product-card:hover {
    background: rgba(255,255,255,0.07) !important;
    border-color: rgba(var(--color-primary-rgb),0.35) !important;
    box-shadow: 0 6px 24px rgba(0,0,0,0.35) !important;
}
/* Featured (Most Popular) card */
html:not([data-theme="light"]) .ord-product-card[class*="ring-2"] {
    background: rgba(var(--color-primary-rgb),0.10) !important;
    border-color: rgba(var(--color-primary-rgb),0.30) !important;
    box-shadow: 0 4px 24px rgba(var(--color-primary-rgb),0.20) !important;
}

/* Card text: headings, body, muted */
html:not([data-theme="light"]) .ord-product-card .text-slate-900,
html:not([data-theme="light"]) .ord-product-card .text-on-surface,
html:not([data-theme="light"]) .ord-product-card h3,
html:not([data-theme="light"]) .ord-product-card h4 {
    color: rgba(255,255,255,0.92) !important;
}
html:not([data-theme="light"]) .ord-product-card .text-slate-700,
html:not([data-theme="light"]) .ord-product-card .text-slate-600,
html:not([data-theme="light"]) .ord-product-card .text-slate-500,
html:not([data-theme="light"]) .ord-product-card .text-on-surface-variant,
html:not([data-theme="light"]) .ord-product-card p {
    color: rgba(255,255,255,0.55) !important;
}
html:not([data-theme="light"]) .ord-product-card .text-label-caps,
html:not([data-theme="light"]) .ord-product-card [class*="uppercase"][class*="text-slate"] {
    color: rgba(255,255,255,0.40) !important;
}

/* Price row divider */
html:not([data-theme="light"]) .ord-product-card .border-slate-100,
html:not([data-theme="light"]) .ord-product-card .border-t {
    border-color: rgba(255,255,255,0.08) !important;
}

/* Icon box (non-popular card) — indigo tint so the SVG is readable */
html:not([data-theme="light"]) .ord-product-card .bg-slate-100.text-slate-500 {
    background: rgba(var(--color-primary-rgb),0.15) !important;
    color: rgb(var(--brand-300)) !important;
}
/* "N/A" unavailable pill — keep deliberately muted */
html:not([data-theme="light"]) .ord-product-card .bg-slate-100:not(.text-slate-500) {
    background: rgba(255,255,255,0.07) !important;
    color: rgba(255,255,255,0.35) !important;
}
/* Feature checkmark SVGs — make them visible as lighter indigo */
html:not([data-theme="light"]) .ord-product-card li > svg:first-child {
    color: rgb(var(--brand-300)) !important;
}

/* Period switcher */
html:not([data-theme="light"]) .ord-period-bar {
    background: rgba(255,255,255,0.05) !important;
    border-color: rgba(255,255,255,0.10) !important;
}
html:not([data-theme="light"]) .ord-period-bar button {
    color: rgba(255,255,255,0.50) !important;
}
html:not([data-theme="light"]) .ord-period-bar button.bg-white {
    background: rgba(255,255,255,0.10) !important;
    color: rgba(255,255,255,0.92) !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.30) !important;
}

/* Category header block (fallback icon bg) */
html:not([data-theme="light"]) .ord-refined .bg-indigo-500\/10 { background: rgba(var(--color-primary-rgb),0.15) !important; }
html:not([data-theme="light"]) .ord-refined .bg-amber-500\/10  { background: rgba(245,158,11,0.15) !important; }
html:not([data-theme="light"]) .ord-refined .bg-purple-500\/10 { background: rgba(168,85,247,0.15) !important; }
html:not([data-theme="light"]) .ord-refined .bg-emerald-500\/10{ background: rgba(16,185,129,0.15) !important; }
html:not([data-theme="light"]) .ord-refined .bg-blue-500\/10   { background: rgba(59,130,246,0.15) !important; }
html:not([data-theme="light"]) .ord-refined .bg-rose-500\/10   { background: rgba(244,63,94,0.15) !important; }

/* Category header text */
html:not([data-theme="light"]) .ord-refined .text-h2.text-on-surface,
html:not([data-theme="light"]) .ord-refined .text-h3.text-on-surface,
html:not([data-theme="light"]) .ord-refined h2.text-on-surface,
html:not([data-theme="light"]) .ord-refined h3.text-on-surface {
    color: rgba(255,255,255,0.90) !important;
}
html:not([data-theme="light"]) .ord-refined .text-status,
html:not([data-theme="light"]) .ord-refined .text-slate-500 {
    color: rgba(255,255,255,0.60) !important;
}

/* Tab rail */
html:not([data-theme="light"]) .ord-refined .bg-surface-container-low {
    background: rgba(255,255,255,0.05) !important;
}
html:not([data-theme="light"]) .ord-refined .bg-surface-container-low a.bg-white {
    background: rgba(var(--color-primary-rgb),0.25) !important;
    color: rgb(var(--brand-200)) !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.25) !important;
}

/* Right sidebar cards (domain search, money-back) */
html:not([data-theme="light"]) .ord-refined aside .bg-white {
    background: rgba(255,255,255,0.04) !important;
    border-color: rgba(255,255,255,0.08) !important;
}
html:not([data-theme="light"]) .ord-refined aside .border-slate-200 {
    border-color: rgba(255,255,255,0.08) !important;
}
html:not([data-theme="light"]) .ord-refined aside .text-slate-900,
html:not([data-theme="light"]) .ord-refined aside h4 {
    color: rgba(255,255,255,0.90) !important;
}
html:not([data-theme="light"]) .ord-refined aside .text-slate-700,
html:not([data-theme="light"]) .ord-refined aside .text-slate-600 {
    color: rgba(255,255,255,0.65) !important;
}
html:not([data-theme="light"]) .ord-refined aside .text-slate-500,
html:not([data-theme="light"]) .ord-refined aside .text-slate-400 {
    color: rgba(255,255,255,0.40) !important;
}
html:not([data-theme="light"]) .ord-refined aside .bg-slate-50 {
    background: rgba(255,255,255,0.04) !important;
}
html:not([data-theme="light"]) .ord-refined aside .border-slate-100 {
    border-color: rgba(255,255,255,0.06) !important;
}
/* Domain search input */
html:not([data-theme="light"]) .ord-refined aside input {
    background: rgba(255,255,255,0.06) !important;
    border-color: rgba(255,255,255,0.10) !important;
    color: rgba(255,255,255,0.85) !important;
}
html:not([data-theme="light"]) .ord-refined aside input::placeholder {
    color: rgba(255,255,255,0.30) !important;
}
/* TLD pills */
html:not([data-theme="light"]) .ord-refined aside .bg-slate-50.border.rounded-xl {
    background: rgba(255,255,255,0.05) !important;
    border-color: rgba(255,255,255,0.08) !important;
}
/* TLD price text (uses primary-color var which is too dark on dark bg) */
html:not([data-theme="light"]) .ord-refined aside .bg-slate-50.border.rounded-xl span:last-child {
    color: rgb(var(--brand-300)) !important;
}
/* Money-back trust badges */
html:not([data-theme="light"]) .ord-refined aside span.bg-slate-50 {
    background: rgba(255,255,255,0.06) !important;
    border-color: rgba(255,255,255,0.08) !important;
    color: rgba(255,255,255,0.65) !important;
}
/* Payment logo containers */
html:not([data-theme="light"]) .ord-refined aside .bg-slate-50.border-slate-100 {
    background: rgba(255,255,255,0.06) !important;
    border-color: rgba(255,255,255,0.08) !important;
}

/* Money-back card copy — dark mode readability */
html:not([data-theme="light"]) .ord-refined aside .ord-moneyback-card .text-on-surface {
    color: rgba(255,255,255,0.92) !important;
}
html:not([data-theme="light"]) .ord-refined aside .ord-moneyback-card p.text-on-surface {
    color: rgba(255,255,255,0.84) !important;
}

/* "Need help choosing?" bottom banner */
html:not([data-theme="light"]) .ord-refined .bg-surface-container-low.border-surface-container {
    background: rgba(255,255,255,0.04) !important;
    border-color: rgba(255,255,255,0.08) !important;
}
html:not([data-theme="light"]) .ord-refined .bg-surface-container-low.border-surface-container h4 {
    color: rgba(255,255,255,0.90) !important;
}
html:not([data-theme="light"]) .ord-refined .bg-surface-container-low.border-surface-container p {
    color: rgba(255,255,255,0.50) !important;
}
html:not([data-theme="light"]) .ord-refined .bg-surface-container-low.border-surface-container a[style] {
    background: rgba(255,255,255,0.06) !important;
    border-color: rgba(var(--color-primary-rgb),0.50) !important;
}

/* Sticky header — clean Stitch style (scoped to nav topbar only) */
html[data-theme="light"] header#global-topbar {
    background: #ffffff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-bottom: 1px solid #c4c5d7 !important;  /* Stitch outline-variant */
    box-shadow: 0 1px 4px rgba(0,0,0,0.02) !important;
}

/* Footer */
html[data-theme="light"] footer {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-top: 1px solid #c4c5d7 !important;  /* Stitch outline-variant */
}

/* Sidebar collapse toggle pill */
html[data-theme="light"] #sidebar-toggle {
    background: #eff4ff !important;   /* Stitch surface-container-low */
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: 1px solid #c4c5d7 !important;   /* Stitch outline-variant */
    box-shadow: 0 1px 4px rgba(0,0,0,0.04) !important;
    color: #444655 !important;              /* Stitch on-surface-variant */
    transition: left 300ms ease-in-out, background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, color 0.2s ease !important;
}
html[data-theme="light"] #sidebar-toggle:hover {
    background: #e5eeff !important;   /* Stitch surface-container */
    border-color: rgba(var(--color-primary-rgb),0.35) !important;
    color: #461dd0 !important;        /* Stitch primary */
    box-shadow: 0 2px 8px rgba(var(--color-primary-rgb),0.12) !important;
}

/* Dropdowns (bg-[#0d1424]) and sidebar-bg (bg-[#0a0f1e]) */
html[data-theme="light"] .bg-\[\#0d1424\],
html[data-theme="light"] .bg-\[\#0a0f1e\] {
    background: #ffffff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: 1px solid #c4c5d7 !important;   /* Stitch outline-variant */
    box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
}

/* TLD selector dropdown (bg-gray-900/95) */
html[data-theme="light"] .bg-gray-900\/95 {
    background: #ffffff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-color: #c4c5d7 !important;   /* Stitch outline-variant */
    box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
}

/* ═══════════════════════════════════════════════════
   3. TYPOGRAPHY — 5-level hierarchy
   ═══════════════════════════════════════════════════ */

/* News post hero — keep headings white over dark gradient in light mode */
html[data-theme="light"] .news-post-hero h1,
html[data-theme="light"] .news-post-hero h2,
html[data-theme="light"] .news-post-hero h3 { color: #ffffff !important; }

/* Order category hero — dark gradient banner, keep all text white in light mode.
   Needs specificity 0,4-5,x to beat both the global h1/h2/h3 rule (0,1,1)
   and the §PUBLIC-LIGHT section.relative.overflow-hidden rule (0,3-4,x). */
html[data-theme="light"] .ord-cat-header.relative.overflow-hidden h1,
html[data-theme="light"] .ord-cat-header.relative.overflow-hidden h2,
html[data-theme="light"] .ord-cat-header.relative.overflow-hidden h3 {
    color: #ffffff !important;
    letter-spacing: inherit !important;
}
html[data-theme="light"] .ord-cat-header.relative.overflow-hidden .text-white {
    color: #ffffff !important;
}
html[data-theme="light"] .ord-cat-header.relative.overflow-hidden .text-white\/90 {
    color: rgba(255,255,255,0.90) !important;
}
html[data-theme="light"] .ord-cat-header .text-indigo-100 {
    color: rgba(255,255,255,0.80) !important;
}
html[data-theme="light"] .ord-cat-header .text-emerald-300 {
    color: #6ee7b7 !important;
}
/* Undo the §PUBLIC-LIGHT .rounded-2xl.border override for the Core Benefits card
   which should stay dark (semi-transparent on the dark hero gradient). */
html[data-theme="light"] .ord-cat-header.relative.overflow-hidden .rounded-2xl.border {
    background: rgba(255,255,255,0.08) !important;
    border-color: rgba(255,255,255,0.15) !important;
    box-shadow: none !important;
}
html[data-theme="light"] .ord-cat-header .ord-cat-hero-points h3 {
    color: #ffffff !important;
    letter-spacing: inherit !important;
}
html[data-theme="light"] .ord-cat-header .ord-cat-hero-point {
    color: rgba(255,255,255,0.90) !important;
}

/* Level 1 — Headings, primary labels (Stitch on-surface #1a1b23) */
html[data-theme="light"] .text-white,
html[data-theme="light"] h1, html[data-theme="light"] h2, html[data-theme="light"] h3 {
    color: #1a1b23 !important;     /* MeroVPS on-surface */
    letter-spacing: -0.01em;
}
/* Level 2 — Body text, card content */
html[data-theme="light"] .text-gray-100,
html[data-theme="light"] .text-gray-200 { color: #1a1b23 !important; }
/* Level 3 — Supporting text */
html[data-theme="light"] .text-gray-300  { color: #213145 !important; }  /* Stitch inverse-surface */
/* Level 4 — Muted/secondary */
html[data-theme="light"] .text-gray-400  { color: #444655 !important; }  /* Stitch on-surface-variant */
/* Level 5 — Faint / metadata */
html[data-theme="light"] .text-gray-500  { color: #656879 !important; }  /* Stitch outline */
/* Level 5b — Ultra-muted labels */
html[data-theme="light"] .text-gray-600  { color: #656879 !important; }
html[data-theme="light"] .text-gray-700  { color: #444655 !important; }

/* Hover states */
html[data-theme="light"] .hover\:text-white:hover       { color: rgb(var(--brand-950)) !important; }
html[data-theme="light"] .hover\:text-gray-400:hover    { color: #334155 !important; }
html[data-theme="light"] .hover\:text-gray-300:hover    { color: #1e293b !important; }

/* Uppercase section labels — best readability with tracking */
html[data-theme="light"] .uppercase.tracking-wider,
html[data-theme="light"] .uppercase.tracking-widest,
html[data-theme="light"] .uppercase.tracking-wide {
    letter-spacing: 0.08em !important;
    font-weight: 600 !important;
}

/* ── Mono text (IPs, hostnames, usernames) ── */
html[data-theme="light"] .font-mono { color: #1e293b !important; }

/* ── Accent colors: indigo-600 level (fully saturated on light bg) ── */
html[data-theme="light"] .text-indigo-400               { color: rgb(var(--brand-600)) !important; }
html[data-theme="light"] .text-indigo-300               { color: rgb(var(--brand-600)) !important; }
html[data-theme="light"] .text-indigo-200               { color: var(--color-primary) !important; }
html[data-theme="light"] .text-indigo-500               { color: rgb(var(--brand-700)) !important; }
html[data-theme="light"] .hover\:text-indigo-400:hover  { color: rgb(var(--brand-700)) !important; }
html[data-theme="light"] .hover\:text-indigo-300:hover  { color: rgb(var(--brand-600)) !important; }

/* ── Status shades: fully saturated deep tones ── */
html[data-theme="light"] .text-green-400   { color: #15803d !important; }
html[data-theme="light"] .text-green-300   { color: #166534 !important; }
html[data-theme="light"] .text-emerald-400 { color: #047857 !important; }
html[data-theme="light"] .text-emerald-300 { color: #065f46 !important; }
html[data-theme="light"] .text-amber-400   { color: #92400e !important; }
html[data-theme="light"] .text-amber-300   { color: #78350f !important; }
html[data-theme="light"] .text-red-400     { color: #b91c1c !important; }
html[data-theme="light"] .text-red-300     { color: #991b1b !important; }
html[data-theme="light"] .hover\:text-red-400:hover  { color: #b91c1c !important; }
html[data-theme="light"] .hover\:text-red-300:hover  { color: #991b1b !important; }
html[data-theme="light"] .text-sky-400     { color: #0369a1 !important; }
html[data-theme="light"] .text-blue-400    { color: #1d4ed8 !important; }
html[data-theme="light"] .text-violet-400  { color: rgb(var(--brand2-700)) !important; }
html[data-theme="light"] .text-pink-400    { color: #be185d !important; }
html[data-theme="light"] .text-teal-400    { color: #0f766e !important; }
html[data-theme="light"] .text-orange-400  { color: #c2410c !important; }

/* Opacity-variant accent text used in addon cards and billing notes */
html[data-theme="light"] .text-emerald-500\/70    { color: rgba(5,150,105,0.90)   !important; }
html[data-theme="light"] .text-indigo-300\/60     { color: rgb(var(--brand-600) / 0.80)   !important; }
/* Markdown bold text inside [&_strong]:text-gray-300 containers */
html[data-theme="light"] .\[\&_strong\]\:text-gray-300 strong { color: #334155 !important; }

/* ═══════════════════════════════════════════════════
   4. GLASS CARDS — main content surfaces
   ═══════════════════════════════════════════════════ */

/* Tailwind translucent classes — become glass panels */
html[data-theme="light"] .bg-white\/\[0\.015\] { background: #f8faff !important; }
html[data-theme="light"] .bg-white\/\[0\.02\]  { background: #f8faff !important; }
html[data-theme="light"] .bg-white\/\[0\.025\] {
    background: #ffffff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-color: #e2e8f0 !important;
}
html[data-theme="light"] .bg-white\/\[0\.03\] {
    background: #ffffff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-color: #e2e8f0 !important;
}
html[data-theme="light"] .bg-white\/\[0\.04\]  { background: #ffffff !important; }
html[data-theme="light"] .bg-white\/\[0\.05\]  { background: #f8faff !important; }
html[data-theme="light"] .bg-white\/\[0\.06\]  { background: rgb(var(--brand-50)) !important; }
html[data-theme="light"] .bg-white\/\[0\.07\]  { background: #f1f5f9 !important; }
html[data-theme="light"] .bg-white\/\[0\.10\]  { background: rgb(var(--brand-100)) !important; }
html[data-theme="light"] .bg-white\/5          { background: #f1f5f9 !important; }

/* Hover backgrounds — Stitch clean hover states */
html[data-theme="light"] .hover\:bg-white\/5:hover           { background: rgb(var(--brand-50)) !important; }
html[data-theme="light"] .hover\:bg-white\/\[0\.02\]:hover   { background: #f1f5f9 !important; }
html[data-theme="light"] .hover\:bg-white\/\[0\.03\]:hover   { background: rgb(var(--brand-50)) !important; }
html[data-theme="light"] .hover\:bg-white\/\[0\.04\]:hover   { background: rgb(var(--brand-50)) !important; }
html[data-theme="light"] .hover\:bg-white\/\[0\.05\]:hover   { background: rgb(var(--brand-50)) !important; }
html[data-theme="light"] .hover\:bg-white\/\[0\.06\]:hover   { background: rgb(var(--brand-50)) !important; }
html[data-theme="light"] .hover\:bg-white\/\[0\.08\]:hover   { background: rgb(var(--brand-100)) !important; }
html[data-theme="light"] .hover\:bg-white\/\[0\.015\]:hover  { background: #f1f5f9 !important; }

/* Inline-style cards: rgba(255,255,255,0.02), 0.025 and 0.03 — glass panels */
html[data-theme="light"] [style*="rgba(255,255,255,0.025)"],
html[data-theme="light"] [style*="rgba(255,255,255,0.02)"],
html[data-theme="light"] [style*="rgba(255,255,255,0.03)"] {
    background: rgba(255,255,255,0.68) !important;
    border-color: rgb(var(--brand-300) / 0.32) !important;
    backdrop-filter: blur(18px) saturate(1.9) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.9) !important;
}
/* Chip/pill inner items — lighter glass */
html[data-theme="light"] [style*="rgba(255,255,255,0.04)"] {
    background: rgba(255,255,255,0.48) !important;
    border-color: rgb(var(--brand-300) / 0.15) !important;
}
/* Addon icon badge / domain-selector pill (0.05) */
html[data-theme="light"] [style*="rgba(255,255,255,0.05)"] {
    background: rgba(255,255,255,0.58) !important;
    border-color: rgb(var(--brand-300) / 0.22) !important;
}
/* ── Pricing card CTA buttons ── */
.pricing-btn-secondary {
    color: rgba(255,255,255,0.90);
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.12);
}
.pricing-btn-secondary:hover {
    background: rgba(255,255,255,0.13);
}
.pricing-btn-primary {
    color: #ffffff;
}
.pricing-btn-primary:hover {
    filter: brightness(1.1);
}
html[data-theme="light"] .pricing-btn-secondary {
    background: rgba(var(--color-primary-rgb),0.08) !important;
    border-color: rgba(var(--color-primary-rgb),0.25) !important;
    color: rgb(var(--color-primary-rgb)) !important;
}
html[data-theme="light"] .pricing-btn-secondary:hover {
    background: rgba(var(--color-primary-rgb),0.14) !important;
}
html[data-theme="light"] .pricing-btn-primary {
    color: #ffffff !important;
}

/* ── Button hover: accordion rows, nav items ── */
html[data-theme="light"] .hover\:bg-white\/\[0\.015\] {
    background: transparent !important;
}
/* ── Stat card: status badge default surface ── */
html[data-theme="light"] .bg-white\/\[0\.07\]   { background: #f1f5f9 !important; border-color: #e2e8f0 !important; }

/* ═══════════════════════════════════════════════════
   4b. SIDEBAR INTERACTIVE STATES — light mode specifics
   ═══════════════════════════════════════════════════ */

/* Sidebar nav hover text — Stitch on-surface color */
html[data-theme="light"] #sidebar .hover\:text-white:hover {
    color: rgb(var(--brand-950)) !important;
}

/* Sidebar sub-nav hover — Stitch surface-container tint */
html[data-theme="light"] #sidebar nav .hover\:bg-white\/5:hover {
    background: rgb(var(--brand-50)) !important;
}

/* Guest login/signup button border — visible on white sidebar */
html[data-theme="light"] #sidebar .border-white\/10 {
    border-color: rgba(var(--color-primary-rgb),0.30) !important;
}
html[data-theme="light"] #sidebar .hover\:border-indigo-500\/40:hover {
    border-color: rgba(var(--color-primary-rgb),0.50) !important;
}

/* Sign-up button: preserve white text on solid indigo background */
html[data-theme="light"] .bg-indigo-600\/80,
html[data-theme="light"] .bg-indigo-600 {
    color: #ffffff !important;
}

/* Header/footer dropdowns hover rows — visible indigo tint */
html[data-theme="light"] .bg-\[\#0d1424\] .hover\:bg-white\/\[0\.04\]:hover,
html[data-theme="light"] .bg-\[\#0a0f1e\] .hover\:bg-white\/\[0\.04\]:hover {
    background: rgba(var(--color-primary-rgb),0.07) !important;
}

/* TLD badge (div.text-white with gradient bg in results) — keep white */
html[data-theme="light"] .results-container .result-row div.text-white {
    color: #ffffff !important;
}

/* "Add to cart" / "Register" button — keep white text when on a solid primary background */
html[data-theme="light"] .results-container .result-row button.text-white:not(.bg-primary) {
    color: #1e293b !important;
}

/* ═══════════════════════════════════════════════════
   5. BORDERS
   ═══════════════════════════════════════════════════ */
html[data-theme="light"] .border-white\/5          { border-color: #e2e8f0 !important; }
html[data-theme="light"] .border-white\/10         { border-color: #e2e8f0 !important; }
html[data-theme="light"] .border-white\/15         { border-color: #e2e8f0 !important; }
html[data-theme="light"] .border-white\/25         { border-color: #cbd5e1 !important; }
html[data-theme="light"] .border-white\/\[0\.04\]  { border-color: #f1f5f9 !important; }
html[data-theme="light"] .border-white\/\[0\.05\]  { border-color: #e2e8f0 !important; }
html[data-theme="light"] .border-white\/\[0\.06\]  { border-color: #e2e8f0 !important; }
html[data-theme="light"] .border-white\/\[0\.07\]  { border-color: #e2e8f0 !important; }
html[data-theme="light"] .border-white\/\[0\.08\]  { border-color: #e2e8f0 !important; }
html[data-theme="light"] .border-white\/\[0\.10\]  { border-color: #e2e8f0 !important; }
html[data-theme="light"] .border-white\/\[0\.20\]  { border-color: #cbd5e1 !important; }
html[data-theme="light"] .hover\:border-white\/\[0\.20\]:hover { border-color: #cbd5e1 !important; }
html[data-theme="light"] .border-white\/\[0\.12\]  { border-color: #cbd5e1 !important; }
html[data-theme="light"] .border-white\/\[0\.25\]  { border-color: #cbd5e1 !important; }
html[data-theme="light"] .border-white\/\[0\.28\]  { border-color: #cbd5e1 !important; }
html[data-theme="light"] .divide-white\/\[0\.04\] > * + * { border-color: #f1f5f9 !important; }
html[data-theme="light"] .divide-white\/\[0\.05\] > * + * { border-color: #e2e8f0 !important; }
html[data-theme="light"] .divide-white\/\[0\.06\] > * + * { border-color: #e2e8f0 !important; }
html[data-theme="light"] .border-l.border-white\/10      { border-color: #e2e8f0 !important; }
/* Avatar ring borders */
html[data-theme="light"] .border-\[\#0f172a\]      { border-color: #ffffff !important; }
html[data-theme="light"] .border-\[\#030712\]      { border-color: #ffffff !important; }

/* Accent-tinted borders */
html[data-theme="light"] .border-indigo-500\/30 { border-color: rgba(var(--color-primary-rgb),0.28) !important; }
html[data-theme="light"] .border-indigo-500\/40 { border-color: rgba(var(--color-primary-rgb),0.35) !important; }
html[data-theme="light"] .border-green-500\/30  { border-color: rgba(22,163,74,0.28)  !important; }
html[data-theme="light"] .border-green-500\/10  { border-color: rgba(22,163,74,0.14)  !important; }

/* ═══════════════════════════════════════════════════
   6. ACTIVE / SELECTED STATE SURFACES
   ═══════════════════════════════════════════════════ */
html[data-theme="light"] .bg-indigo-500\/20         { background: rgba(var(--color-primary-rgb),0.10) !important; }
html[data-theme="light"] .bg-indigo-500\/15         { background: rgba(var(--color-primary-rgb),0.09) !important; }
html[data-theme="light"] .bg-indigo-500\/10         { background: rgba(var(--color-primary-rgb),0.07) !important; }
html[data-theme="light"] .hover\:bg-indigo-500\/10:hover { background: rgba(var(--color-primary-rgb),0.10) !important; }

/* Emerald / green category tiles in the sidebar */
html[data-theme="light"] .bg-emerald-500\/10  { background: rgba(5,150,105,0.08)  !important; }
html[data-theme="light"] .bg-amber-500\/10    { background: rgba(180,83,9,0.08)   !important; }

/* Status badge surfaces */
html[data-theme="light"] .bg-green-500\/10   { background: rgba(22,163,74,0.09)  !important; }
html[data-theme="light"] .bg-red-500\/10     { background: rgba(220,38,38,0.08)  !important; }
html[data-theme="light"] .hover\:bg-red-500\/10:hover { background: rgba(220,38,38,0.10) !important; }

/* ── Avatar border on stacked avatars ── */
html[data-theme="light"] .border-\[\#0f172a\] { border-color: #f8faff !important; }

/* ── Dashboard action buttons ── */
html[data-theme="light"] .dashboard-btn-cpanel {
    background: linear-gradient(135deg, #0ea5e9, #0284c7) !important;
    color: #fff !important;
    box-shadow: 0 1px 3px rgba(14,165,233,0.25) !important;
}
html[data-theme="light"] .dashboard-btn-cpanel:hover {
    opacity: 0.92 !important;
    box-shadow: 0 2px 8px rgba(14,165,233,0.35) !important;
}
html[data-theme="light"] .dashboard-btn-manage {
    background: rgba(255,255,255,0.65) !important;
    border-color: rgba(var(--color-primary-rgb),0.18) !important;
    color: #374151 !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.06) !important;
}
html[data-theme="light"] .dashboard-btn-manage:hover {
    background: rgba(255,255,255,0.85) !important;
    border-color: rgba(var(--color-primary-rgb),0.28) !important;
    color: #111827 !important;
}

/* ═══════════════════════════════════════════════════
   7. HERO CARDS & SPECIAL INLINE STYLES
   ═══════════════════════════════════════════════════ */

/* Full-width page hero banners (domain-transfer, domain-registration etc.) */
html[data-theme="light"] [data-hero] {
    background-color: transparent !important;
    background-image:
        radial-gradient(ellipse 80% 60% at 50% 0%, rgba(var(--color-primary-rgb),0.14) 0%, transparent 65%),
        radial-gradient(ellipse 55% 40% at 20% 100%, rgb(var(--brand-300) / 0.22) 0%, transparent 60%),
        linear-gradient(180deg, rgba(238,242,255,0.92) 0%, rgb(var(--brand-100) / 0.70) 100%) !important;
    border-bottom-color: rgb(var(--brand-300) / 0.28) !important;
    backdrop-filter: blur(0px) !important;
    -webkit-backdrop-filter: blur(0px) !important;
    box-shadow: 0 4px 24px rgba(var(--color-primary-rgb),0.08) !important;
}
/* Keep glow blobs visible but softer */
html[data-theme="light"] [data-hero] .opacity-20 { opacity: 0.12 !important; }
html[data-theme="light"] [data-hero] .opacity-10 { opacity: 0.08 !important; }

/* Hero card dark gradient → soft glass with indigo aurora */
html[data-theme="light"] [style*="rgba(55,48,163"],
html[data-theme="light"] [style*="rgba(67,56,202"],
html[data-theme="light"] [style*="rgba(79,70,229"] {
    background:
        linear-gradient(135deg,
            rgba(var(--color-primary-rgb),0.12) 0%,
            rgb(var(--brand-300) / 0.07) 60%,
            rgba(238,242,255,0) 100%) !important;
    backdrop-filter: blur(20px) saturate(1.8) !important;
    -webkit-backdrop-filter: blur(20px) saturate(1.8) !important;
    border-color: rgba(var(--color-primary-rgb),0.22) !important;
    box-shadow: 0 4px 20px rgba(var(--color-primary-rgb),0.10), inset 0 1px 0 rgba(255,255,255,0.7) !important;
}
/* Hero bottom bar (rgba(0,0,0,0.15)) */
html[data-theme="light"] [style*="rgba(0,0,0,0.15)"] {
    background: rgba(var(--color-primary-rgb),0.05) !important;
    border-top-color: rgba(var(--color-primary-rgb),0.12) !important;
}
/* Footer inline `style="background: #030712;"` */
html[data-theme="light"] [style*="background: #030712"],
html[data-theme="light"] [style*="background:#030712"] {
    background: rgba(238,242,255,0.6) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
}
/* Gradient buttons — keep indigo gradient, ensure white text */
html[data-theme="light"] [style*="linear-gradient(135deg, var(--color-primary)"],
html[data-theme="light"] [style*="linear-gradient(135deg,var(--color-primary)"],
html[data-theme="light"] [style*="background: linear-gradient(135deg, var(--color-primary)"],
html[data-theme="light"] [style*="background:linear-gradient(135deg,var(--color-primary)"] {
    color: #ffffff !important;
    box-shadow: 0 4px 16px rgba(var(--color-primary-rgb),0.30) !important;
}
/* Solid-primary buttons (e.g. "Add to Cart") — keep white text on primary background */
html[data-theme="light"] [style*="background: var(--color-primary)"],
html[data-theme="light"] [style*="background:var(--color-primary)"] {
    color: #ffffff !important;
}

/* ── Webhosting / VPS "Recommended" plan card (dark gradient bg) ── */
html[data-theme="light"] [style*="rgba(30,41,59"],
html[data-theme="light"] [style*="rgba(23,31,50"] {
    background: rgba(255,255,255,0.80) !important;
    backdrop-filter: blur(20px) saturate(1.9) !important;
    -webkit-backdrop-filter: blur(20px) saturate(1.9) !important;
    border-color: rgba(59,130,246,0.35) !important;
    box-shadow:
        0 0 0 2px rgba(59,130,246,0.30),
        0 8px 32px rgba(59,130,246,0.14),
        inset 0 1px 0 rgba(255,255,255,0.95) !important;
}
/* "Recommended" banner strip */
html[data-theme="light"] [style*="rgba(59,130,246,0.12)"] {
    background: rgba(59,130,246,0.09) !important;
    border-bottom-color: rgba(59,130,246,0.18) !important;
}
html[data-theme="light"] .text-blue-300 { color: #1d4ed8 !important; }
/* Blue CTA button */
html[data-theme="light"] [style*="linear-gradient(90deg, #3b82f6"],
html[data-theme="light"] [style*="background: linear-gradient(90deg, #3b82f6"] {
    color: #ffffff !important;
    box-shadow: 0 4px 16px rgba(59,130,246,0.30) !important;
}
/* ring-blue-500 → stay visible on light bg */
html[data-theme="light"] .ring-blue-500 {
    --tw-ring-color: rgba(59,130,246,0.55) !important;
}
/* ring-indigo-500 → indigo ring visible on light */
html[data-theme="light"] .ring-indigo-500 {
    --tw-ring-color: rgba(var(--color-primary-rgb),0.50) !important;
}
/* Blue shadow glow on recommended card */
html[data-theme="light"] .shadow-\[0_0_40px_-8px_rgba\(59\,130\,246\,0\.4\)\] {
    box-shadow: 0 0 28px -6px rgba(59,130,246,0.22) !important;
}

/* ═══════════════════════════════════════════════════
   8. FORM INPUTS — clean glass style
   ═══════════════════════════════════════════════════ */
html[data-theme="light"] input[type="text"],
html[data-theme="light"] input[type="email"],
html[data-theme="light"] input[type="password"],
html[data-theme="light"] input[type="tel"],
html[data-theme="light"] input[type="number"],
html[data-theme="light"] input[type="search"],
html[data-theme="light"] textarea,
html[data-theme="light"] select {
    background:   #ffffff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border:       1px solid #e2e8f0 !important;
    color:        rgb(var(--brand-950)) !important;
    box-shadow:   0 1px 2px rgba(0,0,0,0.04) !important;
}
html[data-theme="light"] input:focus,
html[data-theme="light"] textarea:focus,
html[data-theme="light"] select:focus {
    background:   #ffffff !important;
    border-color: rgba(var(--color-primary-rgb),0.55) !important;
    box-shadow:   0 0 0 3px rgba(var(--color-primary-rgb),0.14) !important;
}
html[data-theme="light"] select option          { background: #ffffff; color: #0f172a; }
html[data-theme="light"] input::placeholder,
html[data-theme="light"] textarea::placeholder  { color: #94a3b8 !important; opacity: 1 !important; }

/* ── Order form: domain mode tabs (theme-aware active/idle states) ── */
.domain-tab.domain-tab-active {
    background: rgba(var(--color-primary-rgb), 0.07);
    border-color: rgba(var(--color-primary-rgb), 0.35);
    color: var(--color-primary);
}
[data-theme="dark"] .domain-tab.domain-tab-active {
    background: rgba(255, 255, 255, 0.10);
    border-color: rgba(255, 255, 255, 0.40);
    color: #ffffff;
}
.domain-tab.domain-tab-idle {
    background: transparent;
    border-color: #e2e8f0;
    color: #475569;
}
[data-theme="dark"] .domain-tab.domain-tab-idle {
    border-color: rgba(255, 255, 255, 0.15);
    color: #94a3b8;
}
/* Domain card header icon — needs a light tint on dark backgrounds */
[data-theme="dark"] .domain-card-icon {
    background: rgba(255, 255, 255, 0.08) !important;
    color: rgb(var(--brand-300)) !important;
}

/* ── Order form opt-outs from the blanket input skin above ── */
/* Period selector: prominent 2px primary outline (order page redesign) */
html[data-theme="light"] #period-card select {
    border: 2px solid var(--color-primary) !important;
    box-shadow: none !important;
}
/* Composed domain-search group: the wrapper div carries the border, inner
   input + TLD select must stay borderless or they double-border. width:auto
   defeats the base `input { width:100% }`, which otherwise lets a fixed-size
   segment swallow the whole flex row. */
.domain-search-group input[type="text"],
.domain-search-group select,
html[data-theme="light"] .domain-search-group input[type="text"],
html[data-theme="light"] .domain-search-group select {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    width: auto;
}
/* Inner divider between the name field and the TLD segment (e.g. own-domain) */
.domain-search-group .dsg-divider,
html[data-theme="light"] .domain-search-group .dsg-divider {
    border-left: 1px solid #e2e8f0 !important;
}
[data-theme="dark"] .domain-search-group .dsg-divider {
    border-left-color: rgba(255, 255, 255, 0.12) !important;
}

/* ═══════════════════════════════════════════════════
   9. SCROLLBARS — matching glass palette
   ═══════════════════════════════════════════════════ */
html[data-theme="light"] ::-webkit-scrollbar-track { background: #f8faff; }
html[data-theme="light"] ::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 3px;
}
html[data-theme="light"] ::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

/* ═══════════════════════════════════════════════════
   10. EMAIL VERIFICATION BANNER
   ═══════════════════════════════════════════════════ */
html[data-theme="light"] .email-verify-banner {
    background: rgba(37,99,235,0.07) !important;
    border-color: rgba(37,99,235,0.25) !important;
    color: #1e40af !important;
    box-shadow: 0 1px 4px rgba(37,99,235,0.08), inset 0 1px 0 rgba(255,255,255,0.60) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}
html[data-theme="light"] .email-verify-banner p,
html[data-theme="light"] .email-verify-banner svg {
    color: #1e40af !important;
}
html[data-theme="light"] .email-verify-banner .text-blue-200 {
    color: #1e3a8a !important;
    font-weight: 600 !important;
}
html[data-theme="light"] .email-verify-banner strong {
    color: #1e3a8a !important;
}
html[data-theme="light"] .email-verify-banner .evb-resend-btn {
    background: rgba(37,99,235,0.12) !important;
    border: 1px solid rgba(37,99,235,0.25) !important;
    color: #1d4ed8 !important;
}
html[data-theme="light"] .email-verify-banner .evb-resend-btn:hover:not(:disabled) {
    background: rgba(37,99,235,0.20) !important;
    border-color: rgba(37,99,235,0.40) !important;
}
html[data-theme="light"] .email-verify-banner .evb-dismiss-btn {
    color: #3b82f6 !important;
}
html[data-theme="light"] .email-verify-banner .evb-dismiss-btn:hover {
    color: #1d4ed8 !important;
}

/* ═══════════════════════════════════════════════════
   11. NOTIFICATION TOASTS
   ═══════════════════════════════════════════════════ */
html[data-theme="light"] #merovps-notif > div {
    background:        #ffffff !important;
    backdrop-filter:   none !important;
    -webkit-backdrop-filter: none !important;
    border:            1px solid #e2e8f0 !important;
    color:             rgb(var(--brand-950)) !important;
    box-shadow:        0 4px 16px rgba(0,0,0,0.08), 0 1px 3px rgba(0,0,0,0.05) !important;
}

/* ═══════════════════════════════════════════════════
   11. MARKDOWN / RICH CONTENT
   ═══════════════════════════════════════════════════ */
html[data-theme="light"] .markdown-content,
html[data-theme="light"] .bb-content       { color: #334155 !important; line-height: 1.75 !important; }
html[data-theme="light"] .markdown-content a,
html[data-theme="light"] .bb-content a     { color: rgb(var(--brand-600)) !important; }
html[data-theme="light"] .markdown-content code,
html[data-theme="light"] .bb-content code  {
    background:   rgba(var(--color-primary-rgb),0.08) !important;
    border:       1px solid rgba(var(--color-primary-rgb),0.16) !important;
    color:        rgb(var(--brand-800)) !important;
}
html[data-theme="light"] .markdown-content pre,
html[data-theme="light"] .bb-content pre   {
    background:   rgba(255,255,255,0.70) !important;
    backdrop-filter: blur(10px) !important;
    border:       1px solid rgb(var(--brand-300) / 0.22) !important;
}

/* ═══════════════════════════════════════════════════
   12. UTILITY CLASSES
   ═══════════════════════════════════════════════════ */
html[data-theme="light"] .card-glass {
    background:        #ffffff !important;
    backdrop-filter:   none !important;
    -webkit-backdrop-filter: none !important;
    border:            1px solid #e2e8f0 !important;
    box-shadow:        0 2px 8px rgba(0,0,0,0.04) !important;
}
html[data-theme="light"] .gradient-text {
    background: linear-gradient(135deg, rgb(var(--brand-700)) 0%, rgb(var(--brand2-700)) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
html[data-theme="light"] .is-required { border-color: rgba(185,28,28,0.40) !important; }

/* ── Animate-pulse adjustment (status dot) ── */
html[data-theme="light"] .bg-green-400             { background-color: #16a34a !important; }
html[data-theme="light"] .animate-pulse.bg-green-400 { background-color: #16a34a !important; }

/* ── Contact role toggle — inactive state (bg-gray-700 is too dark on light canvas) ── */
html[data-theme="light"] .contact-role-toggle.bg-gray-700 {
    background-color: rgba(148,163,184,0.40) !important;
    border-color: rgb(var(--brand-300) / 0.25) !important;
}

/* ── Shadows — clean subtle for Stitch light mode ── */
html[data-theme="light"] .shadow-lg          { box-shadow: 0 4px 16px rgba(0,0,0,0.06) !important; }
html[data-theme="light"] .shadow-2xl         { box-shadow: 0 8px 32px rgba(0,0,0,0.08) !important; }
html[data-theme="light"] .shadow-black\/60   { --tw-shadow-color: rgba(0,0,0,0.06) !important; }
html[data-theme="light"] .shadow-indigo-500\/20 { box-shadow: 0 4px 16px rgba(var(--color-primary-rgb),0.15) !important; }
html[data-theme="light"] .shadow-indigo-500\/30 { box-shadow: 0 4px 20px rgba(var(--color-primary-rgb),0.20) !important; }

/* ═══════════════════════════════════════════════════
   13. RENEW MODAL — light-mode overrides
   ═══════════════════════════════════════════════════ */
html[data-theme="light"] .renew-modal-overlay {
    background: rgba(15,23,42,0.50) !important;
    backdrop-filter: blur(8px) saturate(1.5) !important;
    -webkit-backdrop-filter: blur(8px) saturate(1.5) !important;
}
html[data-theme="light"] .renew-modal-card {
    background: rgba(255,255,255,0.94) !important;
    backdrop-filter: blur(24px) saturate(2) !important;
    -webkit-backdrop-filter: blur(24px) saturate(2) !important;
    border-color: rgb(var(--brand-300) / 0.30) !important;
    box-shadow:
        0 20px 60px rgba(var(--color-primary-rgb),0.15),
        0 4px 16px rgba(15,23,42,0.10),
        inset 0 1px 0 rgba(255,255,255,1) !important;
}
html[data-theme="light"] .renew-modal-card .border-white\/\[0\.06\] {
    border-color: rgb(var(--brand-300) / 0.18) !important;
}
html[data-theme="light"] .renew-modal-card select option {
    background: #ffffff;
    color: #0f172a;
}
/* Text colors */
html[data-theme="light"] .renew-modal-card .text-white { color: #0f172a !important; }
html[data-theme="light"] .renew-modal-card .text-gray-400 { color: #475569 !important; }
html[data-theme="light"] .renew-modal-card .text-gray-500 { color: #64748b !important; }
html[data-theme="light"] .renew-modal-card .text-gray-600 { color: #64748b !important; }
html[data-theme="light"] .renew-modal-card .hover\:text-white:hover { color: #0f172a !important; }
/* Inputs, textareas, selects */
html[data-theme="light"] .renew-modal-card input[type="text"],
html[data-theme="light"] .renew-modal-card textarea,
html[data-theme="light"] .renew-modal-card select {
    background: #f1f5f9 !important;
    border-color: rgba(var(--color-primary-rgb),0.25) !important;
    color: #0f172a !important;
}
html[data-theme="light"] .renew-modal-card input::placeholder,
html[data-theme="light"] .renew-modal-card textarea::placeholder { color: #94a3b8 !important; }
/* bg-white/5 select & semi-transparent info rows become invisible on white */
html[data-theme="light"] .renew-modal-card .bg-white\/5 { background: #f1f5f9 !important; }
html[data-theme="light"] .renew-modal-card .border-white\/10 { border-color: #e2e8f0 !important; }
html[data-theme="light"] .renew-modal-card [style*="rgba(255,255,255,0.02)"] { background: #f1f5f9 !important; }

/* ═══════════════════════════════════════════════════
   14. EPP / OTP MODAL — light-mode overrides
   ═══════════════════════════════════════════════════ */
html[data-theme="light"] .epp-modal-overlay {
    background: rgba(15,23,42,0.50) !important;
    backdrop-filter: blur(8px) saturate(1.5) !important;
    -webkit-backdrop-filter: blur(8px) saturate(1.5) !important;
}
html[data-theme="light"] .epp-modal-card {
    background: rgba(255,255,255,0.94) !important;
    backdrop-filter: blur(24px) saturate(2) !important;
    -webkit-backdrop-filter: blur(24px) saturate(2) !important;
    border-color: rgb(var(--brand-300) / 0.30) !important;
    box-shadow:
        0 20px 60px rgba(var(--color-primary-rgb),0.15),
        0 4px 16px rgba(15,23,42,0.10),
        inset 0 1px 0 rgba(255,255,255,1) !important;
}
/* Header divider */
html[data-theme="light"] .epp-modal-card .border-white\/\[0\.06\] {
    border-color: rgb(var(--brand-300) / 0.18) !important;
}
/* Description text */
html[data-theme="light"] .epp-modal-card .text-gray-400 { color: #475569 !important; }
/* Countdown label */
html[data-theme="light"] .epp-modal-card .text-gray-500 { color: #64748b !important; }
/* OTP input */
html[data-theme="light"] .epp-modal-card input[type="text"] {
    background:   rgba(255,255,255,0.80) !important;
    border-color: rgba(var(--color-primary-rgb),0.22)  !important;
    color:        #0f172a !important;
}
html[data-theme="light"] .epp-modal-card input::placeholder { color: #94a3b8 !important; }
/* Close button */
html[data-theme="light"] .epp-modal-card .text-gray-500.hover\:text-white:hover,
html[data-theme="light"] .epp-modal-card button.text-gray-500          { color: #64748b !important; }
html[data-theme="light"] .epp-modal-card button.text-gray-500:hover     { color: #0f172a !important; }

/* ═══════════════════════════════════════════════════
   15. BUTTONS — preserve white text on solid backgrounds
   ═══════════════════════════════════════════════════
   The blanket `.text-white → #0f172a` override in §3 is correct
   for headings and body text, but buttons/badges with opaque
   colored backgrounds still need legible white text.
   ═══════════════════════════════════════════════════ */

/* ── Solid Tailwind bg-{color}-{shade} + text-white ── */
html[data-theme="light"] .bg-primary.text-white,
html[data-theme="light"] .bg-indigo-500.text-white,
html[data-theme="light"] .bg-indigo-600.text-white,
html[data-theme="light"] .bg-indigo-600\/80.text-white,
html[data-theme="light"] .bg-blue-500.text-white,
html[data-theme="light"] .bg-blue-600.text-white,
html[data-theme="light"] .bg-emerald-500.text-white,
html[data-theme="light"] .bg-emerald-600.text-white,
html[data-theme="light"] .bg-green-500.text-white,
html[data-theme="light"] .bg-green-600.text-white,
html[data-theme="light"] .bg-violet-500.text-white,
html[data-theme="light"] .bg-violet-600.text-white,
html[data-theme="light"] .bg-red-500.text-white,
html[data-theme="light"] .bg-red-600.text-white,
html[data-theme="light"] .bg-purple-500.text-white,
html[data-theme="light"] .bg-purple-600.text-white,
html[data-theme="light"] .bg-teal-500.text-white,
html[data-theme="light"] .bg-teal-600.text-white,
html[data-theme="light"] .bg-amber-500.text-white,
html[data-theme="light"] .bg-amber-600.text-white {
    color: #ffffff !important;
}

/* ── Inline-style gradient/solid backgrounds with .text-white class ── */
/* Green gradient CTA (contact-us, dashboard) */
html[data-theme="light"] [style*="linear-gradient(135deg, #10b981"].text-white,
html[data-theme="light"] [style*="linear-gradient(135deg,#10b981"].text-white {
    color: #ffffff !important;
    box-shadow: 0 4px 16px rgba(16,185,129,0.30) !important;
}
/* Lime-green sale badge */
html[data-theme="light"] [style*="background: #65a30d"].text-white,
html[data-theme="light"] [style*="background:#65a30d"].text-white {
    color: #ffffff !important;
}

/* ── Children of solid-bg buttons that inherit .text-white ── */
html[data-theme="light"] .bg-indigo-500 .text-white,
html[data-theme="light"] .bg-indigo-600 .text-white,
html[data-theme="light"] .bg-blue-500 .text-white,
html[data-theme="light"] .bg-blue-600 .text-white,
html[data-theme="light"] .bg-emerald-500 .text-white,
html[data-theme="light"] .bg-green-500 .text-white,
html[data-theme="light"] .bg-violet-500 .text-white,
html[data-theme="light"] .bg-red-500 .text-white,
html[data-theme="light"] .bg-purple-500 .text-white {
    color: #ffffff !important;
}

/* ── Pagination active page (bg-indigo-500 text-white) ── */
html[data-theme="light"] a.bg-indigo-500.text-white,
html[data-theme="light"] span.bg-indigo-500.text-white,
html[data-theme="light"] div.bg-indigo-500.text-white {
    color: #ffffff !important;
}

/* ── Inline var(--color-primary) background buttons (e.g. domain Check button) ── */
html[data-theme="light"] [style*="var(--color-primary"].text-white,
html[data-theme="light"] [style*="var(--color-primary"] .text-white {
    color: #ffffff !important;
}
/* ── Counter-rule: semi-transparent rgba(var(--color-primary-rgb), low-opacity) backgrounds
   (e.g. selected billing-cycle rows at 0.07 opacity) must keep text dark, not white.
   Excludes elements that also have a linear-gradient (those are solid-bg gradient buttons
   whose box-shadow happens to contain the same rgba() string). ── */
html[data-theme="light"] [style*="rgba(var(--color-primary-rgb)"]:not([style*="linear-gradient"]):not(.ord-cta-primary):not(.ord-cta-secondary).text-white,
html[data-theme="light"] [style*="rgba(var(--color-primary-rgb)"]:not([style*="linear-gradient"]):not(.ord-cta-primary):not(.ord-cta-secondary) .text-white:not(.ord-cta-primary):not(.ord-cta-secondary) {
    color: #0f172a !important;
}
/* ── Gradient buttons always white text ── */
html[data-theme="light"] [style*="linear-gradient(135deg, var(--color-primary)"].text-white,
html[data-theme="light"] [style*="linear-gradient(135deg, var(--color-primary)"] .text-white,
html[data-theme="light"] [style*="linear-gradient(135deg,var(--color-primary)"].text-white,
html[data-theme="light"] [style*="linear-gradient(135deg,var(--color-primary)"] .text-white,
html[data-theme="light"] [style*="linear-gradient(90deg, var(--color-primary)"].text-white,
html[data-theme="light"] [style*="linear-gradient(90deg,var(--color-primary)"].text-white,
html[data-theme="light"] .btn-primary-gradient,
html[data-theme="light"] .btn-primary-gradient .text-white {
    color: #ffffff !important;
}

/* §16 ── Compact payment method buttons (light mode) ── */
html[data-theme="light"] .text-emerald-400 {
    color: #059669 !important;
}
html[data-theme="light"] .text-indigo-300 {
    color: rgb(var(--brand-700)) !important;
}
html[data-theme="light"] .text-indigo-400\/70 {
    color: rgb(var(--brand-600) / 0.7) !important;
}

/* §18 ── VPS / Server manage panel ── */
/* Spec pill chips and SSH quick-connect block use rgba(0,0,0,0.18) inner bg — becomes an
   indigo-tinted glass chip on the light canvas so it stays visually inset without going dark */
html[data-theme="light"] [style*="rgba(0,0,0,0.18)"] {
    background: rgba(var(--color-primary-rgb),0.06) !important;
    border-color: rgb(var(--brand-300) / 0.20) !important;
}
/* Opacity-variant white text used for hero-card metadata (location, "Next Due" label, days-left) */
html[data-theme="light"] .text-white\/40 { color: #94a3b8 !important; }
html[data-theme="light"] .text-white\/50 { color: #64748b !important; }
html[data-theme="light"] .text-white\/60 { color: #475569 !important; }

/* §17 ── Login modal (light mode) ── */
html[data-theme="light"] .login-modal {
    background: #ffffff !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15) !important;
}
html[data-theme="light"] .login-modal-title {
    color: #111827 !important;
}
html[data-theme="light"] .login-modal-label {
    color: #4b5563 !important;
}
html[data-theme="light"] .login-modal-input {
    background: #f9fafb !important;
    border-color: #d1d5db !important;
    color: #111827 !important;
}
html[data-theme="light"] .login-modal-input::placeholder {
    color: #9ca3af !important;
}
html[data-theme="light"] .login-modal-input:focus {
    border-color: var(--color-primary) !important;
    box-shadow: 0 0 0 2px rgba(var(--color-primary-rgb), 0.15) !important;
}

/* ── Category description rich-text rendering ──────────────────────────── */
.category-description h1 {
    font-size: 1.125rem;
    font-weight: 700;
    color: #f1f5f9;
    margin: 0 0 8px;
    line-height: 1.4;
}
.category-description h2 {
    font-size: 1rem;
    font-weight: 600;
    color: #e2e8f0;
    margin: 12px 0 6px;
}
.category-description h3 {
    font-size: 0.875rem;
    font-weight: 600;
    color: #cbd5e1;
    margin: 10px 0 4px;
}
.category-description p {
    font-size: 0.875rem;
    color: #94a3b8;
    line-height: 1.65;
    margin: 0 0 8px;
}
.category-description ul,
.category-description ol {
    margin: 0 0 10px 0;
    padding-left: 1.25rem;
}
.category-description li {
    font-size: 0.8125rem;
    color: #94a3b8;
    line-height: 1.6;
    margin-bottom: 3px;
}
.category-description ul li {
    list-style-type: disc;
}
.category-description ol li {
    list-style-type: decimal;
}
.category-description strong, .category-description b {
    color: #e2e8f0;
    font-weight: 600;
}
.category-description blockquote {
    border-left: 3px solid rgba(var(--color-primary-rgb),0.4);
    padding: 6px 0 6px 14px;
    margin: 0 0 10px;
    background: rgba(var(--color-primary-rgb),0.05);
    border-radius: 0 6px 6px 0;
}
.category-description blockquote h1,
.category-description blockquote h2,
.category-description blockquote h3 {
    font-size: 0.8125rem;
    font-weight: 600;
    color: rgb(var(--brand-300));
    margin: 0;
}
.category-description blockquote p {
    font-size: 0.8125rem;
    color: #94a3b8;
    margin: 0;
}
.category-description a {
    color: rgb(var(--brand-400));
    text-decoration: none;
}
.category-description a:hover {
    text-decoration: underline;
}
/* Light mode overrides */
html[data-theme="light"] .category-description h1 { color: #1e293b; }
html[data-theme="light"] .category-description h2 { color: #334155; }
html[data-theme="light"] .category-description h3 { color: #475569; }
html[data-theme="light"] .category-description p  { color: #475569; }
html[data-theme="light"] .category-description li { color: #475569; }
html[data-theme="light"] .category-description strong,
html[data-theme="light"] .category-description b  { color: #1e293b; }
html[data-theme="light"] .category-description blockquote {
    border-left-color: rgba(var(--color-primary-rgb),0.5);
    background: rgba(var(--color-primary-rgb),0.06);
}
html[data-theme="light"] .category-description blockquote h1,
html[data-theme="light"] .category-description blockquote h2,
html[data-theme="light"] .category-description blockquote h3 {
    color: rgb(var(--brand-700));
}
html[data-theme="light"] .category-description blockquote p {
    color: #475569;
}

/* ═══════════════════════════════════════════════════
   Help & Support slide-in panel — dark mode base + light overrides
   =========================== */
.help-panel {
    top: var(--portal-shell-header-height, 4rem);
    width: 19rem;
    will-change: transform, opacity;
    background: rgba(8, 12, 24, 0.88);
    backdrop-filter: blur(24px) saturate(1.6);
    -webkit-backdrop-filter: blur(24px) saturate(1.6);
    border-right: 1px solid rgba(255,255,255,0.09);
    box-shadow: 6px 0 32px rgba(0,0,0,0.35), inset -1px 0 0 rgba(255,255,255,0.04);
}
.help-panel-backdrop {
    top: var(--portal-shell-header-height, 4rem);
    left: 17.25rem;
    transition: left 300ms ease-in-out, opacity 200ms ease;
}
.help-panel-header {
    background: linear-gradient(135deg, rgba(var(--color-primary-rgb),0.14), rgba(var(--color-secondary-rgb),0.07));
}
.help-panel-card {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.07);
}
.help-panel-footer {
    background: rgba(16,185,129,0.05);
}
.help-panel-close {
    width: 2.75rem;
    height: 2.75rem;
}
.help-panel-close:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}
html.help-panel-open #main-content {
    overflow-y: hidden;
}

/* Mobile: full-width panel anchored to left edge, max 18rem wide */
@media (max-width: 1023px) {
    .help-panel {
        left: 0 !important;
        width: min(18rem, 85vw) !important;
    }
    .help-panel-backdrop {
        left: 0 !important;
    }
}

/* Desktop: panel left tracks sidebar width via data-sb on <html> */
/* Default expanded sidebar is 17.25rem; keep the drawer flush with its edge. */
@media (min-width: 1024px) {
    #help-panel {
        left: 17.25rem;
        transition: left 300ms ease-in-out;
    }
    html[data-sb="collapsed"] #help-panel {
        left: 4rem;
    }
    html[data-sb="collapsed"] .help-panel-backdrop {
        left: 4rem;
    }
}

html[data-theme="light"] .help-panel {
    background: rgba(255,255,255,0.92) !important;
    backdrop-filter: blur(28px) saturate(2) !important;
    -webkit-backdrop-filter: blur(28px) saturate(2) !important;
    border-right: 1px solid rgb(var(--brand-300) / 0.28) !important;
    box-shadow: 4px 0 32px rgba(var(--color-primary-rgb),0.10) !important;
}
html[data-theme="light"] .help-panel-header {
    background: linear-gradient(135deg, rgba(var(--color-primary-rgb),0.08), rgba(var(--color-secondary-rgb),0.05)) !important;
    border-bottom-color: rgb(var(--brand-300) / 0.22) !important;
}
html[data-theme="light"] .help-panel-card {
    background: rgba(238,242,255,0.55) !important;
    border-color: rgb(var(--brand-300) / 0.25) !important;
}
html[data-theme="light"] .help-panel-footer {
    background: rgba(5,150,105,0.06) !important;
    border-top-color: rgb(var(--brand-300) / 0.20) !important;
}
@media (prefers-reduced-motion: reduce) {
    .help-panel,
    .help-panel-backdrop,
    .help-panel *,
    .help-btn-active {
        animation: none !important;
        transition-duration: .01ms !important;
    }
}

/* ═══════════════════════════════════════════════════
   FORMBUILDER — light mode
   ═══════════════════════════════════════════════════ */
/* Checkbox & radio borders — visible on light background */
html[data-theme="light"] .formbuilder-check,
html[data-theme="light"] .formbuilder-radio {
    border-color: rgba(var(--color-primary-rgb),0.25) !important;
    background: rgba(255,255,255,0.80) !important;
}
html[data-theme="light"] .formbuilder-check:checked,
html[data-theme="light"] .formbuilder-radio:checked {
    background-color: rgb(var(--brand-600)) !important;
    border-color: rgb(var(--brand-600)) !important;
}
/* Select dropdown — legible on light */
html[data-theme="light"] select[style*="rgba(255,255,255,0.03)"] {
    background: rgba(255,255,255,0.80) !important;
    border-color: rgb(var(--brand-300) / 0.30) !important;
    color: #0f172a !important;
    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='%23475569' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E") !important;
    background-position: right 0.75rem center !important;
    background-repeat: no-repeat !important;
    background-size: 1.25em 1.25em !important;
}
html[data-theme="light"] select option {
    background: #fff !important;
    color: #0f172a !important;
}
/* Required asterisk */
html[data-theme="light"] .text-red-400\/80 { color: rgba(185,28,28,0.90) !important; }

/* ═══════════════════════════════════════════════════
   AUTH MODALS (checkout login/signup) — light mode
   ═══════════════════════════════════════════════════ */
html[data-theme="light"] [style*="rgba(15,15,25,0.95)"] {
    background: rgba(255,255,255,0.95) !important;
    border-color: rgb(var(--brand-300) / 0.30) !important;
    backdrop-filter: blur(24px) saturate(2) !important;
    -webkit-backdrop-filter: blur(24px) saturate(2) !important;
    box-shadow:
        0 20px 60px rgba(var(--color-primary-rgb),0.12),
        0 4px 16px rgba(15,23,42,0.08),
        inset 0 1px 0 rgba(255,255,255,1) !important;
}
/* Modal input fields — override inline style bg+border */
html[data-theme="light"] [style*="rgba(15,15,25,0.95)"] input[type="email"],
html[data-theme="light"] [style*="rgba(15,15,25,0.95)"] input[type="password"],
html[data-theme="light"] [style*="rgba(15,15,25,0.95)"] input[type="text"] {
    background: rgba(248,250,252,0.90) !important;
    border: 1px solid rgba(148,163,184,0.35) !important;
    color: #0f172a !important;
    box-shadow: inset 0 1px 3px rgba(15,23,42,0.06) !important;
}
html[data-theme="light"] [style*="rgba(15,15,25,0.95)"] input[type="email"]:focus,
html[data-theme="light"] [style*="rgba(15,15,25,0.95)"] input[type="password"]:focus,
html[data-theme="light"] [style*="rgba(15,15,25,0.95)"] input[type="text"]:focus {
    border-color: rgba(var(--color-primary-rgb),0.60) !important;
    box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb),0.12), inset 0 1px 3px rgba(15,23,42,0.04) !important;
}
html[data-theme="light"] [style*="rgba(15,15,25,0.95)"] input::placeholder {
    color: #94a3b8 !important;
}
/* Modal text overrides in light mode */
html[data-theme="light"] [style*="rgba(15,15,25,0.95)"] h2,
html[data-theme="light"] [style*="rgba(15,15,25,0.95)"] label {
    color: #0f172a !important;
}
html[data-theme="light"] [style*="rgba(15,15,25,0.95)"] .text-gray-300,
html[data-theme="light"] [style*="rgba(15,15,25,0.95)"] .text-gray-400 {
    color: #334155 !important;
}
html[data-theme="light"] [style*="rgba(15,15,25,0.95)"] .text-gray-500 {
    color: #64748b !important;
}

/* ═══════════════════════════════════════════════════
   LOGIN PAGE — split-panel dark/light fixes
   ═══════════════════════════════════════════════════ */

/* reCAPTCHA widget: scale to fit on narrow screens */
.login-right-panel .g-recaptcha {
    transform-origin: top left;
}
@media (max-width: 360px) {
    .login-right-panel .g-recaptcha {
        transform: scale(0.85);
    }
}

/* ── LEFT PANEL (always-dark brand canvas) ────────────────────────
   Both light and dark mode global rules can bleed in.
   Scope overrides for each theme to keep white text on gradient. */

/* SHARED: gradient + white text base for both themes */
.login-left-panel {
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%) !important;
    color: #ffffff !important;
}
.login-left-panel h1, .login-left-panel h2, .login-left-panel h3 {
    color: #ffffff !important;
}
.login-left-panel .text-white { color: rgba(255,255,255,1)   !important; }
.login-left-panel p            { color: rgba(255,255,255,.70) !important; }
.login-left-panel a            { color: rgb(var(--brand-300) / 1)   !important; }
.login-left-panel svg          { color: inherit               !important; }
.login-left-panel .hover\:text-white:hover { color: rgba(255,255,255,.85) !important; }

/* LIGHT MODE: same rules — global light overrides are higher specificity
   so we need the [data-theme] prefix to win */
html[data-theme="light"] .login-left-panel {
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%) !important;
    color: #ffffff !important;
}
html[data-theme="light"] .login-left-panel h1,
html[data-theme="light"] .login-left-panel h2,
html[data-theme="light"] .login-left-panel h3 { color: #ffffff !important; }
html[data-theme="light"] .login-left-panel .text-white { color: rgba(255,255,255,1) !important; }
html[data-theme="light"] .login-left-panel .hover\:text-white:hover { color: rgba(255,255,255,.85) !important; }
html[data-theme="light"] .login-left-panel p   { color: rgba(255,255,255,.70) !important; }
html[data-theme="light"] .login-left-panel a   { color: rgb(var(--brand-300) / 1)   !important; }
html[data-theme="light"] .login-left-panel svg { color: inherit !important; }

/* ── RIGHT PANEL — adapts to dark / light ─────────────────────────
   Dark mode: dark glass panel with light-on-dark text
   Light mode: always-white clean card                              */

/* DARK MODE (default theme) */
.login-right-panel {
    background: rgba(18, 18, 30, 0.98) !important;
    border-left: 1px solid rgba(255,255,255,.06) !important;
}
.login-right-panel h1 { color: #f1f5f9 !important; }
.login-right-panel .text-gray-900 { color: #f1f5f9 !important; }
.login-right-panel .text-gray-700 { color: #cbd5e1 !important; }
.login-right-panel .text-gray-500 { color: #94a3b8 !important; }
.login-right-panel .text-gray-400 { color: #64748b !important; }
.login-right-panel label.text-sm  { color: #cbd5e1 !important; }

/* Right panel inputs — dark mode */
.login-right-panel input[type="email"],
.login-right-panel input[type="password"],
.login-right-panel input[type="text"],
.login-right-panel input[type="tel"],
.login-right-panel input[type="date"] {
    background:              rgba(255,255,255,.06) !important;
    color:                   #f1f5f9              !important;
    border:                  1px solid rgba(255,255,255,.12) !important;
    border-radius:           12px    !important;
    backdrop-filter:         none    !important;
    -webkit-backdrop-filter: none    !important;
    box-shadow:              none    !important;
}
.login-right-panel select {
    background:   #1a1a2e !important;
    color:        #f1f5f9 !important;
    border:       1px solid rgba(255,255,255,.12) !important;
    border-radius: 12px   !important;
    box-shadow:   none    !important;
}
.login-right-panel input[type="email"]::placeholder,
.login-right-panel input[type="password"]::placeholder,
.login-right-panel input[type="text"]::placeholder,
.login-right-panel input[type="tel"]::placeholder {
    color: rgba(255,255,255,.30) !important;
    opacity: 1 !important;
}
.login-right-panel input[type="email"]:focus,
.login-right-panel input[type="password"]:focus,
.login-right-panel input[type="text"]:focus,
.login-right-panel input[type="tel"]:focus,
.login-right-panel input[type="date"]:focus,
.login-right-panel select:focus {
    background:   rgba(255,255,255,.09) !important;
    border-color: rgba(var(--color-primary-rgb), 0.60) !important;
    box-shadow:   0 0 0 3px rgba(var(--color-primary-rgb), 0.14) !important;
}
.login-right-panel select:focus { background: #1a1a2e !important; }
.login-right-panel input[type="checkbox"] {
    background:   transparent !important;
    border-color: rgba(255,255,255,.25) !important;
    width:  1rem; height: 1rem;
}
/* Divider line */
.login-right-panel .border-t { border-color: rgba(255,255,255,.08) !important; }
/* Trust badge */
.login-right-panel .text-green-500 { color: #4ade80 !important; }

/* LIGHT MODE: classic white card */
html[data-theme="light"] .login-right-panel {
    background:  #ffffff !important;
    border-left: 1px solid #f0f0f0 !important;
}
html[data-theme="light"] .login-right-panel h1               { color: #111827 !important; }
html[data-theme="light"] .login-right-panel .text-gray-900   { color: #111827 !important; }
html[data-theme="light"] .login-right-panel .text-gray-700   { color: #374151 !important; }
html[data-theme="light"] .login-right-panel .text-gray-500   { color: #6b7280 !important; }
html[data-theme="light"] .login-right-panel .text-gray-400   { color: #9ca3af !important; }
html[data-theme="light"] .login-right-panel label.text-sm    { color: #374151 !important; }
html[data-theme="light"] .login-right-panel input[type="email"],
html[data-theme="light"] .login-right-panel input[type="password"],
html[data-theme="light"] .login-right-panel input[type="text"],
html[data-theme="light"] .login-right-panel input[type="tel"],
html[data-theme="light"] .login-right-panel input[type="date"] {
    background:   #ffffff         !important;
    color:        #111827         !important;
    border:       1px solid #e5e7eb !important;
}
html[data-theme="light"] .login-right-panel select {
    background:   #ffffff         !important;
    color:        #111827         !important;
    border:       1px solid #e5e7eb !important;
}
html[data-theme="light"] .login-right-panel input[type="email"]::placeholder,
html[data-theme="light"] .login-right-panel input[type="password"]::placeholder,
html[data-theme="light"] .login-right-panel input[type="text"]::placeholder,
html[data-theme="light"] .login-right-panel input[type="tel"]::placeholder {
    color: #9ca3af !important;
}
html[data-theme="light"] .login-right-panel input[type="email"]:focus,
html[data-theme="light"] .login-right-panel input[type="password"]:focus,
html[data-theme="light"] .login-right-panel input[type="text"]:focus,
html[data-theme="light"] .login-right-panel input[type="tel"]:focus,
html[data-theme="light"] .login-right-panel input[type="date"]:focus,
html[data-theme="light"] .login-right-panel select:focus {
    background:   #ffffff !important;
    border-color: rgba(var(--color-primary-rgb), 0.60) !important;
    box-shadow:   0 0 0 3px rgba(var(--color-primary-rgb), 0.14) !important;
}
html[data-theme="light"] .login-right-panel input[type="checkbox"] {
    background:   transparent !important;
    border-color: #d1d5db     !important;
}
html[data-theme="light"] .login-right-panel .border-t     { border-color: #f0f0f0 !important; }
html[data-theme="light"] .login-right-panel .text-green-500 { color: #16a34a !important; }

/* ===========================
   Header / Nav – yoho-aligned styles
   =========================== */
/* header-bar bg handled inline, transition on light mode */
.nav-link { transition: color 0.15s, background 0.15s; }

/* Dropdown panel */
.dropdown-panel {
    background: #0d1424;
    transition: background 0.3s, border-color 0.3s;
}
.dropdown-link {
    color: #cbd5e1;
}
.dropdown-link:hover {
    color: #fff;
    background: rgba(255,255,255,0.04);
}

/* Light mode overrides */
html[data-theme="light"] .header-bar {
    background: rgba(255,255,255,0.88) !important;
    border-bottom-color: rgba(0,0,0,0.06);
    -webkit-backdrop-filter: blur(16px) saturate(1.4);
    backdrop-filter: blur(16px) saturate(1.4);
}
html[data-theme="light"] .header-bar .nav-link {
    color: #475569;
}
html[data-theme="light"] .header-bar .nav-link:hover {
    color: #1e293b;
    background: rgba(0,0,0,0.04);
}
html[data-theme="light"] .header-bar .theme-toggle-btn {
    color: #64748b;
}
html[data-theme="light"] .header-bar .theme-toggle-btn:hover {
    color: #1e293b;
    background: rgba(0,0,0,0.05);
}
html[data-theme="light"] .dropdown-panel {
    background: #fff;
    border-color: rgba(0,0,0,0.08) !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.10), 0 2px 8px rgba(0,0,0,0.06) !important;
}
html[data-theme="light"] .dropdown-link {
    color: #374151;
}
html[data-theme="light"] .dropdown-link:hover {
    color: #111827;
    background: rgba(var(--color-primary-rgb),0.06);
}
/* Icon badge tints in light mode */
html[data-theme="light"] .dropdown-panel .bg-violet-500\/10  { background: rgb(var(--brand2-500) / 0.10); }
html[data-theme="light"] .dropdown-panel .bg-amber-500\/10   { background: rgba(245,158,11,0.10); }
html[data-theme="light"] .dropdown-panel .bg-emerald-500\/10 { background: rgba(16,185,129,0.10); }
html[data-theme="light"] .dropdown-panel .bg-indigo-500\/10  { background: rgba(var(--color-primary-rgb),0.10); }
/* Icon colours in light mode — keep them vibrant */
html[data-theme="light"] .dropdown-panel .text-violet-400  { color: var(--color-secondary); }
html[data-theme="light"] .dropdown-panel .text-amber-400   { color: #d97706; }
html[data-theme="light"] .dropdown-panel .text-emerald-400 { color: #059669; }
html[data-theme="light"] .dropdown-panel .text-indigo-400  { color: rgb(var(--brand-700)); }
/* Bottom links inside panel */
html[data-theme="light"] .dropdown-panel .border-white\/\[0\.05\] { border-color: rgba(0,0,0,0.07) !important; }
html[data-theme="light"] .dropdown-panel .text-indigo-400 { color: rgb(var(--brand-700)); }
html[data-theme="light"] .dropdown-panel .hover\:text-indigo-300:hover { color: rgb(var(--brand-600)); }
html[data-theme="light"] .dropdown-panel .text-gray-500 { color: #6b7280; }
html[data-theme="light"] .dropdown-panel .hover\:text-gray-300:hover { color: #374151; }
html[data-theme="light"] .dropdown-panel .hover\:bg-white\/\[0\.04\]:hover { background: rgba(0,0,0,0.04); }

/* ===========================
   Footer – yoho-aligned styles
   =========================== */
/* footer-bar background handled inline */
.footer-heading { color: #fff; }
.footer-col-title { color: #cbd5e1; }
.footer-link { color: #94a3b8; transition: color 0.15s; }
.footer-link:hover { color: #fff; }

/* Payment logos */
.payment-logo {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 6px;
    padding: 0.375rem 0.625rem;
    height: 2.25rem;
    object-fit: contain;
    opacity: 0.7;
    transition: opacity 0.2s;
}
.payment-logo:hover { opacity: 1; }

/* Gradient CTA button */
.btn-primary-gradient {
    background: linear-gradient(135deg, var(--color-primary), var(--color-secondary));
    box-shadow: 0 4px 14px rgba(var(--color-primary-rgb),0.35);
    color: white;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative;
    overflow: hidden;
    isolation: isolate;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}
.btn-primary-gradient:hover {
    box-shadow: 0 8px 25px rgba(var(--color-primary-rgb),0.4);
    transform: translateY(-2px);
    color: white;
}

/* Outline button */
.btn-outline {
    border: 1px solid rgba(255,255,255,0.15);
    color: white;
    font-weight: 600;
    background: transparent;
    cursor: pointer;
    transition: all 0.25s;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}
.btn-outline:hover {
    border-color: rgba(var(--color-primary-rgb),0.5);
    background: rgba(var(--color-primary-rgb),0.08);
    color: white;
}

/* Light mode overrides */
html[data-theme="light"] .footer-bar {
    background: #fff !important;
    border-top-color: rgba(0,0,0,0.06);
}
html[data-theme="light"] .footer-heading { color: #1e293b; }
html[data-theme="light"] .footer-col-title { color: #334155; }
html[data-theme="light"] .footer-link { color: #64748b; }
html[data-theme="light"] .footer-link:hover { color: #1e293b; }
html[data-theme="light"] .payment-logo {
    border-color: rgba(0,0,0,0.12);
    opacity: 0.85;
}
html[data-theme="light"] .payment-logo:hover { opacity: 1; }
html[data-theme="light"] .btn-outline {
    border-color: rgba(0,0,0,0.15);
    color: #0f172a;
}
html[data-theme="light"] .btn-outline:hover {
    border-color: rgba(var(--color-primary-rgb),0.5);
    background: rgba(var(--color-primary-rgb),0.06);
    color: rgb(var(--brand-600));
}
html[data-theme="light"] .btn-primary-gradient { color: #fff !important; }

/* ─── reCAPTCHA badge positioning ─────────────────────────────────────────── */
/* Lift the v3 Enterprise floating badge above the page footer / scroll bar   */
.grecaptcha-badge {
    bottom: 100px !important;
    transition: right 0.3s ease !important;
}
/* v2 inline checkbox widget — breathing room from the element above */
.g-recaptcha {
    margin-top: 0.75rem;
}

/* ===========================
   UI consistency and accessibility polish
   =========================== */

/* Consistent keyboard visibility across links, buttons, controls and custom toggles. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible,
[tabindex]:focus-visible {
    outline: 2px solid rgba(var(--color-primary-rgb), 0.9);
    outline-offset: 2px;
}

/* Prevent heavy browser outlines when focus is not keyboard-driven. */
a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
input:focus:not(:focus-visible),
select:focus:not(:focus-visible),
textarea:focus:not(:focus-visible) {
    outline: none;
}

/* Stronger disabled affordance for readability and interaction clarity. */
button:disabled,
input:disabled,
select:disabled,
textarea:disabled,
.disabled\:opacity-40:disabled,
.disabled\:opacity-50:disabled,
.disabled\:opacity-60:disabled {
    opacity: 0.55 !important;
    cursor: not-allowed;
    filter: saturate(0.75);
}

/* Improve helper and placeholder readability on dark canvas. */
::placeholder {
    color: #94a3b8;
    opacity: 1;
}
.text-gray-600 {
    color: #94a3b8;
}

/* Keep table headers and row separation consistent across invoices/list screens. */
table {
    border-collapse: collapse;
}
table th {
    font-weight: 600;
    letter-spacing: 0.02em;
}
table th,
table td {
    vertical-align: middle;
}

/* Better error-state visibility for native or API-driven validation states. */
input[aria-invalid="true"],
select[aria-invalid="true"],
textarea[aria-invalid="true"],
input:invalid,
select:invalid,
textarea:invalid {
    border-color: rgba(239, 68, 68, 0.7) !important;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.14) !important;
}

/* Increase badge and metadata chip legibility where tiny text is used. */
.text-\[9px\],
.text-\[10px\] {
    line-height: 1.25;
}

/* Ensure long modal/card content remains scrollable on shorter viewports. */
[class*="max-h-\[90vh\]"],
[class*="max-h-\[80vh\]"] {
    overscroll-behavior: contain;
}

/* Mobile rhythm tweaks for better scanability and tap confidence. */
@media (max-width: 640px) {
    h1 {
        line-height: 1.2;
    }
    h2,
    h3 {
        line-height: 1.28;
    }
    .rounded-2xl {
        border-radius: 0.875rem;
    }
    .p-6,
    .px-6 {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }
    .p-6,
    .py-6 {
        padding-top: 1.25rem;
        padding-bottom: 1.25rem;
    }
}

/* Light mode: strengthen muted text and borders for WCAG AA contrast (4.5:1 minimum). */
html[data-theme="light"] .text-gray-500 {
    color: #475569;
}
html[data-theme="light"] .text-gray-600 {
    color: #334155;
}

/* Dark mode: improve contrast for WCAG AA compliance (4.5:1 minimum).
   Primary colors on dark backgrounds need lighter tints for readability. */
html[data-theme="dark"] .text-primary:not(.text-primary-fixed):not(.text-primary-fixed-dim) {
    color: rgb(var(--brand-300));
}
html[data-theme="dark"] .text-indigo-400 {
    color: rgb(var(--brand-300));
}
html[data-theme="dark"] .text-indigo-500 {
    color: rgb(var(--brand-300));
}

/* Secondary text improvements for dark mode */
html[data-theme="dark"] .text-gray-400 {
    color: #cbd5e1;
}
html[data-theme="dark"] .text-secondary-variant {
    color: rgba(255,255,255,0.70);
}
html[data-theme="light"] .border-white\/10,
html[data-theme="light"] .border-white\/\[0\.08\],
html[data-theme="light"] .border-white\/\[0\.07\],
html[data-theme="light"] .border-white\/\[0\.06\],
html[data-theme="light"] .border-white\/\[0\.05\] {
    border-color: rgba(148, 163, 184, 0.34) !important;
}
html[data-theme="light"] table thead tr {
    background: rgba(248, 250, 252, 0.92) !important;
}
html[data-theme="light"] table tbody tr:hover {
    background: rgba(var(--color-primary-rgb), 0.045) !important;
}

/* ═══════════════════════════════════════════════════════════════
   PASSWORD GENERATOR MODAL — dark-surface overrides for light mode
   The modal panel always uses a hardcoded dark gradient background,
   so all its child text/border tokens must stay in their dark-theme
   values regardless of the active colour-scheme.
   ═══════════════════════════════════════════════════════════════ */

/* 1. Restore open/close fade transition (the global [x-show] rule
      sets transition:none on all Alpine x-show elements in light mode) */
html[data-theme="light"] .pwd-gen-modal[x-show] {
    transition: opacity 0.2s ease-out !important;
}

/* 2. Headings & white text — keep white on dark panel */
html[data-theme="light"] .pwd-gen-modal-panel .text-white,
html[data-theme="light"] .pwd-gen-modal-panel h3 {
    color: #ffffff !important;
    letter-spacing: inherit;
}

/* 3. Body / button text */
html[data-theme="light"] .pwd-gen-modal-panel .text-gray-100,
html[data-theme="light"] .pwd-gen-modal-panel .text-gray-200 { color: #f1f5f9 !important; }
html[data-theme="light"] .pwd-gen-modal-panel .text-gray-300  { color: #cbd5e1 !important; }
html[data-theme="light"] .pwd-gen-modal-panel .text-gray-400  { color: #94a3b8 !important; }
html[data-theme="light"] .pwd-gen-modal-panel .text-gray-500  { color: #64748b !important; }

/* 4. Monospace input (generated password) */
html[data-theme="light"] .pwd-gen-modal-panel .font-mono  { color: #f1f5f9 !important; }
html[data-theme="light"] .pwd-gen-modal-panel input       { color: #ffffff  !important; }

/* 5. Hover states inside the panel */
html[data-theme="light"] .pwd-gen-modal-panel .hover\:text-gray-300:hover { color: #e2e8f0 !important; }

/* 6. "Copied!" success state — emerald on dark panel */
html[data-theme="light"] .pwd-gen-modal-panel .text-emerald-300 { color: #6ee7b7 !important; }

/* 7. Toast — dark-green background with light emerald text */
html[data-theme="light"] .pwd-gen-modal .text-emerald-300 { color: #6ee7b7 !important; }

/* 8. Borders — keep white-tinted dividers readable against dark bg */
html[data-theme="light"] .pwd-gen-modal-panel .border-white\/\[0\.08\]  { border-color: rgba(255,255,255,0.10) !important; }
html[data-theme="light"] .pwd-gen-modal-panel .border-white\/\[0\.12\]  { border-color: rgba(255,255,255,0.16) !important; }
html[data-theme="light"] .pwd-gen-modal-panel .border-white\/\[0\.15\]  { border-color: rgba(255,255,255,0.22) !important; }

/* 9. Input / button tile backgrounds — keep subtle white-glass on dark panel */
html[data-theme="light"] .pwd-gen-modal-panel .bg-white\/\[0\.06\]  { background: rgba(255,255,255,0.07) !important; }
html[data-theme="light"] .pwd-gen-modal-panel .bg-white\/\[0\.10\]  { background: rgba(255,255,255,0.11) !important; }
html[data-theme="light"] .pwd-gen-modal-panel .hover\:bg-white\/\[0\.10\]:hover {
    background: rgba(255,255,255,0.11) !important;
}

/* ============================================================
   SUPPORT TICKETS LIST PAGE  (.st-*)
   Dark-mode base + light-mode overrides
   ============================================================ */

/* ── Stats bar ── */
.st-stats-bar {
    background: #16162a;
    border: 1px solid rgba(255,255,255,0.05);
    box-shadow: 0 1px 6px rgba(0,0,0,0.14);
}
.st-stats-dividers { divide-x: 0; }
.st-stats-bar > .st-stats-dividers > div + div {
    border-left: 1px solid rgba(255,255,255,0.05);
}
.st-stat-label { font-size: 0.7rem; color: #6b7280; margin-bottom: 0.15rem; text-transform: uppercase; letter-spacing: 0.04em; }
.st-stat-value { font-size: 1.5rem; font-weight: 700; color: #f1f5f9; line-height: 1.15; }

/* ── Need Assistance notice ── */
.st-notice {
    background: rgba(var(--color-primary-rgb), 0.05);
    border-left: 3px solid rgba(var(--color-primary-rgb), 0.35);
    border-radius: 0.75rem;
}
.st-notice-icon { color: var(--color-primary); opacity: 0.8; }
.st-notice-text { color: #9ca3af; }
.st-notice-strong { color: #cbd5e1; font-weight: 600; }

/* ── Search bar ── */
.st-search-bar {
    background: #16162a;
    border: 1px solid rgba(255,255,255,0.05);
    box-shadow: 0 1px 4px rgba(0,0,0,0.10);
}
.st-search-icon { color: #4b5563; }
.st-search-input { color: #e2e8f0; }
.st-search-input::placeholder { color: #4b5563; }
.st-filter-btn {
    background: #16162a;
    border: 1px solid rgba(255,255,255,0.05);
    color: #9ca3af;
    box-shadow: 0 1px 4px rgba(0,0,0,0.10);
}
.st-filter-btn:hover { color: #e2e8f0; }

/* ── Tabs + ticket list card ── */
.st-list-card {
    background: #16162a;
    border: 1px solid rgba(255,255,255,0.05);
    box-shadow: 0 2px 10px rgba(0,0,0,0.14);
}
.st-tab-bar {
    border-bottom: 1px solid rgba(255,255,255,0.05);
}
.st-tab-dividers > button + button {
    border-left: 1px solid rgba(255,255,255,0.04);
}
.st-tab-active { color: #f1f5f9; font-weight: 600; box-shadow: inset 0 -2px 0 var(--color-primary); }
.st-tab-inactive { color: #6b7280; }
.st-tab-inactive:hover { color: #cbd5e1; }

/* ── Ticket rows ── */
.st-ticket-list {}
.st-ticket-row + .st-ticket-row {
    border-top: 1px solid rgba(255,255,255,0.04);
}
.st-ticket-row:hover { background: rgba(255,255,255,0.02); }
.st-ticket-subject { color: #e2e8f0; }
.st-ticket-row:hover .st-ticket-subject { color: #fff; }
.st-ticket-id { color: #6b7280; }
.st-ticket-time { color: #4b5563; }
.st-dot-closed { background: #374151; }

/* ── Light-mode overrides ── */
html[data-theme="light"] .st-stats-bar {
    background: #ffffff;
    border-color: #f1f5f9;
    box-shadow: 0 1px 4px rgba(0,0,0,0.05);
}
html[data-theme="light"] .st-stats-bar > .st-stats-dividers > div + div { border-color: #f1f5f9; }
html[data-theme="light"] .st-stat-label { color: #9ca3af; }
html[data-theme="light"] .st-stat-value { color: #111827 !important; }

html[data-theme="light"] .st-notice {
    background: rgba(var(--color-primary-rgb), 0.04);
    border-left-color: rgba(var(--color-primary-rgb), 0.30);
}
html[data-theme="light"] .st-notice-text { color: #6b7280; }
html[data-theme="light"] .st-notice-strong { color: #374151; }

html[data-theme="light"] .st-search-bar {
    background: #ffffff;
    border-color: #f1f5f9;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
html[data-theme="light"] .st-search-icon { color: #9ca3af; }
html[data-theme="light"] .st-search-input { color: #111827; }
html[data-theme="light"] .st-search-input::placeholder { color: #9ca3af; }
html[data-theme="light"] .st-filter-btn {
    background: #ffffff;
    border-color: #f1f5f9;
    color: #6b7280;
}
html[data-theme="light"] .st-filter-btn:hover { color: #111827; background: #f8fafc; }

html[data-theme="light"] .st-list-card {
    background: #ffffff;
    border-color: #f1f5f9;
    box-shadow: 0 1px 6px rgba(0,0,0,0.05);
}
html[data-theme="light"] .st-tab-bar { border-color: #f1f5f9; }
html[data-theme="light"] .st-tab-dividers > button + button { border-color: #f1f5f9; }
html[data-theme="light"] .st-tab-active { color: #111827; }
html[data-theme="light"] .st-tab-inactive { color: #9ca3af; }
html[data-theme="light"] .st-tab-inactive:hover { color: #374151; }
html[data-theme="light"] .st-ticket-row + .st-ticket-row { border-color: #f8fafc; }
html[data-theme="light"] .st-ticket-row:hover { background: #fafbfc; }
html[data-theme="light"] .st-ticket-subject { color: #1e293b !important; }
html[data-theme="light"] .st-ticket-row:hover .st-ticket-subject { color: #0f172a !important; }
html[data-theme="light"] .st-ticket-id { color: #9ca3af !important; }
html[data-theme="light"] .st-ticket-time { color: #9ca3af !important; }
html[data-theme="light"] .st-dot-closed { background: #d1d5db; }

/* ============================================================
   SUPPORT TICKET PAGE  (.ticket-* / .ctm-*)
   Dark-mode base + light-mode overrides
   ============================================================ */

/* ── Title bar ── */
.ticket-title-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.25rem;
    border-radius: 1rem;
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);
}
.ticket-title-text {
    font-size: 1.125rem;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: -0.02em;
    margin: 0;
}
.ticket-manage-btn {
    background: rgba(255,255,255,0.15);
    border: 1px solid rgba(255,255,255,0.25);
    color: #ffffff !important;
    transition: background 0.15s;
    flex-shrink: 0;
}
.ticket-manage-btn:hover { background: rgba(255,255,255,0.25); }
html[data-theme="light"] .ticket-manage-btn { color: #ffffff !important; }
.ticket-manage-dropdown {
    background: #1e1e2e;
    border: 1px solid rgba(255,255,255,0.08);
}
.ticket-manage-dropdown a,
.ticket-manage-dropdown button {
    color: #c4c4d4;
}
.ticket-manage-dropdown a:hover,
.ticket-manage-dropdown button:hover {
    background: rgba(255,255,255,0.06);
    color: #fff;
}

/* ── Layout ── */
.ticket-detail-view {
    display: flex;
    gap: 1.25rem;
    align-items: flex-start;
}
.ticket-sidebar { width: 280px; }

/* ── Mobile: stack columns vertically ── */
@media (max-width: 767px) {
    .ticket-detail-view {
        flex-direction: column;
    }
    .ticket-sidebar {
        width: 100%;
        order: -1; /* show details card above reply/messages on mobile */
    }
    .ticket-title-bar {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
    }
    .ticket-manage-dropdown {
        right: auto;
        left: 0;
    }
}

/* ── Cards ── */
.ticket-card {
    background: #16162a;
    border: 1px solid rgba(255,255,255,0.07);
    box-shadow: 0 2px 12px rgba(0,0,0,0.18);
}

/* ── Reply textarea ── */
.ticket-textarea {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.10);
    color: #e2e8f0;
    font-family: inherit;
}
.ticket-textarea::placeholder { color: #6b7280; }
.ticket-textarea:focus {
    border-color: rgba(var(--color-primary-rgb), 0.5);
    outline: none;
    box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.12);
}

/* ── Tab bar ── */
.ticket-tab-bar {
    border-bottom: 1px solid rgba(255,255,255,0.07);
}
.ticket-tab-active {
    color: var(--color-primary);
    border-bottom: 2px solid var(--color-primary);
    background: rgba(var(--color-primary-rgb), 0.06);
}
.ticket-tab-inactive { color: #9ca3af; }
.ticket-tab-inactive:hover { color: #e2e8f0; background: rgba(255,255,255,0.04); }
.ticket-tab-border { border-left: 1px solid rgba(255,255,255,0.07); }

/* ── Message thread ── */
.ticket-messages {}
.ticket-message-row + .ticket-message-row {
    border-top: 1px solid rgba(255,255,255,0.05);
}
.ticket-avatar { background: rgba(var(--color-primary-rgb), 0.18); color: var(--color-primary); }
.ticket-avatar[data-staff="1"] { background: rgba(16,185,129,0.18); color: #10b981; }
.ticket-msg-name { color: #f1f5f9; }
.ticket-msg-badge {
    background: rgba(16,185,129,0.15);
    color: #34d399;
    border: 1px solid rgba(16,185,129,0.25);
}
.ticket-msg-time { color: #6b7280; }
.ticket-msg-card {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.07);
}
.ticket-msg-body { color: #cbd5e1; }
.ticket-msg-body p { margin: 0 0 0.5rem; }
.ticket-msg-body p:last-child { margin-bottom: 0; }

/* ── Ticket details sidebar ── */
.ticket-detail-header { background: transparent; }
.ticket-detail-header:hover { background: rgba(255,255,255,0.03); }
.ticket-detail-header-open { border-bottom: 1px solid rgba(255,255,255,0.07); }
.ticket-details-rows {}
.ticket-detail-row + .ticket-detail-row {
    border-top: 1px solid rgba(255,255,255,0.05);
}

/* ── Close Ticket modal (.ctm-*) ── */
.ctm-backdrop {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(0,0,0,0.65);
    backdrop-filter: blur(4px);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}
.ctm-card {
    background: #1e1e2e;
    border: 1px solid rgba(255,255,255,0.09);
    border-radius: 1.25rem;
    box-shadow: 0 24px 60px rgba(0,0,0,0.5);
    padding: 2rem 2rem 1.75rem;
    max-width: 420px;
    width: 100%;
    text-align: center;
}
.ctm-icon-wrap {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 50%;
    background: rgba(var(--color-primary-rgb), 0.15);
    border: 1px solid rgba(var(--color-primary-rgb), 0.30);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.25rem;
}
.ctm-icon { width: 1.75rem; height: 1.75rem; color: var(--color-primary); }
.ctm-title { font-size: 1.1rem; font-weight: 700; color: #f1f5f9; margin: 0 0 0.5rem; }
.ctm-desc  { font-size: 0.875rem; color: #9ca3af; margin: 0 0 1.5rem; line-height: 1.6; }
.ctm-actions { display: flex; gap: 0.75rem; justify-content: center; }
.ctm-btn-cancel {
    flex: 1;
    padding: 0.6rem 1.25rem;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 600;
    border: 1px solid rgba(255,255,255,0.12);
    background: rgba(255,255,255,0.06);
    color: #cbd5e1;
    transition: all 0.15s;
    cursor: pointer;
}
.ctm-btn-cancel:hover { background: rgba(255,255,255,0.10); color: #fff; }
.ctm-btn-confirm {
    flex: 1;
    padding: 0.6rem 1.25rem;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 600;
    border: none;
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    transition: opacity 0.15s;
    cursor: pointer;
}
.ctm-btn-confirm:hover { opacity: 0.88; }
.ctm-btn-confirm:disabled { opacity: 0.55; cursor: not-allowed; }

/* ── Light-mode overrides ── */
html[data-theme="light"] .ticket-title-text { color: #ffffff !important; }
html[data-theme="light"] .ticket-manage-dropdown {
    background: #ffffff;
    border-color: #e2e8f0;
    box-shadow: 0 8px 24px rgba(0,0,0,0.10);
}
html[data-theme="light"] .ticket-manage-dropdown a,
html[data-theme="light"] .ticket-manage-dropdown button { color: #374151; }
html[data-theme="light"] .ticket-manage-dropdown a:hover,
html[data-theme="light"] .ticket-manage-dropdown button:hover {
    background: #f8fafc;
    color: #111827;
}
html[data-theme="light"] .ticket-card {
    background: #ffffff;
    border-color: #e2e8f0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
html[data-theme="light"] .ticket-textarea {
    background: #f8fafc;
    border-color: #e2e8f0;
    color: #111827;
}
html[data-theme="light"] .ticket-textarea:focus {
    border-color: rgba(var(--color-primary-rgb), 0.5);
    background: #fff;
}
html[data-theme="light"] .ticket-tab-bar { border-color: #e2e8f0; }
html[data-theme="light"] .ticket-tab-inactive { color: #6b7280; }
html[data-theme="light"] .ticket-tab-inactive:hover { color: #111827; background: #f8fafc; }
html[data-theme="light"] .ticket-tab-border { border-color: #e2e8f0; }
html[data-theme="light"] .ticket-message-row + .ticket-message-row { border-color: #f1f5f9; }
html[data-theme="light"] .ticket-avatar { background: rgba(var(--color-primary-rgb),0.10); }
html[data-theme="light"] .ticket-msg-name { color: #111827 !important; }
html[data-theme="light"] .ticket-msg-time { color: #9ca3af !important; }
html[data-theme="light"] .ticket-msg-card { background: #f8fafc; border-color: #e9ecef; }
html[data-theme="light"] .ticket-msg-body { color: #374151 !important; }
html[data-theme="light"] .ticket-detail-header:hover { background: #f8fafc; }
html[data-theme="light"] .ticket-detail-header-open { border-color: #e2e8f0; }
html[data-theme="light"] .ticket-detail-row + .ticket-detail-row { border-color: #f1f5f9; }
html[data-theme="light"] .ctm-card {
    background: #ffffff;
    border-color: #e2e8f0;
    box-shadow: 0 24px 60px rgba(0,0,0,0.15);
}
html[data-theme="light"] .ctm-title { color: #111827; }
html[data-theme="light"] .ctm-desc  { color: #6b7280; }
html[data-theme="light"] .ctm-btn-cancel {
    background: #f1f5f9;
    border-color: #e2e8f0;
    color: #374151;
}
html[data-theme="light"] .ctm-btn-cancel:hover { background: #e2e8f0; color: #111827; }

/* ═══════════════════════════════════════════════════
   STITCH EXACT MATCH — additional light-mode polishes
   ═══════════════════════════════════════════════════ */

/* 1. DASHBOARD CARD SHADOWS
   Stitch uses shadow-[0_4px_20px_rgba(0,0,0,0.02)].
   Our templates use rgba(0,0,0,0.12) which is far too dark on light canvas.
   Target all dashboard/content cards in light mode. */
html[data-theme="light"] .rounded-xl.border.overflow-hidden,
html[data-theme="light"] a.rounded-xl.border,
html[data-theme="light"] .group.rounded-xl.border {
    box-shadow: 0 4px 20px rgba(0,0,0,0.02) !important;
}

/* 2. NAV INACTIVE HOVER — TEXT SHOULD BE PRIMARY (Stitch: hover:text-primary)
   Currently hover:text-white → rgb(var(--brand-950)) via global rule. Override to primary in sidebar/header. */
html[data-theme="light"] #sidebar nav a.hover\:text-white:hover,
html[data-theme="light"] #sidebar nav button.hover\:text-white:hover,
html[data-theme="light"] #sidebar .hover\:text-white:hover:not(.login-left-panel):not(.help-panel) {
    color: var(--color-primary) !important;
}
html[data-theme="light"] header .hover\:text-white:hover {
    color: var(--color-primary) !important;
}

/* 3. ACTIVE SIDEBAR NAV — STITCH LEFT-BORDER ACCENT
   Stitch: background rgb(var(--brand2-50)), left border 3px solid primary, no all-around border.
   Our templates use bg-indigo-500/20 + border border-indigo-500/30 (all sides). */
html[data-theme="light"] #sidebar a.border-indigo-500\/30,
html[data-theme="light"] #sidebar button.border-indigo-500\/30 {
    background-color: rgb(var(--brand2-50)) !important;
    border-width: 0 !important;
    border-left: 3px solid var(--color-primary) !important;
    border-radius: 0 0.5rem 0.5rem 0 !important;
    padding-left: 10px !important;
    color: var(--color-primary) !important;
}
html[data-theme="light"] #sidebar a.border-indigo-500\/30 svg,
html[data-theme="light"] #sidebar button.border-indigo-500\/30 svg,
html[data-theme="light"] #sidebar a.border-indigo-500\/30 .text-indigo-400,
html[data-theme="light"] #sidebar button.border-indigo-500\/30 .text-indigo-400 {
    color: var(--color-primary) !important;
}
/* Sub-nav active items */
html[data-theme="light"] #sidebar .ml-4 a.text-indigo-400 {
    color: var(--color-primary) !important;
    background: rgba(var(--color-primary-rgb), 0.07) !important;
}

/* 4. SIDEBAR SECTION LABELS ("Account" etc.) — Stitch: text-slate-400 = #94a3b8 */
html[data-theme="light"] #sidebar nav .text-gray-600.uppercase,
html[data-theme="light"] #sidebar .text-xs.font-semibold.text-gray-600.uppercase {
    color: #94a3b8 !important;
}

/* 5. SIDEBAR NAV HOVER BACKGROUND — Stitch: hover:bg-surface-container-low = rgb(var(--brand2-50)) */
html[data-theme="light"] #sidebar nav a.hover\:bg-white\/5:hover,
html[data-theme="light"] #sidebar nav button.hover\:bg-white\/5:hover {
    background: rgb(var(--brand2-50)) !important;
}

/* 6. SIDEBAR FOOTER AREA — Stitch: bg-slate-50/50 */
html[data-theme="light"] #sidebar > div.border-t {
    background-color: rgba(248, 250, 252, 0.5) !important;
}

/* 7. SIDEBAR FOOTER HELP BUTTON — Stitch: text-slate-500 hover:text-primary */
html[data-theme="light"] #sidebar .help-btn,
html[data-theme="light"] #sidebar [title="Help & Support"] {
    color: #64748b !important;
}
html[data-theme="light"] #sidebar [title="Help & Support"]:hover {
    color: var(--color-primary) !important;
    background: rgb(var(--brand2-50)) !important;
}

/* 8. HEADER ICON BUTTONS — Stitch: text-outline hover:bg-surface-container-low hover:text-primary */
html[data-theme="light"] header a.hover\:text-white:hover,
html[data-theme="light"] header button.hover\:text-white:hover {
    color: var(--color-primary) !important;
}
html[data-theme="light"] header .hover\:bg-white\/5:hover {
    background: rgb(var(--brand2-50)) !important;
}

/* 9. DASHBOARD STAT CARD ICON BG — Stitch: bg-surface-container = rgb(var(--brand-50)) */
html[data-theme="light"] .bg-white\/\[0\.06\] {
    background: rgb(var(--brand-50)) !important;
}

/* 10. INVOICE TABLE DIVIDERS — Stitch: divide-slate-100 = #f1f5f9 */
html[data-theme="light"] .divide-white\/\[0\.05\] > * + * {
    border-color: #f1f5f9 !important;
}

/* 11. TABLE SECTION HEADER — Stitch: bg-slate-50/50 */
html[data-theme="light"] .bg-white\/\[0\.02\] {
    background: rgba(248, 250, 252, 0.5) !important;
}

/* 12. TICKET FOOTER IN DASHBOARD — Stitch: bg-slate-50/50 border-slate-100 */
html[data-theme="light"] .border-t.border-white\/\[0\.06\].bg-white\/\[0\.02\] {
    background: rgba(248, 250, 252, 0.5) !important;
    border-color: #f1f5f9 !important;
}

/* 13. TICKET CARD BORDERS IN DASHBOARD — Stitch: border-slate-100 */
html[data-theme="light"] .border-white\/\[0\.07\] {
    border-color: #e2e8f0 !important;
}

/* 14. TICKET HOVER IN DASHBOARD — Stitch: hover:bg-surface-container-low */
html[data-theme="light"] a.hover\:bg-white\/\[0\.03\]:hover {
    background: rgb(var(--brand2-50)) !important;
}

/* 15. "OPEN NEW TICKET" BUTTON — Stitch: clean white border slate button */
html[data-theme="light"] .border-white\/\[0\.08\].hover\:border-indigo-500\/25 {
    border-color: #e2e8f0 !important;
    color: #374151 !important;
    background: #ffffff !important;
}
html[data-theme="light"] .border-white\/\[0\.08\].hover\:border-indigo-500\/25:hover {
    border-color: rgba(var(--color-primary-rgb), 0.30) !important;
    color: var(--color-primary) !important;
}

/* 16. ACTIVE SERVICES SECTION HEADER */
html[data-theme="light"] .bg-white\/\[0\.04\] .border-b.border-white\/\[0\.06\].bg-white\/\[0\.02\],
html[data-theme="light"] .overflow-hidden .border-b.border-white\/\[0\.06\].flex.items-center {
    background: #ffffff !important;
    border-bottom-color: #e2e8f0 !important;
}

/* 17. SIDEBAR COLLAPSE TOGGLE — Match Stitch's sidebar-collapse-btn */
html[data-theme="light"] #sidebar-toggle {
    background: #ffffff !important;
    border-color: #e2e8f0 !important;
    color: #94a3b8 !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06) !important;
}
html[data-theme="light"] #sidebar-toggle:hover {
    color: var(--color-primary) !important;
    border-color: rgba(var(--color-primary-rgb), 0.35) !important;
    background: rgb(var(--brand2-50)) !important;
}

/* 18. STITCH ACTIVE-SERVICES DIVIDERS — between categories */
html[data-theme="light"] .mx-6.h-px.bg-white\/\[0\.06\] {
    background-color: #f1f5f9 !important;
}

/* 19. ACTIVE-SERVICES CATEGORY ACCORDION HOVER */
html[data-theme="light"] .hover\:bg-white\/\[0\.02\]:hover {
    background: rgba(248, 250, 252, 0.8) !important;
}

/* 20. SERVICE MANAGE BUTTON */
html[data-theme="light"] .dashboard-btn-manage {
    background: #ffffff !important;
    border-color: #e2e8f0 !important;
    color: #374151 !important;
}
html[data-theme="light"] .dashboard-btn-manage:hover {
    border-color: rgba(var(--color-primary-rgb), 0.30) !important;
    color: var(--color-primary) !important;
    background: rgb(var(--brand2-50)) !important;
}

/* 21. FOOTER PORTAL LINKS — Stitch: text-link style */
html[data-theme="light"] footer nav a.hover\:text-gray-300 {
    color: #64748b !important;
}
html[data-theme="light"] footer nav a.hover\:text-gray-300:hover {
    color: var(--color-primary) !important;
    background: rgba(var(--color-primary-rgb), 0.05) !important;
}

/* 22. NOTIFICATION BADGE — keep white text on gradient bg */
html[data-theme="light"] #cart-badge-topbar {
    color: #ffffff !important;
}

/* 23. STITCH FONT: Use Inter for clean light appearance */
html[data-theme="light"] body {
    font-family: 'Inter', system-ui, ui-sans-serif, sans-serif;
}

/* ═══════════════════════════════════════════════════════════════
   DARK MODE OVERRIDES
   Templates are now light-first (white/slate hardcoded). These
   html[data-theme="dark"] rules restore the original dark design.
   ═══════════════════════════════════════════════════════════════ */

/* ── BASE ── */
html[data-theme="dark"] body {
    background-color: #030712 !important;
    color: #ffffff !important;
}

/* ── LAYOUT SHELL ── */
html[data-theme="dark"] .bg-\[\#f8faff\],
html[data-theme="dark"] .bg-\[\#fbf8ff\] {
    background-color: #030712 !important;
}

/* ── SIDEBAR ── */
html[data-theme="dark"] #sidebar {
    background-color: #0a0f1e !important;
    border-right-color: rgba(255,255,255,0.05) !important;
}
/* Logo row border */
html[data-theme="dark"] #sidebar > div:first-child,
html[data-theme="dark"] #sidebar .border-b.border-slate-200 {
    border-bottom-color: rgba(255,255,255,0.05) !important;
}
/* Active nav indicator — restore dark mode style */
html[data-theme="dark"] #sidebar nav a.bg-violet-50,
html[data-theme="dark"] #sidebar nav button.bg-violet-50,
html[data-theme="dark"] #sidebar nav div.bg-violet-50 {
    background-color: rgba(var(--color-primary-rgb),0.15) !important;
    color: rgb(var(--brand-300)) !important;
    border-left-color: rgba(var(--color-primary-rgb),0.6) !important;
}
/* All nav links — inactive */
html[data-theme="dark"] #sidebar nav a.text-slate-500,
html[data-theme="dark"] #sidebar nav button.text-slate-500 {
    color: #9ca3af !important;
}
html[data-theme="dark"] #sidebar nav a.hover\:bg-violet-50:hover,
html[data-theme="dark"] #sidebar nav button.hover\:bg-violet-50:hover {
    background-color: rgba(255,255,255,0.05) !important;
    color: #ffffff !important;
}
/* Sub-nav left border */
html[data-theme="dark"] #sidebar .border-l.border-slate-200 {
    border-left-color: rgba(255,255,255,0.10) !important;
}
/* Sub-nav items */
html[data-theme="dark"] #sidebar .ml-4 a.hover\:text-primary:hover,
html[data-theme="dark"] #sidebar .ml-4 a.text-slate-400 {
    color: #6b7280 !important;
}
html[data-theme="dark"] #sidebar .ml-4 a.hover\:text-primary:hover {
    color: #ffffff !important;
    background-color: rgba(255,255,255,0.05) !important;
}
/* Section labels ("Account") */
html[data-theme="dark"] #sidebar .text-slate-400.uppercase {
    color: #6b7280 !important;
}
html[data-theme="dark"] #sidebar .border-t.border-slate-100 {
    border-top-color: rgba(255,255,255,0.05) !important;
}
/* Help button */
html[data-theme="dark"] #sidebar .text-slate-500.hover\:bg-violet-50 {
    color: #9ca3af !important;
}
html[data-theme="dark"] #sidebar .text-slate-500.hover\:bg-violet-50:hover {
    background-color: rgba(255,255,255,0.05) !important;
    color: #ffffff !important;
}
/* Sidebar footer */
html[data-theme="dark"] #sidebar > div.border-t.border-slate-100,
html[data-theme="dark"] #sidebar > div.border-t {
    border-top-color: rgba(255,255,255,0.05) !important;
    background-color: transparent !important;
}
/* Sidebar footer user name — restore white in dark mode */
html[data-theme="dark"] #sidebar .text-slate-900 {
    color: #ffffff !important;
}
html[data-theme="dark"] #sidebar .text-slate-500 {
    color: #6b7280 !important;
}
/* Avatar status badge border */
html[data-theme="dark"] #sidebar .border-white.bg-emerald-500 {
    border-color: #030712 !important;
}
/* Sidebar toggle pill */
html[data-theme="dark"] #sidebar-toggle {
    background-color: #0f172a !important;
    border-color: rgba(255,255,255,0.08) !important;
    color: #9ca3af !important;
    box-shadow: none !important;
}
html[data-theme="dark"] #sidebar-toggle:hover {
    background-color: rgba(255,255,255,0.05) !important;
    border-color: rgba(var(--color-primary-rgb),0.30) !important;
    color: rgb(var(--brand-300)) !important;
}

/* ── HEADER ── */
html[data-theme="dark"] header.bg-white {
    background-color: rgba(3,7,18,0.80) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-bottom-color: rgba(255,255,255,0.05) !important;
}
html[data-theme="dark"] header .border-slate-200 {
    border-color: rgba(255,255,255,0.05) !important;
}
html[data-theme="dark"] header h1.text-slate-900 {
    color: #ffffff !important;
}
/* Header icon buttons */
html[data-theme="dark"] header .text-slate-400 {
    color: #9ca3af !important;
}
html[data-theme="dark"] header .text-slate-800 {
    color: #f1f5f9 !important;
}
html[data-theme="dark"] header .hover\:text-primary:hover {
    color: #ffffff !important;
}
html[data-theme="dark"] header .hover\:bg-violet-50:hover {
    background-color: rgba(255,255,255,0.05) !important;
}
/* Currency badge */
html[data-theme="dark"] header .text-slate-500 {
    color: #6b7280 !important;
}
/* Account dropdown name span */
html[data-theme="dark"] header .text-slate-500.max-w-\[72px\] {
    color: #d1d5db !important;
}

/* ── ACCOUNT DROPDOWN ── */
html[data-theme="dark"] header .absolute.bg-white.border-slate-200 {
    background-color: #0d1424 !important;
    border-color: rgba(255,255,255,0.08) !important;
    box-shadow: 0 25px 50px -12px rgba(0,0,0,0.60) !important;
}
html[data-theme="dark"] header .absolute.bg-white .border-b.border-slate-100 {
    border-bottom-color: rgba(255,255,255,0.06) !important;
}
html[data-theme="dark"] header .absolute.bg-white p.text-slate-900 {
    color: #ffffff !important;
}
html[data-theme="dark"] header .absolute.bg-white p.text-slate-400 {
    color: #6b7280 !important;
}
html[data-theme="dark"] header .absolute.bg-white a.text-slate-600,
html[data-theme="dark"] header .absolute.bg-white button.text-slate-600 {
    color: #d1d5db !important;
}
html[data-theme="dark"] header .absolute.bg-white a.hover\:text-primary:hover {
    color: #ffffff !important;
    background-color: rgba(255,255,255,0.04) !important;
}
html[data-theme="dark"] header .absolute.bg-white .border-t.border-slate-100 {
    border-top-color: rgba(255,255,255,0.06) !important;
}
html[data-theme="dark"] header .absolute.bg-white a.text-red-500 {
    color: #f87171 !important;
}
html[data-theme="dark"] header .absolute.bg-white a.text-red-500:hover {
    color: #fca5a5 !important;
    background-color: rgba(255,255,255,0.04) !important;
}
/* Currency dropdown */
html[data-theme="dark"] header .absolute.bg-white.border-slate-200.w-44 {
    background-color: #0d1424 !important;
    border-color: rgba(255,255,255,0.08) !important;
}
html[data-theme="dark"] header .absolute .text-gray-600.uppercase {
    color: #4b5563 !important;
}
html[data-theme="dark"] header .absolute button.text-slate-600 {
    color: #9ca3af !important;
}
html[data-theme="dark"] header .absolute button.text-slate-600:hover {
    color: #ffffff !important;
    background-color: rgba(255,255,255,0.04) !important;
}

/* ── FOOTER ── */
html[data-theme="dark"] footer.border-t.border-slate-100 {
    border-top-color: rgba(255,255,255,0.05) !important;
}
html[data-theme="dark"] footer .text-slate-400 {
    color: #4b5563 !important;
}
html[data-theme="dark"] footer a.hover\:text-primary:hover {
    color: #d1d5db !important;
    background-color: rgba(255,255,255,0.04) !important;
}
html[data-theme="dark"] footer .text-slate-200 {
    color: rgba(255,255,255,0.10) !important;
}

/* ── MAIN CONTENT AREA ── */
html[data-theme="dark"] main {
    background-color: transparent !important;
}

/* ── DASHBOARD: GREETING ── */
html[data-theme="dark"] h2.text-slate-900 {
    color: #ffffff !important;
}
html[data-theme="dark"] .text-slate-500 {
    color: #6b7280 !important;
}

/* ── DASHBOARD: STAT CARDS ── */
html[data-theme="dark"] a.rounded-lg.bg-white.border-slate-200,
html[data-theme="dark"] div.rounded-lg.bg-white.border-slate-200 {
    background-color: rgba(255,255,255,0.04) !important;
    border-color: rgba(255,255,255,0.08) !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.12) !important;
}
html[data-theme="dark"] a.rounded-lg.bg-white.border-slate-200:hover,
html[data-theme="dark"] div.rounded-lg.bg-white.border-slate-200:hover {
    background-color: rgba(255,255,255,0.06) !important;
    border-color: rgba(var(--color-primary-rgb),0.30) !important;
}
/* Stat card icon bg */
html[data-theme="dark"] .bg-indigo-50.border-indigo-100 {
    background-color: rgba(255,255,255,0.06) !important;
    border-color: rgba(255,255,255,0.08) !important;
}
html[data-theme="dark"] .bg-indigo-50.border-indigo-100 svg {
    color: rgb(var(--brand-400)) !important;
}
/* Stat card icon container (bg-surface-container = #e5eeff in light mode) */
html[data-theme="dark"] .bg-surface-container {
    background-color: rgba(var(--color-primary-rgb),0.18) !important;
    /* icon inherits color via currentColor — force light so it shows on dark bg */
    color: rgb(var(--brand-300)) !important;
}
/* Card stat labels */
html[data-theme="dark"] .text-slate-400.uppercase {
    color: #6b7280 !important;
}
html[data-theme="dark"] p.text-slate-900.tabular-nums,
html[data-theme="dark"] p.text-slate-900 {
    color: #ffffff !important;
}

/* ── DASHBOARD: RECENT INVOICES ── */
html[data-theme="dark"] .rounded-lg.bg-white.border-slate-200.overflow-hidden {
    background-color: rgba(255,255,255,0.04) !important;
    border-color: rgba(255,255,255,0.08) !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.12) !important;
}
html[data-theme="dark"] .border-b.border-slate-100 {
    border-bottom-color: rgba(255,255,255,0.06) !important;
}
html[data-theme="dark"] h3.text-slate-900 {
    color: #ffffff !important;
}
html[data-theme="dark"] h4.text-slate-900 {
    color: #ffffff !important;
}
html[data-theme="dark"] a.text-indigo-500.hover\:text-indigo-600 {
    color: rgb(var(--brand-400)) !important;
}
html[data-theme="dark"] a.text-indigo-500.hover\:text-indigo-600:hover {
    color: rgb(var(--brand-300)) !important;
}
/* Table head */
html[data-theme="dark"] thead.bg-slate-50,
html[data-theme="dark"] thead.bg-slate-50\/50,
html[data-theme="dark"] thead .bg-slate-50 {
    background-color: rgba(255,255,255,0.02) !important;
}
html[data-theme="dark"] th.text-slate-400 {
    color: #6b7280 !important;
}
/* Table body */
html[data-theme="dark"] tbody.divide-y.divide-slate-100 > tr + tr {
    border-top-color: rgba(255,255,255,0.05) !important;
}
html[data-theme="dark"] tr.hover\:bg-slate-50\/70:hover {
    background-color: rgba(255,255,255,0.02) !important;
}
html[data-theme="dark"] td a.text-slate-900 {
    color: #ffffff !important;
}
html[data-theme="dark"] td a.text-slate-900:hover {
    color: rgb(var(--brand-400)) !important;
}
html[data-theme="dark"] td.text-slate-900,
html[data-theme="dark"] td p.text-slate-900 {
    color: #ffffff !important;
}
html[data-theme="dark"] td.text-slate-400 {
    color: #6b7280 !important;
}
html[data-theme="dark"] span.bg-slate-100.text-slate-500 {
    background-color: rgba(255,255,255,0.07) !important;
    color: #9ca3af !important;
}
html[data-theme="dark"] td a.text-slate-400 {
    color: #6b7280 !important;
}
html[data-theme="dark"] td a.text-slate-400:hover,
html[data-theme="dark"] td a.hover\:text-indigo-500:hover {
    color: rgb(var(--brand-400)) !important;
}
html[data-theme="dark"] .text-slate-400.text-sm.mb-3,
html[data-theme="dark"] .text-slate-400.text-sm {
    color: #4b5563 !important;
}

/* ── EMAILS & NEWS CARDS ── */
html[data-theme="dark"] .bg-slate-50\/50 {
    background-color: rgba(255,255,255,0.02) !important;
}
/* Section labels now use text-slate-900 in light mode — dark mode override */
html[data-theme="dark"] h3.text-slate-900.uppercase,
html[data-theme="dark"] h3.text-slate-400 {
    color: #6b7280 !important;
}
/* Status badges — solid light-mode colors → dark mode tinted versions */
html[data-theme="dark"] .bg-emerald-100.text-emerald-800 {
    background-color: rgba(16,185,129,0.12) !important;
    color: #6ee7b7 !important;
}
html[data-theme="dark"] .bg-emerald-100.text-emerald-800 > span.bg-emerald-500 {
    background-color: #10b981 !important;
}
html[data-theme="dark"] .bg-amber-100.text-amber-800 {
    background-color: rgba(245,158,11,0.12) !important;
    color: #fcd34d !important;
}
html[data-theme="dark"] .bg-amber-100.text-amber-800 > span.bg-amber-500 {
    background-color: #f59e0b !important;
}
html[data-theme="dark"] .bg-red-100.text-red-800 {
    background-color: rgba(239,68,68,0.12) !important;
    color: #fca5a5 !important;
}
html[data-theme="dark"] .bg-red-100.text-red-800 > span.bg-red-500 {
    background-color: #ef4444 !important;
}
/* Hover on emails/news items (was hover:bg-[rgb(var(--brand2-50))], now hover:bg-slate-50) */
html[data-theme="dark"] a.hover\:bg-slate-50:hover,
html[data-theme="dark"] div.hover\:bg-slate-50:hover,
html[data-theme="dark"] tr.hover\:bg-slate-50:hover {
    background-color: rgba(255,255,255,0.04) !important;
}
html[data-theme="dark"] .divide-y.divide-slate-100 > * + * {
    border-top-color: rgba(255,255,255,0.05) !important;
}
html[data-theme="dark"] a.hover\:bg-violet-50:hover,
html[data-theme="dark"] div.hover\:bg-violet-50:hover {
    background-color: rgba(255,255,255,0.02) !important;
}
html[data-theme="dark"] span.text-slate-900.group-hover\:text-indigo-500 {
    color: #ffffff !important;
}
html[data-theme="dark"] .group:hover span.text-slate-900.group-hover\:text-indigo-500 {
    color: rgb(var(--brand-400)) !important;
}
html[data-theme="dark"] span.text-slate-400.mt-0\.5 {
    color: #6b7280 !important;
}
html[data-theme="dark"] svg.text-slate-300 {
    color: #374151 !important;
}
/* News icon bgs */
html[data-theme="dark"] .bg-indigo-50 {
    background-color: rgba(var(--color-primary-rgb),0.10) !important;
}
html[data-theme="dark"] .bg-violet-50 {
    background-color: rgb(var(--brand2-500) / 0.10) !important;
}
html[data-theme="dark"] .text-indigo-500:not(button):not(a) {
    color: rgb(var(--brand-400)) !important;
}
html[data-theme="dark"] .text-violet-500 {
    color: rgb(var(--brand2-400)) !important;
}
html[data-theme="dark"] a.text-slate-900.hover\:text-indigo-500 {
    color: #ffffff !important;
}
html[data-theme="dark"] a.text-slate-900.hover\:text-indigo-500:hover {
    color: rgb(var(--brand-400)) !important;
}
html[data-theme="dark"] p.text-slate-400.line-clamp-1 {
    color: #4b5563 !important;
}

/* ── TICKETS PANEL ── */
html[data-theme="dark"] a.border-slate-200.rounded-lg {
    border-color: rgba(255,255,255,0.07) !important;
}
html[data-theme="dark"] a.border-slate-200.rounded-lg:hover {
    border-color: rgba(var(--color-primary-rgb),0.20) !important;
    background-color: rgba(255,255,255,0.03) !important;
}
html[data-theme="dark"] span.bg-indigo-50.text-indigo-500 {
    background-color: rgba(var(--color-primary-rgb),0.15) !important;
    color: rgb(var(--brand-400)) !important;
}
html[data-theme="dark"] span.bg-violet-50.text-violet-500 {
    background-color: rgb(var(--brand2-500) / 0.15) !important;
    color: rgb(var(--brand2-300)) !important;
}
html[data-theme="dark"] span.text-slate-400:not(.uppercase) {
    color: #4b5563 !important;
}
html[data-theme="dark"] p.text-slate-400.line-clamp-2 {
    color: #6b7280 !important;
}
/* Ticket avatars */
html[data-theme="dark"] .bg-slate-100.border-white.text-slate-500 {
    background-color: rgba(255,255,255,0.10) !important;
    border-color: #0f172a !important;
    color: #d1d5db !important;
}
html[data-theme="dark"] .bg-indigo-100.border-white.text-indigo-600 {
    background-color: rgba(var(--color-primary-rgb),0.20) !important;
    border-color: #0f172a !important;
    color: rgb(var(--brand-300)) !important;
}
html[data-theme="dark"] span.text-\[10px\].font-bold.text-slate-400 {
    color: #4b5563 !important;
}
/* Empty state + open ticket button */
html[data-theme="dark"] a.bg-indigo-50.text-indigo-500.hover\:bg-indigo-100 {
    background-color: rgba(var(--color-primary-rgb),0.15) !important;
    color: rgb(var(--brand-400)) !important;
}
html[data-theme="dark"] a.bg-indigo-50.text-indigo-500.hover\:bg-indigo-100:hover {
    background-color: rgba(var(--color-primary-rgb),0.25) !important;
}
/* New ticket footer */
html[data-theme="dark"] .p-4.border-t.border-slate-100 {
    border-top-color: rgba(255,255,255,0.06) !important;
    background-color: rgba(255,255,255,0.02) !important;
}
html[data-theme="dark"] a.text-slate-500.hover\:text-indigo-500.border-slate-200 {
    color: #9ca3af !important;
    border-color: rgba(255,255,255,0.08) !important;
    background-color: rgba(255,255,255,0.02) !important;
}
html[data-theme="dark"] a.text-slate-500.hover\:text-indigo-500.border-slate-200:hover {
    color: rgb(var(--brand-400)) !important;
    border-color: rgba(var(--color-primary-rgb),0.25) !important;
    background-color: rgba(255,255,255,0.04) !important;
}

/* ── TICKET STATUS BADGES (OPEN/ON-HOLD/REPLIED/CLOSED) ── */
/* These use -50 bg + -600 text (lighter than invoice badges which use -100/-800) */
html[data-theme="dark"] span.bg-emerald-50.text-emerald-600 {
    background-color: rgba(16,185,129,0.12) !important;
    border-color: rgba(16,185,129,0.25) !important;
    color: #6ee7b7 !important;
}
html[data-theme="dark"] span.bg-emerald-50.text-emerald-600 > span.bg-emerald-500 {
    background-color: #10b981 !important;
}
html[data-theme="dark"] span.bg-amber-50.text-amber-600 {
    background-color: rgba(245,158,11,0.12) !important;
    border-color: rgba(245,158,11,0.25) !important;
    color: #fcd34d !important;
}
html[data-theme="dark"] span.bg-amber-50.text-amber-600 > span.bg-amber-500 {
    background-color: #f59e0b !important;
}
html[data-theme="dark"] span.bg-blue-50.text-blue-600 {
    background-color: rgba(59,130,246,0.12) !important;
    border-color: rgba(59,130,246,0.25) !important;
    color: #93c5fd !important;
}
html[data-theme="dark"] span.bg-blue-50.text-blue-600 > span.bg-blue-500 {
    background-color: #3b82f6 !important;
}
/* CLOSED badge: bg-slate-100 + text-slate-400 (different from helpdesk label text-slate-500) */
html[data-theme="dark"] span.bg-slate-100.border-slate-200.text-slate-400 {
    background-color: rgba(255,255,255,0.07) !important;
    border-color: rgba(255,255,255,0.10) !important;
    color: #9ca3af !important;
}
html[data-theme="dark"] span.bg-slate-100.border-slate-200.text-slate-400 > span.bg-slate-400 {
    background-color: #6b7280 !important;
}
/* Invoice "other" fallback badge: bg-slate-100 + text-slate-600 */
html[data-theme="dark"] span.bg-slate-100.text-slate-600 {
    background-color: rgba(255,255,255,0.07) !important;
    color: #9ca3af !important;
}
html[data-theme="dark"] span.bg-slate-100.text-slate-600 > span.bg-slate-400 {
    background-color: #6b7280 !important;
}

/* ── ACTIVE SERVICES ── */
html[data-theme="dark"] .hover\:bg-slate-50\/80:hover {
    background-color: rgba(255,255,255,0.02) !important;
}
html[data-theme="dark"] span.text-slate-900:not(h1):not(h2):not(h3):not(h4) {
    color: #ffffff !important;
}
html[data-theme="dark"] .text-slate-400.font-normal {
    color: #6b7280 !important;
}
html[data-theme="dark"] svg.text-slate-400.transition-transform {
    color: #6b7280 !important;
}
html[data-theme="dark"] .divide-y.divide-slate-100 > div + div {
    border-top-color: rgba(255,255,255,0.06) !important;
}
html[data-theme="dark"] p.text-slate-900.leading-snug {
    color: #ffffff !important;
}
html[data-theme="dark"] p.text-slate-400.mt-0\.5 {
    color: #6b7280 !important;
}
/* Manage button */
html[data-theme="dark"] a.dashboard-btn-manage {
    color: #d1d5db !important;
    border-color: rgba(255,255,255,0.12) !important;
    background-color: rgba(255,255,255,0.04) !important;
}
html[data-theme="dark"] a.dashboard-btn-manage:hover {
    background-color: rgba(255,255,255,0.08) !important;
    color: #ffffff !important;
    border-color: rgba(255,255,255,0.18) !important;
}
/* Service category divider hr */
html[data-theme="dark"] .mx-6.h-px.bg-slate-100 {
    background-color: rgba(255,255,255,0.06) !important;
}
/* Empty services icon container */
html[data-theme="dark"] .bg-indigo-50.border-indigo-100 {
    background-color: rgba(var(--color-primary-rgb),0.10) !important;
    border-color: rgba(var(--color-primary-rgb),0.20) !important;
}
html[data-theme="dark"] .bg-indigo-50.border-indigo-100 svg {
    color: rgb(var(--brand-400)) !important;
}

/* ── NEW ELEMENTS (screenshot update) ── */

/* Sidebar user name subtitle */
html[data-theme="dark"] #sidebar .text-\[11px\].font-semibold.text-slate-900 {
    color: #e2e8f0 !important;
}
html[data-theme="dark"] #sidebar .text-\[10px\].text-slate-400 {
    color: #4b5563 !important;
}
/* + New Request button — keep gradient, darken shadow */
html[data-theme="dark"] #sidebar a.shadow-indigo-500\/20 {
    box-shadow: 0 2px 8px rgba(var(--color-primary-rgb),0.15) !important;
}
/* Notification bell in header */
html[data-theme="dark"] header a[href*="support"].relative.p-2 {
    color: #9ca3af !important;
}
html[data-theme="dark"] header a[href*="support"].relative.p-2:hover {
    background-color: rgba(255,255,255,0.05) !important;
    color: #ffffff !important;
}
/* Calendar date chip in header */
html[data-theme="dark"] header .hidden.md\:flex.items-center.gap-1\.5.ml-1 {
    background-color: rgba(255,255,255,0.04) !important;
    border-color: rgba(255,255,255,0.08) !important;
}
html[data-theme="dark"] header .hidden.md\:flex.items-center.gap-1\.5.ml-1 span {
    color: #9ca3af !important;
}
/* Account Verification Required banner (red/pink) */
html[data-theme="dark"] .bg-red-50.border-red-200 {
    background-color: rgba(239,68,68,0.08) !important;
    border-color: rgba(239,68,68,0.20) !important;
}
html[data-theme="dark"] .bg-red-100.border-red-300 {
    background-color: rgba(239,68,68,0.12) !important;
    border-color: rgba(239,68,68,0.25) !important;
}
html[data-theme="dark"] .text-red-500.fill-none {
    color: #f87171 !important;
}
html[data-theme="dark"] .text-red-700 {
    color: #fca5a5 !important;
}
html[data-theme="dark"] .text-red-500:not(svg) {
    color: #f87171 !important;
}
html[data-theme="dark"] .text-red-400 {
    color: #f87171 !important;
}
html[data-theme="dark"] .hover\:bg-red-100:hover {
    background-color: rgba(239,68,68,0.12) !important;
}
html[data-theme="dark"] .hover\:bg-red-50:hover {
    background-color: rgba(239,68,68,0.08) !important;
}

/* ── TEXT-SLATE-800: used for email subjects, news/ticket titles ── */
html[data-theme="dark"] .text-slate-800 {
    color: #f1f5f9 !important;
}
html[data-theme="dark"] .hover\:text-indigo-600:hover,
html[data-theme="dark"] .group:hover .group-hover\:text-indigo-600 {
    color: rgb(var(--brand-400)) !important;
}

/* ── TEXT-SLATE-600: invoice dates, td body text ── */
html[data-theme="dark"] .text-slate-600,
html[data-theme="dark"] td.text-slate-600,
html[data-theme="dark"] td p.text-slate-600 {
    color: #94a3b8 !important;
}

/* ── TICKET CARD INNER SURFACE (bg-slate-50/30) ── */
html[data-theme="dark"] .bg-slate-50\/30 {
    background-color: rgba(255,255,255,0.03) !important;
}
html[data-theme="dark"] a.bg-slate-50\/30,
html[data-theme="dark"] div.bg-slate-50\/30 {
    background-color: rgba(255,255,255,0.03) !important;
    border-color: rgba(255,255,255,0.07) !important;
}

/* ── EMAILS/NEWS/TICKETS wrapper cards (div.bg-white.rounded-lg.border-slate-200) ── */
html[data-theme="dark"] .bg-white.rounded-lg.border-slate-200 {
    background-color: rgba(255,255,255,0.04) !important;
    border-color: rgba(255,255,255,0.08) !important;
}

/* ── SECTION HEADER inside cards (px-6 py-4 border-b border-slate-100) ── */
html[data-theme="dark"] .bg-slate-50\/50 {
    background-color: rgba(255,255,255,0.02) !important;
}

/* ── OPEN NEW TICKET BUTTON ── */
html[data-theme="dark"] a.bg-white.rounded-lg.border-slate-200 {
    background-color: rgba(255,255,255,0.04) !important;
    border-color: rgba(255,255,255,0.08) !important;
}

/* ── HOVER:BG-[rgb(var(--brand2-50))] on New Ticket button ── */
html[data-theme="dark"] a.hover\:bg-violet-50:hover {
    background-color: rgba(var(--color-primary-rgb),0.10) !important;
}

/* ── MY SERVICES PAGE — service cards ── */
/* Action bar (white search + sort container) */
html[data-theme="dark"] .bg-white.border.border-slate-200.rounded-xl.shadow-sm {
    background-color: rgba(255,255,255,0.04) !important;
    border-color: rgba(255,255,255,0.08) !important;
}
/* Status filter pill group background */
html[data-theme="dark"] .bg-slate-100.p-1.rounded-lg {
    background-color: rgba(255,255,255,0.06) !important;
}
/* Active status pill */
html[data-theme="dark"] .bg-white.shadow-sm.rounded-md {
    background-color: rgba(255,255,255,0.10) !important;
}
/* Service cards */
html[data-theme="dark"] .svc-card {
    background-color: rgba(255,255,255,0.04) !important;
    border-color: rgba(255,255,255,0.08) !important;
}
html[data-theme="dark"] .svc-card:hover {
    border-color: rgba(var(--color-primary-rgb),0.30) !important;
    background-color: rgba(255,255,255,0.06) !important;
}
/* Card detail divider */
html[data-theme="dark"] .svc-card .border-t.border-slate-100 {
    border-color: rgba(255,255,255,0.06) !important;
}
/* Ref badge */
html[data-theme="dark"] .svc-card .bg-slate-100.text-slate-500 {
    background-color: rgba(255,255,255,0.08) !important;
    color: #94a3b8 !important;
}
/* CTA button */
html[data-theme="dark"] .svc-card-cta {
    border-color: rgba(var(--color-primary-rgb),0.25) !important;
}
html[data-theme="dark"] .svc-card-cta:hover {
    background-color: rgba(var(--color-primary-rgb),0.10) !important;
}
/* Promo "Add new service" dashed card */
html[data-theme="dark"] .bg-slate-50.border-dashed.border-slate-200.rounded-xl {
    background-color: rgba(255,255,255,0.02) !important;
    border-color: rgba(255,255,255,0.10) !important;
}
/* Circle icon in promo card */
html[data-theme="dark"] .bg-white.rounded-full.border.border-slate-200.shadow-sm {
    background-color: rgba(255,255,255,0.08) !important;
    border-color: rgba(255,255,255,0.10) !important;
}
/* "Add a new service" heading in promo card */
html[data-theme="dark"] .svc-card + div h4,
html[data-theme="dark"] .text-slate-700 {
    color: #e2e8f0 !important;
}
/* Search input inside action bar */
html[data-theme="dark"] #order-search {
    background: rgba(255,255,255,0.05) !important;
    border-color: rgba(255,255,255,0.10) !important;
    color: #f1f5f9 !important;
}
html[data-theme="dark"] #order-search::placeholder {
    color: #64748b !important;
}
/* Select dropdown inside action bar */
html[data-theme="dark"] #order-sort {
    background: rgba(255,255,255,0.05) !important;
    border-color: rgba(255,255,255,0.10) !important;
    color: #94a3b8 !important;
}
/* Product type tab active/hover */
html[data-theme="dark"] .border-b-2.border-transparent.text-slate-500:hover {
    color: #94a3b8 !important;
}
/* Category pill (bg-white) */
html[data-theme="dark"] a.bg-white.border-slate-200.rounded-full {
    background-color: rgba(255,255,255,0.05) !important;
    border-color: rgba(255,255,255,0.10) !important;
}
/* Empty state light bg */
html[data-theme="dark"] .rounded-2xl.border-dashed.bg-slate-50 {
    background-color: rgba(255,255,255,0.02) !important;
    border-color: rgba(255,255,255,0.10) !important;
}
/* Status badge overrides for service cards */
html[data-theme="dark"] .svc-card .bg-emerald-50 {
    background-color: rgba(16,185,129,0.12) !important;
    border-color: rgba(16,185,129,0.20) !important;
}
html[data-theme="dark"] .svc-card .bg-amber-50 {
    background-color: rgba(245,158,11,0.12) !important;
    border-color: rgba(245,158,11,0.20) !important;
}
html[data-theme="dark"] .svc-card .bg-red-50 {
    background-color: rgba(239,68,68,0.12) !important;
    border-color: rgba(239,68,68,0.20) !important;
}
html[data-theme="dark"] .svc-card .bg-slate-100.text-slate-500.border-slate-200 {
    background-color: rgba(255,255,255,0.06) !important;
    border-color: rgba(255,255,255,0.10) !important;
    color: #94a3b8 !important;
}
/* Icon containers inside service cards */
html[data-theme="dark"] .svc-card .bg-amber-50 svg,
html[data-theme="dark"] .svc-card .bg-amber-50 { color: #fbbf24 !important; }
html[data-theme="dark"] .svc-card .bg-red-50 svg,
html[data-theme="dark"] .svc-card .bg-red-50 { color: #f87171 !important; }
html[data-theme="dark"] .svc-card .bg-slate-100 svg,
html[data-theme="dark"] .svc-card .bg-slate-100 { color: #64748b !important; }

/* ── Hosting Manage Page (hm-*) dark mode overrides ── */
html[data-theme="dark"] .hm-card {
    background-color: rgba(255,255,255,0.03) !important;
    border-color: rgba(255,255,255,0.08) !important;
}
html[data-theme="dark"] .hm-card-hdr {
    background-color: rgba(255,255,255,0.03) !important;
    border-color: rgba(255,255,255,0.06) !important;
}
html[data-theme="dark"] .hm-card-hdr h3 { color: #94a3b8 !important; }
html[data-theme="dark"] .hm-row { border-color: rgba(255,255,255,0.04) !important; }
html[data-theme="dark"] .hm-row .text-slate-500 { color: #94a3b8 !important; }
html[data-theme="dark"] .hm-val { color: #e2e8f0 !important; }
html[data-theme="dark"] .hm-title { color: #f1f5f9 !important; }
html[data-theme="dark"] .hm-stat {
    background-color: rgba(255,255,255,0.03) !important;
    border-color: rgba(255,255,255,0.08) !important;
}
html[data-theme="dark"] .hm-stat p:first-child { color: #64748b !important; }
html[data-theme="dark"] .hm-mono {
    background-color: rgba(255,255,255,0.06) !important;
    color: #cbd5e1 !important;
}
html[data-theme="dark"] .hm-progress-bg { background-color: rgba(255,255,255,0.07) !important; }
html[data-theme="dark"] .hm-mini-stat { background-color: rgba(255,255,255,0.04) !important; }
html[data-theme="dark"] .hm-mini-stat p:first-child { color: #64748b !important; }
html[data-theme="dark"] .hm-icon-circle {
    background-color: rgba(255,255,255,0.07) !important;
    color: #94a3b8 !important;
}
html[data-theme="dark"] .hm-mgmt-title { color: #e2e8f0 !important; }
html[data-theme="dark"] .hm-mgmt-desc { color: #64748b !important; }
html[data-theme="dark"] .hm-input {
    background-color: rgba(255,255,255,0.05) !important;
    border-color: rgba(255,255,255,0.10) !important;
    color: #e2e8f0 !important;
}
html[data-theme="dark"] .hm-btn-outline {
    border-color: rgba(255,255,255,0.10) !important;
    color: #94a3b8 !important;
}
html[data-theme="dark"] .hm-btn-outline:hover {
    background-color: rgba(255,255,255,0.05) !important;
}
html[data-theme="dark"] .divide-y.divide-slate-100 > div { border-color: rgba(255,255,255,0.05) !important; }
html[data-theme="dark"] button.hover\:bg-slate-50:hover { background-color: rgba(255,255,255,0.04) !important; }
html[data-theme="dark"] .bg-slate-50\/50 { background-color: rgba(255,255,255,0.02) !important; }

/* ═══════════════════════════════════════════════════
   SIDEBAR ACCORDION — smooth height reveal
   Uses CSS grid-template-rows animation so the height
   transitions smoothly without knowing the content height.
   ═══════════════════════════════════════════════════ */
.sidebar-nav-accordion {
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    transition:
        grid-template-rows 230ms cubic-bezier(0.4, 0, 0.2, 1),
        opacity 180ms ease-out;
    overflow: hidden;
}
.sidebar-nav-accordion.snav-open {
    grid-template-rows: 1fr;
    opacity: 1;
}
/* Direct child acts as the collapsible cell — must have min-height:0 */
.sidebar-nav-accordion > div {
    min-height: 0;
    overflow: hidden;
}
/* Stagger each nav child item on open */
@keyframes snav-item-slide-in {
    from { opacity: 0; transform: translateX(-8px); }
    to   { opacity: 1; transform: translateX(0); }
}
.sidebar-nav-accordion.snav-open > div > div > a,
.sidebar-nav-accordion.snav-open > div > div > div {
    animation: snav-item-slide-in 0.18s ease-out both;
}
.sidebar-nav-accordion.snav-open > div > div > :nth-child(1) { animation-delay: 0.05s; }
.sidebar-nav-accordion.snav-open > div > div > :nth-child(2) { animation-delay: 0.09s; }
.sidebar-nav-accordion.snav-open > div > div > :nth-child(3) { animation-delay: 0.13s; }
.sidebar-nav-accordion.snav-open > div > div > :nth-child(4) { animation-delay: 0.17s; }
.sidebar-nav-accordion.snav-open > div > div > :nth-child(5) { animation-delay: 0.20s; }
.sidebar-nav-accordion.snav-open > div > div > :nth-child(6) { animation-delay: 0.23s; }
.sidebar-nav-accordion.snav-open > div > div > :nth-child(7) { animation-delay: 0.26s; }
.sidebar-nav-accordion.snav-open > div > div > :nth-child(n+8) { animation-delay: 0.28s; }

/* ================================================================
   /order page — Page-head dark mode + popular card icon light mode
   ================================================================ */

/* Page header "Order New Services" — dark mode text */
html:not([data-theme="light"]) .ord-page-head h1 {
    color: rgba(255,255,255,0.92) !important;
}
html:not([data-theme="light"]) .ord-page-head p {
    color: rgba(255,255,255,0.50) !important;
}
html:not([data-theme="light"]) .ord-page-head nav a {
    color: rgba(255,255,255,0.45) !important;
}
html:not([data-theme="light"]) .ord-page-head nav a:hover {
    color: rgba(255,255,255,0.80) !important;
}
html:not([data-theme="light"]) .ord-page-head nav span {
    color: rgba(255,255,255,0.55) !important;
}

/* Popular card icon box — keep SVG icon white in light mode
   (global .text-white override flips it dark otherwise) */
html[data-theme="light"] .ord-icon-primary,
html[data-theme="light"] .ord-icon-primary svg {
    color: #ffffff !important;
}

/* Non-featured card icon boxes in dark mode — replace light pastels with dark glass tints */
html:not([data-theme="light"]) .ord-product-card .bg-indigo-100 {
    background: rgba(var(--color-primary-rgb),0.18) !important;
}
html:not([data-theme="light"]) .ord-product-card .bg-blue-100 {
    background: rgba(59,130,246,0.18) !important;
}

/* /order sidebar sticky behavior on desktop */
@media (min-width: 1024px) {
    .ord-refined .ord-sidebar-sticky {
        position: sticky;
        top: 80px;
        align-self: start;
    }
}

/* ================================================================
   /order/{category} page — Stitch refined card design
   ================================================================ */

/* Pricing card drop shadow (used on both light and dark cards) */
.pricing-card-shadow {
    box-shadow: 0 4px 20px -1px rgba(0, 0, 0, 0.05);
}

/* Most popular card: reference-style purple frame + top strip */
.ord-plan-popular {
    border: 2px solid var(--color-primary) !important;
    box-shadow: 0 10px 30px -8px rgba(var(--color-primary-rgb), 0.28) !important;
}

/* Stitch parity pass for /order/vps */
.ord-vps-hero {
    background: linear-gradient(135deg, #4f36e9 0%, #3f2bcf 52%, #3425af 100%);
    box-shadow: 0 18px 42px -22px rgba(55, 36, 170, 0.55);
}

.ord-vps-badge {
    background: rgba(255, 255, 255, 0.18);
    color: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(255, 255, 255, 0.25);
}

.ord-vps-subtext {
    color: rgb(var(--brand-100) / 0.92);
}

.ord-vps-btn-primary {
    background: #ffffff;
    color: #4733dc;
    border: 1px solid rgba(255, 255, 255, 0.25);
}

.ord-vps-btn-primary:hover {
    opacity: 0.94;
}

.ord-vps-btn-secondary {
    background: rgba(255, 255, 255, 0.14);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.ord-vps-btn-secondary:hover {
    background: rgba(255, 255, 255, 0.22);
}

.ord-vps-terminal {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.28);
    backdrop-filter: blur(10px);
}

.ord-vps-hero-grid {
    display: block;
}

@media (min-width: 700px) {
    .ord-vps-hero-grid {
        display: grid;
        grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
        align-items: center;
        gap: 24px;
    }

    .ord-vps-hero-side {
        display: block;
    }

    .ord-vps-terminal {
        max-width: 420px;
        margin-left: auto;
    }
}

@media (max-width: 699px) {
    .ord-vps-hero-side {
        display: none;
    }
}

.ord-vps-card {
    border-color: rgba(148, 163, 184, 0.35);
    box-shadow: 0 3px 14px rgba(15, 23, 42, 0.08);
}

.ord-vps-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 28px rgba(15, 23, 42, 0.12);
}

.ord-vps-card-popular {
    border: 2px solid #5a44ea;
    box-shadow: 0 14px 30px rgba(88, 69, 226, 0.28);
}

.ord-vps-popular-pill {
    color: #ffffff;
    background: linear-gradient(120deg, #3e2dc5, #5e4df1);
}

.ord-vps-plan-btn {
    min-height: 50px;
}

.ord-vps-plan-btn-primary {
    color: #ffffff;
    background: linear-gradient(135deg, #4f36e9 0%, #6152ef 100%);
}

.ord-vps-plan-btn-secondary {
    color: #4f3ce6;
    border: 2px solid #5c48ea;
    background: #ffffff;
}

.ord-vps-period-shell {
    position: relative;
}

.ord-vps-period-label {
    letter-spacing: 0.01em;
}

.ord-vps-period-select {
    font-weight: 600;
    letter-spacing: 0.01em;
}

.ord-vps-period-select:focus {
    border-color: rgba(var(--color-primary-rgb), 0.8);
    box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.18);
}

.ord-vps-feature {
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.05);
}

.ord-vps-feature:hover {
    border-color: rgba(var(--color-primary-rgb), 0.45);
}

.ord-vps-feature:hover .w-11 {
    background: var(--color-primary);
    color: #ffffff;
}

.ord-vps-compare {
    background: rgb(var(--brand-50));
}

.ord-vps-compare-head {
    padding: 0.25rem 0 0.15rem;
}

.ord-vps-compare-title {
    letter-spacing: -0.015em;
}

.ord-vps-compare-subtext {
    max-width: 54ch;
    line-height: 1.55;
}

.ord-vps-compare-meta-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.26rem 0.62rem;
    border-radius: 999px;
    font-size: 0.66rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-weight: 700;
    color: rgb(var(--brand-600));
    background: rgb(var(--brand-600) / 0.1);
    border: 1px solid rgb(var(--brand-600) / 0.18);
}

.ord-vps-compare-scroll-note {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #64748b;
}

.ord-vps-compare-scroll-note::before {
    content: "\2194";
    font-size: 0.82rem;
    opacity: 0.8;
}

.ord-vps-compare-btn {
    background: linear-gradient(135deg, #4f36e9 0%, #6152ef 100%);
    box-shadow: 0 8px 24px rgba(79, 54, 233, 0.22);
}

.ord-vps-compare-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 26px rgba(79, 54, 233, 0.28);
}

html[data-theme="light"] .ord-vps-hero .text-white,
html[data-theme="light"] .ord-vps-hero .text-indigo-100,
html[data-theme="light"] .ord-vps-hero .text-indigo-200,
html[data-theme="light"] .ord-vps-hero .text-emerald-300,
html[data-theme="light"] .ord-vps-hero .text-indigo-100\/80 {
    color: #ffffff !important;
}

html[data-theme="light"] .ord-vps-hero p,
html[data-theme="light"] .ord-vps-hero h2,
html[data-theme="light"] .ord-vps-hero span,
html[data-theme="light"] .ord-vps-hero a {
    text-shadow: 0 1px 2px rgba(2, 6, 23, 0.22);
}

html[data-theme="light"] .ord-vps-compare-btn,
html[data-theme="light"] .ord-vps-compare-btn span {
    color: #ffffff !important;
}

/* Sticky Feature column — applies in both themes */
.ord-vps-compare-table .ord-vps-compare-sticky {
    position: sticky;
    left: 0;
    z-index: 4;
    background: #ffffff;
    border-right: 1px solid rgba(148, 163, 184, 0.35);
    box-shadow: 2px 0 6px -2px rgba(15, 23, 42, 0.08);
}

html:not([data-theme="light"]) .ord-vps-compare-table .ord-vps-compare-sticky {
    background: #1e293b;
    border-right-color: rgba(255, 255, 255, 0.12);
    box-shadow: 2px 0 8px -2px rgba(0, 0, 0, 0.35);
}

/* Sticky header cell (th) needs slightly higher z-index so it layers over sticky td cells */
.ord-vps-compare-table thead .ord-vps-compare-sticky {
    z-index: 6;
    background: #f8fafc;
}

.ord-vps-compare-table {
    border-collapse: separate;
    border-spacing: 0;
    letter-spacing: 0.005em;
    line-height: 1.45;
}

.ord-vps-compare-table-wrap {
    scrollbar-gutter: stable both-edges;
}

.ord-vps-compare-table thead th {
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ord-vps-compare-feature-head {
    font-weight: 800;
}

.ord-vps-compare-plan-head {
    vertical-align: top;
}

.ord-vps-compare-plan-title {
    font-size: 0.9rem;
    letter-spacing: 0.01em;
    font-weight: 700;
    text-transform: none;
}

.ord-vps-compare-row-label {
    font-size: 0.76rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-weight: 700;
}

.ord-vps-compare-price-cell {
    font-size: 0.95rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.ord-vps-compare-price-amount {
    display: block;
    font-size: 1.02rem;
    font-weight: 800;
    color: #0f172a;
}

.ord-vps-compare-price-unit {
    display: inline-block;
    margin-top: 0.14rem;
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #475569;
}

.ord-vps-compare-billing-cell,
.ord-vps-compare-value {
    font-size: 0.84rem;
    font-weight: 600;
}

.ord-vps-compare-desc {
    font-size: 0.82rem;
    line-height: 1.55;
}

.ord-vps-compare-desc-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.35rem;
}

.ord-vps-compare-desc-list li {
    position: relative;
    padding-left: 0.7rem;
}

.ord-vps-compare-desc-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.54em;
    width: 0.28rem;
    height: 0.28rem;
    border-radius: 999px;
    background: rgba(var(--color-primary-rgb), 0.75);
}

.ord-vps-compare-empty {
    color: #64748b;
    font-style: italic;
}

.ord-vps-compare-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.58rem;
    border-radius: 999px;
    font-size: 0.67rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-weight: 700;
    border: 1px solid transparent;
    line-height: 1.2;
}

.ord-vps-compare-badge-neutral {
    color: #334155;
    background: rgb(var(--brand-50));
    border-color: rgba(var(--color-primary-rgb),0.22);
}

.ord-vps-compare-badge-success {
    color: #065f46;
    background: #ecfdf5;
    border-color: rgba(16, 185, 129, 0.3);
}

.ord-vps-compare-badge-free {
    color: #166534;
    background: #f0fdf4;
    border-color: rgba(34, 197, 94, 0.35);
}

.ord-vps-compare-table td:not(.ord-vps-compare-sticky),
.ord-vps-compare-table th:not(.ord-vps-compare-sticky) {
    position: relative;
    z-index: 1;
}

html:not([data-theme="light"]) .ord-vps-compare-table thead .ord-vps-compare-sticky {
    background: #1a2742;
}

html[data-theme="light"] .ord-vps-compare-table td,
html[data-theme="light"] .ord-vps-compare-table th {
    vertical-align: top;
}

html[data-theme="light"] .ord-vps-compare-table tbody tr:nth-child(even) {
    background: rgba(var(--color-primary-rgb),0.03);
}

html[data-theme="light"] .ord-vps-compare-table tbody tr:hover {
    background: rgb(var(--brand-600) / 0.06);
}

/* Sticky td inside striped row must re-declare its own bg so it matches the row */
html[data-theme="light"] .ord-vps-compare-table tbody tr:nth-child(even) .ord-vps-compare-sticky {
    background: rgba(var(--color-primary-rgb),0.03);
}

html[data-theme="light"] .ord-vps-hero h2,
html[data-theme="light"] .ord-vps-hero .ord-vps-subtext,
html[data-theme="light"] .ord-vps-hero .ord-vps-btn-secondary,
html[data-theme="light"] .ord-vps-hero .ord-vps-badge {
    color: #ffffff !important;
}

html:not([data-theme="light"]) .ord-vps-card {
    background: rgba(15, 23, 42, 0.72);
    border-color: rgba(148, 163, 184, 0.34);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.28);
}

html:not([data-theme="light"]) .ord-vps-card h4,
html:not([data-theme="light"]) .ord-vps-card .text-on-surface {
    color: rgba(255, 255, 255, 0.9) !important;
}

html:not([data-theme="light"]) .ord-vps-card .text-slate-700,
html:not([data-theme="light"]) .ord-vps-card .text-slate-500 {
    color: rgba(255, 255, 255, 0.66) !important;
}

html:not([data-theme="light"]) .ord-vps-card .border-slate-100,
html:not([data-theme="light"]) .ord-vps-card .border-t {
    border-color: rgba(148, 163, 184, 0.24) !important;
}

html:not([data-theme="light"]) .ord-vps-feature {
    background: rgba(15, 23, 42, 0.68);
    border-color: rgba(148, 163, 184, 0.26);
}

html:not([data-theme="light"]) .ord-vps-feature .bg-indigo-50 {
    background: rgba(var(--color-primary-rgb),0.22) !important;
}

/* ── Custom services category dark mode ── */
html:not([data-theme="light"]) [data-custom-pricing-card] {
    background: rgba(15, 23, 42, 0.72);
    border-color: rgba(148, 163, 184, 0.34);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.28);
}

html:not([data-theme="light"]) [data-custom-pricing-card] h3,
html:not([data-theme="light"]) [data-custom-pricing-card] .text-on-surface {
    color: rgba(255, 255, 255, 0.9) !important;
}

html:not([data-theme="light"]) [data-custom-pricing-card] .text-slate-700,
html:not([data-theme="light"]) [data-custom-pricing-card] .text-slate-500 {
    color: rgba(255, 255, 255, 0.66) !important;
}

html:not([data-theme="light"]) [data-custom-pricing-card] .border-slate-200 {
    border-color: rgba(148, 163, 184, 0.24) !important;
}

html:not([data-theme="light"]) .ord-vps-compare {
    background: rgba(30, 41, 59, 0.72);
}

html:not([data-theme="light"]) .ord-vps-compare-subtext {
    color: rgba(255, 255, 255, 0.72) !important;
}

html:not([data-theme="light"]) .ord-vps-compare-meta-pill {
    color: rgba(191, 219, 254, 0.95);
    background: rgba(59, 130, 246, 0.16);
    border-color: rgba(96, 165, 250, 0.28);
}

html:not([data-theme="light"]) .ord-vps-compare-scroll-note {
    color: rgba(255, 255, 255, 0.62);
}

/* Compare table scroll wrapper dark mode */
html:not([data-theme="light"]) .ord-vps-compare-table-wrap {
    background: rgba(15, 23, 42, 0.6);
    border-color: rgba(255,255,255,0.10);
}

html:not([data-theme="light"]) .ord-vps-compare-table thead {
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(255,255,255,0.10);
}

html:not([data-theme="light"]) .ord-vps-compare-table td,
html:not([data-theme="light"]) .ord-vps-compare-table th {
    color: rgba(255,255,255,0.75);
    vertical-align: top;
}

html:not([data-theme="light"]) .ord-vps-compare-price-amount {
    color: rgba(255, 255, 255, 0.95);
}

html:not([data-theme="light"]) .ord-vps-compare-price-unit,
html:not([data-theme="light"]) .ord-vps-compare-empty {
    color: rgba(255, 255, 255, 0.65);
}

html:not([data-theme="light"]) .ord-vps-compare-badge-neutral {
    color: rgb(var(--brand-100) / 0.94);
    background: rgb(var(--brand-600) / 0.24);
    border-color: rgb(var(--brand-400) / 0.38);
}

html:not([data-theme="light"]) .ord-vps-compare-badge-success {
    color: rgba(167, 243, 208, 0.95);
    background: rgba(16, 185, 129, 0.2);
    border-color: rgba(52, 211, 153, 0.34);
}

html:not([data-theme="light"]) .ord-vps-compare-badge-free {
    color: rgba(187, 247, 208, 0.95);
    background: rgba(34, 197, 94, 0.2);
    border-color: rgba(74, 222, 128, 0.34);
}

html:not([data-theme="light"]) .ord-vps-compare-table tbody tr:hover {
    background: rgb(var(--brand-400) / 0.1);
}

html:not([data-theme="light"]) .ord-vps-period-label {
    color: rgba(255,255,255,0.85);
}

html:not([data-theme="light"]) .ord-vps-period-select {
    background: rgba(15, 23, 42, 0.84) !important;
    border-color: rgba(148, 163, 184, 0.35) !important;
    color: rgba(255,255,255,0.9) !important;
}

html:not([data-theme="light"]) .ord-vps-period-select:focus {
    border-color: rgba(var(--color-primary-rgb), 0.75) !important;
    box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.2) !important;
}

html:not([data-theme="light"]) .ord-vps-compare-table th {
    color: rgba(255,255,255,0.92);
}

html:not([data-theme="light"]) .ord-vps-compare-table .divide-y > * {
    border-color: rgba(255,255,255,0.07);
}

html:not([data-theme="light"]) .ord-vps-compare-table tbody tr:nth-child(even) {
    background: rgba(var(--color-primary-rgb),0.05);
}

html:not([data-theme="light"]) .ord-vps-compare-table tbody tr:nth-child(even) .ord-vps-compare-sticky {
    background: #1e293b;
}

.ord-plan-popular-ribbon {
    background: linear-gradient(135deg, var(--color-primary) 0%, #7c6cf8 100%) !important;
    height: 46px;
    border-top-left-radius: calc(0.875rem - 2px);
    border-top-right-radius: calc(0.875rem - 2px);
}

.ord-plan-popular-body {
    position: relative;
    margin-top: 8px;
    border-top-left-radius: calc(0.875rem - 4px);
    border-top-right-radius: calc(0.875rem - 4px);
    overflow: hidden;
    background: #ffffff;
}

html:not([data-theme="light"]) .ord-plan-popular-body {
    background: transparent;
}

/* Pricing slider arrows */
.ord-cat-scroll-btn {
    background: #ffffff;
    border: 1px solid rgba(148, 163, 184, 0.35);
    color: #334155;
    box-shadow: 0 6px 18px rgba(2, 6, 23, 0.12);
}
.ord-cat-scroll-btn:hover {
    background: #f8fafc;
    color: #0f172a;
}

/* ── Category page dark mode overrides ── */

/* Hero banner must keep light text in light mode too.
   Global light-theme typography remaps .text-white and h1-h3 to dark colors. */
html[data-theme="light"] .ord-cat-header h1 {
    color: #ffffff !important;
}
html[data-theme="light"] .ord-cat-header h2,
html[data-theme="light"] .ord-cat-header h3 {
    color: #ffffff !important;
}
html[data-theme="light"] .ord-cat-header p {
    color: rgb(var(--brand-100) / 0.92) !important;
}
html[data-theme="light"] .ord-cat-header span {
    color: rgba(255, 255, 255, 0.92) !important;
}
html[data-theme="light"] .ord-cat-header .ord-cat-hero-points .ord-cat-hero-point {
    color: rgba(255, 255, 255, 0.90) !important;
}
html[data-theme="light"] .ord-cat-header .ord-cat-hero-points .text-emerald-300 {
    color: #6ee7b7 !important;
}
html[data-theme="light"] .ord-cat-header a:not(.ord-cat-btn-primary):not(.ord-cat-btn-secondary) {
    color: rgba(255, 255, 255, 0.92) !important;
}
html[data-theme="light"] .ord-cat-header a.bg-white {
    color: var(--color-primary) !important;
}
html[data-theme="light"] .ord-cat-header .ord-cat-hero-primary {
    color: var(--color-primary) !important;
}
html[data-theme="light"] .ord-cat-header a:not(.ord-cat-btn-primary):not(.ord-cat-btn-secondary):hover {
    color: #ffffff !important;
}

/* Hero banner — always dark gradient, links inside are white */
html:not([data-theme="light"]) .ord-cat-header a:not(.ord-cat-btn-primary):not(.ord-cat-btn-secondary) {
    color: rgba(255,255,255,0.70) !important;
}
html:not([data-theme="light"]) .ord-cat-header a:not(.ord-cat-btn-primary):not(.ord-cat-btn-secondary):hover {
    color: rgba(255,255,255,0.95) !important;
}
html:not([data-theme="light"]) .ord-cat-header .ord-cat-hero-points {
    background: rgba(2, 6, 23, 0.22) !important;
    border-color: rgba(148, 163, 184, 0.30) !important;
}

html:not([data-theme="light"]) .ord-plan-popular {
    border-color: rgba(var(--color-primary-rgb), 0.8) !important;
    box-shadow: 0 12px 34px -10px rgba(var(--color-primary-rgb), 0.36) !important;
}

html:not([data-theme="light"]) .ord-plan-popular-body {
    background: rgba(15, 23, 42, 0.92) !important;
}

/* Always keep ribbon text white regardless of light/dark mode */
html[data-theme="light"] .ord-plan-popular-ribbon,
html[data-theme="light"] .ord-plan-popular-ribbon .text-white,
.ord-plan-popular-ribbon {
    color: #ffffff !important;
}
html:not([data-theme="light"]) .ord-cat-header .ord-cat-hero-points .ord-cat-hero-point {
    color: rgba(255,255,255,0.88) !important;
}
/* "Choose Your Growth Path" section heading in dark mode */
html:not([data-theme="light"]) #ord-plans h2 {
    color: rgba(255,255,255,0.92) !important;
}
html:not([data-theme="light"]) #ord-plans p {
    color: rgba(255,255,255,0.55) !important;
}
/* "Why Choose Us" section dark mode */
html:not([data-theme="light"]) .ord-cat-page .bg-surface-container-low .text-on-surface {
    color: rgba(255,255,255,0.88) !important;
}
html:not([data-theme="light"]) .ord-cat-page .bg-surface-container-low .text-tertiary {
    color: rgba(255,255,255,0.55) !important;
}
html:not([data-theme="light"]) .ord-cat-page .bg-surface-container-low .bg-white {
    background: rgba(255,255,255,0.06) !important;
    border-color: rgba(255,255,255,0.08) !important;
}
html[data-theme="light"] .ord-why-card {
    background: rgba(255, 255, 255, 0.70);
    border-color: rgba(148, 163, 184, 0.22);
}
html:not([data-theme="light"]) .ord-why-card {
    background: rgba(255, 255, 255, 0.03);
    border-color: rgba(148, 163, 184, 0.20);
}
html:not([data-theme="light"]) .ord-why-surface {
    background: rgba(15, 23, 42, 0.58) !important;
    border: 1px solid rgba(148, 163, 184, 0.24) !important;
}
html:not([data-theme="light"]) .ord-why-surface .text-primary {
    color: rgb(var(--brand-400) / 0.95) !important;
}
html:not([data-theme="light"]) .ord-why-surface .text-on-surface {
    color: rgba(248, 250, 252, 0.94) !important;
}
html:not([data-theme="light"]) .ord-why-surface .text-tertiary {
    color: rgba(226, 232, 240, 0.72) !important;
}
html:not([data-theme="light"]) .ord-why-icon-box {
    background: rgba(255,255,255,0.08) !important;
    border-color: rgba(148, 163, 184, 0.25) !important;
}

/* Primary CTA button (bg-primary) — keep white text in both modes */
html:not([data-theme="light"]) .ord-cat-btn-primary {
    background: var(--color-primary) !important;
    color: #ffffff !important;
}
html[data-theme="light"] .ord-cat-btn-primary {
    color: #ffffff !important;
}

/* Secondary CTA button — in dark mode, invert to gradient */
html:not([data-theme="light"]) .ord-cat-btn-secondary {
    background: linear-gradient(135deg, var(--color-primary), var(--color-secondary)) !important;
    border-color: transparent !important;
    color: #ffffff !important;
}

/* Renewal guarantee banner dark mode */
html:not([data-theme="light"]) .ord-product-card .bg-\[\#f0fff4\] {
    background: rgba(26,138,71,0.15) !important;
    border-color: rgba(26,138,71,0.25) !important;
    color: rgba(74,222,128,0.90) !important;
}

/* Feature list item text */
html:not([data-theme="light"]) .ord-product-card .ord-price-row .text-slate-700 {
    color: rgba(255,255,255,0.72) !important;
}

/* Carousel scroll arrow buttons */
html:not([data-theme="light"]) .ord-cat-scroll-btn {
    background: rgba(255,255,255,0.07) !important;
    border-color: rgba(255,255,255,0.12) !important;
    color: rgba(255,255,255,0.75) !important;
}
html:not([data-theme="light"]) .ord-cat-scroll-btn:hover {
    background: rgba(255,255,255,0.12) !important;
    border-color: rgba(var(--color-primary-rgb),0.40) !important;
}

/* ═══════════════════════════════════════════════════════════
   §DARK-EXT — Extensions to dark mode (gaps in the existing §DARK section)
   §DARK at line ~2768 already covers body/sidebar/header.
   This section adds:
     1. Smooth transitions when toggling TO dark mode
     2. hover:bg-indigo-50 / hover:text-indigo-500 topbar fix (missing above)
     3. .order-professional page (Stitch-style, fully missing above)
   ═══════════════════════════════════════════════════════════ */

/* 1. Smooth transition when switching TO dark mode */
html[data-theme="dark"] *,
html[data-theme="dark"] *::before,
html[data-theme="dark"] *::after {
    transition:
        background-color 0.25s ease,
        border-color     0.25s ease,
        box-shadow       0.25s ease,
        color            0.2s  ease !important;
}
html[data-theme="dark"] [x-show]:not(#sidebar):not(#sidebar *):not(.sidebar-overlay),
html[data-theme="dark"] [x-transition]:not(#sidebar):not(#sidebar *):not(.sidebar-overlay) {
    transition: none !important;
}
html[data-theme="dark"] #sidebar {
    transition:
        width            300ms ease-in-out,
        transform        300ms ease-in-out,
        background-color 0.25s ease,
        border-color     0.25s ease,
        box-shadow       0.25s ease !important;
}

/* 2. Topbar hover:bg-indigo-50 (the existing §DARK covers hover:bg-[rgb(var(--brand2-50))]
   but not hover:bg-indigo-50 which is used by cart/currency/PIN/theme buttons) */
html[data-theme="dark"] header .hover\:bg-indigo-50:hover {
    background-color: rgba(var(--color-primary-rgb),0.10) !important;
}
html[data-theme="dark"] header .hover\:text-indigo-500:hover {
    color: var(--color-primary) !important;
}

/* 3. .order-professional page (Stitch-style, light-native Tailwind) ── */
/* Card backgrounds */
html[data-theme="dark"] .order-professional .bg-white {
    background: rgba(255,255,255,0.04) !important;
}
/* Card & divider borders */
html[data-theme="dark"] .order-professional .border-slate-200 {
    border-color: rgba(255,255,255,0.08) !important;
}
html[data-theme="dark"] .order-professional .border-slate-100 {
    border-color: rgba(255,255,255,0.05) !important;
}
html[data-theme="dark"] .order-professional .border-dashed {
    border-color: rgba(255,255,255,0.10) !important;
}
html[data-theme="dark"] .order-professional hr {
    border-color: rgba(255,255,255,0.06) !important;
}
/* Shadows */
html[data-theme="dark"] .order-professional .shadow-sm {
    box-shadow: 0 2px 12px rgba(0,0,0,0.40) !important;
}
/* Text headings */
html[data-theme="dark"] .order-professional .text-slate-900,
html[data-theme="dark"] .order-professional h1,
html[data-theme="dark"] .order-professional h2,
html[data-theme="dark"] .order-professional h3,
html[data-theme="dark"] .order-professional h4 {
    color: rgba(255,255,255,0.92) !important;
}
html[data-theme="dark"] .order-professional .text-slate-700 {
    color: rgba(255,255,255,0.70) !important;
}
html[data-theme="dark"] .order-professional .text-slate-600 {
    color: rgba(255,255,255,0.60) !important;
}
html[data-theme="dark"] .order-professional .text-slate-500 {
    color: rgba(255,255,255,0.45) !important;
}
html[data-theme="dark"] .order-professional .text-slate-400 {
    color: rgba(255,255,255,0.35) !important;
}
/* Slate surface tints */
html[data-theme="dark"] .order-professional .bg-slate-50 {
    background: rgba(255,255,255,0.03) !important;
}
html[data-theme="dark"] .order-professional .bg-slate-100 {
    background: rgba(255,255,255,0.07) !important;
    color: rgba(255,255,255,0.55) !important;
}
/* Inline form inputs and selects */
html[data-theme="dark"] .order-professional input[type="text"],
html[data-theme="dark"] .order-professional input[type="search"],
html[data-theme="dark"] .order-professional input[type="number"],
html[data-theme="dark"] .order-professional select {
    background: rgba(255,255,255,0.06) !important;
    border-color: rgba(255,255,255,0.12) !important;
    color: rgba(255,255,255,0.90) !important;
}
html[data-theme="dark"] .order-professional input::placeholder {
    color: rgba(255,255,255,0.28) !important;
}
html[data-theme="dark"] .order-professional select option {
    background: #0d1424 !important;
    color: rgba(255,255,255,0.85) !important;
}
/* TLD separator inside domain input row */
html[data-theme="dark"] .order-professional .border-l.border-slate-200 {
    border-left-color: rgba(255,255,255,0.10) !important;
}
/* Green "free" badges */
html[data-theme="dark"] .order-professional .bg-green-100 {
    background: rgba(16,185,129,0.15) !important;
}
html[data-theme="dark"] .order-professional .text-green-700 {
    color: rgba(52,211,153,0.92) !important;
}
html[data-theme="dark"] .order-professional .text-green-500,
html[data-theme="dark"] .order-professional .text-emerald-500 {
    color: rgba(52,211,153,0.90) !important;
}
/* Domain availability result strip */
html[data-theme="dark"] #domain-availability-msg.border-emerald-200 {
    background: rgba(16,185,129,0.10) !important;
    border-color: rgba(16,185,129,0.25) !important;
    color: rgba(52,211,153,0.92) !important;
}
html[data-theme="dark"] #domain-availability-msg.border-red-200 {
    background: rgba(239,68,68,0.10) !important;
    border-color: rgba(239,68,68,0.25) !important;
    color: rgba(248,113,113,0.90) !important;
}
/* Error / warning banners */
html[data-theme="dark"] .order-professional .bg-red-50 {
    background: rgba(239,68,68,0.10) !important;
}
html[data-theme="dark"] .order-professional .border-red-200 {
    border-color: rgba(239,68,68,0.25) !important;
}
html[data-theme="dark"] .order-professional .text-red-600 {
    color: rgba(248,113,113,0.90) !important;
}
/* Strikethrough original price */
html[data-theme="dark"] .order-professional .line-through {
    color: rgba(255,255,255,0.30) !important;
}
/* Coupon row hover */
html[data-theme="dark"] .order-professional .hover\:bg-slate-50:hover {
    background: rgba(255,255,255,0.05) !important;
}
/* Trust footer strip */
html[data-theme="dark"] .order-professional .bg-slate-50.border-t {
    background: rgba(255,255,255,0.02) !important;
    border-top-color: rgba(255,255,255,0.05) !important;
}
/* Total Due Today amount — override brand primary with white for legibility on dark bg */
html[data-theme="dark"] .order-professional .text-3xl.font-black {
    color: #fff !important;
}
/* Payment logo pill containers — always white bg so logos are visible */
html[data-theme="dark"] .order-professional .bg-slate-50.border.border-slate-100.rounded-lg {
    background: rgba(255,255,255,0.92) !important;
    border-color: rgba(255,255,255,0.12) !important;
}
/* Order category tab scroll-fade: right-edge gradient affordance */
.ord-tabs-wrap::after {
    content: '';
    position: absolute;
    top: 0; right: 0; bottom: 0;
    width: 3rem;
    border-radius: 0 0.75rem 0.75rem 0;
    background: linear-gradient(to left, var(--color-surface-container-low, #eff4ff), transparent);
    pointer-events: none;
    z-index: 1;
}
html[data-theme="dark"] .ord-tabs-wrap::after {
    background: linear-gradient(to left, rgba(var(--color-surface-rgb, 9,11,21),0.95), transparent);
}
/* Coupon toggle button — dark mode hover */
html[data-theme="dark"] .order-professional button.hover\:bg-slate-50:hover {
    background: rgba(255,255,255,0.06) !important;
}
/* Mobile sticky checkout bar — dark mode */
html[data-theme="dark"] .mobile-checkout-bar {
    background: rgba(10,14,26,0.97) !important;
    border-top-color: rgba(255,255,255,0.10) !important;
}
html[data-theme="dark"] .mobile-checkout-bar .text-slate-500 {
    color: rgba(148,163,184,0.80) !important;
}
html[data-theme="dark"] .mobile-checkout-bar .text-slate-900 {
    color: #fff !important;
}

/* ── DOMAIN REGISTRATION PAGE (mod_order_domain_plans) dark mode ──────── */
/* Popular Extensions card "Register" button — text-primary on bg-primary/10
   = indigo on semi-transparent indigo → near invisible. Brighten the text. */
html[data-theme="dark"] .tld-card button.text-primary {
    color: rgb(var(--brand-200)) !important;
    border-color: rgba(var(--color-primary-rgb), 0.45) !important;
    background: rgba(var(--color-primary-rgb), 0.14) !important;
}
/* All Extensions table — registration price column uses text-primary (solid
   indigo on slate-800) → low contrast. Override to indigo-300 for WCAG AA compliance. */
html[data-theme="dark"] #dom-all-extensions .text-primary {
    color: rgb(var(--brand-300));
}
html[data-theme="dark"] #dom-all-extensions .text-indigo-500 {
    color: rgb(var(--brand-300));
}
/* All Extensions table — ghost "Register" button inside each row */
html[data-theme="dark"] #dom-all-extensions button.border-primary.text-primary {
    color: rgb(var(--brand-200)) !important;
    border-color: rgba(var(--color-primary-rgb), 0.50) !important;
}
html[data-theme="dark"] #dom-all-extensions button.border-primary.text-primary:hover {
    background: var(--color-primary) !important;
    color: #ffffff !important;
    border-color: var(--color-primary) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   §PUBLIC-LIGHT — Light mode overrides for layout_public.html.twig
   Public layout is dark-native; these rules activate on html[data-theme="light"]
   ═══════════════════════════════════════════════════════════════════════════ */

/* Body + page background */
html[data-theme="light"] body.bg-\[\#030712\] {
    background: #fbf8ff !important;
    color: #1a1b23 !important;
}

/* Sticky header / navbar */
html[data-theme="light"] .header-bar {
    background: rgba(255,255,255,0.97) !important;
    border-bottom-color: rgba(0,0,0,0.08) !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
}

/* Nav links */
html[data-theme="light"] .header-bar .nav-link {
    color: #475569 !important;
}
html[data-theme="light"] .header-bar .nav-link:hover {
    color: #0f172a !important;
    background: rgba(0,0,0,0.04) !important;
}

/* Header icon buttons (theme toggle, cart, account) */
html[data-theme="light"] .header-bar .public-theme-toggle {
    color: #64748b !important;
}
html[data-theme="light"] .header-bar .public-theme-toggle:hover {
    color: #0f172a !important;
    background: rgba(0,0,0,0.05) !important;
}
html[data-theme="light"] .header-bar a.relative.p-2\.5 {
    color: #64748b !important;
}
html[data-theme="light"] .header-bar a.relative.p-2\.5:hover {
    color: #0f172a !important;
    background: rgba(0,0,0,0.05) !important;
}
html[data-theme="light"] .header-bar button.text-gray-400 {
    color: #64748b !important;
}
html[data-theme="light"] .header-bar button.text-gray-400:hover {
    color: #0f172a !important;
    background: rgba(0,0,0,0.04) !important;
}

/* Logo */
html[data-theme="light"] .header-bar .logo-img {
    filter: brightness(0) saturate(100%) invert(20%) sepia(10%) saturate(200%) hue-rotate(180deg);
}

/* Dropdown menus */
html[data-theme="light"] .header-bar .bg-\[\#0d1424\] {
    background: #fff !important;
    border-color: rgba(0,0,0,0.08) !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.12), 0 2px 6px rgba(0,0,0,0.06) !important;
}
html[data-theme="light"] .header-bar .bg-\[\#0d1424\] a,
html[data-theme="light"] .header-bar .bg-\[\#0d1424\] button {
    color: #475569 !important;
}
html[data-theme="light"] .header-bar .bg-\[\#0d1424\] a:hover,
html[data-theme="light"] .header-bar .bg-\[\#0d1424\] button:hover {
    background: rgba(0,0,0,0.04) !important;
    color: #0f172a !important;
}

/* Mobile slide-down menu */
html[data-theme="light"] .header-bar > div[x-show] {
    background: #fff !important;
    border-top-color: rgba(0,0,0,0.06) !important;
}

/* Hero section — homepage domain search only; .ord-cat-header has its own overrides below */
html[data-theme="light"] section.relative.overflow-hidden:not(.ord-cat-header) {
    background: transparent;
}
html[data-theme="light"] section.relative.overflow-hidden:not(.ord-cat-header) h1,
html[data-theme="light"] section.relative.overflow-hidden:not(.ord-cat-header) h2,
html[data-theme="light"] section.relative.overflow-hidden:not(.ord-cat-header) h3 {
    color: #0f172a;
}
html[data-theme="light"] section.relative.overflow-hidden:not(.ord-cat-header) .text-white:not([style*="linear-gradient"]) {
    color: #0f172a;
}
html[data-theme="light"] section.relative.overflow-hidden:not(.ord-cat-header) .text-gray-400,
html[data-theme="light"] section.relative.overflow-hidden:not(.ord-cat-header) .text-gray-500,
html[data-theme="light"] section.relative.overflow-hidden:not(.ord-cat-header) .text-gray-300 {
    color: #475569;
}

/* Hero domain search input card */
html[data-theme="light"] section.relative.overflow-hidden:not(.ord-cat-header) .rounded-2xl.border {
    background: rgba(255,255,255,0.95) !important;
    border-color: rgba(0,0,0,0.10) !important;
}
html[data-theme="light"] section.relative.overflow-hidden:not(.ord-cat-header) .bg-transparent {
    color: #0f172a !important;
}
html[data-theme="light"] section.relative.overflow-hidden:not(.ord-cat-header) .placeholder-gray-500::placeholder {
    color: #94a3b8 !important;
}
html[data-theme="light"] section.relative.overflow-hidden:not(.ord-cat-header) .bg-white\/\[0\.06\] {
    background: rgba(0,0,0,0.04) !important;
    border-color: rgba(0,0,0,0.08) !important;
}

/* TLD pricing cards */
html[data-theme="light"] section.relative.overflow-hidden:not(.ord-cat-header) .rounded-xl.bg-white\/\[0\.03\] {
    background: #fff !important;
    border-color: rgba(0,0,0,0.08) !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06) !important;
}
html[data-theme="light"] section.relative.overflow-hidden:not(.ord-cat-header) .rounded-xl.bg-white\/\[0\.03\]:hover {
    background: #f5f7ff !important;
}

/* "Why Choose Us" section */
html[data-theme="light"] section.py-20.border-t.border-white\/5 {
    background: #fff !important;
    border-top-color: rgba(0,0,0,0.06) !important;
}

/* Glass feature cards */
html[data-theme="light"] .rounded-2xl.border.border-white\/\[0\.07\] {
    background: #fff !important;
    border-color: rgba(0,0,0,0.08) !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
}
html[data-theme="light"] .rounded-2xl.border.border-white\/\[0\.07\] .text-white,
html[data-theme="light"] .rounded-2xl.border.border-white\/\[0\.07\] h3 {
    color: #0f172a !important;
}
html[data-theme="light"] .rounded-2xl.border.border-white\/\[0\.07\] .text-gray-400,
html[data-theme="light"] .rounded-2xl.border.border-white\/\[0\.07\] .text-gray-500 {
    color: #64748b !important;
}

/* Section borders */
html[data-theme="light"] section.border-t.border-white\/5 {
    border-top-color: rgba(0,0,0,0.06) !important;
}

/* Footer — public layout footer (.footer-bar) already handled at line ~2026.
   No generic footer override here — it was incorrectly darkening the dashboard footer. */

/* CTA banner — "Ready to Get Started?" */
html[data-theme="light"] .pub-cta-section {
    border-top-color: rgba(0,0,0,0.06) !important;
}
html[data-theme="light"] .pub-cta-card {
    background: linear-gradient(135deg, rgba(var(--color-primary-rgb),0.06) 0%, rgb(var(--brand2-500) / 0.04) 100%) !important;
    border-color: rgba(var(--color-primary-rgb),0.12) !important;
}
html[data-theme="light"] .pub-cta-section .pub-cta-card h2 {
    color: #0f172a !important;
}
html[data-theme="light"] .pub-cta-section .pub-cta-card p {
    color: #64748b !important;
}
html[data-theme="light"] .pub-cta-section .pub-cta-card p.font-bold {
    color: #0f172a !important;
}
html[data-theme="light"] .pub-ghost-btn {
    background: rgba(0,0,0,0.04) !important;
    border-color: rgba(0,0,0,0.12) !important;
    color: #0f172a !important;
}
html[data-theme="light"] .pub-ghost-btn:hover {
    background: rgba(0,0,0,0.08) !important;
}
html[data-theme="light"] .pub-cta-section .bg-white\/10 {
    background: rgba(0,0,0,0.10) !important;
}

/* ============================================================
   MeroVPS — custom.css
   Custom styles that go beyond compiled Tailwind utilities.
   Loaded after tailwind.css and theme.css.
   ============================================================ */

/* ── Page content: fill all available space beside the sidebar ── */
.page-content-wrap {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

/* ── Two-column cart layout (order form) ── */
.order-two-col {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    align-items: start;
    width: 100%;
}
@media (min-width: 1024px) {
    .order-two-col {
        grid-template-columns: 1fr 360px;
    }
}

/* ── Consistent max-width for all order form pages ── */
/* Applied on .order-professional (order form) and .co-order-wrap (checkout) */
.order-professional,
.co-order-wrap {
    max-width: 72rem; /* 1152px — equivalent to Tailwind max-w-6xl */
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

/* ── Prevent Alpine.js flash of un-cloak'd content ── */
[x-cloak] { display: none !important; }

/* ── Hide scrollbar for horizontal scroll containers ── */
.scrollbar-none { scrollbar-width: none; }
.scrollbar-none::-webkit-scrollbar { display: none; }

/* ── Mobile: compact 2-col stat cards ── */
@media (max-width: 639px) {
    /* Card: tighter padding */
    .mob-stat-grid > a.group {
        padding: 0.875rem;
    }
    /* Icon container: smaller */
    .mob-stat-grid > a.group > div:first-child > div:first-child {
        width: 2.25rem;
        height: 2.25rem;
        border-radius: 0.5rem;
    }
    .mob-stat-grid > a.group > div:first-child > div:first-child svg {
        width: 1.125rem;
        height: 1.125rem;
    }
    /* Category label */
    .mob-stat-grid > a.group > div:first-child > span {
        font-size: 0.6rem;
        letter-spacing: 0.06em;
    }
    /* Stat number */
    .mob-stat-grid > a.group h3 {
        font-size: 1.375rem;
        line-height: 1.2;
    }
    /* Subtitle */
    .mob-stat-grid > a.group p {
        font-size: 0.6875rem;
    }
    /* Reduce gap between icon row and number */
    .mob-stat-grid > a.group > div:first-child {
        margin-bottom: 0.75rem;
    }
}

/* ── Checkout form shared components ── */
.co-input {
    width: 100%;
    padding: .75rem 1rem;
    border-radius: .75rem;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.04);
    color: #f3f4f6;
    font-size: .875rem;
    transition: border-color .15s, box-shadow .15s;
    outline: none;
}
.co-input:focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), .15);
    background: rgba(255,255,255,.06);
}
.co-input::placeholder { color: rgba(255,255,255,.25); }
.co-input option { background: #1e1e2e; color: #f3f4f6; }
.co-label {
    display: block;
    font-size: .875rem;
    font-weight: 600;
    color: #d1d5db;
    margin-bottom: .375rem;
}

.co-input:disabled {
    opacity: .6;
    cursor: not-allowed;
}

.co-input[aria-invalid="true"],
.co-input.is-required {
    border-color: rgba(239,68,68,.65) !important;
    box-shadow: 0 0 0 3px rgba(239,68,68,.14);
}
.co-section {
    font-size: .8125rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--color-primary);
    padding-bottom: .75rem;
    border-bottom: 1px solid rgba(var(--color-primary-rgb), .15);
    margin-bottom: 1rem;
}

html[data-theme="light"] .co-input {
    background: rgba(255,255,255,.9);
    border-color: rgba(var(--color-primary-rgb), .22);
    color: #0f172a;
    box-shadow: 0 1px 3px rgba(15,23,42,.06);
}

html[data-theme="light"] .co-input:focus {
    border-color: rgba(var(--color-primary-rgb), .55);
    box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), .14);
    background: #fff;
}

html[data-theme="light"] .co-input::placeholder {
    color: #94a3b8;
}

html[data-theme="light"] .co-label {
    color: #334155;
}

html[data-theme="light"] .co-section {
    color: rgb(var(--brand-700));
    border-bottom-color: rgba(var(--color-primary-rgb), .24);
}

/* Partnership program page */
.pp-program {
    max-width: 80rem;
    margin-inline: auto;
}

.pp-hero {
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 1rem;
    background:
        radial-gradient(120% 120% at 0% 0%, rgba(var(--color-primary-rgb), .20), transparent 48%),
        radial-gradient(130% 130% at 100% 100%, rgba(56,189,248,.13), transparent 52%),
        rgba(255,255,255,.03);
    box-shadow: 0 16px 40px rgba(2,6,23,.26);
    overflow: hidden;
}

.pp-hero-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
    padding: 1.5rem;
}

@media (min-width: 768px) {
    .pp-hero-grid {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 2rem;
        padding: 2rem;
    }
}

.pp-kicker {
    display: inline-block;
    margin-bottom: .65rem;
    padding: .25rem .65rem;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: rgba(var(--color-primary-rgb), 1);
    background: rgba(var(--color-primary-rgb), .16);
}

.pp-title {
    font-size: clamp(1.4rem, 2.8vw, 2rem);
    font-weight: 800;
    color: rgba(255,255,255,.96);
    line-height: 1.2;
}

.pp-subtitle {
    color: rgba(255,255,255,.70);
    max-width: 54ch;
}

.pp-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    min-width: 15rem;
}

.pp-stat {
    border: 1px solid rgba(255,255,255,.14);
    border-radius: .875rem;
    background: rgba(15,23,42,.42);
    padding: .875rem .9rem;
}

.pp-stat-label {
    font-size: .72rem;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: rgba(255,255,255,.56);
}

.pp-stat-value {
    font-size: 1.35rem;
    font-weight: 800;
    color: rgba(255,255,255,.95);
    line-height: 1.2;
}

.pp-note {
    border: 1px solid rgba(var(--color-primary-rgb), .22);
    border-radius: .875rem;
    background: rgba(var(--color-primary-rgb), .10);
    color: rgba(255,255,255,.86);
    padding: .875rem 1rem;
    font-size: .9rem;
}

.pp-section {
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 1rem;
    background: rgba(255,255,255,.02);
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(2,6,23,.20);
}

.pp-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 1rem 1.1rem;
    border-bottom: 1px solid rgba(255,255,255,.09);
    background: rgba(15,23,42,.45);
}

.pp-section-title {
    font-size: 1.08rem;
    font-weight: 800;
    color: rgba(255,255,255,.93);
}

.pp-section-meta {
    font-size: .8rem;
    color: rgba(255,255,255,.58);
}

.pp-table-wrap {
    overflow-x: auto;
}

.pp-table {
    margin: 0;
}

.pp-table > :not(caption) > * > * {
    border-bottom-color: rgba(255,255,255,.08);
    padding: .9rem 1.05rem;
    background: transparent;
}

.pp-table thead th {
    border-bottom-width: 1px;
    font-size: .72rem;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: rgba(255,255,255,.56);
    white-space: nowrap;
}

.pp-table tbody tr:hover {
    background: rgba(255,255,255,.03);
}

.pp-strong {
    font-weight: 700;
    color: rgba(255,255,255,.92);
}

.pp-muted {
    margin-top: .2rem;
    font-size: .77rem;
    color: rgba(255,255,255,.53);
}

.pp-price {
    font-weight: 800;
    color: rgba(var(--color-primary-rgb), .98);
}

.pp-regular-price {
    color: rgba(255,255,255,.84);
    font-weight: 600;
}

.pp-discount-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 4.5rem;
    padding: .2rem .55rem;
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .01em;
}

.pp-discount-badge.is-positive {
    background: rgba(16,185,129,.20);
    color: #34d399;
    border: 1px solid rgba(16,185,129,.34);
}

.pp-discount-badge.is-neutral {
    background: rgba(148,163,184,.16);
    color: rgba(255,255,255,.78);
    border: 1px solid rgba(148,163,184,.28);
}

.pp-na {
    color: rgba(255,255,255,.45);
    font-size: .8rem;
}

.pp-empty {
    padding: 1.5rem 1.1rem;
}

.pp-empty-title {
    font-size: 1rem;
    font-weight: 700;
    color: rgba(255,255,255,.88);
    margin-bottom: .35rem;
}

.pp-empty-text {
    color: rgba(255,255,255,.62);
    max-width: 70ch;
}

html[data-theme="light"] .pp-hero {
    border-color: rgba(var(--color-primary-rgb), .18);
    background:
        radial-gradient(120% 120% at 0% 0%, rgba(var(--color-primary-rgb), .16), transparent 50%),
        radial-gradient(130% 130% at 100% 100%, rgba(56,189,248,.11), transparent 52%),
        #ffffff;
    box-shadow: 0 12px 30px rgba(15,23,42,.08);
}

html[data-theme="light"] .pp-title {
    color: #0b1c30;
}

html[data-theme="light"] .pp-subtitle {
    color: #42566e;
}

html[data-theme="light"] .pp-stat {
    border-color: rgba(var(--color-primary-rgb), .18);
    background: rgba(var(--color-primary-rgb), .06);
}

html[data-theme="light"] .pp-stat-label {
    color: #556b84;
}

html[data-theme="light"] .pp-stat-value {
    color: #0b1c30;
}

html[data-theme="light"] .pp-note {
    border-color: rgba(var(--color-primary-rgb), .24);
    background: rgba(var(--color-primary-rgb), .08);
    color: #223c56;
}

html[data-theme="light"] .pp-section {
    border-color: rgba(var(--color-primary-rgb), .15);
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(15,23,42,.06);
}

html[data-theme="light"] .pp-section-head {
    border-bottom-color: rgba(var(--color-primary-rgb), .14);
    background: rgba(var(--color-primary-rgb), .04);
}

html[data-theme="light"] .pp-section-title,
html[data-theme="light"] .pp-strong,
html[data-theme="light"] .pp-empty-title {
    color: #0b1c30;
}

html[data-theme="light"] .pp-regular-price {
    color: #334e68;
}

html[data-theme="light"] .pp-section-meta,
html[data-theme="light"] .pp-muted,
html[data-theme="light"] .pp-empty-text {
    color: #556b84;
}

html[data-theme="light"] .pp-table > :not(caption) > * > * {
    border-bottom-color: rgba(var(--color-primary-rgb), .12);
}

html[data-theme="light"] .pp-table thead th {
    color: #556b84;
}

html[data-theme="light"] .pp-table tbody tr:hover {
    background: rgba(var(--color-primary-rgb), .04);
}

html[data-theme="light"] .pp-discount-badge.is-positive {
    color: #047857;
    border-color: rgba(16,185,129,.32);
    background: rgba(16,185,129,.14);
}

html[data-theme="light"] .pp-discount-badge.is-neutral {
    color: #475569;
    border-color: rgba(148,163,184,.3);
    background: rgba(148,163,184,.14);
}

html[data-theme="light"] .pp-na {
    color: #64748b;
}

/* ── Sticky sidebar inside .order-two-col ── */
@media (min-width: 1024px) {
    .co-sidebar-outer {
        position: sticky;
        top: 5rem;
        align-self: flex-start;
    }
}
/* ================================================================
   REFERENCE PORTAL SHELL
   Quiet black/yellow account-portal language used by the dashboard.
   ================================================================ */
:root {
    --ref-ink: #050b1c;
    --ref-primary: #5271ff;
    --ref-primary-hover: #4363f1;
    --ref-canvas: #fbf8ff;
    --ref-surface-low: #f3f2fe;
    --ref-line: #e2e4ec;
    --ref-muted: #656879;
    --ref-success: #159967;
}

html[data-theme="light"] body {
    background: var(--ref-canvas);
    color: #1a1b23;
    font-family: var(--font-brand-sans);
}

html[data-theme="light"] #global-topbar {
    background: rgba(255,255,255,.92);
    border-color: rgba(196,197,215,.45);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

html[data-theme="light"] #sidebar {
    background: #fff;
    border-color: var(--ref-line);
}

html[data-theme="light"] #sidebar nav a,
html[data-theme="light"] #sidebar nav button {
    color: #252529;
    border-left: 0;
    border-radius: 9px;
}

html[data-theme="light"] #sidebar nav a:hover,
html[data-theme="light"] #sidebar nav button:hover,
html[data-theme="light"] #sidebar nav a.bg-violet-50 {
    color: var(--ref-primary);
    background: var(--ref-surface-low);
}

html[data-theme="light"] #sidebar nav > div:first-child button,
html[data-theme="light"] #sidebar nav > div:first-child a {
    min-height: 48px;
    color: #fff;
    background: var(--ref-primary) !important;
    border-radius: 12px;
    box-shadow: 0 13px 28px rgba(82,113,255,.24);
}

html[data-theme="light"] #sidebar nav > div:first-child button:hover,
html[data-theme="light"] #sidebar nav > div:first-child a:hover {
    background: var(--ref-primary-hover) !important;
}

.ref-dashboard-hero {
    min-height: 148px;
    padding: 32px 4rem 68px;
    position: relative;
    overflow: hidden;
    background-color: var(--ref-ink);
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
        radial-gradient(70% 140% at 12% 0%, rgba(82,113,255,.32), transparent 62%),
        radial-gradient(55% 100% at 92% 100%, rgba(87,200,255,.15), transparent 66%);
    background-size: 32px 32px, 32px 32px, auto, auto;
    color: white;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
}

.ref-dashboard-hero h1 {
    margin: 7px 0 0;
    font-size: clamp(1.4rem, 2vw, 1.65rem);
    line-height: 1.2;
    font-family: var(--font-brand-display);
    font-weight: 700;
    letter-spacing: -.04em;
    text-shadow: 0 2px 18px rgba(0,0,0,.18);
}

.ref-dashboard-hero > * {
    position: relative;
    z-index: 1;
}

html[data-theme="light"] .ref-dashboard-hero h1,
html[data-theme="dark"] .ref-dashboard-hero h1 {
    color: #fff !important;
}

.ref-dashboard-hero-actions,
.ref-product-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.ref-btn {
    min-height: 48px;
    padding: 0 1.35rem;
    border: 1px solid var(--ref-line);
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    color: #151518;
    background: #fff;
    font-size: .9rem;
    font-family: var(--font-brand-sans);
    font-weight: 650;
    line-height: 1;
    white-space: nowrap;
    transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}

.ref-btn:hover {
    color: #151518;
    border-color: #cfcfcf;
    transform: translateY(-1px);
}

.ref-btn svg {
    width: 21px;
    height: 21px;
}

.ref-btn-yellow {
    color: #fff;
    background: var(--ref-primary);
    border-color: var(--ref-primary);
    box-shadow: 0 13px 28px rgba(82,113,255,.24);
}

.ref-btn-yellow:hover {
    color: #fff;
    background: var(--ref-primary-hover);
    border-color: var(--ref-primary-hover);
    box-shadow: 0 16px 32px rgba(82,113,255,.30);
}

.ref-dashboard {
    width: 100%;
    margin-top: -69px;
    position: relative;
    z-index: 2;
}

.ref-dashboard::before {
    content: "";
    position: fixed;
    inset: var(--portal-shell-header-height, 4rem) 0 0 17.25rem;
    z-index: -1;
    pointer-events: none;
    background-image:
        radial-gradient(circle at 15% 18%, rgba(82,113,255,.075), transparent 26rem),
        radial-gradient(circle at 86% 62%, rgba(147,125,255,.06), transparent 30rem),
        radial-gradient(circle, rgba(82,113,255,.10) 1px, transparent 1.2px);
    background-size: auto, auto, 24px 24px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.56), transparent 58%);
    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,.56), transparent 58%);
}

.ref-service-summary {
    min-height: 86px;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    background: #fff;
    border: 1px solid rgba(82,113,255,.14);
    border-radius: 12px 12px 0 0;
    overflow: hidden;
    box-shadow: 0 14px 35px rgba(31,42,85,.07);
}

.ref-summary-item {
    min-width: 0;
    padding: 1.25rem 1.4rem;
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    color: #202024;
    border-right: 1px solid var(--ref-line);
}

.ref-summary-item:last-child { border-right: 0; }
.ref-summary-item:hover {
    color: var(--ref-primary);
    background: var(--ref-surface-low);
}
.ref-summary-icon svg,
.ref-product-group-title svg,
.ref-todo-row > svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ref-summary-label {
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: .88rem;
    white-space: nowrap;
}

.ref-summary-item strong {
    font-size: 1.25rem;
    font-weight: 600;
}

.ref-panel {
    margin-top: 20px;
    background: #fff;
    border: 1px solid rgba(82,113,255,.12);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 14px 35px rgba(31,42,85,.045);
}

.ref-panel-title {
    min-height: 76px;
    padding: 0 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.ref-panel-title h2 {
    margin: 0;
    font-size: 1.15rem;
    font-family: var(--font-brand-display);
    font-weight: 700;
    letter-spacing: -.035em;
}

.ref-panel-title > span,
.ref-panel-title > a {
    color: var(--ref-muted);
    font-size: .82rem;
    font-weight: 600;
}

.ref-progress-tabs {
    margin: 0 1.5rem 12px;
    min-height: 48px;
    padding: 3px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    background: var(--ref-surface-low);
    border-radius: 11px;
    color: #777;
    font-size: .85rem;
    text-align: center;
}

.ref-progress-tabs > div {
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
}

.ref-progress-tabs .active {
    color: #343438;
    background: #fff;
    border: 1px solid #ededed;
    border-radius: 9px;
}

.ref-check,
.ref-count {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: inline-grid;
    place-items: center;
    color: #fff;
    background: var(--ref-success);
    font-size: .7rem;
    font-weight: 700;
}

.ref-count { background: var(--ref-primary); }

.ref-todo-list { padding: 0 1.5rem 20px; }
.ref-todo-row {
    min-height: 76px;
    padding: .75rem 0;
    display: grid;
    grid-template-columns: 24px 1fr 44px;
    align-items: center;
    gap: .75rem;
    color: #26262a;
    border-bottom: 1px solid #efefef;
}

.ref-todo-row:last-child { border-bottom: 0; }
.ref-todo-row span { display: flex; flex-direction: column; }
.ref-todo-row strong { font-size: .9rem; font-weight: 550; }
.ref-todo-row small { margin-top: .2rem; color: var(--ref-muted); font-size: .82rem; }
.ref-todo-row b {
    width: 40px;
    height: 40px;
    border: 1px solid var(--ref-line);
    border-radius: 10px;
    display: grid;
    place-items: center;
    font-size: 1rem;
}
.ref-todo-row.completed { color: #858585; }
.ref-todo-row.completed strong,
.ref-todo-row.completed small { text-decoration: line-through; }
.ref-todo-row.completed b {
    width: 24px;
    height: 24px;
    justify-self: end;
    color: #fff;
    background: var(--ref-success);
    border: 0;
    border-radius: 50%;
    font-size: .72rem;
}

.ref-products { margin-bottom: 1.25rem; }
.ref-product-group { margin: 0 1.5rem 1.5rem; border: 1px solid var(--ref-line); border-radius: 10px; overflow: hidden; }
.ref-product-group-title {
    min-height: 82px;
    padding: 0 1.5rem;
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--ref-line);
}
.ref-product-group-title span { display: flex; align-items: center; gap: .75rem; font-size: .9rem; font-weight: 550; }
.ref-product-row {
    min-height: 88px;
    padding: 1rem 1.5rem 1rem 3.5rem;
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto auto;
    align-items: center;
    gap: 1.5rem;
    border-bottom: 1px solid var(--ref-line);
}
.ref-product-row:last-child { border-bottom: 0; }
.ref-product-row > div:first-child { display: flex; flex-direction: column; }
.ref-product-row strong { font-size: .9rem; font-weight: 600; }
.ref-product-row small { margin-top: .25rem; color: var(--ref-muted); font-size: .78rem; }
.ref-status { display: inline-flex; align-items: center; gap: .35rem; color: var(--ref-success); font-size: .75rem; }
.ref-status i { width: 8px; height: 8px; border-radius: 50%; background: var(--ref-success); }
.ref-product-row .ref-btn { min-height: 40px; padding: 0 1rem; font-size: .78rem; }
.ref-product-empty { min-height: 120px; padding: 1.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.ref-product-empty p { margin: 0; color: var(--ref-muted); }

/* New dashboard dark-mode coverage. These components are deliberately
   light-first, so they need explicit surfaces instead of inherited text hacks. */
html[data-theme="dark"] .ref-dashboard::before {
    opacity: .28;
}

html[data-theme="dark"] .ref-service-summary,
html[data-theme="dark"] .ref-panel,
html[data-theme="dark"] .ref-progress-tabs .active,
html[data-theme="dark"] .ref-product-group {
    background: #0f172a;
    border-color: rgba(255,255,255,.09);
    color: #f8fafc;
}

html[data-theme="dark"] .ref-summary-item,
html[data-theme="dark"] .ref-todo-row,
html[data-theme="dark"] .ref-product-group-title,
html[data-theme="dark"] .ref-product-row {
    color: #e5e7eb;
    border-color: rgba(255,255,255,.07);
}

html[data-theme="dark"] .ref-summary-item:hover {
    color: #c7d2fe;
    background: rgba(82,113,255,.10);
}

html[data-theme="dark"] .ref-progress-tabs {
    color: #94a3b8;
    background: rgba(255,255,255,.05);
}

html[data-theme="dark"] .ref-progress-tabs .active,
html[data-theme="dark"] .ref-panel-title h2,
html[data-theme="dark"] .ref-product-row strong {
    color: #f8fafc;
}

html[data-theme="dark"] .ref-todo-row small,
html[data-theme="dark"] .ref-product-row small,
html[data-theme="dark"] .ref-panel-title > span,
html[data-theme="dark"] .ref-panel-title > a,
html[data-theme="dark"] .ref-product-empty p {
    color: #94a3b8;
}

html[data-theme="dark"] .ref-btn-light {
    color: #e5e7eb;
    background: rgba(255,255,255,.06);
    border-color: rgba(255,255,255,.12);
}

html[data-theme="dark"] .ref-btn-light:hover {
    color: #fff;
    background: rgba(255,255,255,.11);
    border-color: rgba(255,255,255,.20);
}

/* ================================================================
   SUPPORT PAGE — reference portal hierarchy
   ================================================================ */
.ref-support-page {
    margin-top: -1.25rem;
}

.ref-support-breadcrumb {
    height: 52px;
    margin-inline: -4rem;
    padding-inline: 2rem;
    display: flex;
    align-items: center;
    gap: .7rem;
    background: #fff;
    border-bottom: 1px solid var(--ref-line);
    color: var(--ref-muted);
    font-size: .82rem;
}

.ref-support-breadcrumb a {
    color: var(--ref-muted);
}

.ref-support-breadcrumb a:hover {
    color: var(--ref-primary);
}

.ref-support-breadcrumb span {
    color: #1a1b23;
    font-weight: 600;
}

.ref-support-breadcrumb svg {
    width: 13px;
    height: 13px;
}

.ref-support-hero {
    min-height: 148px;
    margin-top: 0 !important;
    margin-inline: -4rem;
    padding: 2rem 4rem 4.2rem;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
    color: #fff;
    background-color: var(--ref-ink);
    background-image:
        linear-gradient(rgba(255,255,255,.032) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.032) 1px, transparent 1px),
        radial-gradient(70% 150% at 12% 0%, rgba(82,113,255,.3), transparent 62%),
        radial-gradient(45% 100% at 94% 100%, rgba(87,200,255,.13), transparent 66%);
    background-size: 32px 32px, 32px 32px, auto, auto;
}

.ref-support-hero > * {
    position: relative;
    z-index: 1;
}

html[data-theme="light"] .ref-support-hero h1,
html[data-theme="dark"] .ref-support-hero h1 {
    margin: .45rem 0 0;
    color: #fff !important;
    font-family: var(--font-brand-display);
    font-size: 1.55rem;
    font-weight: 700;
    letter-spacing: -.04em;
}

.ref-support-stats {
    min-height: 84px;
    margin-top: -60px !important;
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    background: #fff;
    border: 1px solid rgba(82,113,255,.13);
    border-radius: 14px;
    box-shadow: 0 14px 35px rgba(31,42,85,.07);
    overflow: hidden;
}

.ref-support-stat {
    min-width: 0;
    padding: 1.2rem 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    border-right: 1px solid var(--ref-line);
}

.ref-support-stat:last-child {
    border-right: 0;
}

.ref-support-stat span {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: .75rem;
    color: #303039;
    font-size: .86rem;
    white-space: nowrap;
}

.ref-support-stat svg {
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ref-support-stat strong {
    color: #1a1b23;
    font-size: 1.55rem;
    font-weight: 650;
    font-variant-numeric: tabular-nums;
}

.ref-support-notice {
    padding: 1.2rem 1.25rem;
    border: 1px solid rgba(82,113,255,.12);
    border-radius: 14px;
    color: #27314f;
    background: #edf1ff;
}

.ref-support-notice > strong {
    display: block;
    margin-bottom: .65rem;
    color: #1a1b23;
    font-size: .94rem;
}

.ref-support-notice p {
    margin: 0;
    color: #444655;
    font-size: .86rem;
    line-height: 1.65;
}

.ref-support-controls input,
.ref-support-controls button {
    min-height: 42px;
    border-radius: 10px;
    box-shadow: none;
}

.ref-support-results {
    border: 0;
    border-radius: 14px;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}

.ref-support-results > div:first-child {
    min-height: 50px;
    padding: 4px;
    border: 0;
    border-radius: 12px;
    background: #f1f1f2;
}

.ref-support-results > div:first-child > a {
    padding-block: .65rem;
    border: 0;
    border-radius: 9px;
    color: #777;
    font-weight: 500;
}

.ref-support-results > div:first-child > a.border-indigo-500 {
    color: #303039;
    background: #fff;
    box-shadow: 0 1px 4px rgba(31,42,85,.08);
}

.ref-support-results > div:nth-child(2),
.ref-support-results > .py-16 {
    margin-top: 2.5rem;
    border: 1px solid var(--ref-line);
    border-radius: 14px;
    background: rgba(255,255,255,.74);
    overflow: hidden;
}

html[data-theme="dark"] .ref-support-breadcrumb {
    background: #0f172a;
    border-color: rgba(255,255,255,.08);
}

html[data-theme="dark"] .ref-support-breadcrumb span,
html[data-theme="dark"] .ref-support-stat strong,
html[data-theme="dark"] .ref-support-notice > strong {
    color: #f8fafc;
}

html[data-theme="dark"] .ref-support-stats,
html[data-theme="dark"] .ref-support-results > div:first-child,
html[data-theme="dark"] .ref-support-results > div:nth-child(2),
html[data-theme="dark"] .ref-support-results > .py-16 {
    background: #0f172a;
    border-color: rgba(255,255,255,.09);
}

html[data-theme="dark"] .ref-support-stat {
    border-color: rgba(255,255,255,.08);
}

html[data-theme="dark"] .ref-support-stat span {
    color: #cbd5e1;
}

html[data-theme="dark"] .ref-support-notice {
    color: #dbe4ff;
    background: rgba(82,113,255,.12);
    border-color: rgba(82,113,255,.24);
}

html[data-theme="dark"] .ref-support-notice p {
    color: #cbd5e1;
}

html[data-theme="dark"] .ref-support-results > div:first-child > a.border-indigo-500 {
    color: #fff;
    background: rgba(255,255,255,.08);
    box-shadow: none;
}

@media (max-width: 900px) {
    .ref-support-breadcrumb,
    .ref-support-hero {
        margin-inline: -2rem;
    }
    .ref-support-hero {
        padding-inline: 2rem;
    }
}

@media (max-width: 700px) {
    .ref-support-page { margin-top: -1rem; }
    .ref-support-breadcrumb,
    .ref-support-hero { margin-inline: -1rem; }
    .ref-support-breadcrumb { padding-inline: 1rem; }
    .ref-support-hero {
        min-height: 178px;
        padding: 1.5rem 1rem 5rem;
        flex-direction: column;
    }
    .ref-support-hero .ref-btn { width: 100%; }
    .ref-support-stats {
        grid-template-columns: 1fr;
        margin-top: -50px !important;
    }
    .ref-support-stat {
        min-height: 66px;
        border-right: 0;
        border-bottom: 1px solid var(--ref-line);
    }
    .ref-support-stat:last-child { border-bottom: 0; }
    .ref-support-controls {
        align-items: stretch;
        flex-direction: column;
    }
    .ref-support-controls > div { width: 100%; }
    .ref-support-controls button { width: 100%; justify-content: space-between; }
}

/* ================================================================
   SUPPORT TICKET DETAIL
   ================================================================ */
.ref-ticket-page {
    margin-top: -1.25rem;
}

.ref-ticket-breadcrumb {
    height: 52px;
    margin-inline: -4rem;
    padding-inline: 2rem;
    display: flex;
    align-items: center;
    gap: .7rem;
    color: var(--ref-muted);
    background: #fff;
    border-bottom: 1px solid var(--ref-line);
    font-size: .82rem;
}

.ref-ticket-breadcrumb a { color: var(--ref-muted); }
.ref-ticket-breadcrumb a:hover { color: var(--ref-primary); }
.ref-ticket-breadcrumb span { color: #1a1b23; font-weight: 600; }
.ref-ticket-breadcrumb svg { width: 13px; height: 13px; flex: 0 0 auto; }

.ref-ticket-hero {
    min-height: 112px;
    margin-top: 0 !important;
    margin-inline: -4rem;
    padding: 2rem 4rem;
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
    color: #fff;
    background-color: var(--ref-ink);
    background-image:
        linear-gradient(rgba(255,255,255,.032) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.032) 1px, transparent 1px),
        radial-gradient(70% 150% at 12% 0%, rgba(82,113,255,.3), transparent 62%),
        radial-gradient(45% 100% at 94% 100%, rgba(87,200,255,.13), transparent 66%);
    background-size: 32px 32px, 32px 32px, auto, auto;
}

html[data-theme="light"] .ref-ticket-hero h1,
html[data-theme="dark"] .ref-ticket-hero h1 {
    margin: .4rem 0 0;
    color: #fff !important;
    font-family: var(--font-brand-display);
    font-size: 1.55rem;
    font-weight: 700;
    letter-spacing: -.04em;
}

.ref-ticket-hero .ref-btn {
    min-height: 48px;
}

.ref-ticket-main {
    display: flex;
    flex-direction: column;
}

.ref-ticket-reply { order: 1; }
.ref-ticket-tabs { order: 2; }
.ref-ticket-thread { order: 3; }

.ref-ticket-reply {
    border-color: var(--ref-line);
    border-radius: 14px;
    box-shadow: none;
}

.ref-ticket-reply > div:first-child {
    background: var(--ref-surface-low);
}

.ref-ticket-reply textarea {
    min-height: 132px;
    background: #fff;
}

.ref-ticket-tabs {
    min-height: 50px;
    padding: 4px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    border-radius: 12px;
    background: #f1f1f2;
    color: #777;
    font-size: .84rem;
    text-align: center;
}

.ref-ticket-tabs span,
.ref-ticket-tabs button {
    min-height: 42px;
    display: grid;
    place-items: center;
    border-radius: 9px;
}

.ref-ticket-tabs .active {
    color: #303039;
    background: #fff;
    box-shadow: 0 1px 4px rgba(31,42,85,.08);
}

.ref-ticket-thread {
    padding: 2.25rem .5rem 0;
}

.ref-ticket-thread > div {
    position: relative;
}

.ref-ticket-thread .rounded-xl {
    border-color: var(--ref-line);
    border-radius: 12px;
    box-shadow: none;
}

.ref-ticket-thread .border-l-2 {
    border-left-width: 1px;
    border-left-color: rgba(82,113,255,.28);
}

.ref-ticket-sidebar {
    position: sticky;
    top: 1.5rem;
}

.ref-ticket-details {
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}

.ref-ticket-details > div:first-child {
    padding: .1rem 0 1rem;
    border-color: var(--ref-line);
}

.ref-ticket-details > div:first-child h3 {
    font-family: var(--font-brand-display);
    font-size: .95rem;
    font-weight: 700;
}

.ref-ticket-details > div:nth-child(2) {
    padding: 0;
    border: 1px solid var(--ref-line);
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}

.ref-ticket-details > div:nth-child(2) > div {
    min-height: 44px;
    padding: .65rem .9rem;
    border-bottom: 1px solid var(--ref-line);
}

.ref-ticket-details > div:nth-child(2) > div:last-child {
    border-bottom: 0;
}

.ref-ticket-details > div:nth-child(2) span {
    font-size: .82rem;
}

.ref-ticket-details > div:last-child:not(:nth-child(2)) {
    margin-top: 1rem;
    padding: .75rem;
    border: 1px solid var(--ref-line);
    border-radius: 12px;
    background: #fff;
}

html[data-theme="dark"] .ref-ticket-breadcrumb {
    color: #94a3b8;
    background: #0f172a;
    border-color: rgba(255,255,255,.08);
}

html[data-theme="dark"] .ref-ticket-breadcrumb span {
    color: #f8fafc;
}

html[data-theme="dark"] .ref-ticket-reply,
html[data-theme="dark"] .ref-ticket-reply textarea,
html[data-theme="dark"] .ref-ticket-tabs,
html[data-theme="dark"] .ref-ticket-details > div:nth-child(2),
html[data-theme="dark"] .ref-ticket-details > div:last-child:not(:nth-child(2)) {
    color: #e5e7eb;
    background: #0f172a;
    border-color: rgba(255,255,255,.09);
}

html[data-theme="dark"] .ref-ticket-reply > div:first-child {
    background: rgba(255,255,255,.04);
}

html[data-theme="dark"] .ref-ticket-tabs .active {
    color: #fff;
    background: rgba(255,255,255,.08);
    box-shadow: none;
}

html[data-theme="dark"] .ref-ticket-details > div:nth-child(2) > div {
    border-color: rgba(255,255,255,.08);
}

@media (max-width: 1023px) {
    .ref-ticket-sidebar { position: static; }
}

@media (max-width: 900px) {
    .ref-ticket-breadcrumb,
    .ref-ticket-hero { margin-inline: -2rem; }
    .ref-ticket-hero { padding-inline: 2rem; }
}

@media (max-width: 700px) {
    .ref-ticket-page { margin-top: -1rem; }
    .ref-ticket-breadcrumb,
    .ref-ticket-hero { margin-inline: -1rem; }
    .ref-ticket-breadcrumb { padding-inline: 1rem; overflow-x: auto; white-space: nowrap; }
    .ref-ticket-hero {
        padding: 1.5rem 1rem;
        flex-direction: column;
    }
    .ref-ticket-hero .relative,
    .ref-ticket-hero .ref-btn { width: 100%; }
    .ref-ticket-thread { padding-inline: 0; }
}

/* Ticket-detail motion language */
@keyframes ref-ticket-fade-up {
    from { opacity: 0; transform: translateY(12px); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes ref-ticket-fade-in {
    from { opacity: 0; }
    to   { opacity: 1; }
}

@keyframes ref-ticket-grid-drift {
    from { background-position: 0 0, 0 0, center, center; }
    to   { background-position: 32px 16px, 16px 32px, center, center; }
}

@keyframes ref-ticket-pulse-ring {
    0%, 100% { box-shadow: 0 0 0 0 rgba(82,113,255,0); }
    50%      { box-shadow: 0 0 0 5px rgba(82,113,255,.08); }
}

.ref-ticket-breadcrumb {
    animation: ref-ticket-fade-in .28s ease-out both;
}

.ref-ticket-hero {
    animation:
        ref-ticket-fade-in .35s ease-out both,
        ref-ticket-grid-drift 18s linear infinite alternate;
}

.ref-ticket-hero h1 {
    animation: ref-ticket-fade-up .42s .06s cubic-bezier(.2,.8,.2,1) both;
}

.ref-ticket-hero > .relative {
    animation: ref-ticket-fade-up .42s .12s cubic-bezier(.2,.8,.2,1) both;
}

.ref-ticket-hero .ref-btn,
.ref-ticket-reply button,
.ref-ticket-details button {
    transition:
        color .18s ease,
        background-color .18s ease,
        border-color .18s ease,
        box-shadow .2s ease,
        transform .18s cubic-bezier(.2,.8,.2,1);
}

.ref-ticket-hero .ref-btn:hover,
.ref-ticket-reply button:hover,
.ref-ticket-details button:hover {
    transform: translateY(-2px);
}

.ref-ticket-hero .ref-btn:active,
.ref-ticket-reply button:active,
.ref-ticket-details button:active {
    transform: translateY(0) scale(.98);
}

.ref-ticket-main {
    animation: ref-ticket-fade-up .42s .1s cubic-bezier(.2,.8,.2,1) both;
}

.ref-ticket-sidebar {
    animation: ref-ticket-fade-up .42s .16s cubic-bezier(.2,.8,.2,1) both;
}

.ref-ticket-reply {
    transition: border-color .2s ease, box-shadow .25s ease, transform .22s ease;
}

.ref-ticket-reply:focus-within {
    border-color: rgba(82,113,255,.42);
    box-shadow: 0 12px 30px rgba(31,42,85,.08), 0 0 0 3px rgba(82,113,255,.08);
}

.ref-ticket-tabs button {
    position: relative;
    color: inherit;
    transition:
        color .18s ease,
        background-color .22s ease,
        box-shadow .22s ease,
        transform .18s ease;
}

.ref-ticket-tabs button:hover:not(.active) {
    color: var(--ref-primary);
    background: rgba(82,113,255,.055);
}

.ref-ticket-tabs button:active {
    transform: scale(.985);
}

.ref-ticket-thread > div {
    animation: ref-ticket-fade-up .38s cubic-bezier(.2,.8,.2,1) both;
}

.ref-ticket-thread > div:nth-child(1) { animation-delay: .14s; }
.ref-ticket-thread > div:nth-child(2) { animation-delay: .19s; }
.ref-ticket-thread > div:nth-child(3) { animation-delay: .24s; }
.ref-ticket-thread > div:nth-child(4) { animation-delay: .29s; }
.ref-ticket-thread > div:nth-child(5) { animation-delay: .34s; }
.ref-ticket-thread > div:nth-child(n+6) { animation-delay: .39s; }

.ref-ticket-thread .rounded-xl {
    transition:
        border-color .2s ease,
        box-shadow .24s ease,
        transform .22s cubic-bezier(.2,.8,.2,1);
}

.ref-ticket-thread > div:hover .rounded-xl {
    border-color: rgba(82,113,255,.24);
    box-shadow: 0 12px 28px rgba(31,42,85,.055);
    transform: translateY(-1px);
}

.ref-ticket-thread .rounded-full {
    transition: transform .2s ease, box-shadow .22s ease;
}

.ref-ticket-thread > div:hover .rounded-full {
    transform: scale(1.06);
    animation: ref-ticket-pulse-ring 1.4s ease-in-out infinite;
}

.ref-ticket-details > div:nth-child(2) > div {
    transition: background-color .18s ease, padding-left .18s ease;
}

.ref-ticket-details > div:nth-child(2) > div:hover {
    padding-left: 1rem;
    background: rgba(82,113,255,.035);
}

.ref-ticket-details .rounded-2xl,
.ref-ticket-sidebar > div {
    transition: border-color .2s ease, box-shadow .24s ease, transform .22s ease;
}

.ref-ticket-sidebar > div:hover {
    border-color: rgba(82,113,255,.20);
}

html[data-theme="dark"] .ref-ticket-thread > div:hover .rounded-xl {
    border-color: rgba(129,140,248,.28);
    box-shadow: 0 14px 30px rgba(0,0,0,.18);
}

html[data-theme="dark"] .ref-ticket-details > div:nth-child(2) > div:hover {
    background: rgba(82,113,255,.08);
}

@media (prefers-reduced-motion: reduce) {
    .ref-ticket-page *,
    .ref-ticket-page *::before,
    .ref-ticket-page *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* Compact authenticated footer. Marketing CTAs remain exclusive to public pages. */
.ref-compact-footer {
    height: var(--portal-shell-footer-height, 4.5rem);
    min-height: var(--portal-shell-footer-height, 4.5rem);
    max-height: var(--portal-shell-footer-height, 4.5rem);
    padding: .85rem 1.5rem;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    background: rgba(255,255,255,.72);
    border-color: rgba(148,163,184,.20);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.ref-compact-footer-inner {
    width: 100%;
    max-width: 96rem;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.ref-compact-footer-brand {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: .75rem;
    color: #94a3b8;
    font-size: .68rem;
    line-height: 1.4;
}

.ref-compact-footer-brand > a {
    flex: none;
    color: #475569;
    transition: opacity 150ms ease;
}

.ref-compact-footer-brand > a:hover {
    opacity: .72;
}

.ref-compact-footer-brand img {
    width: auto;
    max-width: 5.5rem;
    height: 1.15rem;
    object-fit: contain;
}

.ref-compact-footer-brand strong {
    font-size: .72rem;
    font-weight: 700;
}

.ref-compact-footer-nav {
    display: flex;
    align-items: center;
    gap: .2rem;
}

.ref-compact-footer-nav a {
    padding: .4rem .6rem;
    border-radius: 7px;
    color: #94a3b8;
    font-size: .68rem;
    font-weight: 500;
    transition: color 150ms ease, background-color 150ms ease;
}

.ref-compact-footer-nav a:hover {
    color: var(--ref-primary);
    background: rgba(82,113,255,.07);
}

html[data-theme="dark"] .ref-compact-footer {
    background: rgba(15,23,42,.72);
    border-color: rgba(255,255,255,.07);
}

html[data-theme="dark"] .ref-compact-footer-brand,
html[data-theme="dark"] .ref-compact-footer-nav a {
    color: #64748b;
}

html[data-theme="dark"] .ref-compact-footer-brand > a {
    color: #cbd5e1;
}

html[data-theme="dark"] .ref-compact-footer-nav a:hover {
    color: #c7d2fe;
    background: rgba(82,113,255,.10);
}

@media (max-width: 639px) {
    .ref-compact-footer {
        height: auto;
        min-height: 0;
        max-height: none;
        padding: .9rem 1rem;
    }

    .ref-compact-footer-inner,
    .ref-compact-footer-brand {
        flex-direction: column;
        justify-content: center;
        text-align: center;
    }

    .ref-compact-footer-inner {
        gap: .45rem;
    }

    .ref-compact-footer-brand {
        gap: .35rem;
    }
}

/* ================================================================
   KNOWLEDGE BASE LANDING
   ================================================================ */
.ref-kb-page {
    margin-top: -1.25rem;
    font-family: var(--font-brand-sans);
}

.ref-kb-page h1,
.ref-kb-page h2,
.ref-kb-page h3,
.ref-kb-page h4 {
    font-family: var(--font-brand-display);
}

.ref-kb-page button,
.ref-kb-page input,
.ref-kb-page a,
.ref-kb-page p,
.ref-kb-page span {
    font-family: var(--font-brand-sans);
}

.ref-kb-breadcrumb {
    height: 52px;
    margin-inline: -4rem;
    padding-inline: 2rem;
    display: flex;
    align-items: center;
    gap: .7rem;
    color: var(--ref-muted);
    background: #fff;
    border-bottom: 1px solid var(--ref-line);
    font-size: .82rem;
}

.ref-kb-breadcrumb a { color: var(--ref-muted); transition: color .18s ease; }
.ref-kb-breadcrumb a:hover { color: var(--ref-primary); }
.ref-kb-breadcrumb span { color: #1a1b23; font-weight: 600; }
.ref-kb-breadcrumb svg { width: 13px; height: 13px; }

.ref-kb-hero {
    min-height: 300px;
    margin-top: 0 !important;
    margin-inline: -4rem;
    padding: 3.4rem 4rem 5.5rem;
    border: 0;
    border-radius: 0;
    color: #fff;
    background-color: var(--ref-ink);
    background-image:
        linear-gradient(rgba(255,255,255,.032) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.032) 1px, transparent 1px),
        radial-gradient(70% 150% at 12% 0%, rgba(82,113,255,.34), transparent 62%),
        radial-gradient(48% 110% at 94% 100%, rgba(87,200,255,.15), transparent 66%);
    background-size: 32px 32px, 32px 32px, auto, auto;
    animation: ref-ticket-grid-drift 22s linear infinite alternate;
}

.ref-kb-kicker {
    margin-bottom: .9rem;
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    color: #c7d2fe;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.ref-kb-kicker i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #7dd3fc;
    box-shadow: 0 0 0 5px rgba(125,211,252,.1);
}

html[data-theme="light"] .ref-kb-hero h1,
html[data-theme="dark"] .ref-kb-hero h1 {
    margin: 0;
    color: #fff !important;
    font-family: var(--font-brand-display);
    font-size: clamp(2rem, 3.5vw, 2.8rem);
    font-weight: 750;
    letter-spacing: -.045em;
}

.ref-kb-hero p {
    margin: .75rem 0 1.8rem;
    color: #b8c2d8;
    font-size: .95rem;
}

.ref-kb-search > div {
    min-height: 60px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 14px;
    box-shadow: 0 18px 44px rgba(0,0,0,.22);
    transition: border-color .2s ease, box-shadow .24s ease, transform .2s ease;
}

.ref-kb-search > div:focus-within {
    border-color: rgba(125,211,252,.65);
    box-shadow: 0 22px 50px rgba(0,0,0,.26), 0 0 0 4px rgba(82,113,255,.16);
    transform: translateY(-2px);
}

.ref-kb-search button {
    min-height: 44px;
    border-radius: 10px;
    background: var(--ref-primary) !important;
    box-shadow: 0 9px 22px rgba(82,113,255,.26);
    transition: background-color .18s ease, box-shadow .2s ease, transform .18s ease;
}

.ref-kb-search button:hover {
    opacity: 1;
    background: var(--ref-primary-hover) !important;
    box-shadow: 0 12px 26px rgba(82,113,255,.34);
    transform: translateY(-1px);
}

.ref-kb-page > .ref-kb-empty,
.ref-kb-categories {
    position: relative;
    z-index: 2;
}

.ref-kb-categories {
    margin-top: -48px;
    padding: 1.5rem;
    border: 1px solid rgba(82,113,255,.12);
    border-radius: 18px;
    background: rgba(251,248,255,.96);
    box-shadow: 0 18px 42px rgba(31,42,85,.07);
}

.ref-kb-grid {
    gap: 1rem;
}

.ref-kb-card {
    min-height: 210px;
    border-color: rgba(82,113,255,.12);
    border-radius: 15px;
    box-shadow: 0 12px 30px rgba(31,42,85,.04);
    transition: border-color .2s ease, box-shadow .24s ease, transform .22s ease;
    animation: ref-ticket-fade-up .4s cubic-bezier(.2,.8,.2,1) both;
}

.ref-kb-card:nth-child(1) { animation-delay: .08s; }
.ref-kb-card:nth-child(2) { animation-delay: .13s; }
.ref-kb-card:nth-child(3) { animation-delay: .18s; }
.ref-kb-card:nth-child(4) { animation-delay: .23s; }
.ref-kb-card:nth-child(n+5) { animation-delay: .28s; }

.ref-kb-card:hover {
    border-color: rgba(82,113,255,.3);
    box-shadow: 0 22px 46px rgba(31,42,85,.09);
    transform: translateY(-4px);
}

.ref-kb-card > div:first-child {
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .24s ease !important;
}

.ref-kb-card:hover > div:first-child {
    color: #fff;
    background: var(--ref-primary) !important;
    border-color: var(--ref-primary) !important;
    transform: translateY(-2px) scale(1.04);
}

.ref-kb-card:hover > div:first-child svg {
    color: #fff !important;
}

.ref-kb-articles {
    border-color: rgba(82,113,255,.12);
    border-radius: 18px;
    box-shadow: 0 14px 35px rgba(31,42,85,.045);
    animation: ref-ticket-fade-up .42s .12s cubic-bezier(.2,.8,.2,1) both;
}

.ref-kb-articles > div:nth-child(2) > a {
    transition: background-color .18s ease, padding-left .2s ease;
}

.ref-kb-articles > div:nth-child(2) > a:hover {
    padding-left: 1.7rem;
    background: rgba(82,113,255,.045);
}

.ref-kb-empty {
    margin-top: -48px !important;
    border-color: rgba(82,113,255,.12);
    border-radius: 18px;
    box-shadow: 0 18px 42px rgba(31,42,85,.07);
    animation: ref-ticket-fade-up .4s ease-out both;
}

.ref-kb-cta {
    border-radius: 20px;
    box-shadow: 0 24px 52px rgba(31,42,85,.14);
    transition: transform .24s ease, box-shadow .25s ease;
}

.ref-kb-cta:hover {
    box-shadow: 0 28px 60px rgba(31,42,85,.18);
    transform: translateY(-3px);
}

.ref-kb-cta a {
    transition: background-color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .2s ease;
}

.ref-kb-cta a:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0,0,0,.12);
}

html[data-theme="dark"] .ref-kb-breadcrumb {
    background: #0f172a;
    border-color: rgba(255,255,255,.08);
}

html[data-theme="dark"] .ref-kb-breadcrumb span { color: #f8fafc; }

html[data-theme="dark"] .ref-kb-categories,
html[data-theme="dark"] .ref-kb-card,
html[data-theme="dark"] .ref-kb-articles,
html[data-theme="dark"] .ref-kb-empty {
    background: #0f172a;
    border-color: rgba(255,255,255,.09);
}

html[data-theme="dark"] .ref-kb-card:hover {
    border-color: rgba(129,140,248,.3);
    box-shadow: 0 22px 46px rgba(0,0,0,.22);
}

html[data-theme="dark"] .ref-kb-articles > div:nth-child(2) > a:hover {
    background: rgba(82,113,255,.09);
}

@media (max-width: 900px) {
    .ref-kb-breadcrumb,
    .ref-kb-hero { margin-inline: -2rem; }
    .ref-kb-hero { padding-inline: 2rem; }
}

@media (max-width: 700px) {
    .ref-kb-page { margin-top: -1rem; }
    .ref-kb-breadcrumb,
    .ref-kb-hero { margin-inline: -1rem; }
    .ref-kb-breadcrumb { padding-inline: 1rem; }
    .ref-kb-hero { min-height: 320px; padding: 2.4rem 1rem 5.5rem; }
    .ref-kb-search > div { align-items: stretch; flex-direction: column; padding: .35rem; }
    .ref-kb-search svg { display: none; }
    .ref-kb-search input { min-height: 46px; padding-inline: .8rem; }
    .ref-kb-search button { width: 100%; margin: 0; }
    .ref-kb-categories { margin-top: -52px; padding: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
    .ref-kb-page *,
    .ref-kb-page *::before,
    .ref-kb-page *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* ================================================================
   NEWS & ANNOUNCEMENTS
   ================================================================ */
.ref-news-page {
    margin-top: -1.25rem;
    font-family: var(--font-brand-sans);
    font-feature-settings: "kern" 1, "liga" 1;
}

.ref-news-page button,
.ref-news-page input,
.ref-news-page select,
.ref-news-page textarea,
.ref-news-page a,
.ref-news-page p,
.ref-news-page span {
    font-family: var(--font-brand-sans);
}

.ref-news-page h1,
.ref-news-page h2,
.ref-news-page h3,
.ref-news-page h4,
.ref-news-page h5,
.ref-news-page h6 {
    font-family: var(--font-brand-display);
    font-feature-settings: "kern" 1, "liga" 1;
}

.ref-news-breadcrumb {
    height: 52px;
    margin-inline: -4rem;
    padding-inline: 2rem;
    display: flex;
    align-items: center;
    gap: .7rem;
    color: var(--ref-muted);
    background: #fff;
    border-bottom: 1px solid var(--ref-line);
    font-size: .82rem;
}

.ref-news-breadcrumb a { color: var(--ref-muted); }
.ref-news-breadcrumb a {
    position: relative;
    transition: color .18s ease;
}
.ref-news-breadcrumb a::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -.18rem;
    left: 0;
    height: 1px;
    background: var(--ref-primary);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .2s ease;
}
.ref-news-breadcrumb a:hover { color: var(--ref-primary); }
.ref-news-breadcrumb a:hover::after {
    transform: scaleX(1);
    transform-origin: left;
}
.ref-news-breadcrumb span { color: #1a1b23; font-weight: 600; }
.ref-news-breadcrumb svg { width: 13px; height: 13px; }

.ref-news-hero {
    min-height: 220px;
    margin-inline: -4rem;
    padding: 2.6rem 4rem 5rem;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
    color: #fff;
    background-color: var(--ref-ink);
    background-image:
        linear-gradient(rgba(255,255,255,.032) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.032) 1px, transparent 1px),
        radial-gradient(70% 150% at 12% 0%, rgba(82,113,255,.32), transparent 62%),
        radial-gradient(48% 110% at 94% 100%, rgba(87,200,255,.14), transparent 66%);
    background-size: 32px 32px, 32px 32px, auto, auto;
    animation: ref-ticket-grid-drift 22s linear infinite alternate;
}

.ref-news-kicker {
    margin-bottom: .8rem;
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    color: #c7d2fe;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ref-news-kicker i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #7dd3fc;
    box-shadow: 0 0 0 5px rgba(125,211,252,.10);
}

html[data-theme="light"] .ref-news-hero h1,
html[data-theme="dark"] .ref-news-hero h1 {
    margin: 0;
    color: #fff !important;
    font-family: var(--font-brand-display);
    font-size: clamp(1.85rem, 3vw, 2.55rem);
    font-weight: 750;
    letter-spacing: -.045em;
}

.ref-news-hero p {
    max-width: 42rem;
    margin: .75rem 0 0;
    color: #b8c2d8;
    font-size: .95rem;
    line-height: 1.65;
}

.ref-news-total {
    min-width: 150px;
    padding: 1rem 1.15rem;
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 14px;
    background: rgba(255,255,255,.055);
    backdrop-filter: blur(10px);
}

.ref-news-total strong {
    font-family: var(--font-brand-display);
    font-size: 1.8rem;
    line-height: 1;
}

.ref-news-total span {
    margin-top: .35rem;
    color: #aeb9d0;
    font-size: .72rem;
}

.ref-news-feed,
.ref-news-empty {
    width: min(100%, 82rem);
    margin-inline: auto;
}

.ref-news-feed {
    margin-top: -48px;
    position: relative;
    z-index: 2;
}

.ref-news-featured {
    min-height: 300px;
    display: grid;
    grid-template-columns: minmax(260px, .75fr) minmax(0, 1.35fr);
    border-color: rgba(82,113,255,.14);
    border-radius: 18px;
    box-shadow: 0 18px 42px rgba(31,42,85,.09);
    transition: transform .24s ease, box-shadow .25s ease, border-color .2s ease;
    animation: ref-ticket-fade-up .45s .08s cubic-bezier(.2,.8,.2,1) both;
}

.ref-news-featured:hover {
    border-color: rgba(82,113,255,.27);
    box-shadow: 0 24px 52px rgba(31,42,85,.12);
    transform: translateY(-3px);
}

.ref-news-featured:focus-within {
    border-color: rgba(82,113,255,.38);
    box-shadow: 0 24px 52px rgba(31,42,85,.12), 0 0 0 3px rgba(82,113,255,.08);
}

.ref-news-featured-art {
    min-height: 100%;
    padding: 1.5rem;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,.84);
    background:
        radial-gradient(circle at 20% 18%, rgba(125,211,252,.28), transparent 12rem),
        linear-gradient(145deg, #224dda, #5271ff 55%, #7f73ff);
}

.ref-news-featured-art::before,
.ref-news-featured-art::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 50%;
}

.ref-news-featured-art::before { width: 260px; height: 260px; right: -90px; bottom: -100px; }
.ref-news-featured-art::after { width: 180px; height: 180px; left: -80px; top: -70px; }
.ref-news-featured-art svg { width: 86px; height: 86px; stroke-width: .85; }
.ref-news-featured-art svg {
    transition: transform .4s cubic-bezier(.2,.8,.2,1), opacity .3s ease;
}
.ref-news-featured:hover .ref-news-featured-art svg {
    opacity: .96;
    transform: translateY(-4px) scale(1.055) rotate(-2deg);
}
.ref-news-featured-art::before,
.ref-news-featured-art::after {
    transition: transform .65s cubic-bezier(.2,.8,.2,1), border-color .3s ease;
}
.ref-news-featured:hover .ref-news-featured-art::before {
    border-color: rgba(255,255,255,.22);
    transform: translate(-8px, -8px) scale(1.04);
}
.ref-news-featured:hover .ref-news-featured-art::after {
    border-color: rgba(255,255,255,.2);
    transform: translate(7px, 7px) scale(1.05);
}
.ref-news-featured-art span {
    position: absolute;
    left: 1.5rem;
    bottom: 1.25rem;
    color: rgba(255,255,255,.56);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .28em;
}

.ref-news-featured-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.ref-news-label {
    padding: .32rem .65rem;
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    border-radius: 999px;
    color: var(--ref-primary);
    background: rgba(82,113,255,.09);
    font-size: .7rem;
    font-weight: 700;
    transition: color .18s ease, background-color .18s ease, transform .18s ease;
}

.ref-news-label span {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--ref-primary);
    transition: transform .18s ease, box-shadow .18s ease;
}

.ref-news-featured:hover .ref-news-label,
.ref-news-card:hover .ref-news-label {
    color: #3050db;
    background: rgba(82,113,255,.14);
    transform: translateY(-1px);
}

.ref-news-featured:hover .ref-news-label span,
.ref-news-card:hover .ref-news-label span {
    box-shadow: 0 0 0 4px rgba(82,113,255,.12);
    transform: scale(1.08);
}

.ref-news-grid {
    margin-top: 1.5rem;
}

.ref-news-card {
    min-height: 250px;
    border-color: rgba(82,113,255,.11);
    border-radius: 16px;
    box-shadow: 0 14px 35px rgba(31,42,85,.045);
    transition: transform .22s ease, box-shadow .24s ease, border-color .2s ease;
    animation: ref-ticket-fade-up .42s cubic-bezier(.2,.8,.2,1) both;
}

.ref-news-card:nth-child(1) { animation-delay: .12s; }
.ref-news-card:nth-child(2) { animation-delay: .17s; }
.ref-news-card:nth-child(3) { animation-delay: .22s; }
.ref-news-card:nth-child(4) { animation-delay: .27s; }
.ref-news-card:nth-child(n+5) { animation-delay: .32s; }

.ref-news-card:hover {
    border-color: rgba(82,113,255,.24);
    box-shadow: 0 22px 48px rgba(31,42,85,.085);
    transform: translateY(-3px);
}

.ref-news-card:focus-within {
    border-color: rgba(82,113,255,.36);
    box-shadow: 0 22px 48px rgba(31,42,85,.09), 0 0 0 3px rgba(82,113,255,.08);
    transform: translateY(-2px);
}

.ref-news-card h3 a {
    text-decoration: none;
    transition: color .18s ease;
}

.ref-news-card:hover h3 a {
    color: var(--ref-primary);
}

.ref-news-card a:last-child,
.ref-news-featured a {
    transition: color .18s ease, background-color .18s ease, transform .18s ease;
}

.ref-news-card a:last-child:hover,
.ref-news-featured a:hover {
    transform: translateX(2px);
}

.ref-news-card a:last-child:hover {
    color: #fff;
    background: var(--ref-primary);
}

.ref-news-featured h2 {
    transition: color .18s ease;
}

.ref-news-featured:hover h2 {
    color: var(--ref-primary);
}

.ref-news-card a:focus-visible,
.ref-news-featured a:focus-visible,
.ref-news-pagination a:focus-visible,
.ref-news-breadcrumb a:focus-visible {
    outline: 2px solid var(--ref-primary);
    outline-offset: 3px;
}

.ref-news-pagination a {
    transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease;
}

.ref-news-pagination a:hover { transform: translateY(-2px); }
.ref-news-pagination a:hover {
    color: var(--ref-primary);
    border-color: rgba(82,113,255,.35);
    background: rgba(82,113,255,.07);
    box-shadow: 0 8px 18px rgba(31,42,85,.07);
}

.ref-news-pagination a[style] {
    box-shadow: 0 8px 18px rgba(82,113,255,.2);
}

.ref-news-pagination a[style]:hover {
    color: #fff;
    background: var(--ref-primary-hover) !important;
    transform: translateY(-2px) scale(1.03);
}

.ref-news-empty {
    margin-top: 1.5rem;
    border-color: rgba(82,113,255,.12);
    border-radius: 18px;
    box-shadow: 0 14px 35px rgba(31,42,85,.045);
    animation: ref-ticket-fade-up .42s ease-out both;
}

html[data-theme="dark"] .ref-news-breadcrumb {
    background: #0f172a;
    border-color: rgba(255,255,255,.08);
}

html[data-theme="dark"] .ref-news-breadcrumb span { color: #f8fafc; }
html[data-theme="dark"] .ref-news-featured,
html[data-theme="dark"] .ref-news-card,
html[data-theme="dark"] .ref-news-empty {
    background: #0f172a;
    border-color: rgba(255,255,255,.09);
}

html[data-theme="dark"] .ref-news-featured:hover,
html[data-theme="dark"] .ref-news-card:hover {
    border-color: rgba(129,140,248,.28);
    box-shadow: 0 22px 48px rgba(0,0,0,.22);
}

@media (max-width: 900px) {
    .ref-news-breadcrumb,
    .ref-news-hero { margin-inline: -2rem; }
    .ref-news-hero { padding-inline: 2rem; }
}

@media (max-width: 700px) {
    .ref-news-page { margin-top: -1rem; }
    .ref-news-breadcrumb,
    .ref-news-hero { margin-inline: -1rem; }
    .ref-news-breadcrumb { padding-inline: 1rem; overflow-x: auto; white-space: nowrap; }
    .ref-news-hero {
        min-height: 260px;
        padding: 2rem 1rem 5rem;
        flex-direction: column;
    }
    .ref-news-total { min-width: 0; width: 100%; }
    .ref-news-featured { grid-template-columns: 1fr; }
    .ref-news-featured-art { min-height: 180px; }
    .ref-news-featured-copy { padding: 1.35rem; }
}

@media (prefers-reduced-motion: reduce) {
    .ref-news-page *,
    .ref-news-page *::before,
    .ref-news-page *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

@media (max-width: 1279px) {
    .ref-service-summary { grid-template-columns: repeat(3, 1fr); }
    .ref-summary-item:nth-child(3) { border-right: 0; }
    .ref-summary-item:nth-child(-n+3) { border-bottom: 1px solid var(--ref-line); }
}

@media (max-width: 900px) {
    .ref-dashboard-hero { padding: 28px 2rem 82px; flex-direction: column; }
    .ref-dashboard-hero-actions { width: 100%; }
    .ref-product-row { padding-left: 1.25rem; grid-template-columns: 1fr auto; }
    .ref-product-actions { grid-column: 1 / -1; }
    .ref-dashboard::before { left: 0; }
}

@media (max-width: 640px) {
    .ref-dashboard-hero { padding: 24px 1rem 86px; }
    .ref-dashboard-hero-actions { align-items: stretch; flex-direction: column; }
    .ref-service-summary { grid-template-columns: 1fr 1fr; }
    .ref-summary-item,
    .ref-summary-item:nth-child(3) { border-right: 1px solid var(--ref-line); border-bottom: 1px solid var(--ref-line); }
    .ref-summary-item:nth-child(even) { border-right: 0; }
    .ref-summary-item:nth-last-child(-n+2) { border-bottom: 0; }
    .ref-summary-item { padding: 1rem; grid-template-columns: 20px 1fr auto; }
    .ref-progress-tabs { grid-template-columns: 1fr; }
    .ref-progress-tabs > div:first-child { display: none; }
    .ref-panel-title { min-height: 64px; }
    .ref-todo-row { grid-template-columns: 22px 1fr 34px; }
    .ref-product-row { grid-template-columns: 1fr; }
    .ref-status { justify-self: start; }
    .ref-product-actions { grid-column: auto; align-items: stretch; flex-direction: column; }
}

/* Knowledge-base category */
.ref-kbc-page {
    margin-top: -1.25rem;
    color: var(--ref-ink);
    font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
}

.ref-kbc-page h1,
.ref-kbc-page h2,
.ref-kbc-page h3,
.ref-kbc-page h4 {
    font-family: "Inter Tight", "Inter", ui-sans-serif, system-ui, sans-serif;
}

.ref-kbc-breadcrumb {
    min-height: 52px;
    margin-inline: -4rem;
    padding: 0 4rem;
    display: flex;
    align-items: center;
    gap: .7rem;
    border-bottom: 1px solid var(--ref-line);
    background: #fff;
    color: var(--ref-muted);
    font-size: .78rem;
}

.ref-kbc-breadcrumb a {
    color: inherit;
    transition: color .2s ease;
}

.ref-kbc-breadcrumb a:hover,
.ref-kbc-breadcrumb span {
    color: var(--ref-ink);
}

.ref-kbc-breadcrumb svg {
    width: 12px;
    height: 12px;
    opacity: .55;
}

.ref-kbc-hero {
    position: relative;
    min-height: 216px;
    margin: -1.5rem -4rem 0;
    padding: 2.75rem 4rem 4.75rem;
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.35rem;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 88% 5%, rgba(82,113,255,.3), transparent 34%),
        linear-gradient(rgba(82,113,255,.075) 1px, transparent 1px),
        linear-gradient(90deg, rgba(82,113,255,.075) 1px, transparent 1px),
        linear-gradient(120deg, #101b45, #050b1c 70%);
    background-size: auto, 32px 32px, 32px 32px, auto;
}

.ref-kbc-hero::after {
    content: "";
    position: absolute;
    width: 280px;
    height: 280px;
    right: 12%;
    top: -190px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 50%;
    box-shadow: 0 0 0 52px rgba(82,113,255,.035);
    pointer-events: none;
}

.ref-kbc-hero-icon {
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.17);
    border-radius: 18px;
    background: rgba(255,255,255,.09);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
    backdrop-filter: blur(8px);
}

.ref-kbc-hero-icon svg {
    width: 30px;
    height: 30px;
}

.ref-kbc-hero-copy > span {
    display: block;
    margin-bottom: .45rem;
    color: #aebcff;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

html body .ref-kbc-hero h1 {
    margin: 0;
    color: #fff !important;
    font-size: clamp(2rem, 3vw, 3rem);
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.05;
}

.ref-kbc-hero-copy p {
    max-width: 680px;
    margin: .7rem 0 0;
    color: rgba(255,255,255,.68);
    font-size: .92rem;
    line-height: 1.65;
}

.ref-kbc-count {
    min-width: 120px;
    padding: 1rem 1.2rem;
    position: relative;
    z-index: 1;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 16px;
    background: rgba(255,255,255,.08);
    text-align: center;
    backdrop-filter: blur(8px);
}

.ref-kbc-count strong,
.ref-kbc-count span {
    display: block;
}

.ref-kbc-count strong {
    font-family: "Inter Tight", "Inter", sans-serif;
    font-size: 1.75rem;
    line-height: 1;
}

.ref-kbc-count span {
    margin-top: .35rem;
    color: rgba(255,255,255,.68);
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.ref-kbc-layout {
    width: 100%;
    max-width: 86rem;
    margin: -3.65rem auto 0;
    position: relative;
    z-index: 2;
}

.ref-kbc-articles {
    animation: ref-ticket-fade-up .45s ease both;
}

.ref-kbc-article {
    min-height: 126px;
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) 24px;
    align-items: center !important;
    border-color: rgba(82,113,255,.14) !important;
    border-radius: 18px !important;
    box-shadow: 0 12px 34px rgba(10,20,55,.07) !important;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

.ref-kbc-article:hover {
    transform: translateY(-3px);
    border-color: rgba(82,113,255,.4) !important;
    box-shadow: 0 20px 44px rgba(10,20,55,.12) !important;
}

.ref-kbc-article-number {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: var(--ref-primary);
    background: rgba(82,113,255,.09);
    font-family: "Inter Tight", "Inter", sans-serif;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .05em;
    transition: color .25s ease, background .25s ease;
}

.ref-kbc-article:hover .ref-kbc-article-number {
    color: #fff;
    background: var(--ref-primary);
}

.ref-kbc-article h3 {
    font-size: 1.05rem;
    text-decoration: none !important;
}

.ref-kbc-back a {
    padding: .6rem .75rem;
    border-radius: 10px;
}

.ref-kbc-back a:hover {
    background: rgba(82,113,255,.07);
}

.ref-kbc-sidebar {
    position: sticky;
    top: 1.5rem;
}

.ref-kbc-related,
.ref-kbc-support {
    border-radius: 18px !important;
    box-shadow: 0 12px 34px rgba(10,20,55,.07);
    animation: ref-ticket-fade-up .55s .08s ease both;
}

.ref-kbc-related a {
    min-height: 48px;
}

.ref-kbc-related a:hover {
    transform: translateX(3px);
}

.ref-kbc-support {
    background: linear-gradient(145deg, #627cff, #3658ed) !important;
    box-shadow: 0 18px 40px rgba(54,88,237,.24);
}

.ref-kbc-support a {
    transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.ref-kbc-support a:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(16,28,70,.18);
}

html[data-theme="dark"] .ref-kbc-page { color: #f8fafc; }
html[data-theme="dark"] .ref-kbc-breadcrumb {
    color: #94a3b8;
    background: #0f172a;
    border-color: rgba(255,255,255,.08);
}
html[data-theme="dark"] .ref-kbc-breadcrumb a:hover,
html[data-theme="dark"] .ref-kbc-breadcrumb span { color: #f8fafc; }
html[data-theme="dark"] .ref-kbc-article,
html[data-theme="dark"] .ref-kbc-related {
    background: #0f172a !important;
    border-color: rgba(255,255,255,.09) !important;
    box-shadow: 0 14px 36px rgba(0,0,0,.2) !important;
}
html[data-theme="dark"] .ref-kbc-article:hover {
    border-color: rgba(129,140,248,.35) !important;
}

@media (max-width: 900px) {
    .ref-kbc-breadcrumb,
    .ref-kbc-hero { margin-inline: -2rem; }
    .ref-kbc-breadcrumb,
    .ref-kbc-hero { padding-inline: 2rem; }
}

@media (max-width: 767px) {
    .ref-kbc-page { margin-top: -1rem; }
    .ref-kbc-breadcrumb,
    .ref-kbc-hero { margin-inline: -1rem; }
    .ref-kbc-breadcrumb { padding-inline: 1rem; overflow-x: auto; white-space: nowrap; }
    .ref-kbc-hero {
        min-height: 290px;
        padding: 2rem 1rem 5.5rem;
        grid-template-columns: 52px 1fr;
        align-content: center;
    }
    .ref-kbc-hero-icon { width: 52px; height: 52px; border-radius: 15px; }
    .ref-kbc-count {
        grid-column: 1 / -1;
        width: 100%;
        display: flex;
        align-items: baseline;
        justify-content: center;
        gap: .45rem;
    }
    .ref-kbc-count strong,
    .ref-kbc-count span { display: inline; margin: 0; }
    .ref-kbc-layout { margin-top: -4rem; }
    .ref-kbc-sidebar { position: static; }
}

@media (max-width: 520px) {
    .ref-kbc-hero { grid-template-columns: 1fr; }
    .ref-kbc-hero-icon { display: none; }
    .ref-kbc-article {
        padding: 1.2rem !important;
        grid-template-columns: 38px minmax(0, 1fr);
    }
    .ref-kbc-article-number { width: 36px; height: 36px; }
    .ref-kbc-article > svg { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .ref-kbc-page *,
    .ref-kbc-page *::before,
    .ref-kbc-page *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* Serviceserver manage: restrained glass SaaS dashboard. */
.srv-manage {
    --srv-glass: rgba(255, 255, 255, .74);
    --srv-glass-strong: rgba(255, 255, 255, .9);
    --srv-stroke: rgba(255, 255, 255, .86);
    --srv-line: rgba(118, 132, 166, .18);
    --srv-ink: #172033;
    --srv-muted: #64748b;
    position: relative;
    isolation: isolate;
    color: var(--srv-ink);
    font-family: var(--font-brand-sans, Inter, "Helvetica Neue", Arial, sans-serif);
}

.srv-manage::before {
    content: none;
}

.srv-manage-hero {
    position: relative;
    border-color: rgb(var(--brand-500) / .12) !important;
    background: linear-gradient(135deg, rgb(var(--brand-50) / .88), rgba(255,255,255,.98)) !important;
    box-shadow: none;
    backdrop-filter: none;
}

.srv-manage-hero::after {
    content: none;
}

.srv-manage-hero > * {
    position: relative;
    z-index: 1;
}

.srv-manage-metrics > div {
    min-height: 58px;
    border-color: transparent !important;
    background: rgb(var(--brand-500) / .045) !important;
    box-shadow: none;
    backdrop-filter: none;
    transition: background-color 160ms ease;
}

.srv-manage-metrics > div:hover {
    border-color: transparent !important;
    background: rgb(var(--brand-500) / .075) !important;
    transform: none;
}

.srv-manage-card {
    border: 1px solid #e9ecf2 !important;
    background: #fff !important;
    box-shadow: none;
    backdrop-filter: none;
    transition: border-color 160ms ease, background-color 160ms ease;
}

.srv-manage-card:hover {
    border-color: #e1e5ed !important;
    box-shadow: none;
}

.srv-manage-card > :first-child[class*="border-b"] {
    background: transparent;
    border-color: #eef0f4 !important;
}

html[data-theme="light"] .srv-manage-hero .text-white,
html[data-theme="light"] .srv-manage-hero [class*="text-white/"] {
    color: var(--srv-ink) !important;
}

html[data-theme="light"] .srv-manage-hero .text-indigo-300,
html[data-theme="light"] .srv-manage-hero .text-violet-300,
html[data-theme="light"] .srv-manage-hero .text-sky-300 {
    color: rgb(var(--brand-600)) !important;
}

html[data-theme="light"] .srv-manage-hero .srv-pay-invoice {
    color: #fff !important;
}

html[data-theme="light"] .srv-manage-card .text-white {
    color: var(--srv-ink) !important;
}

html[data-theme="light"] .srv-manage-card .text-gray-300 {
    color: #334155 !important;
}

html[data-theme="light"] .srv-manage-card .text-gray-400 {
    color: #475569 !important;
}

html[data-theme="light"] .srv-manage-card .text-gray-500,
html[data-theme="light"] .srv-manage-card .text-gray-600 {
    color: var(--srv-muted) !important;
}

html[data-theme="light"] .srv-manage-card [class*="border-white"] {
    border-color: var(--srv-line) !important;
}

html[data-theme="light"] .srv-manage-card [style*="background:rgba(0,0,0"] {
    background: rgba(247, 249, 255, .76) !important;
}

html[data-theme="light"] .srv-manage-card .text-indigo-300 {
    color: rgb(var(--brand-600)) !important;
}

.srv-manage-facts > div {
    min-height: 76px;
    padding: .9rem 1rem;
    border: 0;
    border-radius: .8rem;
    background: #f8f9fc;
}

.srv-manage-billing .p-5 > div:not(.pt-2) {
    min-height: 34px;
    padding-block: .2rem;
}

.srv-pay-invoice {
    min-height: 46px;
    border-radius: .75rem !important;
    color: #fff !important;
    background: rgb(var(--brand-600)) !important;
    box-shadow: none !important;
}

.srv-pay-invoice:hover {
    background: rgb(var(--brand-700)) !important;
    opacity: 1 !important;
}

.srv-manage-actions nav a {
    min-height: 46px;
    margin: .25rem .5rem;
    padding-inline: .75rem;
    border-radius: .75rem;
}

.srv-manage-actions nav a > span {
    border-color: transparent !important;
    background: #f5f7fb;
}

html[data-theme="light"] .srv-manage-actions nav a:hover {
    color: rgb(var(--brand-600)) !important;
    background: rgb(var(--brand-50) / .82) !important;
}

.srv-manage-addons-head,
.srv-manage-addon-row {
    grid-template-columns:
        minmax(0, 5fr)
        minmax(8rem, 3fr)
        minmax(7rem, 2fr)
        minmax(7rem, 1fr)
        auto !important;
    column-gap: 1rem;
}

.srv-manage-addons-head {
    background: #fafbfc;
}

.srv-manage-addons-head > *,
.srv-manage-addon-row > * {
    grid-column: auto !important;
    min-width: 0;
    margin: 0 !important;
}

.srv-manage-addons-head > :last-child {
    grid-column: 4 / 6 !important;
}

.srv-manage-addon-row {
    min-height: 62px;
}

.srv-manage-addon-row:hover {
    background: #fafbfc !important;
}

html[data-theme="dark"] .srv-manage {
    --srv-glass: rgba(16, 24, 48, .7);
    --srv-glass-strong: rgba(19, 29, 56, .9);
    --srv-stroke: rgba(255, 255, 255, .1);
    --srv-line: rgba(255, 255, 255, .075);
    --srv-ink: #f8fafc;
    --srv-muted: #94a3b8;
    color: var(--srv-ink);
}

html[data-theme="dark"] .srv-manage::before {
    background:
        radial-gradient(circle at 8% 8%, rgb(var(--brand-500) / .13), transparent 30%),
        radial-gradient(circle at 94% 36%, rgb(var(--brand2-500) / .1), transparent 28%);
}

html[data-theme="dark"] .srv-manage-card {
    border-color: rgba(255,255,255,.075) !important;
    background: #11182a !important;
    box-shadow: none;
}

html[data-theme="dark"] .srv-manage-card > :first-child[class*="border-b"] {
    background: transparent;
}

html[data-theme="dark"] .srv-manage-facts > div,
html[data-theme="dark"] .srv-manage-addons-head {
    background: rgba(255,255,255,.03);
}

html[data-theme="dark"] .srv-manage-hero {
    border-color: rgba(255,255,255,.075) !important;
    background: #11182a !important;
}

html[data-theme="dark"] .srv-manage-metrics > div {
    background: rgba(255,255,255,.035) !important;
}

html[data-theme="dark"] .srv-manage-actions nav a > span {
    background: rgba(255,255,255,.04);
}

html[data-theme="dark"] .srv-manage-addon-row:hover {
    background: rgba(255,255,255,.025) !important;
}

@media (min-width: 640px) {
    .srv-manage-addons-head {
        display: grid !important;
    }
}

@media (min-width: 1024px) {
    .srv-manage-grid {
        grid-template-columns: minmax(0, 2fr) minmax(19rem, .92fr) !important;
        align-items: start;
    }

    .srv-manage-side {
        position: sticky;
        top: 1rem;
        align-self: start;
    }
}

@media (max-width: 639px) {
    .srv-manage-addon-row {
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: .65rem 1rem;
    }

    .srv-manage-addon-row > :first-child {
        grid-column: 1 / 3 !important;
    }

    .srv-manage-addon-row > :nth-child(2),
    .srv-manage-addon-row > :nth-child(4) {
        grid-column: 1 !important;
    }

    .srv-manage-addon-row > :nth-child(3),
    .srv-manage-addon-row > :nth-child(5) {
        grid-column: 2 !important;
        justify-self: end;
        text-align: right;
    }
}

@media (prefers-reduced-motion: no-preference) {
    .srv-manage-hero,
    .srv-manage-grid,
    .srv-manage-addons {
        animation: srv-manage-enter 360ms cubic-bezier(.16,1,.3,1) both;
    }

    .srv-manage-grid {
        animation-delay: 55ms;
    }

    .srv-manage-addons {
        animation-delay: 100ms;
    }
}

@keyframes srv-manage-enter {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* VPS pricing journey — compact, comparison-friendly SaaS cards */
.ord-vps-plan-card {
    border-radius: 1rem !important;
    box-shadow: 0 8px 28px rgba(15,23,42,.055) !important;
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease !important;
}

.ord-vps-plan-card:hover {
    transform: translateY(-3px);
    border-color: rgba(var(--color-primary-rgb),.35) !important;
    box-shadow: 0 16px 38px rgba(15,23,42,.09) !important;
}

.ord-vps-plan-card .ord-plan-popular-ribbon {
    height: 2.5rem;
    border-radius: 0 !important;
    font-size: .65rem;
    letter-spacing: .12em;
}

.ord-vps-plan-card .ord-plan-popular-body {
    margin-top: 0;
    padding-top: 3.65rem !important;
    border-radius: 0;
}

.ord-vps-card-subtitle {
    min-height: 2.65rem;
    margin-bottom: .5rem;
}

.ord-vps-billing-copy {
    min-height: 2.5rem;
}

.ord-vps-period-chip {
    width: fit-content;
    min-height: 1.85rem;
    padding: .35rem .65rem;
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #f8fafc;
}

.ord-vps-period-chip strong {
    color: #334155;
    font-weight: 700;
}

.ord-vps-plan-cta {
    min-height: 3rem;
}

.ord-vps-plan-card .ord-price-row {
    border-color: #edf0f4 !important;
    background: #fbfcfe;
}

.ord-vps-plan-card .ord-price-row > div > div {
    line-height: 1.45;
}

.ord-vps-plan-card .ord-price-row .material-symbols-outlined {
    margin-top: -.05rem;
}

html[data-theme="dark"] .ord-vps-plan-card {
    background: #0d1628 !important;
    border-color: rgba(148,163,184,.14) !important;
    box-shadow: 0 12px 32px rgba(0,0,0,.2) !important;
}

html[data-theme="dark"] .ord-vps-plan-card:hover {
    border-color: rgba(var(--color-primary-rgb),.5) !important;
    background: #111c31 !important;
}

html[data-theme="dark"] .ord-vps-plan-card .ord-price-row {
    border-color: rgba(148,163,184,.1) !important;
    background: rgba(255,255,255,.02);
}

html[data-theme="dark"] .ord-vps-period-chip {
    color: #94a3b8;
    border-color: rgba(148,163,184,.14);
    background: rgba(255,255,255,.045);
}

html[data-theme="dark"] .ord-vps-period-chip strong {
    color: #e2e8f0;
}

@media (max-width: 640px) {
    .ord-vps-plan-card {
        width: min(88vw, 21.25rem) !important;
    }

    .ord-vps-card-subtitle,
    .ord-vps-billing-copy {
        min-height: 0;
    }
}

/* Order-flow boot skeleton.
   Mirrors the form + summary layout, avoids CLS, and disappears as soon as
   the page controls have initialized. */
.order-boot-stage {
    position: relative;
    /*
     * The layout wrapper carries Tailwind's flex-1 (flex-basis: 0%).
     * That is useful for short dashboard pages, but on tall order forms it
     * lets the wrapper shrink to the viewport while cards paint outside it,
     * causing the compact footer to overlap the pricing grid.
     */
    flex: 0 0 auto !important;
    min-height: calc(100svh - var(--portal-shell-header-height, 4rem) - var(--portal-shell-footer-height, 4.5rem));
}

.order-page-skeleton {
    display: none;
}

.order-skeleton-enabled:not(.order-page-ready) .order-page-skeleton {
    width: min(100%, 68.75rem);
    margin-inline: auto;
    display: block;
    opacity: 1;
}

.order-skeleton-enabled .order-page-content {
    transition: opacity 180ms ease;
}

.order-skeleton-enabled:not(.order-page-ready) .order-page-content {
    height: 0;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
}

.order-page-ready .order-page-skeleton {
    opacity: 0;
    pointer-events: none;
    transition: opacity 180ms ease;
}

.order-page-ready .order-page-content {
    opacity: 1;
}

.order-skeleton-heading {
    min-height: 4.75rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: .65rem;
}

.order-skeleton-heading i,
.order-skeleton-card i {
    display: block;
    border-radius: .55rem;
    background: #e7eaf0;
}

.order-skeleton-heading i:first-child {
    width: 8.5rem;
    height: .75rem;
}

.order-skeleton-heading i:last-child {
    width: 13.5rem;
    height: 1.45rem;
}

.order-skeleton-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 22.5rem;
    align-items: start;
    gap: 2rem;
}

.order-skeleton-main {
    display: grid;
    gap: 1rem;
}

.order-skeleton-card {
    padding: 1.4rem;
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 8px 26px rgba(15,23,42,.04);
}

.order-skeleton-card-lg { min-height: 14.25rem; }
.order-skeleton-card-md { min-height: 10.5rem; }
.order-skeleton-card-sm { min-height: 7.5rem; }
.order-skeleton-summary {
    min-height: 24rem;
    position: sticky;
    top: 5rem;
}

.order-skeleton-line {
    height: .8rem;
}

.order-skeleton-options {
    margin-top: 1.6rem;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
}

.order-skeleton-options i {
    min-height: 7.4rem;
    border: 1px solid #e1e5ec;
    background: #f5f6f8;
}

.order-skeleton-row {
    height: 2.9rem;
    margin-top: .85rem;
    border: 1px solid #e5e7eb;
    background: #f7f8fa !important;
}

.order-skeleton-total {
    width: 72%;
    height: 2.3rem;
    margin-top: 3.25rem;
}

.order-skeleton-button {
    height: 3.25rem;
    margin-top: 2.25rem;
    background: rgba(var(--color-primary-rgb),.16) !important;
}

.order-skeleton-enabled:not(.order-page-ready) .order-page-skeleton i {
    position: relative;
    overflow: hidden;
}

.order-skeleton-enabled:not(.order-page-ready) .order-page-skeleton i::after {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-100%);
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.72), transparent);
    animation: order-skeleton-shimmer 1.35s ease-in-out infinite;
}

@keyframes order-skeleton-shimmer {
    to { transform: translateX(100%); }
}

html[data-theme="dark"] .order-skeleton-heading i,
html[data-theme="dark"] .order-skeleton-card i {
    background: #182235;
}

html[data-theme="dark"] .order-skeleton-card {
    border-color: rgba(148,163,184,.12);
    background: #0b1220;
    box-shadow: 0 12px 32px rgba(0,0,0,.18);
}

html[data-theme="dark"] .order-skeleton-options i,
html[data-theme="dark"] .order-skeleton-row {
    border-color: rgba(148,163,184,.1);
    background: #111b2d !important;
}

html[data-theme="dark"] .order-skeleton-enabled:not(.order-page-ready) .order-page-skeleton i::after {
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.055), transparent);
}

@media (max-width: 1023px) {
    .order-skeleton-grid {
        grid-template-columns: 1fr;
    }

    .order-skeleton-summary {
        min-height: 13rem;
        position: static;
    }
}

@media (max-width: 640px) {
    .order-boot-stage {
        min-height: 30rem;
    }

    .order-skeleton-grid {
        gap: .75rem;
    }

    .order-skeleton-card {
        padding: 1rem;
        border-radius: .875rem;
    }

    .order-skeleton-options {
        grid-template-columns: 1fr;
    }

    .order-skeleton-options i {
        min-height: 4.35rem;
    }

    .order-skeleton-card-lg { min-height: 18rem; }
}

@media (prefers-reduced-motion: reduce) {
    .order-page-skeleton i::after {
        display: none;
        animation: none !important;
    }

    .order-page-skeleton,
    .order-page-content {
        transition-duration: .01ms !important;
    }
}

/* ================================================================
   Public page audit — shared light/dark parity and interaction polish
   ================================================================ */
.public-home-page,
.public-state-page,
.public-cart-page,
.public-contact-page {
    overflow-x: clip;
}

.public-state-page > main,
.public-cart-page > main,
.public-contact-page > main {
    width: 100%;
    flex: 1 0 auto;
}

.public-state-page > main {
    background:
        radial-gradient(circle at 50% 0, rgba(var(--color-primary-rgb), .07), transparent 30rem),
        #f8fafc;
}

.public-state-page main > div,
.public-state-page main > section {
    min-height: min(72svh, 46rem);
}

html[data-theme="light"] .public-state-page main h1,
html[data-theme="light"] .public-state-page main h2 {
    color: #0f172a !important;
}

html[data-theme="light"] .public-state-page main .text-gray-300,
html[data-theme="light"] .public-state-page main .text-gray-400 {
    color: #475569 !important;
}

html[data-theme="light"] .public-state-page main .text-gray-500,
html[data-theme="light"] .public-state-page main .text-gray-600 {
    color: #64748b !important;
}

html[data-theme="light"] .public-password-page main .rounded-2xl.bg-white\/\[0\.04\] {
    color: #334155;
    border-color: #e2e8f0 !important;
    background: rgba(255,255,255,.94) !important;
    box-shadow: 0 24px 60px rgba(15,23,42,.09) !important;
}

html[data-theme="light"] .public-password-page main input {
    color: #0f172a !important;
    border-color: #cbd5e1 !important;
    background: #fff !important;
}

html[data-theme="light"] .public-password-page main input::placeholder {
    color: #94a3b8 !important;
}

html[data-theme="dark"] .public-state-page > main {
    background:
        radial-gradient(circle at 50% 0, rgba(var(--color-primary-rgb), .12), transparent 32rem),
        #030712;
}

.public-state-page main a,
.public-state-page main button,
.public-cart-page main a,
.public-cart-page main button,
.public-contact-page main a,
.public-contact-page main button {
    min-height: 2.75rem;
}

.public-state-page main :focus-visible,
.public-cart-page main :focus-visible,
.public-contact-page main :focus-visible,
.public-home-page main :focus-visible {
    outline: 3px solid rgba(var(--color-primary-rgb), .24);
    outline-offset: 2px;
}

/* Homepage dark palette: previously the light surfaces remained active. */
html[data-theme="dark"] .ref-home {
    color: #e5e7eb;
    background: #030712;
}

html[data-theme="dark"] .ref-home-hero {
    background:
        radial-gradient(circle at 80% 18%, rgba(var(--color-primary-rgb),.2), transparent 30%),
        linear-gradient(rgba(148,163,184,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(148,163,184,.035) 1px, transparent 1px),
        linear-gradient(145deg, #071126, #030712);
    background-size: auto, 36px 36px, 36px 36px, auto;
}

html[data-theme="dark"] body .ref-home-hero h1,
html[data-theme="dark"] body .ref-home-domain h2,
html[data-theme="dark"] body .ref-home-features h2,
html[data-theme="dark"] body .ref-home-final-cta h2,
html[data-theme="dark"] body .ref-home-faq h2,
html[data-theme="dark"] body .ref-home-features .grid > div h3 {
    color: #f8fafc !important;
}

html[data-theme="dark"] .ref-home-hero-copy > p,
html[data-theme="dark"] .ref-home-domain-intro,
html[data-theme="dark"] .ref-home-features .text-gray-400,
html[data-theme="dark"] .ref-home-final-cta .text-gray-400,
html[data-theme="dark"] .ref-home-faq .text-gray-400 {
    color: #a8b3c7 !important;
}

html[data-theme="dark"] .ref-home-secondary,
html[data-theme="dark"] .ref-home-products a,
html[data-theme="dark"] .ref-home-domain .rounded-2xl.border,
html[data-theme="dark"] .ref-home-domain .grid > div,
html[data-theme="dark"] .ref-home-features .grid > div {
    color: #e2e8f0;
    border-color: rgba(148,163,184,.16) !important;
    background: rgba(15,23,42,.78) !important;
    box-shadow: 0 16px 40px rgba(0,0,0,.18);
}

html[data-theme="dark"] .ref-home-products a:hover {
    color: #fff;
    border-color: rgba(var(--color-primary-rgb),.48) !important;
    background: #111c36 !important;
}

html[data-theme="dark"] .ref-home-domain,
html[data-theme="dark"] .ref-home-features,
html[data-theme="dark"] .ref-home-final-cta,
html[data-theme="dark"] .ref-home-faq {
    border-color: rgba(148,163,184,.1) !important;
    background: #060b18 !important;
}

html[data-theme="dark"] .ref-home-domain input,
html[data-theme="dark"] .ref-home-domain .grid > div p:first-child {
    color: #f8fafc !important;
}

html[data-theme="dark"] .ref-home-domain form button[type="button"] {
    color: #e2e8f0;
    border-color: rgba(148,163,184,.18);
    background: rgba(255,255,255,.055);
}

html[data-theme="dark"] .ref-home-final-cta .pub-cta-card {
    border-color: rgba(var(--color-primary-rgb),.24) !important;
    background:
        radial-gradient(circle at 90% 0, rgba(var(--color-primary-rgb),.18), transparent 44%),
        #0b1224 !important;
}

html[data-theme="dark"] .ref-home-faq .divide-y,
html[data-theme="dark"] .ref-home-faq .divide-y > div {
    border-color: rgba(148,163,184,.13);
}

html[data-theme="dark"] .ref-home-faq button span {
    color: #e2e8f0 !important;
}

/* Cart and public support pages used dark-only utility colors. */
html[data-theme="light"] .public-cart-page main,
html[data-theme="light"] .public-contact-page main {
    color: #334155;
    background: #f8fafc;
}

html[data-theme="light"] .public-cart-page main h1,
html[data-theme="light"] .public-cart-page main h2,
html[data-theme="light"] .public-cart-page main h3,
html[data-theme="light"] .public-contact-page main h1,
html[data-theme="light"] .public-contact-page main h2,
html[data-theme="light"] .public-contact-page main h3,
html[data-theme="light"] .public-contact-page main h4 {
    color: #0f172a !important;
}

html[data-theme="light"] .public-cart-page main [class*="bg-white/"],
html[data-theme="light"] .public-contact-page main [class*="bg-white/"] {
    border-color: #e2e8f0 !important;
    background: #fff !important;
    box-shadow: 0 10px 30px rgba(15,23,42,.045);
}

html[data-theme="light"] .public-cart-page main .text-white,
html[data-theme="light"] .public-cart-page main .text-gray-300,
html[data-theme="light"] .public-contact-page main .text-white,
html[data-theme="light"] .public-contact-page main .text-gray-300 {
    color: #1e293b !important;
}

html[data-theme="light"] .public-cart-page main .text-gray-400,
html[data-theme="light"] .public-cart-page main .text-gray-500,
html[data-theme="light"] .public-cart-page main .text-gray-600,
html[data-theme="light"] .public-contact-page main .text-gray-400,
html[data-theme="light"] .public-contact-page main .text-gray-500,
html[data-theme="light"] .public-contact-page main .text-gray-600 {
    color: #64748b !important;
}

html[data-theme="light"] .public-cart-page main input,
html[data-theme="light"] .public-contact-page main input,
html[data-theme="light"] .public-contact-page main textarea {
    color: #0f172a !important;
    border-color: #cbd5e1 !important;
    background: #fff !important;
}

html[data-theme="light"] .public-cart-page main input::placeholder,
html[data-theme="light"] .public-contact-page main input::placeholder,
html[data-theme="light"] .public-contact-page main textarea::placeholder {
    color: #94a3b8 !important;
}

html[data-theme="light"] .public-contact-page main .prose {
    color: #334155;
}

html[data-theme="dark"] .public-cart-page main,
html[data-theme="dark"] .public-contact-page main {
    background: #030712;
}

@media (max-width: 640px) {
    .public-state-page main .max-w-md > .rounded-2xl {
        padding: 1.25rem;
        border-radius: 1rem;
    }

    .public-cart-page main,
    .public-contact-page main {
        font-size: .9375rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .public-home-page *,
    .public-state-page *,
    .public-cart-page *,
    .public-contact-page *,
    .public-error-page .error-icon-float,
    .public-error-page .error-scan-line {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

/* ================================================================
   Public navigation + authentication
   UI/UX Pro Max direction: minimal, trustworthy hosting SaaS
   ================================================================ */
.public-header {
    min-height: 4rem;
    border-color: rgba(148,163,184,.16) !important;
    box-shadow: 0 1px 0 rgba(15,23,42,.035);
}

.public-nav-shell {
    max-width: 82rem;
}

.public-header .nav-link,
.public-header button,
.public-header a {
    -webkit-tap-highlight-color: transparent;
}

.public-header .nav-link {
    min-height: 2.5rem;
    display: inline-flex;
    align-items: center;
    font-weight: 500;
    letter-spacing: -.01em;
    transition: color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.public-header .nav-link:hover {
    transform: translateY(-1px);
}

.public-header button:focus-visible,
.public-header a:focus-visible {
    outline: 3px solid rgba(var(--color-primary-rgb),.22);
    outline-offset: 2px;
}

.public-header-cta {
    min-height: 2.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    box-shadow: 0 7px 18px rgba(var(--color-primary-rgb),.20);
    transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease;
}

.public-header-cta:hover {
    transform: translateY(-1px);
    filter: brightness(1.035);
    box-shadow: 0 10px 22px rgba(var(--color-primary-rgb),.26);
}

.public-header .dropdown-panel {
    padding-block: .45rem;
    border-radius: .875rem;
    box-shadow: 0 18px 48px rgba(2,6,23,.16), 0 3px 10px rgba(2,6,23,.07) !important;
}

.public-header .dropdown-link {
    min-height: 2.75rem;
    border-radius: .6rem;
    margin-inline: .35rem;
    padding-inline: .75rem;
}

.public-mobile-menu {
    overscroll-behavior: contain;
    scrollbar-width: thin;
}

html[data-theme="light"] .public-mobile-menu {
    color: #334155;
    background: rgba(255,255,255,.98);
    border-color: #e2e8f0 !important;
}

html[data-theme="light"] .public-mobile-menu .nav-link,
html[data-theme="light"] .public-mobile-menu button {
    color: #475569 !important;
}

html[data-theme="light"] .public-mobile-menu .nav-link:hover,
html[data-theme="light"] .public-mobile-menu button:hover {
    color: #0f172a !important;
    background: rgba(var(--color-primary-rgb),.055) !important;
}

.auth-page-shell {
    min-height: calc(100svh - 4rem);
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 82% 12%, rgba(var(--color-primary-rgb),.07), transparent 26rem),
        #f8fafc;
}

.auth-aside {
    isolation: isolate;
    background:
        radial-gradient(circle at 8% 4%, rgba(82,113,255,.32), transparent 29rem),
        radial-gradient(circle at 96% 92%, rgba(65,188,255,.13), transparent 25rem),
        linear-gradient(145deg, #111b42, #07102b) !important;
}

html[data-theme="light"] .auth-aside.login-left-panel,
html[data-theme="dark"] .auth-aside.login-left-panel {
    background:
        radial-gradient(circle at 18% 14%, rgb(79 105 255 / 28%), transparent 30rem),
        linear-gradient(145deg, #111a42 0%, #071126 56%, #050b18 100%) !important;
}

.auth-aside::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .45;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 32px 32px;
    mask-image: linear-gradient(to bottom right, #000, transparent 78%);
}

.auth-form-panel {
    position: relative;
    background: transparent !important;
}

html[data-theme="light"] .auth-form-panel.login-right-panel,
html[data-theme="dark"] .auth-form-panel.login-right-panel {
    background: transparent !important;
    border-left: 0 !important;
}

.auth-form-card {
    padding: clamp(1.35rem, 3vw, 2.25rem);
    border: 1px solid rgba(148,163,184,.22);
    border-radius: 1.25rem;
    background: rgba(255,255,255,.92);
    box-shadow: 0 18px 55px rgba(15,23,42,.08);
    animation: auth-card-enter 360ms cubic-bezier(.2,.75,.25,1) both;
}

.auth-signup-card {
    margin-block: 1rem;
}

.auth-eyebrow {
    margin-bottom: .65rem;
    display: block;
    color: var(--color-primary);
    font-size: .7rem;
    font-weight: 750;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.auth-form-card h1 {
    font-family: var(--font-brand-display, "Inter Tight", "Inter", sans-serif);
    letter-spacing: -.045em !important;
}

.auth-form label {
    color: #334155 !important;
    font-size: .82rem !important;
    font-weight: 650 !important;
}

.auth-form input:not([type="checkbox"]):not([type="hidden"]),
.auth-form select,
.auth-form textarea,
.auth-input {
    min-height: 3rem;
    border: 1px solid #dbe2ea !important;
    border-radius: .75rem !important;
    color: #0f172a !important;
    background: #fff !important;
    box-shadow: 0 1px 2px rgba(15,23,42,.025);
    transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease !important;
}

.auth-form input:not([type="checkbox"]):not([type="hidden"]):hover,
.auth-form select:hover,
.auth-form textarea:hover {
    border-color: #c1cad6 !important;
}

.auth-form input:not([type="checkbox"]):not([type="hidden"]):focus,
.auth-form select:focus,
.auth-form textarea:focus,
.auth-input:focus {
    outline: none !important;
    border-color: var(--color-primary) !important;
    box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb),.14) !important;
}

.auth-form input[aria-invalid="true"],
.auth-form select[aria-invalid="true"] {
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 3px rgba(220,38,38,.10) !important;
}

.auth-form input[type="checkbox"] {
    width: 1.1rem;
    height: 1.1rem;
}

.auth-password-toggle {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: .6rem;
    display: grid;
    place-items: center;
}

.auth-password-toggle:hover {
    background: #f1f5f9;
}

.auth-password-toggle:focus-visible {
    outline: 3px solid rgba(var(--color-primary-rgb),.18);
}

.auth-primary-btn {
    color: #fff;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(var(--color-primary-rgb),.24) !important;
    transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease, opacity 160ms ease;
}

.auth-primary-btn:not(:disabled):hover {
    opacity: 1 !important;
    transform: translateY(-1px);
    filter: brightness(1.035);
    box-shadow: 0 11px 25px rgba(var(--color-primary-rgb),.30) !important;
}

.auth-primary-btn:not(:disabled):active {
    transform: translateY(0);
}

.auth-primary-btn:disabled {
    cursor: wait;
    opacity: .65;
}

.auth-support-card {
    position: sticky;
    top: 7rem;
    color: #fff;
    border: 1px solid rgba(255,255,255,.13);
    background: rgba(255,255,255,.07) !important;
    box-shadow: 0 22px 60px rgba(0,0,0,.20) !important;
    backdrop-filter: blur(14px);
}

.auth-support-card h2 {
    color: #fff !important;
}

.auth-support-card p {
    color: rgba(255,255,255,.65) !important;
}

.auth-support-card > div:first-child {
    background: rgba(255,255,255,.10) !important;
}

.auth-support-card > div:first-child svg {
    color: #c7d2fe !important;
}

.auth-signup-aside {
    align-items: center;
    justify-content: flex-start;
}

.field-error {
    color: #dc2626 !important;
    line-height: 1.45;
}

@keyframes auth-card-enter {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

html[data-theme="dark"] .auth-page-shell {
    background:
        radial-gradient(circle at 82% 12%, rgba(82,113,255,.10), transparent 26rem),
        #070b16;
}

html[data-theme="dark"] .auth-form-card {
    color: #e5e7eb;
    border-color: rgba(255,255,255,.09);
    background: rgba(15,23,42,.91);
    box-shadow: 0 20px 60px rgba(0,0,0,.28);
}

html[data-theme="dark"] .auth-form label {
    color: #cbd5e1 !important;
}

html[data-theme="dark"] .auth-form input:not([type="checkbox"]):not([type="hidden"]),
html[data-theme="dark"] .auth-form select,
html[data-theme="dark"] .auth-form textarea,
html[data-theme="dark"] .auth-input {
    color: #f8fafc !important;
    border-color: rgba(255,255,255,.12) !important;
    background: rgba(255,255,255,.045) !important;
}

html[data-theme="dark"] .auth-password-toggle:hover {
    background: rgba(255,255,255,.06);
}

.public-auth-page .ref-portal-footer {
    padding: 0 1.5rem;
    background: #f8fafc;
}

.public-auth-page .ref-portal-footer-cta,
.public-auth-page .ref-portal-footer-links,
.public-auth-page .ref-portal-payments {
    display: none;
}

.public-auth-page .ref-portal-footer-inner {
    max-width: 82rem;
}

.public-auth-page .ref-portal-footer-bottom {
    min-height: 4rem;
    padding-block: .75rem;
    border-top: 0;
}

html[data-theme="dark"] .public-auth-page .ref-portal-footer {
    background: #070b16;
}

@media (max-width: 1023px) {
    .auth-page-shell {
        min-height: calc(100svh - 4rem);
        background:
            radial-gradient(circle at 50% 0, rgba(var(--color-primary-rgb),.09), transparent 24rem),
            #f8fafc;
    }

    .auth-form-panel {
        align-items: flex-start;
        padding-block: clamp(2rem, 7vw, 4rem);
    }

    .auth-form-card {
        margin-inline: auto;
    }
}

@media (max-width: 639px) {
    .auth-form-panel {
        padding-inline: 1rem;
    }

    .auth-form-card {
        padding: 1.25rem;
        border-radius: 1rem;
        box-shadow: 0 10px 32px rgba(15,23,42,.07);
    }

    .auth-form-card h1 {
        font-size: 2rem !important;
    }

    .public-auth-page .ref-portal-footer {
        padding-inline: 1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .public-header *,
    .auth-page-shell *,
    .auth-page-shell *::before,
    .auth-page-shell *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* ================================================================
   Dashboard and sidebar motion — quiet, purposeful SaaS interactions
   ================================================================ */
:root {
    --portal-shell-header-height: 4rem;
    --portal-shell-footer-height: 4.5rem;
}

.saas-sidebar-header,
#global-topbar {
    height: var(--portal-shell-header-height);
    min-height: var(--portal-shell-header-height);
    max-height: var(--portal-shell-header-height);
    box-sizing: border-box;
}

.saas-sidebar-header {
    padding-top: .45rem !important;
    padding-bottom: .45rem !important;
}

.saas-sidebar-profile {
    height: var(--portal-shell-footer-height);
    min-height: var(--portal-shell-footer-height);
    max-height: var(--portal-shell-footer-height);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.saas-sidebar {
    will-change: width, transform;
    transition:
        width 240ms cubic-bezier(.2, .75, .25, 1),
        transform 220ms cubic-bezier(.2, .75, .25, 1),
        border-color 180ms ease,
        background-color 180ms ease;
}

.saas-sidebar-nav {
    transition: padding 200ms cubic-bezier(.2, .75, .25, 1);
    scrollbar-width: thin;
    scrollbar-color: transparent transparent;
    overscroll-behavior: contain;
}

.saas-sidebar-nav:hover,
.saas-sidebar-nav:focus-within {
    scrollbar-color: rgba(100,116,139,.34) transparent;
}

.saas-sidebar-nav::-webkit-scrollbar {
    width: 5px;
}

.saas-sidebar-nav::-webkit-scrollbar-track {
    background: transparent;
}

.saas-sidebar-nav::-webkit-scrollbar-thumb {
    background: transparent;
    border-radius: 999px;
}

.saas-sidebar-nav:hover::-webkit-scrollbar-thumb,
.saas-sidebar-nav:focus-within::-webkit-scrollbar-thumb {
    background: rgba(100,116,139,.30);
}

.saas-sidebar-nav::-webkit-scrollbar-thumb:hover {
    background: rgba(100,116,139,.48);
}

html[data-theme="dark"] .saas-sidebar-nav:hover,
html[data-theme="dark"] .saas-sidebar-nav:focus-within {
    scrollbar-color: rgba(148,163,184,.30) transparent;
}

html[data-theme="dark"] .saas-sidebar-nav:hover::-webkit-scrollbar-thumb,
html[data-theme="dark"] .saas-sidebar-nav:focus-within::-webkit-scrollbar-thumb {
    background: rgba(148,163,184,.26);
}

.saas-sidebar-nav > a,
.saas-sidebar-nav > div > button,
.saas-sidebar-nav > div > a,
.saas-sidebar-nav .sidebar-nav-accordion a {
    min-height: 42px;
    position: relative;
    transition:
        color 150ms ease,
        background-color 150ms ease,
        box-shadow 150ms ease,
        transform 150ms cubic-bezier(.2, .75, .25, 1);
}

.saas-sidebar-nav > a,
.saas-sidebar-nav > div > button {
    transition:
        gap 180ms cubic-bezier(.2, .75, .25, 1),
        padding 180ms cubic-bezier(.2, .75, .25, 1),
        color 150ms ease,
        background-color 150ms ease,
        box-shadow 150ms ease,
        transform 150ms cubic-bezier(.2, .75, .25, 1);
}

.saas-sidebar-nav > a:hover,
.saas-sidebar-nav > div > button:hover,
.saas-sidebar-nav .sidebar-nav-accordion a:hover {
    transform: translateX(2px);
}

.saas-sidebar-nav svg {
    transition: color 150ms ease, transform 150ms cubic-bezier(.2, .75, .25, 1);
}

.saas-sidebar-nav > a:hover > svg:first-child,
.saas-sidebar-nav > div > button:hover > svg:first-child {
    transform: scale(1.05);
}

.saas-sidebar-nav .whitespace-nowrap {
    width: auto !important;
    min-width: 0;
    max-width: 12rem;
    overflow: hidden;
    transform: translateX(0);
    transition:
        max-width 180ms cubic-bezier(.2, .75, .25, 1),
        opacity 120ms ease,
        transform 160ms ease;
}

html[data-sb="collapsed"] .saas-sidebar-nav .whitespace-nowrap {
    width: auto !important;
    max-width: 0;
    opacity: 0;
    transform: translateX(-5px);
    pointer-events: none;
}

html[data-sb="collapsed"] .saas-sidebar-nav > a:hover,
html[data-sb="collapsed"] .saas-sidebar-nav > div > button:hover {
    transform: none;
}

html[data-sb="collapsed"] .saas-sidebar-nav > a,
html[data-sb="collapsed"] .saas-sidebar-nav > div > button {
    gap: 0;
}

html[data-theme="light"] .saas-sidebar-nav a.bg-violet-50,
html[data-theme="light"] .saas-sidebar-nav button.bg-violet-50 {
    box-shadow: inset 3px 0 0 var(--ref-primary);
}

.sidebar-nav-accordion {
    display: block;
    grid-template-rows: none;
    opacity: 0;
    overflow: hidden;
    transform: translateY(-4px);
    transition:
        opacity 160ms ease,
        transform 200ms cubic-bezier(.2, .75, .25, 1);
}

.sidebar-nav-accordion.snav-open {
    opacity: 1;
    transform: translateY(0);
}

.sidebar-nav-accordion > div {
    overflow: visible;
}

.sidebar-nav-accordion.snav-open > div > div > a,
.sidebar-nav-accordion.snav-open > div > div > div,
.sidebar-nav-accordion.snav-open .sidebar-nav-accordion-inner > a,
.sidebar-nav-accordion.snav-open .sidebar-nav-accordion-inner > div {
    animation: none;
}

#sidebar-toggle {
    transition:
        left 240ms cubic-bezier(.2, .75, .25, 1),
        color 150ms ease,
        background-color 150ms ease,
        border-color 150ms ease,
        box-shadow 150ms ease,
        transform 150ms ease;
}

#sidebar-toggle:hover {
    transform: translateY(-50%) scale(1.06);
}

#sidebar-toggle:active {
    transform: translateY(-50%) scale(.96);
}

.ref-dashboard > .ref-service-summary,
.ref-dashboard > .ref-panel {
    animation: dashboard-rise-in 420ms cubic-bezier(.2, .75, .25, 1) both;
}

.ref-dashboard > .ref-panel:nth-of-type(2) { animation-delay: 55ms; }
.ref-dashboard > .ref-panel:nth-of-type(3) { animation-delay: 100ms; }

@keyframes dashboard-rise-in {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.ref-summary-item,
.ref-panel,
.ref-product-row,
.ref-todo-row,
.ref-product-group {
    transition:
        color 160ms ease,
        background-color 160ms ease,
        border-color 160ms ease,
        box-shadow 180ms ease,
        transform 180ms cubic-bezier(.2, .75, .25, 1);
}

.ref-summary-item:hover {
    transform: translateY(-1px);
}

.ref-panel:hover {
    border-color: rgba(82,113,255,.19);
    box-shadow: 0 16px 40px rgba(31,42,85,.065);
}

.ref-todo-row:not(.completed):hover,
.ref-product-row:hover {
    background: rgba(82,113,255,.025);
}

.ref-todo-row:not(.completed):hover b {
    color: var(--ref-primary);
    border-color: rgba(82,113,255,.28);
    transform: translate(1px, -1px);
}

@media (prefers-reduced-motion: reduce) {
    .saas-sidebar,
    .saas-sidebar *,
    #sidebar-toggle,
    .sidebar-overlay,
    .ref-dashboard *,
    .ref-dashboard > * {
        scroll-behavior: auto !important;
        animation: none !important;
        transition-duration: .01ms !important;
        transition-delay: 0ms !important;
    }
}

/* Email history */
.ref-email-page {
    margin-top: -1.25rem;
    color: var(--ref-ink);
    font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
}

.ref-email-page h1,
.ref-email-page h2 {
    font-family: "Inter Tight", "Inter", ui-sans-serif, system-ui, sans-serif;
}

.ref-email-hero {
    min-height: 190px;
    margin-inline: -4rem;
    padding: 2.5rem 4rem 4.8rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    color: #fff;
    background:
        radial-gradient(circle at 88% 2%, rgba(82,113,255,.28), transparent 34%),
        linear-gradient(rgba(82,113,255,.065) 1px, transparent 1px),
        linear-gradient(90deg, rgba(82,113,255,.065) 1px, transparent 1px),
        linear-gradient(115deg, #111b42, #0b1330 72%);
    background-size: auto, 32px 32px, 32px 32px, auto;
}

.ref-email-eyebrow {
    display: block;
    margin-bottom: .45rem;
    color: #aebcff;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

html body .ref-email-hero h1 {
    margin: 0;
    color: #fff !important;
    font-size: clamp(2rem, 2.8vw, 2.7rem);
    letter-spacing: -.035em;
}

.ref-email-hero p {
    max-width: 620px;
    margin: .6rem 0 0;
    color: rgba(255,255,255,.65);
    font-size: .88rem;
}

.ref-email-count {
    min-width: 120px;
    padding: .9rem 1.15rem;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 14px;
    background: rgba(255,255,255,.08);
    text-align: center;
    backdrop-filter: blur(8px);
}

.ref-email-count strong,
.ref-email-count span { display: block; }
.ref-email-count strong {
    font-family: "Inter Tight", "Inter", sans-serif;
    font-size: 1.65rem;
    line-height: 1;
}
.ref-email-count span {
    margin-top: .35rem;
    color: rgba(255,255,255,.62);
    font-size: .67rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ref-email-panel {
    margin-top: -3rem;
    position: relative;
    z-index: 2;
    overflow: hidden;
    border: 1px solid rgba(82,113,255,.12);
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 14px 40px rgba(10,20,55,.08);
    animation: ref-ticket-fade-up .45s ease both;
}

.ref-email-table-wrap { overflow-x: auto; }
.ref-email-table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
}

.ref-email-table thead {
    background: #fafbfc;
}

.ref-email-table th {
    height: 54px;
    padding: 0 1.5rem;
    color: #697286;
    border-bottom: 1px solid var(--ref-line);
    font-size: .72rem;
    font-weight: 650;
}

.ref-email-table th:first-child { width: 42%; }
.ref-email-table th:nth-child(2) { width: 30%; }
.ref-email-table th:nth-child(3) { width: 18%; }
.ref-email-table th:last-child { width: 58px; }

.ref-email-table tbody tr {
    border-bottom: 1px solid #edf0f4;
    transition: background-color .2s ease, box-shadow .2s ease;
}

.ref-email-table tbody tr:last-child { border-bottom: 0; }
.ref-email-table tbody tr:hover {
    background: rgba(82,113,255,.035);
    box-shadow: inset 3px 0 var(--ref-primary);
}

.ref-email-table td {
    height: 76px;
    padding: .85rem 1.5rem;
    color: #7a8490;
    font-size: .84rem;
}

.ref-email-subject {
    display: inline-block;
    color: var(--ref-ink);
    font-weight: 550;
    transition: color .2s ease;
}

.ref-email-subject:hover { color: var(--ref-primary); }

.ref-email-status {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .3rem .65rem;
    border-radius: 999px;
    color: #087f5b;
    background: #eaf9f2;
    font-size: .72rem;
    font-weight: 700;
}

.ref-email-status > span {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #14b879;
}

.ref-email-open {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid transparent;
    border-radius: 9px;
    color: #7e8798;
    transition: color .2s ease, border-color .2s ease, background-color .2s ease, transform .2s ease;
}

.ref-email-open svg { width: 16px; height: 16px; }
.ref-email-open:hover {
    color: var(--ref-primary);
    border-color: rgba(82,113,255,.16);
    background: rgba(82,113,255,.07);
    transform: translateX(2px);
}

.ref-email-pagination {
    min-height: 62px;
    padding: .75rem 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid var(--ref-line);
    background: #fafbfc;
    color: var(--ref-muted);
    font-size: .75rem;
}

.ref-email-pagination > div { display: flex; gap: .45rem; }
.ref-email-pagination a {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid var(--ref-line);
    border-radius: 9px;
    color: var(--ref-muted);
    background: #fff;
    transition: color .2s ease, border-color .2s ease, transform .2s ease;
}
.ref-email-pagination a:hover {
    color: var(--ref-primary);
    border-color: rgba(82,113,255,.3);
    transform: translateY(-1px);
}
.ref-email-pagination svg { width: 15px; height: 15px; }

.ref-email-empty {
    min-height: 330px;
    display: grid;
    place-content: center;
    justify-items: center;
    text-align: center;
}
.ref-email-empty > div {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    margin-bottom: 1rem;
    border-radius: 15px;
    color: var(--ref-primary);
    background: rgba(82,113,255,.08);
}
.ref-email-empty svg { width: 24px; height: 24px; }
.ref-email-empty h2 { font-size: 1rem; }
.ref-email-empty p { margin-top: .35rem; color: var(--ref-muted); font-size: .8rem; }

body.ref-email-modal-open { overflow: hidden; }

.ref-email-modal {
    position: fixed;
    z-index: 1000;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 1.5rem;
    visibility: hidden;
    opacity: 0;
    transition: visibility .25s ease, opacity .25s ease;
}

.ref-email-modal.is-open {
    visibility: visible;
    opacity: 1;
}

.ref-email-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(5, 11, 28, .72);
    backdrop-filter: blur(5px);
}

.ref-email-modal-dialog {
    width: min(920px, 100%);
    max-height: min(880px, calc(100vh - 3rem));
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 32px 90px rgba(3, 8, 24, .32);
    transform: translateY(18px) scale(.985);
    transition: transform .28s cubic-bezier(.2,.75,.25,1);
}

.ref-email-modal.is-open .ref-email-modal-dialog {
    transform: translateY(0) scale(1);
}

.ref-email-modal-header {
    min-height: 88px;
    padding: 1rem 1.25rem;
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) 38px;
    align-items: center;
    gap: .9rem;
    border-bottom: 1px solid var(--ref-line);
    background: #fff;
}

.ref-email-modal-icon {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: var(--ref-primary);
    background: #f4f6fb;
}

.ref-email-modal-icon svg { width: 20px; height: 20px; }
.ref-email-modal-icon > strong {
    color: var(--ref-primary);
    font-family: "Inter Tight", "Inter", sans-serif;
    font-size: 1.15rem;
    font-weight: 750;
}
.ref-email-modal-icon img {
    width: 38px;
    height: 38px;
    display: block;
    object-fit: contain;
}

.ref-email-modal-heading > span {
    display: block;
    margin-bottom: .15rem;
    color: #929aad;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
}

html body .ref-email-modal-heading h2 {
    margin: 0;
    overflow: hidden;
    color: var(--ref-ink) !important;
    font-size: 1.05rem;
    font-weight: 650;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ref-email-modal-heading > div {
    margin-top: .32rem;
    display: flex;
    align-items: center;
    gap: .65rem;
}

.ref-email-modal-meta > span:first-child {
    color: #697286;
    font-size: .7rem;
}

.ref-email-modal-meta > span:first-child strong {
    color: #333a4c;
    font-weight: 650;
}

.ref-email-modal-meta > i {
    width: 3px;
    height: 3px;
    display: block;
    border-radius: 50%;
    background: #b2b8c4;
}

.ref-email-modal-heading time {
    color: var(--ref-muted);
    font-size: .7rem;
}

.ref-email-modal-heading .ref-email-status {
    padding: .18rem .48rem;
    font-size: .62rem;
}

.ref-email-modal-close {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid var(--ref-line);
    border-radius: 10px;
    color: #697286;
    background: #fff;
    cursor: pointer;
    transition: color .2s ease, border-color .2s ease, background-color .2s ease, transform .2s ease;
}

.ref-email-modal-close svg { width: 17px; height: 17px; }
.ref-email-modal-close:hover {
    color: #d14b4b;
    border-color: #f0caca;
    background: #fff7f7;
    transform: rotate(4deg);
}

.ref-email-modal-body {
    min-height: 0;
    padding: 1.5rem;
    flex: 1;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 0, rgba(82,113,255,.055), transparent 42%),
        #eef2f7;
}

.ref-email-modal-body iframe {
    width: min(640px, 100%);
    height: min(680px, calc(100vh - 10.5rem));
    display: block;
    margin: 0 auto;
    border: 1px solid #dde2ea;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(15,23,42,.09);
}

html[data-theme="dark"] .ref-email-page { color: #f8fafc; }
html[data-theme="dark"] .ref-email-panel {
    border-color: rgba(255,255,255,.08);
    background: #0f172a;
    box-shadow: 0 14px 40px rgba(0,0,0,.2);
}
html[data-theme="dark"] .ref-email-table thead,
html[data-theme="dark"] .ref-email-pagination { background: rgba(255,255,255,.025); }
html[data-theme="dark"] .ref-email-table th,
html[data-theme="dark"] .ref-email-table tbody tr,
html[data-theme="dark"] .ref-email-pagination { border-color: rgba(255,255,255,.07); }
html[data-theme="dark"] .ref-email-table tbody tr:hover { background: rgba(82,113,255,.07); }
html[data-theme="dark"] .ref-email-subject { color: #f1f5f9; }
html[data-theme="dark"] .ref-email-status { color: #5ee0ae; background: rgba(20,184,121,.12); }
html[data-theme="dark"] .ref-email-pagination a {
    border-color: rgba(255,255,255,.08);
    background: rgba(255,255,255,.03);
}
html[data-theme="dark"] .ref-email-modal-dialog,
html[data-theme="dark"] .ref-email-modal-header {
    border-color: rgba(255,255,255,.08);
    background: #0f172a;
}
html[data-theme="dark"] body .ref-email-modal-heading h2 { color: #f8fafc !important; }
html[data-theme="dark"] .ref-email-modal-close {
    color: #94a3b8;
    border-color: rgba(255,255,255,.09);
    background: rgba(255,255,255,.03);
}
html[data-theme="dark"] .ref-email-modal-body {
    background: #091120;
}
html[data-theme="dark"] .ref-email-modal-icon {
    background: rgba(255,255,255,.06);
}
html[data-theme="dark"] .ref-email-modal-icon > strong { color: #91a4ff; }
html[data-theme="dark"] .ref-email-modal-meta > span:first-child { color: #94a3b8; }
html[data-theme="dark"] .ref-email-modal-meta > span:first-child strong { color: #e2e8f0; }

@media (max-width: 900px) {
    .ref-email-hero { margin-inline: -2rem; padding-inline: 2rem; }
}

@media (max-width: 640px) {
    .ref-email-page { margin-top: -1rem; }
    .ref-email-hero {
        min-height: 245px;
        margin-inline: -1rem;
        padding: 2rem 1rem 5rem;
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
    }
    .ref-email-count {
        width: 100%;
        display: flex;
        align-items: baseline;
        justify-content: center;
        gap: .4rem;
    }
    .ref-email-count strong,
    .ref-email-count span { display: inline; margin: 0; }
    .ref-email-panel { margin-top: -3.5rem; }
    .ref-email-table thead { display: none; }
    .ref-email-table,
    .ref-email-table tbody,
    .ref-email-table tr,
    .ref-email-table td { display: block; width: 100%; }
    .ref-email-table tbody tr {
        min-height: 118px;
        padding: 1rem 3.5rem 1rem 1rem;
        position: relative;
    }
    .ref-email-table td {
        height: auto;
        padding: .2rem 0;
    }
    .ref-email-table td:nth-child(2) { font-size: .75rem; }
    .ref-email-table td:nth-child(3) { margin-top: .25rem; }
    .ref-email-table td:last-child {
        width: auto;
        position: absolute;
        top: 50%;
        right: 1rem;
        transform: translateY(-50%);
    }
    .ref-email-modal {
        padding: .75rem;
        align-items: end;
    }
    .ref-email-modal-dialog {
        max-height: calc(100vh - 1.5rem);
        border-radius: 17px;
    }
    .ref-email-modal-header {
        min-height: 82px;
        padding: .9rem;
        grid-template-columns: 42px minmax(0, 1fr) 36px;
        gap: .7rem;
    }
    .ref-email-modal-icon { width: 42px; height: 42px; }
    .ref-email-modal-icon img { width: 31px; height: 31px; }
    .ref-email-modal-body { padding: .65rem; }
    .ref-email-modal-body iframe {
        height: calc(100vh - 8rem);
        border-radius: 8px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ref-email-page *,
    .ref-email-page *::before,
    .ref-email-page *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* Client portal footer */
.ref-portal-footer {
    padding: 3.5rem 2rem 0;
    border-top: 1px solid var(--ref-line);
    color: var(--ref-ink);
    background: #fff;
    font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
}

.ref-portal-footer-inner {
    width: 100%;
    max-width: 92rem;
    margin: 0 auto;
}

.ref-portal-footer-cta {
    min-height: 260px;
    padding: 3.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3rem;
    overflow: hidden;
    position: relative;
    border: 1px solid #dce3ff;
    border-radius: 24px;
    background:
        radial-gradient(circle at 97% 95%, rgba(82,113,255,.12), transparent 34%),
        linear-gradient(115deg, #fbfcff, #f3f6ff);
}

.ref-portal-footer-cta::after {
    content: "";
    width: 260px;
    height: 260px;
    position: absolute;
    right: -90px;
    bottom: -145px;
    border: 1px solid rgba(82,113,255,.12);
    border-radius: 50%;
    box-shadow: 0 0 0 55px rgba(82,113,255,.025);
}

.ref-portal-footer-cta > * { position: relative; z-index: 1; }
.ref-portal-footer-cta > div:first-child { max-width: 680px; }
.ref-portal-footer-cta > div:first-child > span {
    color: var(--ref-primary);
    font-size: .7rem;
    font-weight: 750;
    letter-spacing: .13em;
    text-transform: uppercase;
}

html body .ref-portal-footer-cta h2 {
    margin: 1rem 0 .9rem;
    color: #171b2d !important;
    font-family: "Inter Tight", "Inter", sans-serif;
    font-size: clamp(2rem, 3.4vw, 3.35rem);
    font-weight: 700;
    letter-spacing: -.045em;
    line-height: 1.04;
}

.ref-portal-footer-cta p {
    max-width: 620px;
    color: #657087;
    font-size: .94rem;
    line-height: 1.7;
}

.ref-portal-footer-actions {
    min-width: 340px;
}

.ref-portal-status {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: 1rem;
    padding: .4rem .7rem;
    border: 1px solid #cbe9d9;
    border-radius: 999px;
    color: #237952;
    background: #effaf4;
    font-size: .68rem;
    font-weight: 700;
}
.ref-portal-status i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #22b878;
    box-shadow: 0 0 0 4px rgba(34,184,120,.12);
}
.ref-portal-footer-actions > div { display: flex; gap: .7rem; }
.ref-portal-footer-actions a {
    min-height: 48px;
    padding: 0 1.2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    border-radius: 11px;
    font-size: .8rem;
    font-weight: 700;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.ref-portal-footer-actions a:hover { transform: translateY(-2px); }
.ref-portal-primary {
    color: #fff;
    background: var(--ref-primary);
    box-shadow: 0 10px 22px rgba(82,113,255,.23);
}
.ref-portal-primary:hover { color: #fff; box-shadow: 0 14px 28px rgba(82,113,255,.3); }
.ref-portal-primary b { font-size: 1.1rem; font-weight: 500; }
.ref-portal-secondary {
    color: #293247;
    border: 1px solid #dce2ee;
    background: #fff;
}
.ref-portal-secondary:hover { color: var(--ref-primary); border-color: #c9d3ff; }

.ref-portal-footer-links {
    margin-top: 2.5rem;
    padding: 2.5rem;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    border: 1px solid #e5e9f2;
    border-radius: 20px;
}
.ref-portal-footer-links > div {
    padding-left: 1rem;
    display: flex;
    flex-direction: column;
    gap: .85rem;
    border-left: 2px solid #d9e0ff;
}
.ref-portal-footer-links h3 {
    margin: 0 .4rem .35rem 0;
    color: #263047;
    font-size: .68rem;
    font-weight: 750;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.ref-portal-footer-links a {
    width: fit-content;
    color: #637087;
    font-size: .82rem;
    font-weight: 550;
    transition: color .2s ease, transform .2s ease;
}
.ref-portal-footer-links a:hover {
    color: var(--ref-primary);
    transform: translateX(3px);
}

.ref-portal-payments {
    margin-top: 1.5rem;
    padding: 1rem 1.25rem;
    display: flex;
    align-items: center;
    gap: .65rem;
    flex-wrap: wrap;
    border: 1px solid #e5e9f2;
    border-radius: 14px;
}
.ref-portal-payments strong {
    margin-right: .25rem;
    color: #4e586d;
    font-size: .68rem;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.ref-portal-payments span {
    padding: .38rem .68rem;
    border: 1px solid #e2e6ef;
    border-radius: 7px;
    color: #4e586d;
    background: #fff;
    font-size: .68rem;
}

.ref-portal-footer-bottom {
    min-height: 78px;
    margin-top: 2rem;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 1.5rem;
    border-top: 1px solid #e5e9f2;
}
.ref-portal-brand {
    color: #30394c;
    font-family: "Inter Tight", "Inter", sans-serif;
    font-size: .9rem;
    font-weight: 750;
}
.ref-portal-footer-bottom p {
    color: #697286;
    font-size: .7rem;
    text-align: center;
}
.ref-portal-footer-bottom nav {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
}
.ref-portal-footer-bottom nav a {
    color: #697286;
    font-size: .68rem;
}
.ref-portal-footer-bottom nav a:hover { color: var(--ref-primary); }
.ref-portal-social { display: flex; align-items: center; gap: .625rem; }
.ref-portal-social-link { display: flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem; border-radius: .375rem; color: #697286; border: 1px solid rgba(0,0,0,.1); transition: color .15s, border-color .15s, background .15s; }
.ref-portal-social-link:hover { color: var(--ref-primary); border-color: var(--ref-primary); background: rgba(99,102,241,.06); }
html[data-theme="dark"] .ref-portal-social-link { color: #94a3b8; border-color: rgba(255,255,255,.12); }
html[data-theme="dark"] .ref-portal-social-link:hover { color: var(--ref-primary); border-color: var(--ref-primary); background: rgba(99,102,241,.1); }

html[data-theme="dark"] .ref-portal-footer {
    color: #f8fafc;
    border-color: rgba(255,255,255,.08);
    background: #091120;
}
html[data-theme="dark"] .ref-portal-footer-cta {
    border-color: rgba(129,140,248,.18);
    background: radial-gradient(circle at 97% 95%, rgba(82,113,255,.18), transparent 34%), #0f172a;
}
html[data-theme="dark"] body .ref-portal-footer-cta h2 { color: #f8fafc !important; }
html[data-theme="dark"] .ref-portal-footer-cta p { color: #94a3b8; }
html[data-theme="dark"] .ref-portal-footer-links,
html[data-theme="dark"] .ref-portal-payments {
    border-color: rgba(255,255,255,.08);
    background: #0f172a;
}
html[data-theme="dark"] .ref-portal-footer-links h3,
html[data-theme="dark"] .ref-portal-brand { color: #e2e8f0; }
html[data-theme="dark"] .ref-portal-footer-links a,
html[data-theme="dark"] .ref-portal-footer-bottom p,
html[data-theme="dark"] .ref-portal-footer-bottom nav a { color: #94a3b8; }
html[data-theme="dark"] .ref-portal-payments span {
    color: #cbd5e1;
    border-color: rgba(255,255,255,.08);
    background: rgba(255,255,255,.03);
}
html[data-theme="dark"] .ref-portal-footer-bottom { border-color: rgba(255,255,255,.08); }

@media (max-width: 1050px) {
    .ref-portal-footer-cta { align-items: flex-start; flex-direction: column; }
    .ref-portal-footer-actions { min-width: 0; }
}
@media (max-width: 767px) {
    .ref-portal-footer { padding: 2rem 1rem 0; }
    .ref-portal-footer-cta { min-height: 0; padding: 2rem 1.35rem; border-radius: 18px; }
    .ref-portal-footer-actions { width: 100%; }
    .ref-portal-footer-actions > div { flex-direction: column; }
    .ref-portal-footer-actions a { width: 100%; }
    .ref-portal-footer-links { padding: 1.5rem; grid-template-columns: 1fr 1fr; }
    .ref-portal-footer-bottom { padding: 1.5rem 0; grid-template-columns: 1fr; text-align: center; }
    .ref-portal-footer-bottom nav { justify-content: center; }
}
@media (max-width: 480px) {
    .ref-portal-footer-links { grid-template-columns: 1fr; }
}

/* Public homepage — MeroVPS alignment */
.ref-home {
    overflow: hidden;
    color: #171b2d;
    background: #fff;
    font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
}
.ref-home h1,
.ref-home h2,
.ref-home h3 {
    font-family: "Inter Tight", "Inter", ui-sans-serif, system-ui, sans-serif;
}

.ref-home-hero {
    min-height: 680px;
    padding: 7.5rem max(1.5rem, calc((100vw - 1280px) / 2)) 5rem;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(430px, .95fr);
    align-items: center;
    gap: 5rem;
    position: relative;
    background:
        radial-gradient(circle at 80% 20%, rgba(82,113,255,.12), transparent 28%),
        linear-gradient(rgba(82,113,255,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(82,113,255,.045) 1px, transparent 1px),
        linear-gradient(135deg, #fbfcff, #f7f5ff);
    background-size: auto, 36px 36px, 36px 36px, auto;
}
.ref-home-hero::before {
    content: "";
    width: 460px;
    height: 460px;
    position: absolute;
    right: -190px;
    top: -190px;
    border: 1px solid rgba(82,113,255,.12);
    border-radius: 50%;
    box-shadow: 0 0 0 80px rgba(82,113,255,.025);
}
.ref-home-hero > * { position: relative; z-index: 1; }
.ref-home-kicker {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    margin-bottom: 1.3rem;
    color: #4f64c9;
    font-size: .72rem;
    font-weight: 750;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.ref-home-kicker i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #24b97a;
    box-shadow: 0 0 0 5px rgba(36,185,122,.11);
}
html body .ref-home-hero h1 {
    margin: 0;
    color: #171b2d !important;
    font-size: clamp(3.3rem, 6vw, 5.8rem);
    font-weight: 700;
    letter-spacing: -.06em;
    line-height: .94;
}
.ref-home-hero h1 em {
    color: var(--ref-primary);
    font-style: normal;
}
.ref-home-hero-copy > p {
    max-width: 660px;
    margin: 1.6rem 0 0;
    color: #626d83;
    font-size: 1rem;
    line-height: 1.75;
}
.ref-home-hero-actions {
    margin-top: 2rem;
    display: flex;
    gap: .75rem;
}
.ref-home-hero-actions a {
    min-height: 50px;
    padding: 0 1.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    border-radius: 11px;
    font-size: .82rem;
    font-weight: 700;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.ref-home-hero-actions a:hover { transform: translateY(-2px); }
.ref-home-primary {
    color: #fff;
    background: var(--ref-primary);
    box-shadow: 0 12px 26px rgba(82,113,255,.25);
}
.ref-home-primary:hover { color: #fff; box-shadow: 0 16px 30px rgba(82,113,255,.32); }
.ref-home-secondary {
    color: #263047;
    border: 1px solid #dce1eb;
    background: #fff;
}
.ref-home-secondary:hover { color: var(--ref-primary); border-color: #cbd4ff; }
.ref-home-trust {
    margin-top: 1.4rem;
    display: flex;
    gap: 1.2rem;
    flex-wrap: wrap;
    color: #707b90;
    font-size: .7rem;
    font-weight: 600;
}
.ref-home-trust span::first-letter { color: #20a96e; }

.ref-home-console {
    overflow: hidden;
    border: 1px solid rgba(82,113,255,.16);
    border-radius: 19px;
    background: #0b1330;
    box-shadow: 0 30px 70px rgba(16,28,73,.2);
    transform: perspective(1200px) rotateY(-2deg) rotateX(1deg);
}
.ref-home-console-bar {
    min-height: 54px;
    padding: 0 1rem;
    display: flex;
    align-items: center;
    gap: .4rem;
    color: #808aa4;
    border-bottom: 1px solid rgba(255,255,255,.07);
    font-size: .66rem;
}
.ref-home-console-bar > span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #44506c;
}
.ref-home-console-bar > span:first-child { background: #f06c69; }
.ref-home-console-bar > span:nth-child(2) { background: #e3b650; }
.ref-home-console-bar > span:nth-child(3) { background: #48b979; }
.ref-home-console-bar b { margin-left: .55rem; font-weight: 550; }
.ref-home-console-bar i {
    margin-left: auto;
    color: #53d69b;
    font-style: normal;
}
.ref-home-console-body {
    min-height: 350px;
    padding: 2rem;
    color: #c8d0e4;
    font-family: "JetBrains Mono", monospace;
    font-size: .75rem;
}
.ref-home-console-body p { margin: 0 0 1.2rem; }
.ref-home-console-body p:first-child { margin-bottom: 2rem; color: #7f8aa4; }
.ref-home-console-body p:first-child span { color: #89a2ff; }
.ref-home-console-body p b { margin-right: .6rem; color: #47d597; }
.ref-home-console-body small { float: right; color: #606b86; }
.ref-home-console-body > div {
    margin-top: 2rem;
    padding: 1rem;
    display: flex;
    justify-content: space-between;
    border: 1px solid rgba(82,113,255,.18);
    border-radius: 10px;
    color: #aebcff;
    background: rgba(82,113,255,.08);
}
.ref-home-console-body > div strong { color: #fff; }

.ref-home-products {
    max-width: 1280px;
    margin: -2rem auto 0;
    padding: 0 1.5rem;
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}
.ref-home-products a {
    min-height: 125px;
    padding: 1.3rem 1.45rem;
    display: grid;
    grid-template-columns: 1fr auto;
    align-content: center;
    border: 1px solid #e2e6ef;
    border-radius: 15px;
    color: #20283a;
    background: #fff;
    box-shadow: 0 14px 35px rgba(15,23,42,.07);
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.ref-home-products a:hover {
    color: #20283a;
    transform: translateY(-4px);
    border-color: #cbd4ff;
    box-shadow: 0 20px 42px rgba(15,23,42,.11);
}
.ref-home-products span { color: var(--ref-primary); font-size: .68rem; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.ref-home-products strong { grid-column: 1; margin-top: .35rem; font-size: 1rem; }
.ref-home-products b { grid-column: 1; margin-top: .45rem; color: #788297; font-size: .7rem; font-weight: 550; }
.ref-home-products i { grid-column: 2; grid-row: 1 / 4; align-self: center; font-size: 1.25rem; font-style: normal; color: var(--ref-primary); }

.ref-home-hardware {
    max-width: 1280px;
    margin: 4.5rem auto;
    padding: 0 1.5rem;
    text-align: center;
}
.ref-home-hardware > span { color: #98a0b0; font-size: .68rem; font-weight: 650; text-transform: uppercase; letter-spacing: .1em; }
.ref-home-hardware > div { margin-top: 1.5rem; display: flex; justify-content: center; gap: clamp(1.5rem, 5vw, 4.5rem); flex-wrap: wrap; }
.ref-home-hardware b { color: #7d8799; font-size: .83rem; font-weight: 700; }

.ref-home-domain {
    margin-top: 0;
    border-block: 1px solid #edf0f5;
    background: #faf9ff;
}
.ref-home-section-label {
    display: block;
    margin-bottom: .7rem;
    color: var(--ref-primary);
    font-size: .68rem;
    font-weight: 750;
    letter-spacing: .12em;
    text-transform: uppercase;
}
html body .ref-home-domain h2 { color: #171b2d !important; }
.ref-home-domain-intro { margin: 0 0 2rem; color: #737d91; }
.ref-home-domain .rounded-2xl.border { border-color: #dfe3ec; background: #fff; box-shadow: 0 10px 28px rgba(15,23,42,.06); }
.ref-home-domain input { color: #20283a !important; }
.ref-home-domain input::placeholder { color: #98a2b4 !important; }
.ref-home-domain form button[type="button"] { color: #30384b; border-color: #e1e4eb; background: #f7f8fa; }
.ref-home-domain .grid > div {
    border-color: #e2e5ec;
    color: #20283a;
    background: #fff;
    box-shadow: 0 5px 14px rgba(15,23,42,.04);
}
.ref-home-domain .grid > div p:first-child { color: #20283a !important; }

.ref-home-features,
.ref-home-final-cta,
.ref-home-faq {
    border-color: #edf0f5 !important;
    background: #fff;
}
html body .ref-home-features h2,
html body .ref-home-final-cta h2,
html body .ref-home-faq h2 { color: #171b2d !important; }
.ref-home-features .text-gray-400,
.ref-home-final-cta .text-gray-400,
.ref-home-faq .text-gray-400 { color: #657087 !important; }
.ref-home-features .text-gray-500,
.ref-home-final-cta .text-gray-500,
.ref-home-faq .text-gray-500 { color: #7d8799 !important; }
.ref-home-features .grid > div {
    border-color: #e4e7ee;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15,23,42,.045);
}
html body .ref-home-features .grid > div h3 { color: #20283a !important; }
.ref-home-final-cta .pub-cta-card {
    border-color: #dce3ff !important;
    background: radial-gradient(circle at 90% 0, rgba(82,113,255,.12), transparent 42%), #f7f9ff !important;
}
.ref-home-faq .divide-y { border-color: #e8ebf1; }
.ref-home-faq .divide-y > div { border-color: #e8ebf1; }
.ref-home-faq button span { color: #293247 !important; }

@media (max-width: 1050px) {
    .ref-home-hero { grid-template-columns: 1fr; padding-top: 6rem; gap: 3rem; }
    .ref-home-console { max-width: 720px; width: 100%; transform: none; }
}
@media (max-width: 767px) {
    .ref-home-hero { min-height: 0; padding: 5rem 1rem 4rem; }
    html body .ref-home-hero h1 { font-size: clamp(2.8rem, 15vw, 4.3rem); }
    .ref-home-hero-actions { align-items: stretch; flex-direction: column; }
    .ref-home-trust { align-items: flex-start; flex-direction: column; gap: .5rem; }
    .ref-home-console-body { min-height: 300px; padding: 1.25rem; font-size: .66rem; }
    .ref-home-console-body small { display: none; }
    .ref-home-products { margin-top: 1rem; grid-template-columns: 1fr; }
    .ref-home-hardware { margin-block: 3.5rem; }
}

/* Knowledge-base article */
.ref-kba-page {
    margin-top: -1.25rem;
    color: var(--ref-ink);
    font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
}

.ref-kba-page h1,
.ref-kba-page h2,
.ref-kba-page h3,
.ref-kba-page h4 {
    font-family: "Inter Tight", "Inter", ui-sans-serif, system-ui, sans-serif;
}

.ref-kba-breadcrumb {
    min-height: 52px;
    margin-inline: -4rem;
    padding: 0 4rem;
    border-bottom: 1px solid var(--ref-line);
    background: #fff;
    color: var(--ref-muted);
    white-space: nowrap;
    overflow-x: auto;
}

.ref-kba-breadcrumb a {
    color: inherit;
    transition: color .2s ease;
}

.ref-kba-breadcrumb a:hover,
.ref-kba-breadcrumb span {
    color: var(--ref-ink);
}

.ref-kba-layout {
    max-width: 86rem;
    margin-inline: auto;
    animation: ref-ticket-fade-up .45s ease both;
}

.ref-kba-article {
    border-color: rgba(82,113,255,.14) !important;
    border-radius: 20px !important;
    box-shadow: 0 16px 44px rgba(10,20,55,.08) !important;
}

.ref-kba-header {
    position: relative;
    min-height: 220px;
    padding: 2.75rem 3rem !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    color: #fff;
    border: 0 !important;
    background:
        radial-gradient(circle at 90% 5%, rgba(82,113,255,.32), transparent 36%),
        linear-gradient(rgba(82,113,255,.07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(82,113,255,.07) 1px, transparent 1px),
        linear-gradient(120deg, #101b45, #050b1c 72%);
    background-size: auto, 32px 32px, 32px 32px, auto;
}

.ref-kba-header::after {
    content: "";
    position: absolute;
    width: 250px;
    height: 250px;
    right: 8%;
    top: -175px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 50%;
    box-shadow: 0 0 0 48px rgba(82,113,255,.035);
}

.ref-kba-eyebrow {
    position: relative;
    z-index: 1;
    margin-bottom: .7rem;
    color: #aebcff;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

html body .ref-kba-header h1 {
    position: relative;
    z-index: 1;
    max-width: 820px;
    margin-bottom: 1.3rem;
    color: #fff !important;
    font-size: clamp(2rem, 3vw, 3rem);
    letter-spacing: -.035em;
    line-height: 1.08;
}

.ref-kba-header > div {
    position: relative;
    z-index: 1;
    color: rgba(255,255,255,.68) !important;
}

.ref-kba-header > div a {
    color: #dce3ff !important;
    border-color: rgba(255,255,255,.16) !important;
    background: rgba(255,255,255,.09) !important;
    backdrop-filter: blur(6px);
}

.ref-kba-body {
    min-height: 260px;
    padding: 2.75rem 3rem !important;
}

.ref-kba-body .prose-kb {
    max-width: 820px;
    color: #42485a;
    font-size: 1rem;
    line-height: 1.85;
}

.ref-kba-body .prose-kb > :first-child { margin-top: 0; }
.ref-kba-body .prose-kb > :last-child { margin-bottom: 0; }

.ref-kba-feedback {
    position: relative;
    padding: 2.2rem 2rem !important;
    border-color: var(--ref-line) !important;
    background:
        radial-gradient(circle at 50% 0, rgba(82,113,255,.08), transparent 48%),
        var(--ref-surface-low);
}

.ref-kba-feedback h4 { margin-bottom: 1rem; }

.ref-kba-helpful {
    min-width: 136px;
    justify-content: center;
    background: #fff;
    box-shadow: 0 4px 12px rgba(10,20,55,.04);
    transition: transform .2s ease, color .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease !important;
}

.ref-kba-helpful:hover {
    transform: translateY(-2px);
    box-shadow: 0 9px 18px rgba(10,20,55,.08);
}

.ref-kba-navigation a {
    padding: .65rem .8rem;
    border-radius: 10px;
}

.ref-kba-navigation a:hover {
    background: rgba(82,113,255,.07);
}

.ref-kba-sidebar {
    position: sticky;
    top: 1.5rem;
}

.ref-kba-section,
.ref-kba-support {
    border-radius: 18px !important;
    box-shadow: 0 12px 34px rgba(10,20,55,.07);
}

.ref-kba-section a {
    min-height: 44px;
    transition: transform .2s ease, color .2s ease, background-color .2s ease;
}

.ref-kba-section a:hover { transform: translateX(3px); }

.ref-kba-support {
    background: linear-gradient(145deg, #627cff, #3658ed) !important;
    box-shadow: 0 18px 40px rgba(54,88,237,.24);
}

.ref-kba-support a {
    transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.ref-kba-support a:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(16,28,70,.18);
}

html[data-theme="dark"] .ref-kba-page { color: #f8fafc; }
html[data-theme="dark"] .ref-kba-breadcrumb {
    color: #94a3b8;
    background: #0f172a;
    border-color: rgba(255,255,255,.08);
}
html[data-theme="dark"] .ref-kba-breadcrumb a:hover,
html[data-theme="dark"] .ref-kba-breadcrumb span { color: #f8fafc; }
html[data-theme="dark"] .ref-kba-article,
html[data-theme="dark"] .ref-kba-section {
    background: #0f172a !important;
    border-color: rgba(255,255,255,.09) !important;
}
html[data-theme="dark"] .ref-kba-feedback {
    border-color: rgba(255,255,255,.08) !important;
    background: radial-gradient(circle at 50% 0, rgba(82,113,255,.12), transparent 48%), #111a2c;
}
html[data-theme="dark"] .ref-kba-helpful {
    background: rgba(255,255,255,.035);
}

@media (max-width: 900px) {
    .ref-kba-breadcrumb { margin-inline: -2rem; padding-inline: 2rem; }
}

@media (max-width: 767px) {
    .ref-kba-page { margin-top: -1rem; }
    .ref-kba-breadcrumb { margin-inline: -1rem; padding-inline: 1rem; }
    .ref-kba-header {
        min-height: 210px;
        padding: 2rem 1.35rem !important;
    }
    .ref-kba-body {
        min-height: 0;
        padding: 2rem 1.35rem !important;
    }
    .ref-kba-sidebar { position: static; }
}

@media (max-width: 520px) {
    .ref-kba-feedback { padding-inline: 1rem !important; }
    .ref-kba-feedback > div { width: 100%; flex-direction: column; }
    .ref-kba-helpful { width: 100%; }
    .ref-kba-navigation { gap: .5rem; }
    .ref-kba-navigation a { font-size: .78rem; }
}

@media (prefers-reduced-motion: reduce) {
    .ref-kba-page *,
    .ref-kba-page *::before,
    .ref-kba-page *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* Invoice center */
.ref-invoice-page {
    margin-top: -1.25rem;
    color: var(--ref-ink);
    font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
}

.ref-invoice-page h1,
.ref-invoice-page h2,
.ref-invoice-page h3,
.ref-invoice-page h4 {
    font-family: "Inter Tight", "Inter", ui-sans-serif, system-ui, sans-serif;
}

.ref-invoice-hero {
    position: relative;
    min-height: 220px;
    margin-inline: -4rem;
    padding: 2.75rem 4rem 5.25rem;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 86% 5%, rgba(82,113,255,.34), transparent 35%),
        linear-gradient(rgba(82,113,255,.075) 1px, transparent 1px),
        linear-gradient(90deg, rgba(82,113,255,.075) 1px, transparent 1px),
        linear-gradient(120deg, #101b45, #050b1c 72%);
    background-size: auto, 32px 32px, 32px 32px, auto;
}

.ref-invoice-hero::after {
    content: "";
    position: absolute;
    width: 280px;
    height: 280px;
    right: 10%;
    top: -205px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 50%;
    box-shadow: 0 0 0 52px rgba(82,113,255,.035);
    pointer-events: none;
}

.ref-invoice-hero > * {
    position: relative;
    z-index: 1;
}

.ref-invoice-eyebrow {
    display: block;
    margin-bottom: .45rem;
    color: #aebcff;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

html body .ref-invoice-hero h1 {
    color: #fff !important;
    font-size: clamp(2.25rem, 3vw, 3rem);
}

.ref-invoice-hero p {
    color: rgba(255,255,255,.68) !important;
}

.ref-invoice-hero p span { color: #c5ceff !important; }

.ref-invoice-tabs {
    border-color: rgba(255,255,255,.14) !important;
    background: rgba(255,255,255,.09) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.1) !important;
    backdrop-filter: blur(8px);
}

.ref-invoice-tabs a {
    min-width: 72px;
    color: rgba(255,255,255,.72);
    text-align: center;
}

.ref-invoice-tabs a:not([style]):hover {
    color: #fff;
    background: rgba(255,255,255,.09) !important;
}

.ref-invoice-tabs a[style] {
    box-shadow: 0 7px 18px rgba(32,59,180,.3);
}

.ref-invoice-stats {
    margin-top: -4.8rem;
    position: relative;
    z-index: 2;
}

.ref-invoice-stat {
    min-height: 160px;
    border-radius: 18px !important;
    box-shadow: 0 14px 38px rgba(10,20,55,.09) !important;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    animation: ref-ticket-fade-up .45s ease both;
}

.ref-invoice-stat:nth-child(2) { animation-delay: .06s; }
.ref-invoice-stat:nth-child(3) { animation-delay: .12s; }

.ref-invoice-stat:hover {
    transform: translateY(-3px);
    border-color: rgba(82,113,255,.25) !important;
    box-shadow: 0 20px 44px rgba(10,20,55,.12) !important;
}

.ref-invoice-stat > div:nth-child(2) {
    font-family: "Inter Tight", "Inter", sans-serif;
    letter-spacing: -.025em;
}

.ref-invoice-table {
    border-color: rgba(82,113,255,.13) !important;
    border-radius: 18px !important;
    box-shadow: 0 14px 38px rgba(10,20,55,.07) !important;
    animation: ref-ticket-fade-up .5s .08s ease both;
}

.ref-invoice-table > div:first-child {
    min-height: 70px;
}

.ref-invoice-table thead tr {
    background: var(--ref-surface-low) !important;
}

.ref-invoice-table th {
    letter-spacing: .08em;
}

.ref-invoice-row {
    transition: background-color .2s ease, box-shadow .2s ease;
}

.ref-invoice-row:hover {
    background: rgba(82,113,255,.035) !important;
    box-shadow: inset 3px 0 var(--ref-primary);
}

.ref-invoice-row td {
    height: 68px;
}

.ref-invoice-row td:first-child a {
    color: var(--ref-primary) !important;
    text-decoration: none !important;
}

.ref-invoice-row td:last-child a {
    transition: transform .2s ease, color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.ref-invoice-row td:last-child a:hover {
    transform: translateY(-1px);
}

.ref-invoice-info > div {
    min-height: 150px;
    border-radius: 18px !important;
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.ref-invoice-info > div:hover {
    transform: translateY(-2px);
    border-color: rgba(82,113,255,.25) !important;
    box-shadow: 0 14px 32px rgba(10,20,55,.08);
}

.ref-invoice-info a {
    transition: transform .2s ease, opacity .2s ease, box-shadow .2s ease;
}

.ref-invoice-info a:hover {
    transform: translateY(-1px);
}

html[data-theme="dark"] .ref-invoice-page { color: #f8fafc; }
html[data-theme="dark"] .ref-invoice-stat,
html[data-theme="dark"] .ref-invoice-table,
html[data-theme="dark"] .ref-invoice-info > div {
    background-color: #0f172a !important;
    border-color: rgba(255,255,255,.09) !important;
}
html[data-theme="dark"] .ref-invoice-table thead tr {
    background: rgba(255,255,255,.025) !important;
}
html[data-theme="dark"] .ref-invoice-row:hover {
    background: rgba(82,113,255,.07) !important;
}

@media (max-width: 900px) {
    .ref-invoice-hero {
        margin-inline: -2rem;
        padding-inline: 2rem;
    }
}

@media (max-width: 767px) {
    .ref-invoice-page { margin-top: -1rem; }
    .ref-invoice-hero {
        min-height: 285px;
        margin-inline: -1rem;
        padding: 2rem 1rem 5.5rem;
        align-items: flex-start !important;
        justify-content: center;
    }
    .ref-invoice-tabs {
        width: 100%;
    }
    .ref-invoice-tabs a {
        min-width: 0;
        flex: 1;
    }
    .ref-invoice-stats { margin-top: -4.8rem; }
    .ref-invoice-stat { min-height: 145px; }
    .ref-invoice-table th,
    .ref-invoice-row td { padding-inline: 1rem; }
}

@media (max-width: 520px) {
    .ref-invoice-row td { height: 62px; }
    .ref-invoice-row td:nth-child(4) { font-size: .78rem; }
    .ref-invoice-row td:last-child a { padding-inline: .65rem; }
}

@media (prefers-reduced-motion: reduce) {
    .ref-invoice-page *,
    .ref-invoice-page *::before,
    .ref-invoice-page *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* Invoice detail */
.ref-invoice-detail {
    max-width: none;
    margin-top: -1.25rem;
    color: var(--ref-ink);
    font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
}

.ref-invoice-detail h1,
.ref-invoice-detail h2,
.ref-invoice-detail h3,
.ref-invoice-detail h4 {
    font-family: "Inter Tight", "Inter", ui-sans-serif, system-ui, sans-serif;
}

.ref-invoice-alert {
    min-height: 58px;
    margin-inline: -4rem;
    padding-inline: 4rem !important;
    border-width: 0 0 1px !important;
    border-radius: 0 !important;
}

.ref-invoice-detail-hero {
    position: relative;
    min-height: 230px;
    margin: -1.5rem -4rem 0;
    padding: 2.75rem 4rem 5.25rem;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 87% 4%, rgba(82,113,255,.34), transparent 36%),
        linear-gradient(rgba(82,113,255,.075) 1px, transparent 1px),
        linear-gradient(90deg, rgba(82,113,255,.075) 1px, transparent 1px),
        linear-gradient(120deg, #101b45, #050b1c 72%);
    background-size: auto, 32px 32px, 32px 32px, auto;
}

.ref-invoice-detail-hero::after {
    content: "";
    position: absolute;
    width: 280px;
    height: 280px;
    right: 10%;
    top: -205px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 50%;
    box-shadow: 0 0 0 52px rgba(82,113,255,.035);
}

.ref-invoice-detail-hero > * {
    position: relative;
    z-index: 1;
}

.ref-invoice-detail-eyebrow {
    display: block;
    margin-bottom: .5rem;
    color: #aebcff;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

html body .ref-invoice-detail-hero h1 {
    color: #fff !important;
    font-size: clamp(2.15rem, 3vw, 3rem);
}

.ref-invoice-detail-hero > div:first-child > div {
    color: rgba(255,255,255,.7);
}

.ref-invoice-detail-hero > div:first-child > div > span:not(:first-child) {
    color: rgba(255,255,255,.7) !important;
}

.ref-invoice-detail-actions a {
    color: #fff !important;
    border-color: rgba(255,255,255,.18) !important;
    background: rgba(255,255,255,.09) !important;
    backdrop-filter: blur(8px);
    transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.ref-invoice-detail-actions a:hover {
    transform: translateY(-2px);
    background: rgba(255,255,255,.16) !important;
    box-shadow: 0 10px 22px rgba(0,0,0,.16);
}

.ref-invoice-detail-layout {
    margin-top: -4.85rem;
    position: relative;
    z-index: 2;
}

.ref-invoice-parties,
.ref-invoice-lines,
.ref-invoice-payment,
.ref-invoice-detail-support {
    border-color: rgba(82,113,255,.13) !important;
    border-radius: 18px !important;
    box-shadow: 0 14px 38px rgba(10,20,55,.08) !important;
}

.ref-invoice-parties {
    min-height: 170px;
    padding: 1.75rem !important;
    position: relative;
    animation: ref-ticket-fade-up .45s ease both;
}

.ref-invoice-parties::after {
    content: "";
    position: absolute;
    top: 1.75rem;
    bottom: 1.75rem;
    left: 50%;
    width: 1px;
    background: var(--ref-line);
}

.ref-invoice-lines {
    animation: ref-ticket-fade-up .5s .06s ease both;
}

.ref-invoice-lines thead tr,
.ref-invoice-totals {
    background: var(--ref-surface-low) !important;
}

.ref-invoice-lines th {
    letter-spacing: .08em;
}

.ref-invoice-line {
    transition: background-color .2s ease, box-shadow .2s ease;
}

.ref-invoice-line:hover {
    background: rgba(82,113,255,.035) !important;
    box-shadow: inset 3px 0 var(--ref-primary);
}

.ref-invoice-totals > div {
    padding: 1rem 1.1rem;
    border: 1px solid rgba(82,113,255,.12);
    border-radius: 14px;
    background: #fff;
}

.ref-invoice-totals > div > div:last-child span {
    font-family: "Inter Tight", "Inter", sans-serif;
    letter-spacing: -.025em;
}

.ref-invoice-payment-rail {
    position: sticky;
    top: 1.5rem;
}

.ref-invoice-payment {
    animation: ref-ticket-fade-up .5s .12s ease both;
}

.ref-invoice-payment > div:first-child {
    min-height: 66px;
    display: flex;
    align-items: center;
    color: #fff;
    border: 0 !important;
    background:
        radial-gradient(circle at 100% 0, rgba(82,113,255,.34), transparent 48%),
        linear-gradient(120deg, #101b45, #07102b);
}

html body .ref-invoice-payment > div:first-child h3 {
    color: #fff !important;
}

.ref-invoice-payment button {
    transition: transform .2s ease, border-color .2s ease, background-color .2s ease, box-shadow .2s ease !important;
}

.ref-invoice-payment button:not(:disabled):hover {
    transform: translateY(-1px);
    box-shadow: 0 7px 17px rgba(10,20,55,.08);
}

.ref-invoice-detail-support {
    transition: transform .25s ease, border-color .25s ease;
}

.ref-invoice-detail-support:hover {
    transform: translateY(-2px);
    border-color: rgba(82,113,255,.28) !important;
}

html[data-theme="dark"] .ref-invoice-detail { color: #f8fafc; }
html[data-theme="dark"] .ref-invoice-parties,
html[data-theme="dark"] .ref-invoice-lines,
html[data-theme="dark"] .ref-invoice-payment,
html[data-theme="dark"] .ref-invoice-detail-support {
    background-color: #0f172a !important;
    border-color: rgba(255,255,255,.09) !important;
}
html[data-theme="dark"] .ref-invoice-parties::after {
    background: rgba(255,255,255,.08);
}
html[data-theme="dark"] .ref-invoice-lines thead tr,
html[data-theme="dark"] .ref-invoice-totals {
    background: rgba(255,255,255,.025) !important;
}
html[data-theme="dark"] .ref-invoice-totals > div {
    border-color: rgba(255,255,255,.08);
    background: #111a2c;
}
html[data-theme="dark"] .ref-invoice-line:hover {
    background: rgba(82,113,255,.07) !important;
}

@media (max-width: 900px) {
    .ref-invoice-alert,
    .ref-invoice-detail-hero {
        margin-inline: -2rem;
        padding-inline: 2rem !important;
    }
}

@media (max-width: 767px) {
    .ref-invoice-detail { margin-top: -1rem; }
    .ref-invoice-alert,
    .ref-invoice-detail-hero {
        margin-inline: -1rem;
        padding-inline: 1rem !important;
    }
    .ref-invoice-alert {
        align-items: flex-start;
        flex-direction: column;
        gap: .35rem;
    }
    .ref-invoice-detail-hero {
        min-height: 310px;
        padding-block: 2rem 5.75rem !important;
        justify-content: center;
    }
    .ref-invoice-detail-actions {
        width: 100%;
    }
    .ref-invoice-detail-actions a {
        flex: 1;
        justify-content: center;
    }
    .ref-invoice-parties::after { display: none; }
    .ref-invoice-payment-rail { position: static; }
}

@media (max-width: 560px) {
    .ref-invoice-parties { padding: 1.35rem !important; }
    .ref-invoice-lines { overflow-x: auto; }
    .ref-invoice-lines table { min-width: 620px; }
    .ref-invoice-totals {
        min-width: 0;
        padding: 1rem !important;
    }
    .ref-invoice-detail-actions a {
        padding-inline: .75rem;
        font-size: .78rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ref-invoice-detail *,
    .ref-invoice-detail *::before,
    .ref-invoice-detail *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* Invoice detail — clean SaaS billing refinement */
.ref-invoice-detail {
    --invoice-card-shadow: 0 8px 28px rgba(15, 23, 42, .055);
}

.ref-invoice-alert {
    display: none;
}

.ref-invoice-detail-hero {
    min-height: 184px;
    margin-top: -1.5rem;
    padding-block: 2.25rem 3.75rem;
    background:
        radial-gradient(circle at 92% 0, rgba(82,113,255,.22), transparent 34%),
        linear-gradient(115deg, #111b42, #0b1330 72%);
}

.ref-invoice-detail-hero::after {
    width: 220px;
    height: 220px;
    top: -165px;
    opacity: .7;
}

.ref-invoice-detail-eyebrow {
    margin-bottom: .35rem;
    color: #9caeff;
}

html body .ref-invoice-detail-hero h1 {
    margin-bottom: .75rem;
    font-size: clamp(2rem, 2.6vw, 2.65rem);
}

.ref-invoice-detail-hero > div:first-child > div {
    gap: .65rem 1rem;
}

.ref-invoice-detail-actions a {
    min-height: 42px;
    border-color: rgba(255,255,255,.15) !important;
    border-radius: 11px;
    background: rgba(255,255,255,.075) !important;
    box-shadow: none;
}

.ref-invoice-amount {
    min-width: 150px;
    margin-right: .5rem;
    padding-right: 1.25rem;
    border-right: 1px solid rgba(255,255,255,.14);
    text-align: right;
}

.ref-invoice-amount span,
.ref-invoice-amount strong {
    display: block;
}

.ref-invoice-amount span {
    margin-bottom: .2rem;
    color: rgba(255,255,255,.58);
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ref-invoice-amount strong {
    color: #fff;
    font-family: "Inter Tight", "Inter", sans-serif;
    font-size: 1.35rem;
    letter-spacing: -.025em;
}

.ref-invoice-detail-layout {
    margin-top: -2.75rem;
    gap: 1.25rem;
}

.ref-invoice-detail-layout > .flex-1 {
    gap: 1.25rem;
}

.ref-invoice-parties,
.ref-invoice-lines,
.ref-invoice-payment,
.ref-invoice-detail-support {
    border-color: #e5e8f0 !important;
    border-radius: 16px !important;
    box-shadow: var(--invoice-card-shadow) !important;
}

.ref-invoice-parties {
    min-height: 150px;
    padding: 1.55rem 1.75rem !important;
}

.ref-invoice-parties::after {
    top: 1.45rem;
    bottom: 1.45rem;
    background: #e8ebf2;
}

.ref-invoice-parties > div > p:first-child {
    margin-bottom: .85rem;
    color: #8791a7;
    font-size: .68rem;
    letter-spacing: .1em;
}

.ref-invoice-parties h3 {
    font-size: 1rem;
}

.ref-invoice-parties > div > div {
    font-size: .82rem;
    line-height: 1.65;
}

.ref-invoice-lines thead tr {
    background: #fafbfc !important;
}

.ref-invoice-lines th {
    padding-block: .9rem;
    color: #7b879e;
    font-size: .67rem;
}

.ref-invoice-line td {
    padding-block: 1.15rem;
}

.ref-invoice-totals {
    padding-block: 1.25rem !important;
    background: #fafbff !important;
}

.ref-invoice-totals > div {
    max-width: 310px;
    padding: .9rem 1rem;
    border-color: #e7eaf2;
    border-radius: 12px;
    box-shadow: 0 3px 12px rgba(15,23,42,.035);
}

.ref-invoice-totals > div > div {
    font-size: .82rem;
}

.ref-invoice-totals > div > div:last-child {
    padding-top: .8rem;
}

.ref-invoice-totals > div > div:last-child span {
    font-size: 1.3rem;
}

.ref-invoice-payment-rail {
    top: 1rem;
}

.ref-invoice-payment > div:first-child {
    min-height: 62px;
    padding-inline: 1.1rem;
    color: var(--ref-ink);
    border-bottom: 1px solid #e8ebf2 !important;
    background: #fff;
}

html body .ref-invoice-payment > div:first-child h3 {
    color: var(--ref-ink) !important;
    font-size: 1rem;
}

.ref-invoice-payment > .p-4 {
    padding: .85rem;
    gap: .45rem;
}

.ref-invoice-payment > .p-4 button,
.ref-invoice-payment > .p-4 template + button {
    min-height: 58px;
    padding: .7rem .75rem;
    border-radius: 11px;
}

.ref-invoice-payment button > div:nth-child(2) {
    width: 34px;
    height: 34px;
}

.ref-invoice-payment button p:first-child {
    font-size: .8rem;
}

.ref-invoice-payment button p:last-child {
    font-size: .68rem;
}

.ref-invoice-payment > div:last-of-type {
    padding-inline: .85rem;
    padding-bottom: .85rem;
}

.ref-invoice-payment > div:last-of-type > button {
    min-height: 46px;
    border-radius: 11px;
    box-shadow: 0 8px 18px rgba(82,113,255,.22) !important;
}

.ref-invoice-detail-support {
    padding: 1rem !important;
}

html[data-theme="dark"] .ref-invoice-parties,
html[data-theme="dark"] .ref-invoice-lines,
html[data-theme="dark"] .ref-invoice-payment,
html[data-theme="dark"] .ref-invoice-detail-support {
    border-color: rgba(255,255,255,.08) !important;
    box-shadow: 0 8px 28px rgba(0,0,0,.18) !important;
}

html[data-theme="dark"] .ref-invoice-payment > div:first-child {
    color: #f8fafc;
    border-color: rgba(255,255,255,.08) !important;
    background: #0f172a;
}

html[data-theme="dark"] body .ref-invoice-payment > div:first-child h3 {
    color: #f8fafc !important;
}

html[data-theme="dark"] .ref-invoice-lines thead tr,
html[data-theme="dark"] .ref-invoice-totals {
    background: rgba(255,255,255,.022) !important;
}

@media (max-width: 767px) {
    .ref-invoice-detail-hero {
        min-height: 270px;
        padding-block: 1.75rem 4.75rem !important;
    }
    .ref-invoice-detail-layout {
        margin-top: -3.65rem;
    }
    .ref-invoice-detail-actions {
        flex-wrap: wrap;
    }
    .ref-invoice-amount {
        width: 100%;
        margin: 0 0 .35rem;
        padding: 0;
        border: 0;
        text-align: left;
    }
}
