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

*, ::before, ::after{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

b,
strong {
  font-weight: bolder;
}

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

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

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

small {
  font-size: 80%;
}

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

button,
select {
  text-transform: none;
}

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

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

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

:-moz-focusring {
  outline: auto;
}

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

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

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

progress {
  vertical-align: baseline;
}

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

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

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

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

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

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

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

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

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

summary {
  display: list-item;
}

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

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

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

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

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

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

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

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

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

/*
Set the default cursor for buttons.
*/

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

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

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

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

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

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

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
  :root { 
    --background: 220 40% 99%;
    --foreground: 224 47% 11%;
    --card: 0 0% 100%;
    --card-foreground: 224 47% 11%;
    --popover: 0 0% 100%;
    --popover-foreground: 224 47% 11%;
    --primary: 245 82% 60%;
    --primary-foreground: 0 0% 100%;
    --secondary: 220 30% 96%;
    --secondary-foreground: 224 47% 11%;
    --muted: 220 25% 95%;
    --muted-foreground: 220 12% 45%;
    --accent: 265 84% 62%;
    --accent-foreground: 0 0% 100%;
    --cyan: 190 90% 50%;
    --destructive: 0 84.2% 60.2%;
    --destructive-foreground: 0 0% 98%;
    --border: 220 20% 90%;
    --input: 220 20% 90%;
    --ring: 245 82% 60%;
    --radius: 1rem;
  }

  .dark {
    --background: 230 35% 6%;
    --foreground: 220 30% 96%;
    --card: 230 30% 9%;
    --card-foreground: 220 30% 96%;
    --popover: 230 30% 9%;
    --popover-foreground: 220 30% 96%;
    --secondary: 230 25% 14%;
    --secondary-foreground: 220 30% 96%;
    --primary: 245 90% 68%;
    --primary-foreground: 230 35% 6%;
    --muted: 230 22% 15%;
    --muted-foreground: 220 15% 62%;
    --accent: 265 85% 70%;
    --accent-foreground: 230 35% 6%;
    --cyan: 190 95% 55%;
    --destructive: 0 62.8% 45%;
    --destructive-foreground: 0 0% 98%;
    --border: 230 20% 18%;
    --input: 230 20% 18%;
    --ring: 245 90% 68%;
  }

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

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

  h1,
  h2,
  h3,
  h4 {
    font-family: "Space Grotesk", sans-serif;
    letter-spacing: -0.02em;
  }
.container{
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 2rem;
  padding-left: 2rem;
}
@media (min-width: 1400px){

  .container{
    max-width: 1400px;
  }
}
.sr-only{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.pointer-events-none{
  pointer-events: none;
}
.pointer-events-auto{
  pointer-events: auto;
}
.\!visible{
  visibility: visible !important;
}
.visible{
  visibility: visible;
}
.invisible{
  visibility: hidden;
}
.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-1{
  bottom: -0.25rem;
}
.-bottom-12{
  bottom: -3rem;
}
.-left-12{
  left: -3rem;
}
.-right-1{
  right: -0.25rem;
}
.-right-12{
  right: -3rem;
}
.-top-12{
  top: -3rem;
}
.bottom-0{
  bottom: 0px;
}
.bottom-6{
  bottom: 1.5rem;
}
.left-0{
  left: 0px;
}
.left-1\/2{
  left: 50%;
}
.left-2{
  left: 0.5rem;
}
.left-3{
  left: 0.75rem;
}
.left-\[50\%\]{
  left: 50%;
}
.right-0{
  right: 0px;
}
.right-1{
  right: 0.25rem;
}
.right-1\.5{
  right: 0.375rem;
}
.right-2{
  right: 0.5rem;
}
.right-3{
  right: 0.75rem;
}
.right-4{
  right: 1rem;
}
.right-6{
  right: 1.5rem;
}
.top-0{
  top: 0px;
}
.top-1{
  top: 0.25rem;
}
.top-1\.5{
  top: 0.375rem;
}
.top-1\/2{
  top: 50%;
}
.top-2\.5{
  top: 0.625rem;
}
.top-24{
  top: 6rem;
}
.top-3\.5{
  top: 0.875rem;
}
.top-4{
  top: 1rem;
}
.top-5{
  top: 1.25rem;
}
.top-\[1px\]{
  top: 1px;
}
.top-\[50\%\]{
  top: 50%;
}
.top-\[60\%\]{
  top: 60%;
}
.top-full{
  top: 100%;
}
.-z-10{
  z-index: -10;
}
.z-10{
  z-index: 10;
}
.z-20{
  z-index: 20;
}
.z-30{
  z-index: 30;
}
.z-50{
  z-index: 50;
}
.z-\[100\]{
  z-index: 100;
}
.z-\[1\]{
  z-index: 1;
}
.order-first{
  order: -9999;
}
.order-last{
  order: 9999;
}
.col-span-full{
  grid-column: 1 / -1;
}
.\!m-0{
  margin: 0px !important;
}
.-mx-1{
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}
.-my-2{
  margin-top: -0.5rem;
  margin-bottom: -0.5rem;
}
.mx-2{
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.mx-3\.5{
  margin-left: 0.875rem;
  margin-right: 0.875rem;
}
.mx-auto{
  margin-left: auto;
  margin-right: auto;
}
.my-0{
  margin-top: 0px;
  margin-bottom: 0px;
}
.my-0\.5{
  margin-top: 0.125rem;
  margin-bottom: 0.125rem;
}
.my-1{
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
.-ml-4{
  margin-left: -1rem;
}
.-mt-4{
  margin-top: -1rem;
}
.mb-1{
  margin-bottom: 0.25rem;
}
.mb-10{
  margin-bottom: 2.5rem;
}
.mb-2{
  margin-bottom: 0.5rem;
}
.mb-3{
  margin-bottom: 0.75rem;
}
.mb-4{
  margin-bottom: 1rem;
}
.mb-5{
  margin-bottom: 1.25rem;
}
.mb-6{
  margin-bottom: 1.5rem;
}
.mb-7{
  margin-bottom: 1.75rem;
}
.mb-8{
  margin-bottom: 2rem;
}
.ml-1{
  margin-left: 0.25rem;
}
.ml-2{
  margin-left: 0.5rem;
}
.ml-4{
  margin-left: 1rem;
}
.ml-8{
  margin-left: 2rem;
}
.ml-auto{
  margin-left: auto;
}
.mr-2{
  margin-right: 0.5rem;
}
.mt-0\.5{
  margin-top: 0.125rem;
}
.mt-1{
  margin-top: 0.25rem;
}
.mt-1\.5{
  margin-top: 0.375rem;
}
.mt-10{
  margin-top: 2.5rem;
}
.mt-12{
  margin-top: 3rem;
}
.mt-16{
  margin-top: 4rem;
}
.mt-2{
  margin-top: 0.5rem;
}
.mt-24{
  margin-top: 6rem;
}
.mt-3{
  margin-top: 0.75rem;
}
.mt-4{
  margin-top: 1rem;
}
.mt-5{
  margin-top: 1.25rem;
}
.mt-6{
  margin-top: 1.5rem;
}
.mt-7{
  margin-top: 1.75rem;
}
.mt-8{
  margin-top: 2rem;
}
.mt-auto{
  margin-top: auto;
}
.line-clamp-2{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.line-clamp-3{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.block{
  display: block;
}
.inline-block{
  display: inline-block;
}
.inline{
  display: inline;
}
.flex{
  display: flex;
}
.inline-flex{
  display: inline-flex;
}
.table{
  display: table;
}
.grid{
  display: grid;
}
.hidden{
  display: none;
}
.aspect-\[16\/9\]{
  aspect-ratio: 16/9;
}
.aspect-square{
  aspect-ratio: 1 / 1;
}
.aspect-video{
  aspect-ratio: 16 / 9;
}
.size-10{
  width: 2.5rem;
  height: 2.5rem;
}
.size-3{
  width: 0.75rem;
  height: 0.75rem;
}
.size-3\.5{
  width: 0.875rem;
  height: 0.875rem;
}
.size-4{
  width: 1rem;
  height: 1rem;
}
.size-6{
  width: 1.5rem;
  height: 1.5rem;
}
.size-8{
  width: 2rem;
  height: 2rem;
}
.size-\[--cell-size\]{
  width: var(--cell-size);
  height: var(--cell-size);
}
.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-28{
  height: 7rem;
}
.h-3{
  height: 0.75rem;
}
.h-3\.5{
  height: 0.875rem;
}
.h-32{
  height: 8rem;
}
.h-4{
  height: 1rem;
}
.h-48{
  height: 12rem;
}
.h-5{
  height: 1.25rem;
}
.h-6{
  height: 1.5rem;
}
.h-7{
  height: 1.75rem;
}
.h-8{
  height: 2rem;
}
.h-9{
  height: 2.25rem;
}
.h-\[--cell-size\]{
  height: var(--cell-size);
}
.h-\[1px\]{
  height: 1px;
}
.h-\[760px\]{
  height: 760px;
}
.h-\[var\(--radix-navigation-menu-viewport-height\)\]{
  height: var(--radix-navigation-menu-viewport-height);
}
.h-\[var\(--radix-select-trigger-height\)\]{
  height: var(--radix-select-trigger-height);
}
.h-auto{
  height: auto;
}
.h-full{
  height: 100%;
}
.h-px{
  height: 1px;
}
.h-svh{
  height: 100svh;
}
.max-h-\[--radix-context-menu-content-available-height\]{
  max-height: var(--radix-context-menu-content-available-height);
}
.max-h-\[--radix-select-content-available-height\]{
  max-height: var(--radix-select-content-available-height);
}
.max-h-\[300px\]{
  max-height: 300px;
}
.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{
  max-height: var(--radix-dropdown-menu-content-available-height);
}
.max-h-screen{
  max-height: 100vh;
}
.min-h-0{
  min-height: 0px;
}
.min-h-24{
  min-height: 6rem;
}
.min-h-\[120px\]{
  min-height: 120px;
}
.min-h-\[140px\]{
  min-height: 140px;
}
.min-h-\[320px\]{
  min-height: 320px;
}
.min-h-\[360px\]{
  min-height: 360px;
}
.min-h-\[40px\]{
  min-height: 40px;
}
.min-h-\[42px\]{
  min-height: 42px;
}
.min-h-\[44px\]{
  min-height: 44px;
}
.min-h-\[45vh\]{
  min-height: 45vh;
}
.min-h-\[60px\]{
  min-height: 60px;
}
.min-h-\[60vh\]{
  min-height: 60vh;
}
.min-h-\[70px\]{
  min-height: 70px;
}
.min-h-\[80px\]{
  min-height: 80px;
}
.min-h-\[90px\]{
  min-height: 90px;
}
.min-h-\[96px\]{
  min-height: 96px;
}
.min-h-\[calc\(100dvh-4rem\)\]{
  min-height: calc(100dvh - 4rem);
}
.min-h-screen{
  min-height: 100vh;
}
.min-h-svh{
  min-height: 100svh;
}
.w-0{
  width: 0px;
}
.w-1{
  width: 0.25rem;
}
.w-10{
  width: 2.5rem;
}
.w-11{
  width: 2.75rem;
}
.w-12{
  width: 3rem;
}
.w-14{
  width: 3.5rem;
}
.w-16{
  width: 4rem;
}
.w-2{
  width: 0.5rem;
}
.w-2\.5{
  width: 0.625rem;
}
.w-20{
  width: 5rem;
}
.w-3{
  width: 0.75rem;
}
.w-3\.5{
  width: 0.875rem;
}
.w-3\/4{
  width: 75%;
}
.w-4{
  width: 1rem;
}
.w-44{
  width: 11rem;
}
.w-5{
  width: 1.25rem;
}
.w-6{
  width: 1.5rem;
}
.w-64{
  width: 16rem;
}
.w-7{
  width: 1.75rem;
}
.w-72{
  width: 18rem;
}
.w-8{
  width: 2rem;
}
.w-9{
  width: 2.25rem;
}
.w-\[--cell-size\]{
  width: var(--cell-size);
}
.w-\[--sidebar-width\]{
  width: var(--sidebar-width);
}
.w-\[100px\]{
  width: 100px;
}
.w-\[1px\]{
  width: 1px;
}
.w-auto{
  width: auto;
}
.w-fit{
  width: -moz-fit-content;
  width: fit-content;
}
.w-full{
  width: 100%;
}
.w-max{
  width: -moz-max-content;
  width: max-content;
}
.w-px{
  width: 1px;
}
.min-w-0{
  min-width: 0px;
}
.min-w-10{
  min-width: 2.5rem;
}
.min-w-5{
  min-width: 1.25rem;
}
.min-w-8{
  min-width: 2rem;
}
.min-w-9{
  min-width: 2.25rem;
}
.min-w-\[--cell-size\]{
  min-width: var(--cell-size);
}
.min-w-\[12rem\]{
  min-width: 12rem;
}
.min-w-\[200px\]{
  min-width: 200px;
}
.min-w-\[600px\]{
  min-width: 600px;
}
.min-w-\[8rem\]{
  min-width: 8rem;
}
.min-w-\[980px\]{
  min-width: 980px;
}
.min-w-\[var\(--radix-select-trigger-width\)\]{
  min-width: var(--radix-select-trigger-width);
}
.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-\[--skeleton-width\]{
  max-width: var(--skeleton-width);
}
.max-w-\[14rem\]{
  max-width: 14rem;
}
.max-w-\[15rem\]{
  max-width: 15rem;
}
.max-w-\[16rem\]{
  max-width: 16rem;
}
.max-w-\[18rem\]{
  max-width: 18rem;
}
.max-w-\[260px\]{
  max-width: 260px;
}
.max-w-lg{
  max-width: 32rem;
}
.max-w-max{
  max-width: -moz-max-content;
  max-width: max-content;
}
.max-w-md{
  max-width: 28rem;
}
.max-w-none{
  max-width: none;
}
.max-w-sm{
  max-width: 24rem;
}
.max-w-xl{
  max-width: 36rem;
}
.flex-1{
  flex: 1 1 0%;
}
.flex-shrink-0{
  flex-shrink: 0;
}
.shrink-0{
  flex-shrink: 0;
}
.grow{
  flex-grow: 1;
}
.grow-0{
  flex-grow: 0;
}
.basis-full{
  flex-basis: 100%;
}
.caption-bottom{
  caption-side: bottom;
}
.border-collapse{
  border-collapse: collapse;
}
.origin-\[--radix-context-menu-content-transform-origin\]{
  transform-origin: var(--radix-context-menu-content-transform-origin);
}
.origin-\[--radix-dropdown-menu-content-transform-origin\]{
  transform-origin: var(--radix-dropdown-menu-content-transform-origin);
}
.origin-\[--radix-hover-card-content-transform-origin\]{
  transform-origin: var(--radix-hover-card-content-transform-origin);
}
.origin-\[--radix-menubar-content-transform-origin\]{
  transform-origin: var(--radix-menubar-content-transform-origin);
}
.origin-\[--radix-popover-content-transform-origin\]{
  transform-origin: var(--radix-popover-content-transform-origin);
}
.origin-\[--radix-select-content-transform-origin\]{
  transform-origin: var(--radix-select-content-transform-origin);
}
.origin-\[--radix-tooltip-content-transform-origin\]{
  transform-origin: var(--radix-tooltip-content-transform-origin);
}
.-translate-x-1\/2{
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-x-px{
  --tw-translate-x: -1px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2{
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-\[-50\%\]{
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-px{
  --tw-translate-x: 1px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-\[-50\%\]{
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-180{
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-45{
  --tw-rotate: 45deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.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));
}
.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 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-grab{
  cursor: grab;
}
.cursor-pointer{
  cursor: pointer;
}
.cursor-text{
  cursor: text;
}
.touch-none{
  touch-action: none;
}
.select-none{
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.resize-none{
  resize: none;
}
.resize-y{
  resize: vertical;
}
.list-disc{
  list-style-type: disc;
}
.list-none{
  list-style-type: none;
}
.appearance-none{
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.grid-cols-2{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.flex-row{
  flex-direction: row;
}
.flex-col{
  flex-direction: column;
}
.flex-col-reverse{
  flex-direction: column-reverse;
}
.flex-wrap{
  flex-wrap: wrap;
}
.place-content-center{
  place-content: center;
}
.place-items-center{
  place-items: center;
}
.items-start{
  align-items: flex-start;
}
.items-end{
  align-items: flex-end;
}
.items-center{
  align-items: center;
}
.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-1{
  gap: 0.25rem;
}
.gap-1\.5{
  gap: 0.375rem;
}
.gap-10{
  gap: 2.5rem;
}
.gap-2{
  gap: 0.5rem;
}
.gap-2\.5{
  gap: 0.625rem;
}
.gap-3{
  gap: 0.75rem;
}
.gap-4{
  gap: 1rem;
}
.gap-5{
  gap: 1.25rem;
}
.gap-6{
  gap: 1.5rem;
}
.gap-7{
  gap: 1.75rem;
}
.space-x-1 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(0.25rem * var(--tw-space-x-reverse));
  margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-2 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(0.5rem * var(--tw-space-x-reverse));
  margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-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-2 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.space-y-5 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.space-y-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));
}
.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;
}
.truncate{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.whitespace-nowrap{
  white-space: nowrap;
}
.whitespace-pre-wrap{
  white-space: pre-wrap;
}
.text-balance{
  text-wrap: balance;
}
.break-words{
  overflow-wrap: break-word;
}
.break-all{
  word-break: break-all;
}
.rounded{
  border-radius: 0.25rem;
}
.rounded-2xl{
  border-radius: 1rem;
}
.rounded-3xl{
  border-radius: 1.5rem;
}
.rounded-\[2px\]{
  border-radius: 2px;
}
.rounded-\[calc\(var\(--radius\)-5px\)\]{
  border-radius: calc(var(--radius) - 5px);
}
.rounded-\[inherit\]{
  border-radius: inherit;
}
.rounded-full{
  border-radius: 9999px;
}
.rounded-lg{
  border-radius: var(--radius);
}
.rounded-md{
  border-radius: calc(var(--radius) - 2px);
}
.rounded-none{
  border-radius: 0px;
}
.rounded-sm{
  border-radius: calc(var(--radius) - 4px);
}
.rounded-xl{
  border-radius: 0.75rem;
}
.rounded-l-md{
  border-top-left-radius: calc(var(--radius) - 2px);
  border-bottom-left-radius: calc(var(--radius) - 2px);
}
.rounded-l-none{
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}
.rounded-l-xl{
  border-top-left-radius: 0.75rem;
  border-bottom-left-radius: 0.75rem;
}
.rounded-r-md{
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}
.rounded-t-\[10px\]{
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.rounded-tl-sm{
  border-top-left-radius: calc(var(--radius) - 4px);
}
.border{
  border-width: 1px;
}
.border-0{
  border-width: 0px;
}
.border-2{
  border-width: 2px;
}
.border-\[1\.5px\]{
  border-width: 1.5px;
}
.border-y{
  border-top-width: 1px;
  border-bottom-width: 1px;
}
.border-b{
  border-bottom-width: 1px;
}
.border-l{
  border-left-width: 1px;
}
.border-r{
  border-right-width: 1px;
}
.border-r-0{
  border-right-width: 0px;
}
.border-t{
  border-top-width: 1px;
}
.border-dashed{
  border-style: dashed;
}
.border-\[--color-border\]{
  border-color: var(--color-border);
}
.border-amber-300\/60{
  border-color: rgb(252 211 77 / 0.6);
}
.border-border{
  border-color: hsl(var(--border));
}
.border-border\/50{
  border-color: hsl(var(--border) / 0.5);
}
.border-border\/70{
  border-color: hsl(var(--border) / 0.7);
}
.border-destructive{
  border-color: hsl(var(--destructive));
}
.border-destructive\/30{
  border-color: hsl(var(--destructive) / 0.3);
}
.border-destructive\/50{
  border-color: hsl(var(--destructive) / 0.5);
}
.border-green-500\/30{
  border-color: rgb(34 197 94 / 0.3);
}
.border-input{
  border-color: hsl(var(--input));
}
.border-primary{
  border-color: hsl(var(--primary));
}
.border-primary-foreground\/40{
  border-color: hsl(var(--primary-foreground) / 0.4);
}
.border-primary\/20{
  border-color: hsl(var(--primary) / 0.2);
}
.border-primary\/30{
  border-color: hsl(var(--primary) / 0.3);
}
.border-primary\/50{
  border-color: hsl(var(--primary) / 0.5);
}
.border-sidebar-border{
  border-color: hsl(var(--sidebar-border));
}
.border-transparent{
  border-color: transparent;
}
.border-l-transparent{
  border-left-color: transparent;
}
.border-t-primary{
  border-top-color: hsl(var(--primary));
}
.border-t-primary-foreground{
  border-top-color: hsl(var(--primary-foreground));
}
.border-t-transparent{
  border-top-color: transparent;
}
.bg-\[--color-bg\]{
  background-color: var(--color-bg);
}
.bg-accent{
  background-color: hsl(var(--accent));
}
.bg-accent\/10{
  background-color: hsl(var(--accent) / 0.1);
}
.bg-amber-50\/60{
  background-color: rgb(255 251 235 / 0.6);
}
.bg-amber-500{
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}
.bg-amber-500\/10{
  background-color: rgb(245 158 11 / 0.1);
}
.bg-amber-500\/15{
  background-color: rgb(245 158 11 / 0.15);
}
.bg-background{
  background-color: hsl(var(--background));
}
.bg-background\/95{
  background-color: hsl(var(--background) / 0.95);
}
.bg-black\/40{
  background-color: rgb(0 0 0 / 0.4);
}
.bg-black\/70{
  background-color: rgb(0 0 0 / 0.7);
}
.bg-black\/80{
  background-color: rgb(0 0 0 / 0.8);
}
.bg-border{
  background-color: hsl(var(--border));
}
.bg-card{
  background-color: hsl(var(--card));
}
.bg-cyan-500{
  --tw-bg-opacity: 1;
  background-color: rgb(6 182 212 / var(--tw-bg-opacity, 1));
}
.bg-cyan-500\/10{
  background-color: rgb(6 182 212 / 0.1);
}
.bg-destructive{
  background-color: hsl(var(--destructive));
}
.bg-destructive\/10{
  background-color: hsl(var(--destructive) / 0.1);
}
.bg-destructive\/15{
  background-color: hsl(var(--destructive) / 0.15);
}
.bg-destructive\/5{
  background-color: hsl(var(--destructive) / 0.05);
}
.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-foreground{
  background-color: hsl(var(--foreground));
}
.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-input{
  background-color: hsl(var(--input));
}
.bg-muted{
  background-color: hsl(var(--muted));
}
.bg-muted\/50{
  background-color: hsl(var(--muted) / 0.5);
}
.bg-popover{
  background-color: hsl(var(--popover));
}
.bg-primary{
  background-color: hsl(var(--primary));
}
.bg-primary\/10{
  background-color: hsl(var(--primary) / 0.1);
}
.bg-primary\/15{
  background-color: hsl(var(--primary) / 0.15);
}
.bg-primary\/20{
  background-color: hsl(var(--primary) / 0.2);
}
.bg-primary\/5{
  background-color: hsl(var(--primary) / 0.05);
}
.bg-primary\/\[0\.03\]{
  background-color: hsl(var(--primary) / 0.03);
}
.bg-primary\/\[0\.04\]{
  background-color: hsl(var(--primary) / 0.04);
}
.bg-secondary{
  background-color: hsl(var(--secondary));
}
.bg-secondary\/30{
  background-color: hsl(var(--secondary) / 0.3);
}
.bg-secondary\/40{
  background-color: hsl(var(--secondary) / 0.4);
}
.bg-secondary\/50{
  background-color: hsl(var(--secondary) / 0.5);
}
.bg-secondary\/60{
  background-color: hsl(var(--secondary) / 0.6);
}
.bg-secondary\/70{
  background-color: hsl(var(--secondary) / 0.7);
}
.bg-sidebar{
  background-color: hsl(var(--sidebar-background));
}
.bg-sidebar-border{
  background-color: hsl(var(--sidebar-border));
}
.bg-sky-500\/15{
  background-color: rgb(14 165 233 / 0.15);
}
.bg-transparent{
  background-color: transparent;
}
.bg-gradient-to-b{
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}
.bg-gradient-to-br{
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.bg-gradient-to-r{
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.from-card{
  --tw-gradient-from: hsl(var(--card)) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--card) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary{
  --tw-gradient-from: hsl(var(--primary)) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-card\/95{
  --tw-gradient-to: hsl(var(--card) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--card) / 0.95) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-primary\/70{
  --tw-gradient-to: hsl(var(--primary) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary) / 0.7) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-accent{
  --tw-gradient-to: hsl(var(--accent)) var(--tw-gradient-to-position);
}
.to-primary\/\[0\.035\]{
  --tw-gradient-to: hsl(var(--primary) / 0.035) var(--tw-gradient-to-position);
}
.fill-current{
  fill: currentColor;
}
.fill-primary{
  fill: hsl(var(--primary));
}
.object-cover{
  -o-object-fit: cover;
     object-fit: cover;
}
.\!p-0{
  padding: 0px !important;
}
.\!p-2{
  padding: 0.5rem !important;
}
.\!p-4{
  padding: 1rem !important;
}
.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-4{
  padding: 1rem;
}
.p-5{
  padding: 1.25rem;
}
.p-6{
  padding: 1.5rem;
}
.p-7{
  padding: 1.75rem;
}
.p-8{
  padding: 2rem;
}
.p-\[1px\]{
  padding: 1px;
}
.\!py-1{
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}
.px-0\.5{
  padding-left: 0.125rem;
  padding-right: 0.125rem;
}
.px-1{
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.px-1\.5{
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}
.px-2{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-2\.5{
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
.px-3{
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-3\.5{
  padding-left: 0.875rem;
  padding-right: 0.875rem;
}
.px-4{
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-5{
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.px-6{
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.px-8{
  padding-left: 2rem;
  padding-right: 2rem;
}
.px-\[--cell-size\]{
  padding-left: var(--cell-size);
  padding-right: var(--cell-size);
}
.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-6{
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.py-8{
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.pb-10{
  padding-bottom: 2.5rem;
}
.pb-12{
  padding-bottom: 3rem;
}
.pb-2{
  padding-bottom: 0.5rem;
}
.pb-3{
  padding-bottom: 0.75rem;
}
.pb-4{
  padding-bottom: 1rem;
}
.pl-2{
  padding-left: 0.5rem;
}
.pl-2\.5{
  padding-left: 0.625rem;
}
.pl-3{
  padding-left: 0.75rem;
}
.pl-4{
  padding-left: 1rem;
}
.pl-5{
  padding-left: 1.25rem;
}
.pl-8{
  padding-left: 2rem;
}
.pl-9{
  padding-left: 2.25rem;
}
.pr-1{
  padding-right: 0.25rem;
}
.pr-2{
  padding-right: 0.5rem;
}
.pr-2\.5{
  padding-right: 0.625rem;
}
.pr-3{
  padding-right: 0.75rem;
}
.pr-4{
  padding-right: 1rem;
}
.pr-6{
  padding-right: 1.5rem;
}
.pr-8{
  padding-right: 2rem;
}
.pr-9{
  padding-right: 2.25rem;
}
.pt-0{
  padding-top: 0px;
}
.pt-3{
  padding-top: 0.75rem;
}
.pt-4{
  padding-top: 1rem;
}
.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;
}
.align-top{
  vertical-align: top;
}
.align-middle{
  vertical-align: middle;
}
.font-mono{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.font-sans{
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
.text-2xl{
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-3xl{
  font-size: 1.875rem;
  line-height: 2.25rem;
}
.text-4xl{
  font-size: 2.25rem;
  line-height: 2.5rem;
}
.text-5xl{
  font-size: 3rem;
  line-height: 1;
}
.text-\[0\.8rem\]{
  font-size: 0.8rem;
}
.text-\[10px\]{
  font-size: 10px;
}
.text-\[11px\]{
  font-size: 11px;
}
.text-\[15px\]{
  font-size: 15px;
}
.text-base{
  font-size: 1rem;
  line-height: 1.5rem;
}
.text-lg{
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-sm{
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-sm\/relaxed{
  font-size: 0.875rem;
  line-height: 1.625;
}
.text-xl{
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.text-xs{
  font-size: 0.75rem;
  line-height: 1rem;
}
.font-bold{
  font-weight: 700;
}
.font-medium{
  font-weight: 500;
}
.font-normal{
  font-weight: 400;
}
.font-semibold{
  font-weight: 600;
}
.uppercase{
  text-transform: uppercase;
}
.capitalize{
  text-transform: capitalize;
}
.italic{
  font-style: italic;
}
.tabular-nums{
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.leading-5{
  line-height: 1.25rem;
}
.leading-6{
  line-height: 1.5rem;
}
.leading-7{
  line-height: 1.75rem;
}
.leading-8{
  line-height: 2rem;
}
.leading-none{
  line-height: 1;
}
.leading-normal{
  line-height: 1.5;
}
.leading-snug{
  line-height: 1.375;
}
.leading-tight{
  line-height: 1.25;
}
.tracking-\[\.14em\]{
  letter-spacing: .14em;
}
.tracking-\[0\.18em\]{
  letter-spacing: 0.18em;
}
.tracking-tight{
  letter-spacing: -0.025em;
}
.tracking-wide{
  letter-spacing: 0.025em;
}
.tracking-wider{
  letter-spacing: 0.05em;
}
.tracking-widest{
  letter-spacing: 0.1em;
}
.\!text-destructive{
  color: hsl(var(--destructive)) !important;
}
.text-\[\#1a0dab\]{
  --tw-text-opacity: 1;
  color: rgb(26 13 171 / var(--tw-text-opacity, 1));
}
.text-accent{
  color: hsl(var(--accent));
}
.text-accent-foreground{
  color: hsl(var(--accent-foreground));
}
.text-amber-500{
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.text-amber-600{
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}
.text-amber-700{
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}
.text-amber-800{
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}
.text-card-foreground{
  color: hsl(var(--card-foreground));
}
.text-current{
  color: currentColor;
}
.text-cyan-600{
  --tw-text-opacity: 1;
  color: rgb(8 145 178 / var(--tw-text-opacity, 1));
}
.text-destructive{
  color: hsl(var(--destructive));
}
.text-destructive-foreground{
  color: hsl(var(--destructive-foreground));
}
.text-emerald-500{
  --tw-text-opacity: 1;
  color: rgb(16 185 129 / var(--tw-text-opacity, 1));
}
.text-emerald-600{
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}
.text-emerald-700{
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}
.text-foreground{
  color: hsl(var(--foreground));
}
.text-foreground\/50{
  color: hsl(var(--foreground) / 0.5);
}
.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-muted-foreground{
  color: hsl(var(--muted-foreground));
}
.text-muted-foreground\/45{
  color: hsl(var(--muted-foreground) / 0.45);
}
.text-popover-foreground{
  color: hsl(var(--popover-foreground));
}
.text-primary{
  color: hsl(var(--primary));
}
.text-primary-foreground{
  color: hsl(var(--primary-foreground));
}
.text-secondary-foreground{
  color: hsl(var(--secondary-foreground));
}
.text-sidebar-foreground{
  color: hsl(var(--sidebar-foreground));
}
.text-sidebar-foreground\/70{
  color: hsl(var(--sidebar-foreground) / 0.7);
}
.text-sky-600{
  --tw-text-opacity: 1;
  color: rgb(2 132 199 / var(--tw-text-opacity, 1));
}
.text-white{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.underline{
  text-decoration-line: underline;
}
.underline-offset-4{
  text-underline-offset: 4px;
}
.accent-\[hsl\(var\(--primary\)\)\]{
  accent-color: hsl(var(--primary));
}
.accent-primary{
  accent-color: hsl(var(--primary));
}
.opacity-0{
  opacity: 0;
}
.opacity-50{
  opacity: 0.5;
}
.opacity-60{
  opacity: 0.6;
}
.opacity-70{
  opacity: 0.7;
}
.opacity-90{
  opacity: 0.9;
}
.shadow{
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-2xl{
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{
  --tw-shadow: 0 0 0 1px hsl(var(--sidebar-border));
  --tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-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);
}
.outline-none{
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.outline{
  outline-style: solid;
}
.ring-0{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-1{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-black\/\[0\.02\]{
  --tw-ring-color: rgb(0 0 0 / 0.02);
}
.ring-ring{
  --tw-ring-color: hsl(var(--ring));
}
.ring-sidebar-ring{
  --tw-ring-color: hsl(var(--sidebar-ring));
}
.ring-offset-background{
  --tw-ring-offset-color: hsl(var(--background));
}
.\!filter{
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) !important;
}
.filter{
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-blur{
  --tw-backdrop-blur: blur(8px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-sm{
  --tw-backdrop-blur: blur(4px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition{
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[color\2c box-shadow\]{
  transition-property: color,box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[left\2c right\2c width\]{
  transition-property: left,right,width;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[margin\2c opacity\]{
  transition-property: margin,opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[width\2c height\2c padding\]{
  transition-property: width,height,padding;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[width\]{
  transition-property: width;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-all{
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-colors{
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-opacity{
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-transform{
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.duration-100{
  transition-duration: 100ms;
}
.duration-1000{
  transition-duration: 1000ms;
}
.duration-200{
  transition-duration: 200ms;
}
.duration-300{
  transition-duration: 300ms;
}
.ease-in-out{
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-linear{
  transition-timing-function: linear;
}
@keyframes enter{

  from{
    opacity: var(--tw-enter-opacity, 1);
    transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));
  }
}
@keyframes exit{

  to{
    opacity: var(--tw-exit-opacity, 1);
    transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));
  }
}
.animate-in{
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}
.fade-in-0{
  --tw-enter-opacity: 0;
}
.zoom-in-95{
  --tw-enter-scale: .95;
}
.duration-100{
  animation-duration: 100ms;
}
.duration-1000{
  animation-duration: 1000ms;
}
.duration-200{
  animation-duration: 200ms;
}
.duration-300{
  animation-duration: 300ms;
}
.ease-in-out{
  animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-linear{
  animation-timing-function: linear;
}
.running{
  animation-play-state: running;
}
  .glass {
    background: hsl(var(--card) / 0.6);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid hsl(var(--border) / 0.7);
  }

  .text-gradient {
    background: linear-gradient(
      100deg,
      hsl(var(--primary)),
      hsl(var(--accent)) 55%,
      hsl(var(--cyan))
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }

  .aurora {
    background:
      radial-gradient(
        40rem 40rem at 15% 10%,
        hsl(var(--primary) / 0.22),
        transparent 60%
      ),
      radial-gradient(
        38rem 38rem at 85% 15%,
        hsl(var(--accent) / 0.20),
        transparent 60%
      ),
      radial-gradient(
        42rem 42rem at 55% 90%,
        hsl(var(--cyan) / 0.16),
        transparent 60%
      );
  }
.\[--cell-size\:2rem\]{
  --cell-size: 2rem;
}
.\[scrollbar-width\:none\]{
  scrollbar-width: none;
}

body {
  font-family: "Inter", sans-serif;
  overflow-x: clip;
}

@keyframes float-up {
  from {
    opacity: 0;
    transform: translateY(18px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.reveal {
  animation: float-up .6s cubic-bezier(.22,1,.36,1) both;
}

@keyframes marquee {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

.marquee {
  animation: marquee 32s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
  .reveal,
  .marquee {
    animation: none !important;
  }
}

::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-thumb {
  background: hsl(var(--border));
  border-radius: 8px;
}


/* =========================================
   BLOG ARTICLE CONTENT
   ========================================= */

.blog-content {
  line-height: 1.65;
  color: hsl(var(--muted-foreground));
}

/* Paragraphs */
.blog-content p {
  margin: 0 0 0.85rem !important;
  line-height: 1.65;
}

/* Headings */
.blog-content h2 {
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: hsl(var(--foreground));
  margin: 1.35rem 0 0.5rem !important;
  line-height: 1.3;
  letter-spacing: -0.02em;
}

.blog-content h3 {
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.1rem;
  font-weight: 600;
  color: hsl(var(--foreground));
  margin: 1.1rem 0 0.45rem !important;
  line-height: 1.35;
  letter-spacing: -0.02em;
}

.blog-content h4 {
  font-family: "Space Grotesk", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  color: hsl(var(--foreground));
  margin: 0.9rem 0 0.35rem !important;
  line-height: 1.35;
}

/* Lists */
.blog-content ul,
.blog-content ol {
  margin: 0 0 0.85rem !important;
  padding-left: 1.5rem;
  line-height: 1.6;
}

.blog-content ul {
  list-style-type: disc;
}

.blog-content ol {
  list-style-type: decimal;
}

.blog-content li {
  margin: 0.2rem 0;
}

/* Links */
.blog-content a {
  color: hsl(var(--primary));
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Images */
.blog-content img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 1rem 0;
  border-radius: 0.75rem;
}

/* Blockquotes */
.blog-content blockquote {
  margin: 1rem 0;
  padding-left: 1rem;
  border-left: 3px solid hsl(var(--primary));
  font-style: italic;
  color: hsl(var(--muted-foreground));
}

/* Inline code */
.blog-content code {
  background: hsl(var(--muted));
  padding: 0.125rem 0.375rem;
  border-radius: 0.375rem;
  font-size: 0.875em;
}

/* Code blocks */
.blog-content pre {
  margin: 1rem 0;
  padding: 1rem;
  background: hsl(var(--muted));
  border-radius: 0.5rem;
  overflow-x: auto;
}

.blog-content pre code {
  background: transparent;
  padding: 0;
}

/* Tables */
.blog-content table {
  width: 100%;
  margin: 1rem 0;
  border-collapse: collapse;
}

.blog-content th,
.blog-content td {
  padding: 0.5rem 0.75rem;
  border: 1px solid hsl(var(--border));
  text-align: left;
}

.blog-content th {
  background: hsl(var(--muted));
  font-weight: 600;
}

/* Remove unwanted space at beginning/end */
.blog-content > :first-child {
  margin-top: 0;
}

.blog-content > :last-child {
  margin-bottom: 0;
}


.input {
  width: 100%;
  border-radius: 0.75rem;
  border: 1px solid hsl(var(--border));
  background: hsl(var(--background));
  padding: 0.625rem 1rem;
  font-size: 0.875rem;
  outline: none;
  transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.input:focus {
  border-color: hsl(var(--primary));
  box-shadow: 0 0 0 2px hsl(var(--primary) / 0.15);
}

.input::-moz-placeholder {
  color: hsl(var(--muted-foreground));
}

.input::placeholder {
  color: hsl(var(--muted-foreground));
}
/* =========================================
   CMS PAGE CONTENT
   ========================================= */
.font-display { font-family: "Space Grotesk", sans-serif; }

.cms-content {
  max-width: 52rem;
  color: hsl(var(--foreground));
  font-size: 1.05rem;
  line-height: 1.85;
}

.cms-content > :first-child { margin-top: 0; }
.cms-content > :last-child { margin-bottom: 0; }
.cms-content h2 {
  margin: 2.15rem 0 .75rem;
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.45rem;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: -.02em;
  color: hsl(var(--foreground));
}
.cms-content h3 {
  margin: 1.7rem 0 .65rem;
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.18rem;
  line-height: 1.35;
  font-weight: 700;
}
.cms-content p { margin: 0 0 1.15rem; }
.cms-content ul,
.cms-content ol { margin: 0 0 1.25rem; padding-left: 1.5rem; }
.cms-content ul { list-style: disc; }
.cms-content ol { list-style: decimal; }
.cms-content li { margin: .4rem 0; padding-left: .15rem; }
.cms-content a { color: hsl(var(--primary)); text-decoration: underline; text-underline-offset: 3px; }
.cms-content strong { font-weight: 700; }
.cms-content blockquote {
  margin: 1.5rem 0;
  border-left: 3px solid hsl(var(--primary));
  padding: .85rem 1rem;
  border-radius: 0 .75rem .75rem 0;
  background: hsl(var(--muted) / .55);
  color: hsl(var(--muted-foreground));
}
.cms-content table { width: 100%; margin: 1.5rem 0; border-collapse: collapse; overflow: hidden; border-radius: .75rem; }
.cms-content th,
.cms-content td { border: 1px solid hsl(var(--border)); padding: .7rem .8rem; text-align: left; }
.cms-content th { background: hsl(var(--muted)); font-weight: 700; }
.cms-content img { display: block; max-width: 100%; height: auto; margin: 1.5rem auto; border-radius: 1rem; }

/* =========================================================
   LEGACY BASE UI
   Dedicated calculator language: calm, clear and usable.
   ========================================================= */
:root {
  --surface-strong: 0 0% 100%;
  --surface-soft: 220 30% 98%;
  --shadow-color: 225 40% 10%;
}
.dark {
  --surface-strong: 230 30% 10%;
  --surface-soft: 230 28% 8%;
  --shadow-color: 220 60% 2%;
}

html { scroll-behavior: smooth; }
body { background-image: radial-gradient(circle at 50% -10%, hsl(var(--primary) / .06), transparent 38rem); }

.app-shell { min-height: 100vh; position: relative; isolation: isolate; }
.app-shell main { position: relative; z-index: 1; }

.site-header { position: sticky; top: 0; z-index: 50; background: hsl(var(--background) / .78); border-bottom: 1px solid hsl(var(--border) / .65); backdrop-filter: blur(22px) saturate(150%); -webkit-backdrop-filter: blur(22px) saturate(150%); }
.header-glow { position:absolute; inset:0 20% auto; height:1px; background:linear-gradient(90deg,transparent,hsl(var(--primary)/.7),hsl(var(--cyan)/.5),transparent); opacity:.75; }
.site-nav { width:min(92rem,calc(100% - 2rem)); min-height:72px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:1.25rem; }
.brand-mark { display:inline-flex; align-items:center; gap:.65rem; flex:none; text-decoration:none; }
.brand-icon { width:2.25rem; height:2.25rem; display:grid; place-items:center; border-radius:.75rem; color:#fff; background:linear-gradient(145deg,hsl(var(--primary)),hsl(var(--accent))); box-shadow:0 10px 30px hsl(var(--primary)/.22), inset 0 1px 0 #fff4; }
.brand-word { font-family:"Space Grotesk",sans-serif; font-weight:700; letter-spacing:-.045em; font-size:1.18rem; color:hsl(var(--foreground)); }
.brand-word span { color:hsl(var(--primary)); }
.desktop-nav { display:flex; align-items:center; gap:.2rem; margin-left:auto; }
.nav-link { display:inline-flex; align-items:center; gap:.3rem; padding:.6rem .78rem; border-radius:.7rem; color:hsl(var(--muted-foreground)); font-size:.86rem; font-weight:600; text-decoration:none; transition:color .2s,background .2s,transform .2s; }
.nav-link:hover,.nav-link.is-active { color:hsl(var(--foreground)); background:hsl(var(--foreground)/.045); }
.nav-link.is-active { box-shadow:inset 0 -1px 0 hsl(var(--primary)/.55); }
.nav-dropdown-wrap { position:relative; }
.nav-dropdown-wrap::after { content:""; position:absolute; left:0; right:0; top:100%; height:1rem; pointer-events:auto; }
.tools-mega-menu { position:absolute; top:calc(100% + .5rem); left:50%; transform:translateX(-35%) translateY(0); width:38rem; padding:1rem; border:1px solid hsl(var(--border)); border-radius:1.25rem; background:hsl(var(--card)/.96); box-shadow:0 24px 80px hsl(var(--shadow-color)/.18); backdrop-filter:blur(22px); -webkit-backdrop-filter:blur(22px); opacity:0; pointer-events:none; transition:opacity .2s ease,transform .2s ease; }
/* Invisible hover bridge removes the gap between the Tools trigger and the mega menu. */
.tools-mega-menu::before { content:""; position:absolute; left:0; right:0; top:-.75rem; height:.75rem; background:transparent; pointer-events:auto; }
.nav-dropdown-wrap:hover .tools-mega-menu,.nav-dropdown-wrap:focus-within .tools-mega-menu { opacity:1; pointer-events:auto; transform:translateX(-35%) translateY(0); }
.nav-dropdown-wrap:has(.tools-mega-menu:hover) .tools-mega-menu { opacity:1; pointer-events:auto; }
.mega-head { display:flex; justify-content:space-between; align-items:center; padding:.45rem .5rem .9rem; border-bottom:1px solid hsl(var(--border)/.7); }
.mega-head strong { display:block; font-size:.92rem; }
.mega-head span { display:block; margin-top:.18rem; color:hsl(var(--muted-foreground)); font-size:.74rem; }
.mega-all { display:inline-flex; align-items:center; gap:.3rem; font-size:.75rem; font-weight:700; color:hsl(var(--primary)); }
.mega-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.35rem; padding-top:.55rem; }
.mega-item { display:flex; gap:.7rem; align-items:center; padding:.65rem; border-radius:.8rem; text-decoration:none; transition:.2s; }
.mega-item:hover { background:hsl(var(--primary)/.06); }
.mega-item>span { width:2rem;height:2rem;display:grid;place-items:center;border-radius:.65rem;color:var(--cat-color);background:color-mix(in srgb,var(--cat-color) 12%,transparent); }
.mega-item b,.mega-item small { display:block; }
.mega-item b { font-size:.78rem; color:hsl(var(--foreground)); }
.mega-item small { margin-top:.1rem; color:hsl(var(--muted-foreground)); font-size:.66rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:13rem; }
.header-actions { display:flex; align-items:center; gap:.45rem; }
.icon-button,.mobile-menu-button { display:grid; place-items:center; width:2.35rem;height:2.35rem;border-radius:.7rem;border:1px solid transparent;color:hsl(var(--muted-foreground));background:transparent;transition:.2s; }
.icon-button:hover,.mobile-menu-button:hover { color:hsl(var(--foreground));background:hsl(var(--foreground)/.05);border-color:hsl(var(--border)); }
.header-cta { display:inline-flex; align-items:center; gap:.45rem; margin-left:.15rem; padding:.65rem .9rem; border-radius:.75rem; color:hsl(var(--primary-foreground)); background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent))); box-shadow:0 8px 22px hsl(var(--primary)/.18); font-size:.8rem; font-weight:700; text-decoration:none; transition:.2s; }
.header-cta:hover { transform:translateY(-1px); box-shadow:0 12px 28px hsl(var(--primary)/.25); }
.mobile-menu-button { display:none; }
.mobile-panel { border-top:1px solid hsl(var(--border)); background:hsl(var(--background)/.97); }
.mobile-panel-inner { width:min(92rem,calc(100% - 2rem)); margin:auto; padding:1rem 0 1.25rem; display:grid; gap:.35rem; }
.mobile-main-link { display:flex;align-items:center;justify-content:space-between;padding:.8rem;border-radius:.8rem;color:hsl(var(--foreground));font-weight:600;text-decoration:none; }
.mobile-main-link:hover { background:hsl(var(--foreground)/.05); }
.mobile-categories { margin:.55rem 0; padding:.8rem; display:flex; flex-wrap:wrap; gap:.45rem; border:1px solid hsl(var(--border)); border-radius:1rem; }
.mobile-categories span { width:100%; color:hsl(var(--muted-foreground));font-size:.72rem;font-weight:700; }
.mobile-categories a { padding:.45rem .65rem; border-radius:.65rem; background:hsl(var(--muted)); color:hsl(var(--foreground)); font-size:.75rem; text-decoration:none; }
.mobile-signin { display:flex; justify-content:center; padding:.8rem; border-radius:.8rem; background:hsl(var(--primary));color:hsl(var(--primary-foreground));font-weight:700;text-decoration:none; }

.home-hero { position:relative; min-height:620px; overflow:hidden; border-bottom:1px solid hsl(var(--border)/.55); background:radial-gradient(circle at 50% 20%,hsl(var(--primary)/.10),transparent 32rem),radial-gradient(circle at 15% 55%,hsl(var(--accent)/.07),transparent 26rem),hsl(var(--background)); }
.hero-grid-lines { position:absolute; inset:0; opacity:.38; background-image:linear-gradient(hsl(var(--foreground)/.035) 1px,transparent 1px),linear-gradient(90deg,hsl(var(--foreground)/.035) 1px,transparent 1px); background-size:42px 42px; -webkit-mask-image:linear-gradient(to bottom,#000,transparent 80%); mask-image:linear-gradient(to bottom,#000,transparent 80%); }
.hero-orb { position:absolute; width:25rem;height:25rem;border-radius:50%;filter:blur(80px);pointer-events:none;opacity:.18; }
.hero-orb-a { left:-10rem;top:8rem;background:hsl(var(--primary)); }
.hero-orb-b { right:-10rem;top:5rem;background:hsl(var(--cyan)); }
.home-hero-inner { position:relative; z-index:1; width:min(58rem,calc(100% - 2rem)); margin:auto; padding:7.5rem 0 5rem; text-align:center; }
.eyebrow { display:inline-flex; align-items:center; gap:.4rem; padding:.38rem .7rem; border:1px solid hsl(var(--border)); border-radius:999px; background:hsl(var(--card)/.7); color:hsl(var(--muted-foreground)); font-size:.7rem;font-weight:700; letter-spacing:.01em; box-shadow:0 8px 30px hsl(var(--shadow-color)/.05); }
.hero-title { margin:1.4rem 0 0; font-size:clamp(3rem,7vw,5.6rem); line-height:.98; letter-spacing:-.065em; font-weight:800; }
.hero-title span { background:linear-gradient(100deg,hsl(var(--primary)),hsl(var(--accent)) 48%,hsl(var(--cyan))); -webkit-background-clip:text;background-clip:text;color:transparent; }
.hero-subtitle { max-width:43rem;margin:1.5rem auto 0;color:hsl(var(--muted-foreground));font-size:1.05rem;line-height:1.75; }
.hero-search { max-width:44rem;margin:2rem auto 0; filter:drop-shadow(0 18px 35px hsl(var(--primary)/.12)); }
.hero-search form,.hero-search>div { width:100%; }
.hero-trust { display:flex;justify-content:center;flex-wrap:wrap;gap:1.1rem;margin-top:1.15rem;color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:600; }
.hero-trust span { display:inline-flex;align-items:center;gap:.4rem; }
.hero-trust svg { color:hsl(var(--primary)); }
.hero-quick-links { display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.45rem;margin-top:2rem;font-size:.7rem;color:hsl(var(--muted-foreground)); }
.hero-quick-links a { padding:.4rem .65rem;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--card)/.55);color:hsl(var(--foreground));text-decoration:none;transition:.2s; }
.hero-quick-links a:hover { border-color:hsl(var(--primary)/.35);color:hsl(var(--primary));background:hsl(var(--primary)/.06); }

.tool-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem; }
.tool-card { position:relative; min-height:12.5rem; display:flex;flex-direction:column;gap:1rem;padding:1.1rem;border:1px solid hsl(var(--border));border-radius:1.15rem;background:linear-gradient(145deg,hsl(var(--card)),hsl(var(--surface-soft)));box-shadow:0 6px 24px hsl(var(--shadow-color)/.045);text-decoration:none;overflow:hidden;transition:transform .25s cubic-bezier(.22,1,.36,1),border-color .25s,box-shadow .25s; }
.tool-card::before { content:"";position:absolute;inset:-1px;background:radial-gradient(circle at 0 0,hsl(var(--primary)/.12),transparent 34%);opacity:0;transition:.25s;pointer-events:none; }
.tool-card:hover { transform:translateY(-5px);border-color:hsl(var(--primary)/.22);box-shadow:0 18px 42px hsl(var(--shadow-color)/.11),0 0 0 1px hsl(var(--primary)/.04); }
.tool-card:hover::before { opacity:1; }
.tool-card-top,.tool-card-meta,.tool-card-title-row { position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between; }
.tool-icon { width:2.7rem;height:2.7rem;display:grid;place-items:center;border-radius:.8rem;color:var(--tool-color);background:color-mix(in srgb,var(--tool-color) 12%,transparent);border:1px solid color-mix(in srgb,var(--tool-color) 18%,transparent);transition:.25s; }
.tool-card:hover .tool-icon { transform:scale(1.05); }
.tool-arrow { display:grid;place-items:center;width:2rem;height:2rem;border-radius:.65rem;color:hsl(var(--muted-foreground));background:hsl(var(--foreground)/.035);opacity:0;transform:translate(-4px,4px);transition:.2s; }
.tool-card:hover .tool-arrow { opacity:1;transform:none; }
.tool-card-copy { position:relative;z-index:1;flex:1; }
.tool-card-title-row { justify-content:flex-start;gap:.45rem; }
.tool-card h3 { margin:0;font-size:.94rem;line-height:1.25;font-weight:750;color:hsl(var(--foreground)); }
.tool-card p { margin:.45rem 0 0;color:hsl(var(--muted-foreground));font-size:.72rem;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden; }
.tool-new { display:inline-flex;align-items:center;gap:.2rem;padding:.2rem .4rem;border-radius:999px;background:hsl(var(--primary)/.09);color:hsl(var(--primary));font-size:.58rem;font-weight:800; }
.tool-card-meta { padding-top:.65rem;border-top:1px solid hsl(var(--border)/.7);color:hsl(var(--muted-foreground));font-size:.63rem;font-weight:600; }
.tool-card-meta span:last-child { color:hsl(var(--primary)); }

.tools-page { min-height:70vh; }
.tools-hero { position:relative;overflow:hidden;padding:6rem 1rem 4.5rem;text-align:center;border-bottom:1px solid hsl(var(--border));background:radial-gradient(circle at 50% 0,hsl(var(--primary)/.10),transparent 32rem); }
.tools-hero::after { content:"";position:absolute;inset:0;opacity:.25;background-image:radial-gradient(hsl(var(--foreground)/.1) 1px,transparent 1px);background-size:18px 18px;-webkit-mask-image:linear-gradient(to bottom,#000,transparent 75%);mask-image:linear-gradient(to bottom,#000,transparent 75%);pointer-events:none; }
.tools-hero>* { position:relative;z-index:1; }
.tools-hero h1 { margin:1.1rem auto 0;max-width:48rem;font-size:clamp(2.6rem,6vw,4.6rem);line-height:1;letter-spacing:-.06em;font-weight:800; }
.tools-hero h1 span { color:hsl(var(--primary)); }
.tools-hero>p { max-width:38rem;margin:1.25rem auto 0;color:hsl(var(--muted-foreground));line-height:1.7; }
.tools-search { width:min(40rem,100%);margin:2rem auto 0;display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border:1px solid hsl(var(--border));border-radius:1rem;background:hsl(var(--card)/.8);box-shadow:0 15px 45px hsl(var(--shadow-color)/.09); }
.tools-search svg { flex:none;color:hsl(var(--primary)); }
.tools-search input { min-width:0;flex:1;background:transparent;outline:none;border:0;color:hsl(var(--foreground));font-size:.9rem; }
.tools-search kbd { padding:.2rem .35rem;border:1px solid hsl(var(--border));border-radius:.35rem;color:hsl(var(--muted-foreground));font-size:.55rem; }
.tools-library { width:min(92rem,calc(100% - 2rem));margin:auto;padding:3.5rem 0 5rem; }
.filter-row { display:flex;justify-content:space-between;align-items:center;gap:1rem; }
.filter-title { display:flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:750; }
.result-count { color:hsl(var(--muted-foreground));font-size:.72rem; }
.category-pills { display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0 1.6rem; }
.category-pills button { padding:.5rem .75rem;border:1px solid hsl(var(--border));border-radius:999px;background:transparent;color:hsl(var(--muted-foreground));font-size:.72rem;font-weight:650;cursor:pointer;transition:.2s; }
.category-pills button:hover { color:hsl(var(--foreground));background:hsl(var(--foreground)/.04); }
.category-pills button.active { color:hsl(var(--primary-foreground));background:hsl(var(--primary));border-color:hsl(var(--primary));box-shadow:0 8px 20px hsl(var(--primary)/.16); }
.empty-tools { margin:3rem 0;padding:4rem 1rem;text-align:center;border:1px dashed hsl(var(--border));border-radius:1.5rem;color:hsl(var(--muted-foreground)); }
.empty-tools svg { margin:auto;color:hsl(var(--primary)); }
.empty-tools h2 { margin:.7rem 0 .25rem;color:hsl(var(--foreground));font-size:1.2rem; }
.empty-tools p { font-size:.8rem; }

.site-footer { position:relative;overflow:hidden;margin-top:7rem;border-top:1px solid hsl(var(--border));background:hsl(var(--surface-soft)); }
.footer-orbit { position:absolute;width:34rem;height:18rem;right:-12rem;top:-10rem;border-radius:50%;border:1px solid hsl(var(--primary)/.12);box-shadow:0 0 100px hsl(var(--primary)/.06); }
.footer-main { position:relative;width:min(92rem,calc(100% - 2rem));margin:auto;padding:4rem 0 3rem;display:grid;grid-template-columns:1.7fr repeat(3,1fr);gap:3rem; }
.footer-brand p { max-width:19rem;margin:1rem 0 1.2rem;color:hsl(var(--muted-foreground));font-size:.78rem;line-height:1.7; }
.footer-explore { display:inline-flex;align-items:center;gap:.4rem;color:hsl(var(--primary));font-size:.76rem;font-weight:750;text-decoration:none; }
.footer-column { display:flex;flex-direction:column;gap:.55rem; }
.footer-column h3 { margin:0 0 .35rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:hsl(var(--foreground)); }
.footer-column a { color:hsl(var(--muted-foreground));font-size:.76rem;text-decoration:none;transition:.2s; }
.footer-column a:hover { color:hsl(var(--primary)); }
.footer-bottom { position:relative;width:min(92rem,calc(100% - 2rem));margin:auto;padding:1rem 0 1.5rem;border-top:1px solid hsl(var(--border));display:flex;justify-content:space-between;gap:1rem;color:hsl(var(--muted-foreground));font-size:.65rem; }

/* Upgrade common tool surfaces without touching tool logic. */
.tool-card + .tool-card {}
main .rounded-3xl.border.bg-card { border-color:hsl(var(--border));box-shadow:0 18px 50px hsl(var(--shadow-color)/.07);background:linear-gradient(145deg,hsl(var(--card)),hsl(var(--surface-soft))); }
main .rounded-2xl.border.bg-card { transition:border-color .2s,box-shadow .2s,transform .2s; }
main .rounded-2xl.border.bg-card:hover { border-color:hsl(var(--primary)/.18); }

@media (max-width: 1024px) {
  .desktop-nav { gap:0; }
  .desktop-nav .nav-link { padding-inline:.55rem; }
  .tool-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .footer-main { grid-template-columns:1.4fr repeat(3,1fr);gap:2rem; }
}
@media (max-width: 800px) {
  .desktop-nav,.search-action { display:none; }
  .mobile-menu-button { display:grid; }
  .header-cta span { display:none; }
  .header-cta { width:2.35rem;height:2.35rem;padding:0;justify-content:center;border-radius:.7rem; }
  .home-hero { min-height:580px; }
  .home-hero-inner { padding:6rem 0 4rem; }
  .hero-title { font-size:clamp(2.8rem,13vw,4.2rem); }
  .hero-subtitle { font-size:.92rem; }
  .tool-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-main { grid-template-columns:repeat(2,1fr); }
  .footer-brand { grid-column:1/-1; }
  .footer-bottom { flex-direction:column; }
}
@media (max-width: 520px) {
  .site-nav { min-height:64px;width:min(100% - 1.1rem,92rem); }
  .brand-word { font-size:1.05rem; }
  .brand-icon { width:2.05rem;height:2.05rem; }
  .home-hero-inner { width:min(100% - 1.25rem,58rem);padding-top:5rem; }
  .hero-quick-links { display:none; }
  .hero-trust { gap:.7rem; }
  .hero-trust span { font-size:.68rem; }
  .tool-grid { grid-template-columns:1fr; }
  .tools-library { width:min(100% - 1.25rem,92rem);padding-top:2.5rem; }
  .tools-hero { padding:4.5rem .75rem 3rem; }
  .tools-hero h1 { font-size:2.75rem; }
  .footer-main { grid-template-columns:1fr 1fr;gap:1.75rem 1.25rem; }
  .footer-column:last-child { grid-column:1/-1; }
}

/* =========================================================
   BASE UI V32 — unified 2026 product UI refinements
   Frontend-only. Tool/API/data contracts remain unchanged.
   ========================================================= */

.site-nav { min-height: 66px; }
.header-actions { gap: .45rem; }
.icon-button.is-active { color: hsl(var(--primary)); background: hsl(var(--primary) / .08); border-color: hsl(var(--primary) / .2); }
.header-search-popover { position: absolute; inset: 66px 0 auto; z-index: 60; padding: .8rem 1rem 1rem; background: hsl(var(--background) / .78); border-bottom: 1px solid hsl(var(--border) / .75); backdrop-filter: blur(24px) saturate(150%); }
.header-search-inner { width: min(44rem, calc(100% - 1rem)); margin: auto; padding: .8rem; border: 1px solid hsl(var(--border)); border-radius: 1.2rem; background: hsl(var(--card) / .94); box-shadow: 0 24px 70px hsl(var(--shadow-color) / .16); }
.header-search-label { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding: .15rem .35rem .7rem; color:hsl(var(--muted-foreground)); font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.header-search-label button { display:grid; place-items:center; width:2rem; height:2rem; border-radius:.55rem; border:1px solid hsl(var(--border)); color:hsl(var(--muted-foreground)); background:hsl(var(--background)); cursor:pointer; }
.mobile-search-trigger { border:0; background:transparent; font:inherit; cursor:pointer; text-align:left; }

.home-hero { min-height: 650px; }
.home-hero-inner.hero-split { width:min(92rem, calc(100% - 2rem)); padding: 5.5rem 0 5rem; display:grid; grid-template-columns:minmax(0,1.02fr) minmax(27rem,.78fr); gap:5rem; align-items:center; text-align:left; }
.hero-copy { max-width: 42rem; }
.hero-title { max-width: 40rem; font-size: clamp(3.3rem, 5.4vw, 5.5rem); line-height: .98; }
.hero-subtitle { max-width: 39rem; margin-left:0; margin-right:0; font-size:1rem; }
.hero-search { max-width: 40rem; margin: 1.65rem 0 0; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1rem; }
.hero-primary,.hero-secondary { display:inline-flex; align-items:center; gap:.45rem; min-height:2.75rem; padding:.72rem 1rem; border-radius:.8rem; font-size:.78rem; font-weight:750; text-decoration:none; transition:transform .2s,box-shadow .2s,border-color .2s,background .2s; }
.hero-primary { color:#fff; background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent))); box-shadow:0 12px 28px hsl(var(--primary)/.2); }
.hero-secondary { color:hsl(var(--foreground)); border:1px solid hsl(var(--border)); background:hsl(var(--card)/.72); }
.hero-primary:hover,.hero-secondary:hover { transform:translateY(-2px); }
.hero-secondary:hover { border-color:hsl(var(--primary)/.3); background:hsl(var(--primary)/.04); }
.hero-trust { justify-content:flex-start; margin-top:1.2rem; gap:.8rem 1.15rem; }
.hero-trust span { font-size:.7rem; }
.hero-workspace { position:relative; width:100%; padding:1rem; border:1px solid hsl(var(--border)/.85); border-radius:1.65rem; background:linear-gradient(145deg,hsl(var(--card)/.94),hsl(var(--surface-soft)/.9)); box-shadow:0 30px 90px hsl(var(--shadow-color)/.12), 0 0 0 1px hsl(var(--primary)/.035); transform:rotate(1deg); }
.hero-workspace::before { content:""; position:absolute; inset:-20% -25% auto auto; width:18rem; height:18rem; border-radius:50%; background:radial-gradient(circle,hsl(var(--primary)/.18),transparent 68%); filter:blur(16px); pointer-events:none; }
.workspace-top { display:flex; justify-content:space-between; padding:.25rem .25rem .75rem; color:hsl(var(--muted-foreground)); font-size:.56rem; font-weight:800; letter-spacing:.1em; }
.workspace-search { display:flex; align-items:center; gap:.55rem; min-height:3.2rem; padding:0 .9rem; border:1px solid hsl(var(--border)); border-radius:1rem; background:hsl(var(--background)/.85); color:hsl(var(--muted-foreground)); font-size:.76rem; box-shadow:inset 0 1px 0 hsl(var(--foreground)/.03); }
.workspace-search svg { color:hsl(var(--primary)); }
.workspace-search kbd { margin-left:auto; border:1px solid hsl(var(--border)); border-radius:.4rem; padding:.18rem .35rem; font-size:.52rem; color:hsl(var(--muted-foreground)); }
.workspace-search-submit { flex:0 0 auto; width:2rem; height:2rem; display:grid; place-items:center; border:1px solid hsl(var(--primary)/.22); border-radius:.65rem; background:hsl(var(--primary)/.09); color:hsl(var(--primary)); cursor:pointer; transition:transform .2s,background .2s; }
.workspace-search-submit:hover { transform:translateX(1px); background:hsl(var(--primary)/.16); }
.workspace-search-submit:focus-visible { outline:2px solid hsl(var(--primary)/.45); outline-offset:2px; }
.workspace-pills { display:flex; flex-wrap:wrap; gap:.4rem; padding:.75rem .15rem .6rem; }
.workspace-pills button { padding:.35rem .55rem; border:1px solid hsl(var(--border)); border-radius:999px; background:hsl(var(--background)/.7); color:hsl(var(--muted-foreground)); font-size:.58rem; font-weight:700; cursor:pointer; transition:color .2s,background .2s,border-color .2s,transform .2s; }
.workspace-pills button:hover { transform:translateY(-1px); border-color:hsl(var(--primary)/.28); color:hsl(var(--foreground)); }
.workspace-pills button.is-active { color:hsl(var(--primary)); border-color:hsl(var(--primary)/.22); background:hsl(var(--primary)/.06); }
.workspace-search-active input { min-width:0; width:100%; border:0; outline:0; background:transparent; color:hsl(var(--foreground)); font:inherit; }
.workspace-search-active input::-moz-placeholder { color:hsl(var(--muted-foreground)); }
.workspace-search-active input::placeholder { color:hsl(var(--muted-foreground)); }
.workspace-empty { grid-column:1 / -1; min-height:7.5rem; display:grid; place-items:center; padding:.8rem; border:1px dashed hsl(var(--border)); border-radius:1rem; color:hsl(var(--muted-foreground)); font-size:.65rem; text-align:center; }
.site-breadcrumb-wrap { position:relative; left:50%; transform:translateX(-50%); width:min(92rem,calc(100vw - 2rem)); margin:0; }
.site-breadcrumb-inner { width:100%; }
.workspace-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; }
.workspace-card { display:flex; flex-direction:column; min-height:7.5rem; padding:.75rem; border:1px solid hsl(var(--border)); border-radius:1rem; background:hsl(var(--background)/.68); text-decoration:none; transition:transform .2s,border-color .2s,box-shadow .2s; }
.workspace-card:hover { transform:translateY(-2px); border-color:hsl(var(--primary)/.25); box-shadow:0 12px 25px hsl(var(--shadow-color)/.08); }
.workspace-card span { width:1.9rem; height:1.9rem; display:grid; place-items:center; border-radius:.6rem; color:var(--cat-color); background:color-mix(in srgb,var(--cat-color) 12%,transparent); }
.workspace-card b { margin-top:.65rem; font-size:.72rem; color:hsl(var(--foreground)); }
.workspace-card small { margin-top:.18rem; color:hsl(var(--muted-foreground)); font-size:.58rem; line-height:1.4; }
.workspace-bottom { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem .15rem .15rem; color:hsl(var(--muted-foreground)); font-size:.62rem; }
.workspace-bottom b { color:hsl(var(--foreground)); font-size:.78rem; }
.workspace-bottom a { display:inline-flex; align-items:center; gap:.3rem; color:hsl(var(--primary)); font-weight:750; text-decoration:none; }

/* Homepage sections: stronger rhythm and less generic card repetition. */
.home-hero + section, .home-hero ~ section { scroll-margin-top:5rem; }
main .mx-auto.max-w-\[90rem\].px-5.py-12 { padding-top:4rem; padding-bottom:4rem; }
main .mx-auto.max-w-\[90rem\].px-5.py-12 > .mb-6 h2 { letter-spacing:-.035em; }

/* Blog detail: compact editorial sidebar and post-specific tags only. */
.blog-content { color:hsl(var(--foreground)/.78); }
.blog-content p { max-width: 72ch; }
.cms-page-blog .blog-content-card {}

/* CMS/About/Contact pages */
.cms-page { width:min(92rem, calc(100% - 2rem)); }
.cms-page .cms-content { max-width:none; }
.cms-page-about .cms-content-card { width:100%; max-width:none; padding:clamp(2rem,4vw,4rem); border:1px solid hsl(var(--border)); border-radius:1.5rem; background:linear-gradient(145deg,hsl(var(--card)),hsl(var(--surface-soft))); box-shadow:0 20px 60px hsl(var(--shadow-color)/.07); }
.cms-page-about .cms-content { max-width: 72rem; font-size:1.03rem; line-height:1.8; }
.cms-page-about .cms-content h2:first-child { font-size:1.9rem; margin-bottom:1.2rem; }
.cms-page-about .cms-content p { max-width:72ch; }
.cms-page-contact .cms-content-card { padding:0; border:0; background:transparent; box-shadow:none; }
.cms-contact-layout { display:grid; gap:1rem; }
.cms-contact-info { padding:clamp(1.5rem,3vw,2.4rem); border:1px solid hsl(var(--border)); border-radius:1.4rem; background:linear-gradient(145deg,hsl(var(--card)),hsl(var(--surface-soft))); box-shadow:0 18px 55px hsl(var(--shadow-color)/.06); }
.cms-contact-info .cms-content { max-width:none; }
.cms-contact-points { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.55rem; margin-top:1.5rem; padding-top:1.1rem; border-top:1px solid hsl(var(--border)); }
.cms-contact-points span { padding:.65rem .75rem; border:1px solid hsl(var(--border)); border-radius:.75rem; background:hsl(var(--background)/.65); color:hsl(var(--muted-foreground)); font-size:.68rem; font-weight:650; }
.cms-page-contact section.rounded-3xl { width:100%; padding:clamp(1.5rem,3vw,2.4rem); border-radius:1.4rem; }
.cms-section-list { margin-top:1rem; }

/* Pricing */
.pricing-page { border-bottom:1px solid hsl(var(--border)); background:radial-gradient(circle at 15% 15%,hsl(var(--primary)/.12),transparent 28rem),radial-gradient(circle at 85% 15%,hsl(var(--cyan)/.11),transparent 28rem),hsl(var(--surface-soft)); }
.pricing-hero { width:min(72rem,calc(100% - 2rem)); margin:auto; padding:5.5rem 0 4.5rem; text-align:center; }
.pricing-eyebrow { display:inline-flex; align-items:center; min-height:2rem; padding:.35rem .7rem; border:1px solid hsl(var(--primary)/.18); border-radius:999px; color:hsl(var(--primary)); background:hsl(var(--primary)/.06); font-size:.65rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.pricing-hero h1 { max-width:48rem; margin:1.1rem auto 0; font-size:clamp(2.8rem,6vw,4.7rem); line-height:1; letter-spacing:-.06em; }
.pricing-hero > p { max-width:40rem; margin:1.1rem auto 0; color:hsl(var(--muted-foreground)); font-size:1rem; line-height:1.7; }
.pricing-trust { display:flex; flex-wrap:wrap; justify-content:center; gap:.7rem 1rem; margin-top:1.25rem; color:hsl(var(--muted-foreground)); font-size:.68rem; font-weight:650; }
.pricing-trust span { display:inline-flex; align-items:center; gap:.35rem; }
.pricing-trust svg { color:hsl(var(--primary)); }
.pricing-plans { width:min(72rem,calc(100% - 2rem)); margin:1.5rem auto 0; padding:0 0 5.5rem; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; position:relative; z-index:2; }
.pricing-card { position:relative; display:flex; flex-direction:column; min-height:27rem; padding:1.5rem; border:1px solid hsl(var(--border)); border-radius:1.35rem; background:linear-gradient(145deg,hsl(var(--card)),hsl(var(--surface-soft))); box-shadow:0 18px 50px hsl(var(--shadow-color)/.08); transition:transform .25s,box-shadow .25s,border-color .25s; }
.pricing-card:hover { transform:translateY(-5px); box-shadow:0 28px 70px hsl(var(--shadow-color)/.12); }
.pricing-card-featured { border-color:hsl(var(--primary)/.4); box-shadow:0 26px 70px hsl(var(--primary)/.14); }
.pricing-card-featured::before { content:""; position:absolute; inset:0 20% auto; height:2px; background:linear-gradient(90deg,transparent,hsl(var(--primary)),hsl(var(--accent)),transparent); }
.pricing-badge { position:absolute; top:-.8rem; left:1.35rem; display:inline-flex; align-items:center; gap:.25rem; padding:.4rem .65rem; border:1px solid hsl(var(--primary)/.18); border-radius:999px; color:hsl(var(--primary)); background:hsl(var(--background)); box-shadow:0 8px 22px hsl(var(--shadow-color)/.08); font-size:.62rem; font-weight:800; }
.pricing-card-head { display:flex; gap:.7rem; align-items:center; }
.pricing-plan-icon { display:grid; place-items:center; width:2.5rem; height:2.5rem; border-radius:.8rem; color:hsl(var(--primary)); background:hsl(var(--primary)/.08); border:1px solid hsl(var(--primary)/.12); }
.pricing-card-head h2 { margin:0; font-size:1.05rem; font-weight:800; }
.pricing-card-head p { margin:.15rem 0 0; color:hsl(var(--muted-foreground)); font-size:.65rem; line-height:1.4; }
.pricing-price { display:flex; align-items:baseline; gap:.35rem; margin:1.4rem 0 1rem; }
.pricing-price strong { font-size:3rem; line-height:1; letter-spacing:-.06em; }
.pricing-price span { color:hsl(var(--muted-foreground)); font-size:.7rem; }
.pricing-features { display:grid; gap:.65rem; margin:0; padding:1rem 0 0; border-top:1px solid hsl(var(--border)); list-style:none; font-size:.76rem; }
.pricing-features li { display:flex; gap:.55rem; align-items:flex-start; color:hsl(var(--muted-foreground)); }
.pricing-features svg { color:hsl(var(--primary)); }
.pricing-cta { display:flex; align-items:center; justify-content:center; gap:.4rem; margin-top:auto; min-height:2.8rem; border:1px solid hsl(var(--border)); border-radius:.8rem; color:hsl(var(--foreground)); background:hsl(var(--background)/.7); font-size:.76rem; font-weight:800; text-decoration:none; transition:.2s; }
.pricing-cta:hover { border-color:hsl(var(--primary)/.25); background:hsl(var(--primary)/.05); }
.pricing-cta-primary { color:#fff; border-color:transparent; background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent))); box-shadow:0 12px 28px hsl(var(--primary)/.2); }
.pricing-cta-primary:hover { color:#fff; opacity:.94; }

/* Footer: compact, structured, product-like. */
.site-footer { margin-top:5rem; background:hsl(var(--surface-soft)); }
.footer-noise { position:absolute; inset:0; pointer-events:none; opacity:.45; background:radial-gradient(circle at 88% 0,hsl(var(--primary)/.1),transparent 22rem),radial-gradient(circle at 18% 80%,hsl(var(--cyan)/.06),transparent 20rem); }
.footer-main { grid-template-columns:1.8fr 1fr 1fr 1fr 1fr; gap:2.2rem; padding:3.5rem 0 2.5rem; }
.footer-brand p { max-width:24rem; }
.footer-legal { padding-left:1rem; border-left:1px solid hsl(var(--border)); }
.footer-bottom { padding-top:1rem; }

@media (max-width: 980px) {
  .home-hero-inner.hero-split { grid-template-columns:1fr; gap:2.5rem; padding-top:4.5rem; }
  .hero-copy { max-width:48rem; }
  .hero-workspace { max-width:38rem; justify-self:center; width:100%; }
  .pricing-plans { grid-template-columns:1fr; max-width:34rem; }
  .pricing-card { min-height:unset; }
  .cms-contact-points { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-main { grid-template-columns:1.5fr 1fr 1fr; }
  .footer-legal { padding-left:0; border-left:0; }
}

@media (max-width: 800px) {
  .header-search-popover { top:64px; }
  .home-hero-inner.hero-split { width:min(100% - 1.25rem,92rem); padding-bottom:4rem; }
  .hero-title { font-size:clamp(2.8rem,11vw,4.4rem); }
  .hero-workspace { transform:none; }
  .footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-brand { grid-column:1/-1; }
}

@media (max-width: 520px) {
  .header-search-popover { padding-inline:.5rem; }
  .header-search-inner { width:100%; }
  .hero-actions { display:grid; grid-template-columns:1fr; }
  .hero-primary,.hero-secondary { justify-content:center; }
  .hero-trust { display:grid; grid-template-columns:1fr 1fr; }
  .workspace-grid { grid-template-columns:1fr 1fr; }
  .cms-page { width:min(100% - 1rem,92rem); }
  .cms-contact-points { grid-template-columns:1fr; }
  .pricing-hero { width:min(100% - 1.25rem,72rem); padding-top:4.5rem; }
  .pricing-plans { width:min(100% - 1.25rem,34rem); }
  .footer-main { grid-template-columns:1fr 1fr; gap:1.5rem 1rem; }
}

/* =========================================================
   BASE UI V33 — final visual polish pass
   Frontend-only: no API, backend, database or tool logic changes.
   ========================================================= */

:root { font-size: 16px; }
body { font-size: 1rem; line-height: 1.58; }

/* Header: larger, clearer, more polished. */
.site-nav { min-height: 72px; width:min(94rem,calc(100% - 2rem)); }
.nav-link { font-size:.92rem; padding:.65rem .82rem; }
.header-actions { gap:.55rem; }
.header-search-popover { inset:72px 0 auto; padding:1rem 1rem 1.2rem; }
.header-search-inner { width:min(50rem,calc(100% - 1rem)); padding:1rem; border-radius:1.35rem; }
.header-search-label { font-size:.76rem; }
.header-search-inner .glass { min-height:3.35rem; }
.header-search-inner input { font-size:1rem; }

/* Consistent public-page width and breathing room. */
.cms-page-hero > div, .cms-page { width:min(94rem,calc(100% - 2rem)); }
.cms-page-hero .mb-6 { margin-bottom:1.15rem; }
.cms-page-hero h1 { font-size:clamp(2.75rem,5vw,4.25rem); line-height:1.02; }
.cms-page-hero p { font-size:1.1rem; line-height:1.7; }
.cms-page { padding-top:clamp(2.25rem,4vw,4rem); padding-bottom:clamp(3.5rem,6vw,6rem); }
.cms-page-about .cms-content-card { padding:clamp(2rem,4vw,3.5rem); border-radius:1.75rem; }
.cms-page-about .cms-content { max-width:78ch; font-size:1.08rem; line-height:1.85; }
.cms-page-about .cms-content h2:first-child { font-size:clamp(1.75rem,3vw,2.35rem); margin-bottom:1.25rem; }
.cms-page-about .cms-content h2:not(:first-child) { margin-top:2.7rem; font-size:1.45rem; }
.cms-page-about .cms-content p { max-width:76ch; margin-bottom:1.15rem; }

/* Blog typography and card rhythm. */
.blog-content { font-size:1.04rem; line-height:1.82; }
.blog-content p { margin-bottom:1.05rem !important; line-height:1.82; }
.blog-content h2 { font-size:1.55rem; margin-top:2rem !important; }
.blog-content h3 { font-size:1.25rem; margin-top:1.65rem !important; }
.blog-content ul,.blog-content ol { line-height:1.75; margin-bottom:1.1rem !important; }

/* Every blog image uses one predictable frame. */
.group > a > figure, .group > a > div.relative.mb-8, .blog-content-card figure { aspect-ratio:16/9; }
.group > a > figure { margin-bottom:0; border:0; border-radius:0; box-shadow:none; }
.group > a > figure img { width:100%; height:100%; -o-object-fit:cover; object-fit:cover; }
.blog-content-card figure img { width:100%; height:100%; -o-object-fit:cover; object-fit:cover; }

/* Article sidebar: show only the current article's tags. */
.blog-article-sidebar { top:92px; }

/* About/contact: remove the old narrow-document feel. */
.cms-content-card { width:100%; }
.cms-contact-layout { gap:1.25rem; }
.cms-contact-info { padding:clamp(1.75rem,3.5vw,3rem); border-radius:1.6rem; }
.cms-contact-info .cms-content { font-size:1.03rem; line-height:1.78; }
.cms-contact-info .cms-content h2:first-child { font-size:clamp(1.7rem,3vw,2.2rem); margin-bottom:1rem; }
.cms-contact-points { gap:.75rem; margin-top:1.75rem; padding-top:1.35rem; }
.cms-contact-points span { min-height:3.1rem; display:flex; align-items:center; padding:.8rem 1rem; font-size:.78rem; }
.cms-page-contact section.rounded-3xl { padding:clamp(1.75rem,3.5vw,3rem); border-radius:1.6rem; }
.cms-page-contact section.rounded-3xl h2 { font-size:clamp(1.7rem,3vw,2.2rem); }
.cms-page-contact .input { min-height:3.1rem; font-size:.95rem; }
.cms-page-contact textarea.input { min-height:12rem; }

/* Pricing: breadcrumb + deliberate equal air above/below the plan grid. */
.pricing-page { padding-bottom:0; }
.pricing-hero { width:min(94rem,calc(100% - 2rem)); padding:1.15rem 0 5rem; text-align:center; }
.pricing-hero > nav { text-align:left; margin-bottom:clamp(3.25rem,6vw,5.5rem); }
.pricing-hero h1 { font-size:clamp(3rem,6vw,5rem); }
.pricing-hero > p { font-size:1.08rem; }
.pricing-trust { font-size:.78rem; }
.pricing-plans { width:min(94rem,calc(100% - 2rem)); margin:0 auto; padding:clamp(3.5rem,6vw,5.5rem) 0 clamp(4rem,7vw,6.5rem); gap:1.25rem; }
.pricing-card { min-height:31rem; padding:1.75rem; border-radius:1.5rem; box-shadow:0 24px 65px hsl(var(--shadow-color)/.09); }
.pricing-card-head h2 { font-size:1.2rem; }
.pricing-card-head p { font-size:.76rem; }
.pricing-price { margin:1.75rem 0 1.15rem; }
.pricing-price strong { font-size:3.4rem; }
.pricing-features { font-size:.9rem; gap:.8rem; }
.pricing-cta { min-height:3.15rem; font-size:.85rem; }
.pricing-card-featured { transform:translateY(-6px); }
.pricing-card-featured:hover { transform:translateY(-10px); }

/* Home: use the available width instead of ending the page too early. */
.home-hero { min-height:720px; }
.home-hero-inner.hero-split { width:min(94rem,calc(100% - 2rem)); grid-template-columns:minmax(0,1fr) minmax(31rem,.82fr); gap:clamp(3rem,6vw,7rem); padding:6.5rem 0 5rem; }
.hero-copy { max-width:48rem; }
.hero-title { max-width:44rem; font-size:clamp(3.5rem,6vw,6.2rem); }
.hero-subtitle { font-size:1.1rem; max-width:42rem; line-height:1.8; }
.hero-search { max-width:44rem; }
.hero-trust span { font-size:.78rem; }
.hero-workspace { padding:1.2rem; border-radius:1.8rem; }
.workspace-search { min-height:3.5rem; font-size:.88rem; }
.workspace-card { min-height:8.5rem; padding:.9rem; }
.workspace-card b { font-size:.82rem; }
.workspace-card small { font-size:.66rem; }

/* Modern section headings and cards. */
main .mx-auto.max-w-\[90rem\].px-5.py-12 { width:min(94rem,calc(100% - 2rem)); max-width:none; padding-top:clamp(4.5rem,7vw,6.5rem); padding-bottom:clamp(4.5rem,7vw,6.5rem); }
main .mx-auto.max-w-\[90rem\].px-5.py-12 > .mb-6 h2 { font-size:clamp(1.8rem,3vw,2.45rem); }

/* Futuristic footer: depth, glow, stronger hierarchy. */
.site-footer { margin-top:clamp(5rem,8vw,8rem); background:linear-gradient(145deg,hsl(var(--surface-soft)),hsl(var(--background))); }
.site-footer::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.42; background-image:linear-gradient(hsl(var(--foreground)/.025) 1px,transparent 1px),linear-gradient(90deg,hsl(var(--foreground)/.025) 1px,transparent 1px); background-size:34px 34px; -webkit-mask-image:linear-gradient(to bottom,#000,transparent 78%); mask-image:linear-gradient(to bottom,#000,transparent 78%); }
.site-footer::after { content:""; position:absolute; width:42rem; height:22rem; right:-15rem; top:-12rem; border:1px solid hsl(var(--primary)/.16); border-radius:50%; box-shadow:0 0 100px hsl(var(--primary)/.08); pointer-events:none; }
.footer-main { width:min(94rem,calc(100% - 2rem)); padding:5rem 0 3.5rem; grid-template-columns:1.8fr repeat(4,1fr); gap:2.5rem; }
.footer-brand { position:relative; padding:1.35rem; border:1px solid hsl(var(--border)/.8); border-radius:1.4rem; background:hsl(var(--card)/.55); box-shadow:0 20px 60px hsl(var(--shadow-color)/.06); }
.footer-brand p { max-width:28rem; font-size:.88rem; line-height:1.75; }
.footer-explore { min-height:2.8rem; padding:0 .95rem; border:1px solid hsl(var(--primary)/.18); border-radius:.8rem; background:hsl(var(--primary)/.06); font-size:.82rem; }
.footer-column { gap:.72rem; }
.footer-column h3 { font-size:.78rem; margin-bottom:.45rem; }
.footer-column a { font-size:.84rem; }
.footer-bottom { width:min(94rem,calc(100% - 2rem)); padding:1.15rem 0 1.65rem; font-size:.74rem; }

@media (max-width:980px) {
  .home-hero-inner.hero-split { grid-template-columns:1fr; }
  .hero-workspace { max-width:44rem; justify-self:center; }
  .footer-main { grid-template-columns:1.5fr repeat(3,1fr); }
}
@media (max-width:800px) {
  .site-nav { min-height:66px; }
  .home-hero { min-height:unset; }
  .home-hero-inner.hero-split { padding:5rem 0 4rem; }
  .hero-title { font-size:clamp(3rem,12vw,4.7rem); }
  .footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:520px) {
  .site-nav { width:min(100% - 1rem,94rem); }
  .cms-page-hero > div, .cms-page { width:min(100% - 1rem,94rem); }
  .pricing-hero, .pricing-plans { width:min(100% - 1rem,94rem); }
  .pricing-hero { padding-top:.8rem; }
  .pricing-hero > nav { margin-bottom:2.5rem; }
  .pricing-card { min-height:unset; }
  .pricing-card-featured { transform:none; }
  .footer-main { grid-template-columns:1fr 1fr; gap:1.5rem 1rem; }
}
.group > a > div.relative.mb-8 { margin-bottom:0; }


/* =========================================================
   BASE UI V34 — final QA / visual consistency pass
   Frontend-only. No backend/API/database/tool behavior changes.
   ========================================================= */

.site-header { position:sticky; top:var(--admin-bar-height,0px); z-index:190; isolation:isolate; }
.header-search-popover { z-index:120; box-shadow:0 18px 60px hsl(var(--shadow-color)/.10); }
.header-search-inner { max-width:56rem; }

/* Public pages share one visual grid and a calmer vertical rhythm. */
.cms-page-hero > div,
.cms-page,
.pricing-hero,
.pricing-plans { width:min(94rem,calc(100% - 2rem)); }
.cms-page-hero > div { padding-top:1.25rem; padding-bottom:3.5rem; }
.cms-page-hero .mb-6 { margin-bottom:1rem; }
.cms-page-hero h1 { font-size:clamp(2.6rem,4.8vw,4.25rem); }
.cms-page-hero p { max-width:56rem; }
.cms-page { padding-top:clamp(2.5rem,4vw,4.25rem); padding-bottom:clamp(4rem,6vw,6rem); }

/* About: wider editorial layout, less card-like padding, stronger hierarchy. */
.cms-page-about .cms-content-card {
  position:relative;
  overflow:hidden;
  padding:clamp(1.5rem,3vw,2.75rem);
  border-radius:1.75rem;
  background:
    radial-gradient(circle at 100% 0,hsl(var(--primary)/.07),transparent 24rem),
    linear-gradient(145deg,hsl(var(--card)),hsl(var(--surface-soft)));
}
.cms-page-about .cms-content-card::after {
  content:"";
  position:absolute;
  width:24rem;
  height:12rem;
  right:-9rem;
  bottom:-7rem;
  border:1px solid hsl(var(--primary)/.10);
  border-radius:50%;
  pointer-events:none;
}
.cms-page-about .cms-content { max-width:82ch; font-size:1.09rem; line-height:1.82; }
.cms-page-about .cms-content h2:first-child { font-size:clamp(1.9rem,3vw,2.5rem); margin-top:0; }
.cms-page-about .cms-content h2:not(:first-child) { margin-top:2.2rem; }
.cms-page-about .cms-content p { max-width:82ch; }

/* Contact: information first, then a full-width form with clear hierarchy. */
.cms-contact-layout { grid-template-columns:1fr; gap:1.25rem; }
.cms-contact-info { padding:clamp(1.5rem,3vw,2.5rem); }
.cms-page-contact .cms-contact-layout > section { width:100%; }
.cms-page-contact .cms-page-contact-form { width:100%; }

/* Blog: every featured/card/detail image is a predictable 16:9 frame. */
.blog-content-card figure,
.blog-article-sidebar ~ * figure,
.group > a > figure { aspect-ratio:16/9; }
.group > a > figure { width:100%; }
.group > a > figure img,
.blog-content-card figure img { width:100%; height:100%; -o-object-fit:cover; object-fit:cover; }
.blog-article-sidebar { top:88px; }
.blog-article-sidebar > div { border-radius:1.1rem; }

/* Article tags: keep them compact and readable, never an oversized wall of tags. */
.blog-article-sidebar .tag-list { max-height:9rem; overflow:auto; }

/* Pricing: breadcrumb gets the same top offset as other public pages; plans get
   equal visual air above and below and stronger card treatment. */
.pricing-page { background:
  radial-gradient(circle at 12% 10%,hsl(var(--primary)/.12),transparent 26rem),
  radial-gradient(circle at 88% 12%,hsl(var(--cyan)/.10),transparent 25rem),
  hsl(var(--surface-soft)); }
.pricing-hero { padding:1.25rem 0 clamp(3rem,5vw,4.5rem); }
.pricing-breadcrumb { margin-bottom:clamp(2.25rem,4vw,4rem); }
.pricing-breadcrumb > div { background:hsl(var(--card)/.72); }
.pricing-hero h1 { max-width:58rem; }
.pricing-plans { margin-top:0; padding:clamp(3.25rem,5vw,5rem) 0 clamp(4.5rem,6vw,6rem); }
.pricing-card { min-height:32rem; border-radius:1.6rem; }
.pricing-card::after { content:""; position:absolute; inset:1px; border-radius:1.5rem; pointer-events:none; background:linear-gradient(135deg,hsl(var(--primary)/.035),transparent 35%,hsl(var(--cyan)/.035)); }
.pricing-card > * { position:relative; z-index:1; }
.pricing-card-featured { box-shadow:0 30px 90px hsl(var(--primary)/.17); }

/* Footer: more product-like, but still clean enough for an ad-review site. */
.site-footer { margin-top:clamp(5rem,8vw,8rem); }
.footer-brand { padding:1.5rem; }
.footer-column a { font-size:.86rem; }
.footer-bottom { font-size:.76rem; }

/* Global public typography: make reading comfortable on current desktop displays. */
.cms-content, .blog-content { font-size:1.06rem; }
.blog-content h2 { font-size:1.6rem; }
.blog-content h3 { font-size:1.28rem; }

@media (max-width:800px) {
  .cms-page-hero > div, .cms-page, .pricing-hero, .pricing-plans { width:min(100% - 1rem,94rem); }
  .cms-page-hero > div { padding-bottom:2.75rem; }
  .pricing-breadcrumb { margin-bottom:2.25rem; }
  .pricing-card { min-height:unset; }
}

/* Final polish: search, language picker and Google Translate integration */
.header-search-backdrop { position: fixed; inset: 0; z-index: 110; background: hsl(var(--shadow-color) / .30); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); }
.header-search-popover { position: fixed !important; top: 72px !important; left: 0; right: 0; inset-inline: 0; z-index: 120 !important; padding: 1rem; background: transparent !important; border: 0 !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
.header-search-inner { width: min(46rem, calc(100% - 1rem)); margin: auto; padding: 1rem; border: 1px solid hsl(var(--border)); border-radius: 1.35rem; background: hsl(var(--card)) !important; box-shadow: 0 30px 90px hsl(var(--shadow-color) / .24), 0 0 0 1px hsl(var(--primary) / .04); }
.header-search-label { padding: .1rem .35rem .75rem; color: hsl(var(--foreground)); }
.header-search-inner .glass { background: hsl(var(--background)) !important; backdrop-filter: none; -webkit-backdrop-filter: none; }
.search-results-panel { background: hsl(var(--card)) !important; border: 1px solid hsl(var(--border)); }
.search-results-panel button:hover { background: hsl(var(--secondary)) !important; }
.language-picker { position: relative; z-index: 130; }
.language-trigger { display:inline-flex; align-items:center; gap:.35rem; min-height:2.5rem; padding:.45rem .62rem; border:1px solid hsl(var(--border)); border-radius:.75rem; background:hsl(var(--card) / .78); color:hsl(var(--muted-foreground)); font-size:.78rem; font-weight:700; cursor:pointer; transition:.2s; }
.language-trigger:hover, .language-trigger[aria-expanded="true"] { color:hsl(var(--foreground)); border-color:hsl(var(--primary) / .35); background:hsl(var(--primary) / .06); }
.language-trigger-text { max-width:3.8rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.language-menu { position:absolute; top:calc(100% + .65rem); right:0; width:15rem; padding:.55rem; border:1px solid hsl(var(--border)); border-radius:1rem; background:hsl(var(--card)); box-shadow:0 24px 70px hsl(var(--shadow-color) / .20); }
.language-menu-head { padding:.55rem .65rem .65rem; border-bottom:1px solid hsl(var(--border)); margin-bottom:.3rem; }
.language-menu-head span { display:block; font-size:.78rem; font-weight:800; color:hsl(var(--foreground)); }
.language-menu-head small { display:block; margin-top:.15rem; color:hsl(var(--muted-foreground)); font-size:.68rem; }
.language-option { width:100%; display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.55rem .65rem; border:0; border-radius:.7rem; background:transparent; color:hsl(var(--foreground)); text-align:left; cursor:pointer; }
.language-option:hover, .language-option.is-selected { background:hsl(var(--primary) / .08); }
.language-option span { display:flex; flex-direction:column; min-width:0; }
.language-option b { font-size:.82rem; font-weight:700; }
.language-option small { margin-top:.08rem; color:hsl(var(--muted-foreground)); font-size:.68rem; }
.google-translate-hidden { position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; padding:0 !important; margin:-1px !important; }
.goog-te-banner-frame.skiptranslate { display:none !important; }
body { top:0 !important; }
@media (max-width: 900px) { .language-trigger-text { display:none; } .language-menu { right:-.35rem; } }

/* WordPress-style administrator toolbar on the public site. It is rendered only for authenticated admins. */
.admin-frontend-bar { position: sticky; top: 0; z-index: 200; border-bottom: 1px solid hsl(var(--border)); background: hsl(var(--foreground)); color: hsl(var(--background)); box-shadow: 0 2px 10px rgba(0,0,0,.12); }
.admin-frontend-inner { width: min(1400px, calc(100% - 24px)); margin: 0 auto; min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 12px; overflow-x: auto; scrollbar-width: thin; }
.admin-frontend-brand { flex: 0 0 auto; font-size: 13px; font-weight: 800; letter-spacing: -.01em; padding: 8px 6px; color: inherit; text-decoration: none; }
.admin-frontend-brand span { margin-left: 4px; opacity: .65; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.admin-frontend-links { display: flex; align-items: center; gap: 2px; white-space: nowrap; }
.admin-frontend-links a { color: inherit; opacity: .84; text-decoration: none; font-size: 12px; font-weight: 600; padding: 7px 9px; border-radius: 7px; }
.admin-frontend-links a:hover, .admin-frontend-links button:hover { opacity: 1; background: rgba(255,255,255,.10); }
.admin-frontend-links .admin-frontend-primary { opacity: 1; background: hsl(var(--primary)); color: hsl(var(--primary-foreground)); }
.admin-frontend-links .admin-frontend-site { border: 1px solid rgba(255,255,255,.22); opacity: 1; }
.admin-frontend-signout { display: inline-flex; align-items: center; gap: 5px; border: 1px solid rgba(255,255,255,.22); color: inherit; opacity: .92; background: transparent; cursor: pointer; font: inherit; font-size: 12px; font-weight: 700; padding: 7px 9px; border-radius: 7px; white-space: nowrap; }
@media (max-width: 720px) { .admin-frontend-inner { width: 100%; padding: 0 8px; } .admin-frontend-brand { display: none; } }

/* V46 — Invoice Generator hero promotion + print-safe invoice output */
.workspace-feature { display:flex; align-items:center; gap:.8rem; margin:.8rem 0; padding:.85rem; border:1px solid hsl(var(--primary)/.25); border-radius:1rem; background:linear-gradient(135deg,hsl(var(--primary)/.09),hsl(var(--accent)/.06)); color:hsl(var(--foreground)); text-decoration:none; transition:transform .2s,border-color .2s,box-shadow .2s; }
.workspace-feature:hover { transform:translateY(-2px); border-color:hsl(var(--primary)/.42); box-shadow:0 14px 35px hsl(var(--primary)/.12); }
.workspace-feature-badge { align-self:flex-start; padding:.28rem .45rem; border-radius:999px; background:hsl(var(--primary)); color:hsl(var(--primary-foreground)); font-size:.52rem; font-weight:800; letter-spacing:.08em; white-space:nowrap; }
.workspace-feature-main { display:flex; min-width:0; flex:1; align-items:center; gap:.7rem; }
.workspace-feature-icon { width:2.25rem; height:2.25rem; flex:0 0 auto; display:grid; place-items:center; border-radius:.7rem; background:hsl(var(--primary)/.12); color:hsl(var(--primary)); font-size:1.15rem; font-weight:900; }
.workspace-feature-main b { display:block; font-size:.8rem; }
.workspace-feature-main small { display:block; margin-top:.18rem; color:hsl(var(--muted-foreground)); font-size:.6rem; line-height:1.35; }
@media (max-width: 640px) { .workspace-feature { align-items:flex-start; } .workspace-feature-badge { display:none; } }
@media print {
  body * { visibility:hidden !important; }
  .invoice-print-area, .invoice-print-area * { visibility:visible !important; }
  .invoice-print-area { position:absolute !important; left:0 !important; top:0 !important; width:100% !important; margin:0 !important; border:0 !important; box-shadow:none !important; }
  @page { size:A4; margin:12mm; }
}

/* =========================================================
   V46.3 GLOBAL SITE-WIDTH + SPACING SYSTEM
   One alignment grid: header/logo -> breadcrumbs -> page content -> footer.
   ========================================================= */
:root { --site-content-width: 94rem; --site-gutter: 1rem; --page-air: clamp(2.5rem, 4vw, 3.5rem); }

/* Every public page uses the same horizontal grid as the header. */
.site-page-shell,
main .site-page-shell {
  width: min(var(--site-content-width), calc(100% - (var(--site-gutter) * 2)));
  max-width: none;
  margin-left: auto;
  margin-right: auto;
}

/* Breadcrumbs now live on the same grid instead of being visually wider/narrower
   than the content below them. */
.site-breadcrumb-wrap {
  position: relative;
  left: auto;
  transform: none;
  width: 100%;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: var(--page-air);
}

.site-breadcrumb-inner { width: 100%; }

/* Give the main page a deliberate, predictable breathing space before the footer.
   Footer itself no longer adds a second arbitrary gap. */
.app-shell main { padding-bottom: var(--page-air); }
.site-footer { margin-top: 0; }

/* Tool pages: the tool surface, invoice generator included, follows the same
   full site grid as the breadcrumb/header rather than the old 4xl column. */
.tool-page-shell > .rounded-3xl,
.tool-page-shell > .invoice-tool-surface { width: 100%; }

/* The hero workspace search icon must remain visible even if a global SVG rule
   or browser stylesheet tries to collapse flex children. */
.workspace-search > svg:first-child {
  display: block;
  flex: 0 0 auto;
  width: 1rem;
  height: 1rem;
  min-width: 1rem;
  min-height: 1rem;
  color: hsl(var(--primary));
  opacity: 1;
  visibility: visible;
}
.workspace-search-active input { flex: 1 1 auto; }

/* Keep hero/category/search controls aligned to the same grid on wide screens. */
.home-hero-inner.hero-split { width: min(var(--site-content-width), calc(100% - (var(--site-gutter) * 2))); }
.footer-main, .footer-bottom, .site-nav { width: min(var(--site-content-width), calc(100% - (var(--site-gutter) * 2))); }

@media (max-width: 520px) {
  :root { --site-gutter: .625rem; --page-air: 2.5rem; }
}

/* =========================================================
   BASE UI V48 — visual builder + responsive hardening
   ========================================================= */

html, body, #root { max-width:100%; overflow-x:hidden; }
img, svg, video, canvas { max-width:100%; }
button, input, textarea, select { max-width:100%; }
.site-nav, .cms-page-hero > div, .cms-page, .pricing-hero, .pricing-plans, .footer-main, .footer-bottom { width:min(94rem, calc(100% - 2rem)); }
.cms-page-hero > div { padding-top:1.25rem; padding-bottom:clamp(2rem,4vw,3.5rem); }
.cms-page { padding-top:clamp(2.5rem,5vw,4.5rem); padding-bottom:clamp(4rem,7vw,7rem); }
.cms-content-card { min-width:0; }
.cms-content table { display:block; overflow-x:auto; white-space:nowrap; }
.cms-content pre, .cms-content code { max-width:100%; overflow:auto; }

/* Professional static About page generated by the Visual Builder. */
.visual-public-page { display:grid; gap:clamp(2rem,5vw,4.5rem); }
.public-builder-hero { position:relative; overflow:hidden; min-height:28rem; display:flex; align-items:center; padding:clamp(2rem,6vw,5rem); border:1px solid hsl(var(--border)); border-radius:2rem; background:radial-gradient(circle at 90% 10%,hsl(var(--primary)/.16),transparent 28rem),radial-gradient(circle at 10% 100%,hsl(var(--cyan)/.10),transparent 24rem),linear-gradient(145deg,hsl(var(--card)),hsl(var(--surface-soft))); box-shadow:0 28px 90px hsl(var(--shadow-color)/.09); }
.public-builder-hero::after { content:""; position:absolute; width:26rem;height:26rem; right:-12rem; top:-12rem; border:1px solid hsl(var(--primary)/.14); border-radius:50%; box-shadow:0 0 90px hsl(var(--primary)/.08); }
.public-builder-hero > div { position:relative; z-index:1; max-width:56rem; }
.public-builder-eyebrow, .public-builder-heading > span { display:inline-flex; align-items:center; gap:.4rem; padding:.4rem .7rem; border:1px solid hsl(var(--primary)/.18); border-radius:999px; background:hsl(var(--primary)/.06); color:hsl(var(--primary)); font-size:.7rem; font-weight:800; letter-spacing:.12em; }
.public-builder-hero h2 { margin:1rem 0 0; max-width:54rem; font-size:clamp(2.8rem,6vw,5.8rem); line-height:.98; letter-spacing:-.06em; font-weight:800; }
.public-builder-hero p { max-width:48rem; margin-top:1.5rem; color:hsl(var(--muted-foreground)); font-size:clamp(1rem,1.7vw,1.18rem); line-height:1.8; }
.public-builder-buttons { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.75rem; }
.public-builder-primary, .public-builder-secondary, .public-builder-cta a { display:inline-flex; align-items:center; gap:.45rem; min-height:3rem; padding:.75rem 1rem; border-radius:.85rem; text-decoration:none; font-size:.82rem; font-weight:750; }
.public-builder-primary { color:#fff; background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent))); box-shadow:0 12px 30px hsl(var(--primary)/.2); }
.public-builder-secondary { color:hsl(var(--foreground)); border:1px solid hsl(var(--border)); background:hsl(var(--card)/.8); }
.public-builder-section { padding:clamp(.5rem,2vw,1.25rem) 0; }
.public-builder-heading { max-width:58rem; margin:0 auto 1.5rem; text-align:center; }
.public-builder-heading h2, .public-builder-split h2, .public-builder-cta h2 { margin-top:.75rem; font-size:clamp(2rem,4vw,3.2rem); line-height:1.05; letter-spacing:-.04em; font-weight:800; }
.public-builder-heading p, .public-builder-split p, .public-builder-cta p { margin-top:.8rem; color:hsl(var(--muted-foreground)); font-size:1rem; line-height:1.8; }
.public-builder-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.public-builder-grid article { min-height:10rem; padding:1.35rem; border:1px solid hsl(var(--border)); border-radius:1.25rem; background:linear-gradient(145deg,hsl(var(--card)),hsl(var(--surface-soft))); box-shadow:0 14px 45px hsl(var(--shadow-color)/.055); transition:transform .2s,box-shadow .2s,border-color .2s; }
.public-builder-grid article:hover { transform:translateY(-3px); border-color:hsl(var(--primary)/.22); box-shadow:0 20px 55px hsl(var(--shadow-color)/.09); }
.public-builder-icon { width:2.3rem;height:2.3rem;display:grid;place-items:center;border-radius:.75rem;background:hsl(var(--primary)/.09);color:hsl(var(--primary));font-size:.7rem;font-weight:800; }
.public-builder-grid h3 { margin-top:1rem; font-size:1rem; font-weight:750; }
.public-builder-grid p { margin-top:.45rem; color:hsl(var(--muted-foreground)); font-size:.85rem; line-height:1.65; }
.public-builder-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(1.5rem,5vw,4rem); align-items:center; padding:clamp(1rem,3vw,2rem); border:1px solid hsl(var(--border)); border-radius:1.75rem; background:hsl(var(--card)/.72); }
.public-builder-split img { width:100%; aspect-ratio:16/10; -o-object-fit:cover; object-fit:cover; border-radius:1.25rem; border:1px solid hsl(var(--border)); box-shadow:0 20px 55px hsl(var(--shadow-color)/.08); }
.public-builder-image img { width:100%; max-height:38rem; -o-object-fit:cover; object-fit:cover; border-radius:1.5rem; border:1px solid hsl(var(--border)); }
.public-builder-image p { margin-top:.6rem; text-align:center; color:hsl(var(--muted-foreground)); font-size:.85rem; }
.public-builder-cta { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:clamp(1.5rem,4vw,2.5rem); border-radius:1.5rem; color:#fff; background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent)) 55%,hsl(var(--cyan))); box-shadow:0 22px 65px hsl(var(--primary)/.2); }
.public-builder-cta h2 { margin-top:0; }
.public-builder-cta p { color:#fff; opacity:.9; max-width:45rem; }
.public-builder-cta a { flex:none; color:hsl(var(--foreground)); background:#fff; }

/* Drag/drop visual builder inside Admin. */
.visual-builder-shell { position:fixed; inset:0; z-index:200; display:flex; flex-direction:column; background:hsl(var(--background)); }
.visual-builder-toolbar { min-height:4.5rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.75rem 1rem; border-bottom:1px solid hsl(var(--border)); background:hsl(var(--card)/.96); backdrop-filter:blur(18px); }
.visual-builder-toolbar > div:first-child { min-width:0; }
.visual-builder-toolbar strong { display:block; font-size:1rem; }
.visual-builder-toolbar span { display:block; margin-top:.2rem; color:hsl(var(--muted-foreground)); font-size:.72rem; }
.visual-builder-actions { display:flex; align-items:center; gap:.45rem; flex-wrap:wrap; justify-content:flex-end; }
.vb-device-buttons { display:flex; gap:.2rem; padding:.2rem; border:1px solid hsl(var(--border)); border-radius:.75rem; }
.vb-device-buttons button { border:0; background:transparent; border-radius:.55rem; padding:.45rem .6rem; font-size:.68rem; text-transform:capitalize; cursor:pointer; }
.vb-device-buttons button.active { background:hsl(var(--primary)/.1); color:hsl(var(--primary)); font-weight:700; }
.vb-primary,.vb-secondary { display:inline-flex; align-items:center; gap:.4rem; border-radius:.75rem; padding:.55rem .75rem; font-size:.72rem; font-weight:750; cursor:pointer; }
.vb-primary { border:1px solid hsl(var(--primary)); color:#fff; background:hsl(var(--primary)); }
.vb-secondary { border:1px solid hsl(var(--border)); background:hsl(var(--card)); color:hsl(var(--foreground)); }
.visual-builder-layout { min-height:0; flex:1; display:grid; grid-template-columns:220px minmax(0,1fr) 280px; }
.visual-builder-library,.visual-builder-inspector { min-width:0; overflow:auto; padding:1rem; background:hsl(var(--card)); }
.visual-builder-library { border-right:1px solid hsl(var(--border)); }
.visual-builder-inspector { border-left:1px solid hsl(var(--border)); }
.visual-builder-library h3,.visual-builder-inspector h3 { margin-bottom:.8rem; font-size:.78rem; font-weight:800; }
.vb-library-grid { display:grid; grid-template-columns:1fr 1fr; gap:.45rem; }
.vb-library-grid button { min-height:4.3rem; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.35rem; border:1px solid hsl(var(--border)); border-radius:.8rem; background:hsl(var(--background)); font-size:.65rem; cursor:pointer; }
.vb-library-grid button:hover { border-color:hsl(var(--primary)/.3); color:hsl(var(--primary)); background:hsl(var(--primary)/.04); }
.visual-builder-canvas { min-width:0; overflow:auto; padding:1.5rem; background:repeating-linear-gradient(45deg,hsl(var(--muted)/.3),hsl(var(--muted)/.3) 10px,hsl(var(--muted)/.18) 10px,hsl(var(--muted)/.18) 20px); }
.vb-page-preview { margin:0 auto; min-height:100%; padding:1rem; background:hsl(var(--background)); box-shadow:0 18px 70px hsl(var(--shadow-color)/.12); transition:max-width .2s; }
.preview-desktop .vb-page-preview { max-width:1100px; }.preview-tablet .vb-page-preview { max-width:760px; }.preview-mobile .vb-page-preview { max-width:390px; }
.vb-block { position:relative; margin:.5rem; border:1px solid transparent; border-radius:1rem; cursor:pointer; }
.vb-block:hover,.vb-block.selected { border-color:hsl(var(--primary)/.4); box-shadow:0 0 0 3px hsl(var(--primary)/.06); }
.vb-block-controls { position:absolute; top:.4rem; right:.4rem; z-index:4; display:none; align-items:center; gap:.2rem; padding:.25rem; border:1px solid hsl(var(--border)); border-radius:.65rem; background:hsl(var(--card)/.96); box-shadow:0 8px 25px hsl(var(--shadow-color)/.12); }
.vb-block:hover .vb-block-controls,.vb-block.selected .vb-block-controls { display:flex; }
.vb-block-controls span { padding:0 .3rem; font-size:.62rem; color:hsl(var(--muted-foreground)); text-transform:uppercase; }
.vb-block-controls button { display:grid; place-items:center; width:1.65rem;height:1.65rem;border:0;border-radius:.4rem;background:transparent;cursor:pointer; }
.vb-block-controls button:hover { background:hsl(var(--primary)/.08); color:hsl(var(--primary)); }
.vb-empty { min-height:420px; display:grid; place-content:center; place-items:center; text-align:center; color:hsl(var(--muted-foreground)); }
.vb-empty h3 { margin-top:.8rem; color:hsl(var(--foreground)); font-size:1rem; }
.vb-empty p { margin-top:.25rem; font-size:.8rem; }
.vb-preview-hero { padding:4rem 2rem; border-radius:1rem; background:linear-gradient(145deg,hsl(var(--primary)/.1),hsl(var(--card))); }
.vb-preview-hero > span,.vb-preview-heading > span,.vb-preview-split > div > span { font-size:.62rem; font-weight:800; letter-spacing:.12em; color:hsl(var(--primary)); }
.vb-preview-hero h2,.vb-preview-section h2,.vb-preview-split h2,.vb-preview-cta h2 { margin-top:.65rem; font-size:clamp(1.7rem,4vw,3.6rem); line-height:1.05; letter-spacing:-.04em; }
.vb-preview-hero p,.vb-preview-heading p,.vb-preview-split p,.vb-preview-cta p { margin-top:.75rem; color:hsl(var(--muted-foreground)); line-height:1.7; }
.vb-preview-buttons { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1rem; }.vb-preview-buttons a,.vb-preview-cta a { padding:.55rem .75rem; border-radius:.65rem; background:hsl(var(--primary)); color:#fff; text-decoration:none; font-size:.65rem; font-weight:700; }
.vb-preview-section { padding:2rem 1rem; }.vb-preview-heading { max-width:46rem; margin:0 auto 1rem; text-align:center; }.vb-preview-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; }.vb-preview-grid article { padding:1rem; border:1px solid hsl(var(--border)); border-radius:.8rem; background:hsl(var(--card)); }.vb-preview-grid article b { font-size:.78rem; }.vb-preview-grid article p { margin-top:.35rem; font-size:.65rem; color:hsl(var(--muted-foreground)); line-height:1.55; }
.vb-preview-split { display:grid; grid-template-columns:1fr 1fr; gap:1rem; align-items:center; padding:1rem; }.vb-preview-split img { width:100%; aspect-ratio:16/10; -o-object-fit:cover; object-fit:cover; border-radius:.8rem; }.vb-preview-image img { width:100%; max-height:25rem; -o-object-fit:cover; object-fit:cover; border-radius:.8rem; }.vb-preview-cta { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.2rem; border-radius:.8rem; color:#fff; background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent))); }.vb-preview-cta p { color:#fff; opacity:.88; }.vb-preview-cta a { color:hsl(var(--foreground)); background:#fff; }
.vb-editor-form { display:grid; gap:.8rem; }.vb-field { display:grid; gap:.35rem; }.vb-field > span { font-size:.68rem; font-weight:700; color:hsl(var(--muted-foreground)); }.vb-field .input { width:100%; min-height:2.5rem; }
.vb-items-editor { display:grid; gap:.6rem; }

@media (max-width:900px){
  .public-builder-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .visual-builder-layout { grid-template-columns:180px minmax(0,1fr); }
  .visual-builder-inspector { display:none; }
  .public-builder-split { grid-template-columns:1fr; }
}
@media (max-width:720px){
  .site-nav { width:min(100% - 1rem,94rem); min-height:62px; }
  .desktop-nav { display:none; }
  .mobile-menu-button { display:grid; }
  .header-actions { margin-left:auto; }
  .header-cta span { display:none; }
  .header-cta { width:2.35rem;height:2.35rem; justify-content:center; padding:0; }
  .language-trigger-text { display:none; }
  .public-builder-hero { min-height:unset; padding:2rem 1.25rem; border-radius:1.35rem; }
  .public-builder-hero h2 { font-size:clamp(2.35rem,12vw,3.7rem); }
  .public-builder-grid { grid-template-columns:1fr; }
  .public-builder-split { padding:1rem; border-radius:1.25rem; }
  .public-builder-cta { flex-direction:column; align-items:flex-start; border-radius:1.25rem; }
  .visual-builder-toolbar { align-items:flex-start; flex-direction:column; }
  .visual-builder-actions { width:100%; justify-content:flex-start; }
  .visual-builder-layout { grid-template-columns:1fr; }
  .visual-builder-library { display:none; }
  .visual-builder-canvas { padding:.5rem; }
}
@media (max-width:480px){
  .cms-page-hero > div,.cms-page,.pricing-hero,.pricing-plans,.footer-main,.footer-bottom { width:min(100% - 1rem,94rem); }
  .cms-page-hero h1 { font-size:clamp(2.2rem,12vw,3rem); }
  .cms-page { padding-top:2rem; padding-bottom:4rem; }
  .public-builder-buttons { flex-direction:column; align-items:stretch; }
  .public-builder-primary,.public-builder-secondary { justify-content:center; }
  .header-actions > .icon-button { display:none; }
  .header-cta { display:none; }
  .brand-word { font-size:1rem; }
  .brand-icon { width:2rem;height:2rem; }
}

/* V49 — SEO content hierarchy and responsive tool-page rhythm */
.tool-page-shell { padding-top: var(--page-air); padding-bottom: calc(var(--page-air) * 1.2); }
.tool-page-shell > .rounded-3xl { min-width: 0; }
.tool-page-shell section { scroll-margin-top: 6rem; }
.tool-page-shell .tool-card { min-height: 10rem; }
@media (max-width: 640px) {
  .tool-page-shell { padding-left: .75rem; padding-right: .75rem; }
  .tool-page-shell .rounded-3xl { border-radius: 1.25rem; }
}


/* Homepage featured/upcoming tool carousel */
.homepage-tool-promo{margin-top:12px;border:1px solid hsl(var(--border));border-radius:18px;background:linear-gradient(145deg,hsl(var(--card)/.96),hsl(var(--secondary)/.42));padding:12px;box-shadow:0 12px 35px hsl(var(--primary)/.07);overflow:hidden}
.homepage-tool-promo-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.homepage-tool-promo-head>div:first-child{display:flex;flex-direction:column;gap:2px}
.homepage-tool-promo-kicker{font-size:9px;font-weight:800;letter-spacing:.12em;color:hsl(var(--primary))}
.homepage-tool-promo-head b{font-size:12px;letter-spacing:-.01em}
.homepage-tool-promo-dots{display:flex;gap:4px;align-items:center}
.homepage-tool-promo-dots button{width:6px;height:6px;border:0;border-radius:999px;padding:0;background:hsl(var(--muted-foreground)/.28);cursor:pointer;transition:.2s}
.homepage-tool-promo-dots button.is-active{width:16px;background:hsl(var(--primary))}
.homepage-tool-promo-card{display:flex;align-items:center;gap:10px;border:1px solid hsl(var(--primary)/.18);border-radius:14px;background:hsl(var(--background)/.72);padding:10px;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s}
.homepage-tool-promo-card:hover{transform:translateY(-1px);border-color:hsl(var(--primary)/.4);box-shadow:0 8px 24px hsl(var(--primary)/.1)}
.homepage-tool-promo-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:11px;background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent)));color:white}
.homepage-tool-promo-copy{display:flex;min-width:0;flex:1;flex-direction:column;gap:1px}
.homepage-tool-promo-copy small,.homepage-tool-upcoming small{font-size:9px;font-weight:700;letter-spacing:.08em;color:hsl(var(--primary))}
.homepage-tool-promo-copy strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.homepage-tool-promo-copy em{font-size:9px;font-style:normal;color:hsl(var(--muted-foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.homepage-tool-promo-list{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:7px}
.homepage-tool-promo-list button{display:flex;align-items:center;justify-content:space-between;gap:5px;border:1px solid hsl(var(--border));border-radius:10px;background:transparent;padding:7px 8px;text-align:left;font-size:10px;color:hsl(var(--foreground));cursor:pointer}
.homepage-tool-promo-list button:hover{background:hsl(var(--secondary))}
.homepage-tool-upcoming{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px;border-radius:10px;background:hsl(var(--primary)/.07);padding:7px 9px;text-decoration:none}
.homepage-tool-upcoming span:first-child{display:flex;flex-direction:column;gap:1px;min-width:0}
.homepage-tool-upcoming b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.homepage-tool-upcoming-arrow{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:hsl(var(--primary));color:hsl(var(--primary-foreground))}
@media (max-width:640px){.homepage-tool-promo{padding:10px}.homepage-tool-promo-list{grid-template-columns:1fr}.homepage-tool-promo-card{padding:9px}}


/* V54.9.5 — sticky header, admin-toolbar offset, and responsive hardening. */
html, body, #root { min-width: 0; }
body { overflow-x: hidden; }
.app-shell { min-width: 0; }
.site-header { width: 100%; max-width: 100%; }
.site-nav, .mobile-panel-inner, .footer-main, .footer-bottom { min-width: 0; }
.desktop-nav, .header-actions { min-width: 0; }
.nav-link, .header-cta, .language-picker { flex: 0 0 auto; }
.header-search-popover { top: calc(var(--admin-bar-height,0px) + 72px) !important; }

/* Keep the public header visible while scrolling, including when an admin is logged in. */
.admin-frontend-bar + .site-header { top: var(--admin-bar-height,42px); }
@media (max-width: 720px) {
  .admin-frontend-bar + .site-header { top: var(--admin-bar-height,42px); }
}

/* Prevent long URLs, tables and tool controls from creating horizontal page overflow. */
main, main > *, .tool-page-shell, .blog-page, .blog-article, .cms-page, .pricing-page { min-width: 0; max-width: 100%; }
.blog-content, .cms-content { overflow-wrap: anywhere; word-break: normal; }
.blog-content table, .cms-content table { display: block; max-width: 100%; overflow-x: auto; }
img, svg, video, canvas { max-width: 100%; }
input, textarea, select, button { max-width: 100%; }

@media (max-width: 1024px) {
  .site-nav { width: min(100% - 1.25rem, 94rem); }
  .desktop-nav { gap: 0; }
  .nav-link { padding-inline: .55rem; font-size: .8rem; }
  .header-actions { gap: .25rem; }
  .language-trigger { min-height: 2.3rem; }
}

@media (max-width: 720px) {
  .site-nav { width: min(100% - 1rem, 94rem); min-height: 62px; }
  .desktop-nav { display: none !important; }
  .mobile-menu-button { display: grid !important; }
  .mobile-panel { max-height: calc(100vh - var(--admin-bar-height,0px) - 62px); overflow-y: auto; overscroll-behavior: contain; }
  .mobile-panel-inner { width: min(100% - 1rem, 94rem); }
  .header-actions > .language-picker { display: none; }
  .header-actions > .header-cta { display: none; }
  .header-actions { margin-left: auto; }
  .home-hero-inner { width: min(100% - 1rem, 58rem); padding-top: 5rem; }
  .hero-title { font-size: clamp(2.6rem, 12vw, 4.4rem); }
  .hero-subtitle { font-size: .95rem; }
  .tool-page-shell { padding-top: 2rem; }
  .site-footer { margin-top: 4rem; }
}

@media (max-width: 480px) {
  .site-nav { width: calc(100% - 1rem); }
  .brand-mark { gap: .45rem; }
  .brand-word { font-size: 1rem; }
  .brand-icon { width: 2rem; height: 2rem; border-radius: .65rem; }
  .mobile-panel-inner { width: calc(100% - 1rem); padding-top: .7rem; }
  .mobile-main-link { min-height: 2.9rem; }
  .admin-frontend-inner { min-height: 42px; }
  .admin-frontend-links { overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 1px; }
  .admin-frontend-links a, .admin-frontend-signout { padding: 7px 8px; }
  .hero-search { margin-top: 1.25rem; }
  .hero-trust { gap: .55rem .8rem; }
  .footer-main { width: calc(100% - 1rem); }
  .footer-bottom { width: calc(100% - 1rem); flex-direction: column; align-items: flex-start; gap: .35rem; }
}

/* V54.9.6 — guaranteed persistent public header.
   Use fixed positioning instead of relying on CSS sticky, which can be
   suppressed by browser scroll-container behavior (especially with
   overflow handling on html/body). The layout reserves the exact header
   space so content does not jump or hide underneath it. */
.admin-frontend-bar {
  position: fixed !important;
  inset: 0 0 auto 0;
  width: 100%;
  z-index: 500;
}
.site-header {
  position: fixed !important;
  inset: var(--admin-bar-height, 0px) 0 auto 0;
  width: 100%;
  max-width: 100%;
  z-index: 490;
}
.app-shell > main {
  padding-top: calc(72px + var(--admin-bar-height, 0px));
}
@media (max-width: 720px) {
  .app-shell > main {
    padding-top: calc(62px + var(--admin-bar-height, 0px));
  }
}
/* BMITool standalone interface */
.bmi-hero{padding:4rem 0 3rem;background:radial-gradient(circle at top right,rgba(99,102,241,.16),transparent 38%)}
.bmi-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);gap:3rem;align-items:center}.hero-pill,.bmi-eyebrow{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.12em;color:hsl(var(--primary));margin-bottom:1rem}.bmi-hero h1{font-size:clamp(2.6rem,6vw,5rem);line-height:1.02;margin:0 0 1rem}.bmi-hero p{font-size:1.1rem;line-height:1.75;color:hsl(var(--muted-foreground));max-width:650px}.hero-button,.bmi-primary{display:inline-flex;align-items:center;justify-content:center;border-radius:14px;padding:.85rem 1.25rem;background:hsl(var(--primary));color:hsl(var(--primary-foreground));font-weight:700;margin-top:1rem}.hero-disclaimer{font-size:.82rem!important;margin-top:.5rem}.bmi-calculator-card{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:24px;padding:1.5rem;box-shadow:0 25px 60px rgba(0,0,0,.08)}.bmi-calculator-heading{display:flex;justify-content:space-between;gap:1rem}.bmi-calculator-heading h2{margin:.15rem 0;font-size:1.8rem}.bmi-calculator-heading p{font-size:.9rem;margin:0;color:hsl(var(--muted-foreground))}.bmi-tabs{display:flex;gap:.5rem;margin:1.25rem 0}.bmi-tabs button{padding:.6rem 1rem;border-radius:10px;background:hsl(var(--secondary));font-weight:700}.bmi-tabs .active{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.bmi-input-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.bmi-input-grid label{font-size:.85rem;font-weight:700}.bmi-input-grid input{display:block;width:100%;margin-top:.4rem;border:1px solid hsl(var(--border));border-radius:10px;padding:.75rem;background:transparent}.optional{font-weight:400;color:hsl(var(--muted-foreground))}.bmi-actions{display:flex;gap:.75rem;align-items:center;margin-top:1.2rem}.bmi-primary{border:0;margin:0}.bmi-secondary,.bmi-copy{display:inline-flex;gap:.45rem;align-items:center;padding:.75rem 1rem;border:1px solid hsl(var(--border));border-radius:12px}.bmi-secondary svg,.bmi-copy svg{width:16px}.bmi-error{color:#dc2626;margin-top:.8rem}.bmi-result{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid hsl(var(--border));display:grid;grid-template-columns:150px 1fr;gap:1.25rem}.bmi-score{border-radius:18px;background:hsl(var(--secondary));padding:1rem;text-align:center}.bmi-score span{display:block;color:hsl(var(--muted-foreground));font-size:.8rem}.bmi-score strong{display:block;font-size:2.6rem}.bmi-score b{font-size:.8rem}.bmi-scale{height:10px;border-radius:99px;background:linear-gradient(90deg,#f59e0b 0 20%,#22c55e 20% 50%,#f59e0b 50% 75%,#ef4444 75%);position:relative;margin-top:1rem}.bmi-marker{position:absolute;top:-8px;transform:translateX(-50%)}.bmi-marker i{display:block;width:5px;height:26px;background:#111;border-radius:5px}.bmi-scale-labels{display:flex;justify-content:space-between;font-size:.67rem;color:hsl(var(--muted-foreground));margin-top:.35rem}.bmi-note{font-size:.82rem;color:hsl(var(--muted-foreground))}.bmi-content{max-width:900px;padding-top:2rem;padding-bottom:4rem}.bmi-content h2{margin-top:2.5rem;font-size:1.8rem}.bmi-content p{line-height:1.8;color:hsl(var(--muted-foreground))}.bmi-category-table{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.bmi-category-table div{border:1px solid hsl(var(--border));border-radius:14px;padding:1rem}.bmi-category-table b,.bmi-category-table span{display:block}.bmi-category-table span{font-size:.85rem;color:hsl(var(--muted-foreground));margin-top:.3rem}.bmi-faq article{border-bottom:1px solid hsl(var(--border));padding:1rem 0}.bmi-faq h3{margin:0}.bmi-blog-preview{margin-top:3rem}.bmi-post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.bmi-post-grid a{display:block;border:1px solid hsl(var(--border));border-radius:16px;padding:1rem}.footer-simple{display:flex;justify-content:space-between;gap:2rem;padding:3rem 1.25rem}.footer-simple p{color:hsl(var(--muted-foreground));max-width:430px}.footer-links{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;align-content:flex-start}.mobile-menu{display:none}.mobile-nav{padding:1rem;display:grid;gap:.8rem;border-top:1px solid hsl(var(--border));background:hsl(var(--background))}.desktop-nav{display:flex;gap:1.2rem}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1rem;padding-bottom:1rem}.nav-actions{display:flex;align-items:center;gap:.5rem}
@media(max-width:900px){.bmi-hero-grid{grid-template-columns:1fr}.desktop-nav{display:none}.mobile-menu{display:inline-flex}.bmi-category-table,.bmi-post-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.bmi-hero{padding-top:2.5rem}.bmi-input-grid,.bmi-result,.bmi-category-table,.bmi-post-grid{grid-template-columns:1fr}.bmi-scale-labels{font-size:.55rem}.footer-simple{flex-direction:column}.bmi-actions{flex-wrap:wrap}}

/* BMITool V1.2 advanced calculator */
.bmi-calculator-full{max-width:1180px}.bmi-hero{padding:2.25rem 0 3.5rem}.bmi-hero-grid{display:block}.bmi-advanced-card{width:100%;padding:clamp(1.25rem,3vw,2.25rem);border-radius:28px}.bmi-advanced-heading{align-items:flex-start}.bmi-advanced-heading h1{font-size:clamp(2rem,4vw,3.25rem);line-height:1.1;margin:.2rem 0 .75rem}.bmi-advanced-heading p{max-width:760px;font-size:1rem}.bmi-heading-icon{width:54px;height:54px;border-radius:16px;background:hsl(var(--secondary));display:grid;place-items:center;color:hsl(var(--primary));flex:none}.bmi-heading-icon svg{width:25px;height:25px}.bmi-tabs button{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;min-width:128px}.bmi-tabs button small{font-size:.68rem;opacity:.72;font-weight:600}.bmi-form-section{padding:1.15rem;border:1px solid hsl(var(--border));border-radius:18px;background:rgba(127,127,127,.035)}.bmi-section-title{display:flex;align-items:center;gap:.55rem;font-weight:800;margin-bottom:1rem}.bmi-section-title svg{width:18px;color:hsl(var(--primary))}.bmi-input-grid-advanced{grid-template-columns:repeat(3,minmax(0,1fr))}.bmi-input-grid-advanced label{display:block}.bmi-input-grid-advanced label>span{font-weight:500;color:hsl(var(--muted-foreground));margin-left:.25rem}.bmi-input-grid-advanced label>em{font-size:.7rem;font-style:normal;font-weight:500;color:hsl(var(--muted-foreground));margin-left:.35rem}.bmi-input-grid select{display:block;width:100%;margin-top:.4rem;border:1px solid hsl(var(--border));border-radius:10px;padding:.75rem;background:hsl(var(--background));min-height:46px}.bmi-advanced-options{margin-top:1rem;border:1px solid hsl(var(--border));border-radius:16px;padding:.9rem 1rem}.bmi-advanced-options summary{cursor:pointer;font-weight:800;display:flex;align-items:center;gap:.55rem}.bmi-advanced-options summary svg{width:18px;color:hsl(var(--primary))}.bmi-extra-grid{margin-top:1rem}.bmi-primary svg{width:18px;height:18px;margin-right:.45rem}.bmi-full-report{display:block}.bmi-result-top{display:grid;grid-template-columns:180px 1fr;gap:1rem;align-items:stretch}.bmi-summary{border:1px solid hsl(var(--border));border-radius:18px;padding:1.15rem}.bmi-summary h2{margin:0 0 .35rem;font-size:1.35rem}.bmi-summary p{margin:0;color:hsl(var(--muted-foreground));line-height:1.6}.bmi-mini-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:1rem}.bmi-mini-stats span{font-size:.8rem;border-top:1px solid hsl(var(--border));padding-top:.7rem;color:hsl(var(--muted-foreground))}.bmi-mini-stats b{display:block;color:hsl(var(--foreground));font-size:.95rem;margin-bottom:.15rem}.bmi-scale-wrap{margin:2rem 0 1.25rem;padding:0 .25rem}.bmi-scale{height:14px}.bmi-marker{top:-15px}.bmi-marker i{height:40px}.bmi-marker strong{position:absolute;top:-27px;left:50%;transform:translateX(-50%);font-size:.72rem;white-space:nowrap;background:hsl(var(--foreground));color:hsl(var(--background));padding:.2rem .4rem;border-radius:6px}.bmi-scale-labels{font-size:.7rem;line-height:1.35}.bmi-report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}.bmi-report-grid article{border:1px solid hsl(var(--border));border-radius:16px;padding:1rem}.bmi-report-grid article>svg{width:19px;height:19px;color:hsl(var(--primary))}.bmi-report-grid h3{font-size:1rem;margin:.55rem 0 .35rem}.bmi-report-grid p{font-size:.86rem;line-height:1.6;color:hsl(var(--muted-foreground));margin:0}.bmi-report-grid strong{font-size:1.25rem;display:block;margin:.3rem 0}.bmi-optional-results{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid hsl(var(--border))}.bmi-optional-results h2{font-size:1.2rem;margin:0}.bmi-warning{display:flex;gap:.55rem;align-items:flex-start;margin:1rem 0;padding:.9rem 1rem;border:1px solid #f59e0b66;border-radius:14px;line-height:1.55;font-size:.86rem}.bmi-warning svg{width:18px;flex:none;margin-top:.1rem}.bmi-result-footer{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-top:1rem}.bmi-result-footer .bmi-note{margin:0;max-width:780px}.bmi-error{padding:.8rem 1rem;border-radius:12px;background:#fee2e2}.bmi-content{max-width:1000px}
@media(max-width:900px){.bmi-input-grid-advanced{grid-template-columns:repeat(2,1fr)}.bmi-report-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.bmi-hero{padding:1rem 0 2rem}.bmi-advanced-card{border-radius:20px}.bmi-advanced-heading{display:block}.bmi-heading-icon{display:none}.bmi-input-grid-advanced,.bmi-report-grid,.bmi-result-top,.bmi-mini-stats{grid-template-columns:1fr}.bmi-tabs button{min-width:0;flex:1}.bmi-result-footer{flex-direction:column;align-items:stretch}.bmi-copy{justify-content:center}.bmi-actions{flex-direction:column;align-items:stretch}.bmi-actions button{justify-content:center}.bmi-scale-labels{font-size:.58rem}.bmi-advanced-options{padding:.85rem}.bmi-form-section{padding:.9rem}}

/* =========================================================
   BMITOOL V1.3 — Dedicated product experience
   ========================================================= */
:root{
  --bmi-ink:#172033;
  --bmi-muted:#64748b;
  --bmi-teal-legacy:#0f766e;
  --bmi-blue:#2563eb;
  --bmi-mint:#0f766e;
}
body{background:#f6f8fc;background-image:radial-gradient(circle at 12% 0%,rgba(99,91,255,.12),transparent 28rem),radial-gradient(circle at 92% 12%,rgba(37,99,235,.08),transparent 30rem)}
.site-header{background:rgba(255,255,255,.88)!important;border-bottom:1px solid rgba(148,163,184,.22)!important;box-shadow:0 6px 24px rgba(15,23,42,.035)}
.nav-wrap{min-height:74px;padding-top:.7rem!important;padding-bottom:.7rem!important}
.brand-icon{width:2.5rem;height:2.5rem;border-radius:.9rem;background:linear-gradient(135deg,#0f766e,#159588);box-shadow:0 12px 30px rgba(99,91,255,.22)}
.brand-word{font-size:1.22rem}.brand-word span{color:#0f766e}
.desktop-nav{gap:.35rem}.desktop-nav a{position:relative;padding:.62rem .82rem;border-radius:.75rem;font-weight:600;color:#475569;transition:.2s}.desktop-nav a:hover{color:#172033;background:#f1f3f9}.desktop-nav a.active{color:#0f766e;background:#e8f7f4}
.nav-actions{gap:.65rem}

/* Equal breathing room above and below the dedicated calculator. */
.bmi-hero{padding:3.75rem 0!important;background:transparent!important}
.bmi-calculator-full{max-width:1240px!important}
.bmi-advanced-card{position:relative;overflow:hidden;border:1px solid rgba(148,163,184,.24)!important;border-radius:32px!important;padding:clamp(1.35rem,3vw,2.5rem)!important;background:rgba(255,255,255,.94)!important;box-shadow:0 30px 90px rgba(15,23,42,.10)!important}
.bmi-advanced-card:before{content:"";position:absolute;width:26rem;height:26rem;right:-12rem;top:-16rem;border-radius:50%;background:radial-gradient(circle,rgba(99,91,255,.13),transparent 68%);pointer-events:none}
.bmi-advanced-card:after{content:"";position:absolute;width:18rem;height:18rem;left:-12rem;bottom:-15rem;border-radius:50%;background:radial-gradient(circle,rgba(14,165,233,.08),transparent 70%);pointer-events:none}
.bmi-advanced-card>*{position:relative;z-index:1}
.bmi-advanced-heading{padding-bottom:1.5rem;border-bottom:1px solid rgba(148,163,184,.16)}
.bmi-heading-copy{max-width:850px}.bmi-eyebrow{color:#0f766e!important;background:#e8f7f4;border:1px solid #bfe5de;border-radius:999px;padding:.42rem .7rem;margin-bottom:.9rem!important;letter-spacing:.1em}
.bmi-advanced-heading h1{font-size:clamp(2.15rem,4.2vw,4rem)!important;line-height:1.03!important;letter-spacing:-.055em!important;color:#172033}
.bmi-advanced-heading p{font-size:1.02rem!important;line-height:1.7!important;color:#64748b!important}
.bmi-trust-row{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem}.bmi-trust-row span{display:inline-flex;align-items:center;gap:.38rem;padding:.48rem .65rem;border-radius:999px;background:#f8fafc;border:1px solid #e7ebf2;color:#475569;font-size:.78rem;font-weight:700}.bmi-trust-row svg{width:15px;color:#0f766e}
.bmi-heading-icon{width:78px!important;height:78px!important;display:flex!important;flex-direction:column;gap:.3rem;border-radius:22px!important;background:linear-gradient(145deg,#eaf7f4,#f7fbfa)!important;border:1px solid #c9e7e0;box-shadow:0 16px 35px rgba(99,91,255,.09)}.bmi-heading-icon span{font-size:.68rem;font-weight:800;color:#0f766e;text-transform:uppercase;letter-spacing:.08em}.bmi-heading-icon svg{width:28px!important;height:28px!important}

/* Modern, product-style unit selector instead of basic buttons. */
.bmi-unit-picker{display:grid;grid-template-columns:220px 1fr;gap:1.25rem;align-items:center;margin:1.35rem 0 1.15rem;padding:1rem 1.1rem;border-radius:20px;background:linear-gradient(135deg,#fafbff,#f4f6ff);border:1px solid #e8ecf5}
.bmi-unit-picker-copy strong{display:block;color:#172033;font-size:.92rem}.bmi-unit-picker-copy span{display:block;margin-top:.18rem;color:#64748b;font-size:.78rem}
.bmi-tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem!important;margin:0!important}.bmi-tabs button{min-width:0!important;width:100%;display:flex!important;flex-direction:row!important;align-items:center!important;text-align:left!important;gap:.7rem!important;padding:.78rem .9rem!important;border-radius:16px!important;border:1px solid #e2e8f0!important;background:#fff!important;color:#475569!important;box-shadow:0 3px 12px rgba(15,23,42,.025);transition:transform .2s,box-shadow .2s,border-color .2s,background .2s!important}.bmi-tabs button:hover{transform:translateY(-1px);border-color:#8bcfc4!important;box-shadow:0 10px 24px rgba(15,23,42,.06)}.bmi-tabs button.active{background:linear-gradient(135deg,#0f766e,#0b625c)!important;border-color:#0f766e!important;color:#fff!important;box-shadow:0 14px 28px rgba(99,91,255,.24)!important}.bmi-tabs button>span:nth-child(2){display:flex;flex-direction:column;gap:.08rem}.bmi-tabs button b{font-size:.9rem}.bmi-tabs button small{font-size:.68rem!important;opacity:.75}.bmi-tabs button>svg{margin-left:auto;width:17px}.bmi-tab-icon{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:11px;background:#e9f7f4;color:#0f766e;font-size:.72rem;font-weight:900}.bmi-tabs button.active .bmi-tab-icon{background:rgba(255,255,255,.16);color:#fff}

.bmi-form-section{border-color:#e5eaf2!important;border-radius:22px!important;background:linear-gradient(180deg,#fff,#fbfcff)!important;padding:1.3rem!important;box-shadow:0 8px 24px rgba(15,23,42,.025)}
.bmi-section-title{color:#172033!important}.bmi-input-grid label{color:#334155!important}.bmi-input-grid input,.bmi-input-grid select{border-color:#dbe2ec!important;border-radius:13px!important;background:#fff!important;min-height:50px;padding:.8rem .9rem!important;box-shadow:0 2px 8px rgba(15,23,42,.015);transition:border-color .2s,box-shadow .2s}.bmi-input-grid input:focus,.bmi-input-grid select:focus{outline:none;border-color:#8b86ff!important;box-shadow:0 0 0 4px rgba(99,91,255,.10)!important}
.bmi-advanced-options{border-color:#e5eaf2!important;border-radius:18px!important;background:#fff!important;padding:1rem 1.15rem!important}.bmi-advanced-options summary{color:#334155}.bmi-actions{margin-top:1.25rem!important;padding-top:.2rem}.bmi-primary{border-radius:14px!important;padding:.92rem 1.25rem!important;background:linear-gradient(135deg,#0f766e,#0b625c)!important;box-shadow:0 14px 28px rgba(99,91,255,.22);transition:transform .2s,box-shadow .2s}.bmi-primary:hover{transform:translateY(-1px);box-shadow:0 18px 34px rgba(99,91,255,.28)}.bmi-secondary{border-radius:14px!important;background:#fff;color:#475569;border-color:#dbe2ec!important}.bmi-secondary:hover{background:#f8fafc}
.bmi-content{max-width:1050px!important}.bmi-content h2{color:#172033}.bmi-category-table div,.bmi-faq article,.bmi-post-grid a{background:#fff;border-color:#e5eaf2!important;box-shadow:0 8px 20px rgba(15,23,42,.025)}

@media(max-width:900px){.bmi-hero{padding:2.75rem 0!important}.bmi-unit-picker{grid-template-columns:1fr}.bmi-heading-icon{display:none!important}}
@media(max-width:650px){.bmi-hero{padding:2rem 0!important}.bmi-advanced-card{border-radius:24px!important}.bmi-unit-picker{padding:.9rem;border-radius:17px}.bmi-tabs{grid-template-columns:1fr!important}.bmi-trust-row{display:none}.bmi-advanced-heading{padding-bottom:1.1rem}.bmi-advanced-heading h1{font-size:2.15rem!important}}

/* BMITOOL V1.4 HOMEPAGE CONTENT REBUILD */
.bmi-home-content{background:linear-gradient(180deg,#f8fafc 0%,#ffffff 38%,#f8fafc 100%)}
.bmi-info-section{padding:5.5rem 0}
.bmi-info-section+.bmi-info-section{border-top:1px solid #e8edf5}
.bmi-info-grid{max-width:1180px!important;display:grid;grid-template-columns:1.15fr .85fr;gap:2.5rem;align-items:stretch}
.bmi-section-eyebrow{display:inline-block;font-size:.72rem;letter-spacing:.14em;font-weight:800;color:#5b55d6;margin-bottom:.75rem}
.bmi-info-section h2{margin:0 0 1rem;color:#172033;font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.15;letter-spacing:-.02em}
.bmi-info-section p{margin:0;color:#5d6b7e;font-size:1rem;line-height:1.8;max-width:760px}
.bmi-info-intro{background:#fff}
.bmi-formula-card{border:1px solid #e3e8f1;border-radius:24px;padding:2rem;background:linear-gradient(135deg,#f5f4ff,#fff);box-shadow:0 18px 45px rgba(65,58,150,.08)}
.bmi-formula-card span{display:block;color:#5b55d6;font-size:.72rem;font-weight:800;letter-spacing:.12em;margin-bottom:.8rem}.bmi-formula-card strong{display:block;color:#172033;font-size:1.25rem;margin-bottom:.8rem}
.bmi-category-section{background:#f8fafc}.bmi-section-heading{max-width:1180px!important;display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin:0 auto 2rem}.bmi-section-heading p{max-width:420px}.bmi-section-heading h2{margin-bottom:0}
.bmi-category-table{grid-template-columns:repeat(4,1fr);gap:1rem;max-width:1180px;margin:0 auto}.bmi-category-table div{padding:1.35rem 1.2rem!important;border-radius:20px!important;background:#fff!important;border:1px solid #e3e9f2!important;box-shadow:0 12px 30px rgba(15,23,42,.045)!important;transition:transform .2s ease,box-shadow .2s ease}.bmi-category-table div:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(15,23,42,.08)!important}.bmi-category-table b{font-size:1.15rem;color:#172033}.bmi-category-table span{margin-top:.5rem!important}
.bmi-context-section{background:#fff}.bmi-context-grid{max-width:1180px!important;display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.bmi-context-grid article{padding:2rem;border:1px solid #e6ebf3;border-radius:24px;background:#fff}.bmi-context-grid article:last-child{background:#f6f5ff;border-color:#e5e1ff}.bmi-context-grid h2{font-size:1.55rem}
.bmi-faq-section{background:#f8fafc}.bmi-faq-shell{max-width:980px!important}.bmi-faq-heading{text-align:center;margin:0 auto 2rem}.bmi-faq-heading p{margin:0 auto}.bmi-faq{display:grid;gap:.85rem}.bmi-faq details{background:#fff;border:1px solid #e2e8f0;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(15,23,42,.035)}.bmi-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.35rem;color:#172033;font-weight:750}.bmi-faq summary::-webkit-details-marker{display:none}.bmi-faq summary i{font-style:normal;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e8f7f4;color:#5b55d6;font-size:1.25rem;transition:transform .2s ease}.bmi-faq details[open] summary i{transform:rotate(45deg)}.bmi-faq-answer{padding:0 1.35rem 1.25rem;border-top:1px solid #edf1f5}.bmi-faq-answer p{padding-top:1rem;max-width:none}
.bmi-blog-section{background:#fff}.bmi-text-link{color:#5b55d6;font-weight:750}.bmi-post-grid{max-width:1180px;margin:0 auto;gap:1.25rem}.bmi-post-grid a{padding:1.5rem!important;border-radius:22px!important;background:#fff!important;transition:transform .2s ease,box-shadow .2s ease}.bmi-post-grid a:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(15,23,42,.08)!important}.bmi-post-grid h3{font-size:1.15rem;color:#172033;margin:.55rem 0 .7rem}.bmi-post-grid strong{display:block;margin-top:1rem;color:#5b55d6}.bmi-post-label{font-size:.68rem;font-weight:800;letter-spacing:.1em;color:#5b55d6}
@media(max-width:800px){.bmi-info-section{padding:3.75rem 0}.bmi-info-grid,.bmi-context-grid{grid-template-columns:1fr}.bmi-section-heading{display:block}.bmi-section-heading p{margin-top:.75rem}.bmi-category-table{grid-template-columns:repeat(2,1fr)}.bmi-faq-heading{text-align:left}.bmi-faq-heading p{margin-left:0}}
@media(max-width:520px){.bmi-info-section{padding:3rem 0}.bmi-category-table{grid-template-columns:1fr}.bmi-context-grid article,.bmi-formula-card{padding:1.35rem;border-radius:18px}.bmi-faq summary{padding:1rem}.bmi-faq-answer{padding:0 1rem 1rem}.bmi-faq-answer p{padding-top:.85rem}}

/* =====================================================
   BMITOOL.SITE V1.5 — DEDICATED HEALTH / EDUCATION UI
   Independent visual system: calm, clear, low-clutter.
   ===================================================== */
:root{--bmi-ink:#13233a;--bmi-muted:#5d6c7e;--bmi-teal:#0f766e;--bmi-teal-2:#14b8a6;--bmi-mint:#e6fffa;--bmi-surface:#f5f8f8;--bmi-line:#dbe7e5;}
body{background:#f7faf9;color:var(--bmi-ink);}
.site-page-shell{width:min(1180px,calc(100% - 2rem));margin-inline:auto;}
.site-header{position:sticky;top:0;z-index:60;background:rgba(247,250,249,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(19,35,58,.08)}
.nav-wrap{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand-mark{display:inline-flex;align-items:center;gap:.65rem;color:var(--bmi-ink);text-decoration:none}.brand-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;color:white;background:linear-gradient(145deg,#0f766e,#14b8a6);box-shadow:0 12px 30px rgba(15,118,110,.22)}.brand-icon svg{width:20px;height:20px}.brand-word{font-family:"Space Grotesk",sans-serif;font-size:1.08rem;font-weight:800;letter-spacing:-.04em}.brand-word>span{color:var(--bmi-teal)}.brand-word small{font-size:.68rem;margin-left:2px;color:#7b8a99;font-weight:700}.desktop-nav{display:flex;align-items:center;gap:.35rem}.desktop-nav a{padding:.62rem .9rem;border-radius:999px;color:#425166;font-size:.94rem;font-weight:650;text-decoration:none;transition:.2s}.desktop-nav a:hover,.desktop-nav a.active{color:var(--bmi-teal);background:#e9f7f4}.nav-actions{display:flex;align-items:center;gap:.5rem}.mobile-menu{display:none;border:0;background:#eaf3f1;border-radius:12px;width:42px;height:42px;place-items:center;color:var(--bmi-ink)}.mobile-nav{padding:0 1rem 1rem;display:flex;flex-direction:column;gap:.35rem;background:#f7faf9}.mobile-nav a{padding:.85rem 1rem;border-radius:12px;text-decoration:none;color:var(--bmi-ink)}.mobile-nav a:hover{background:#e9f7f4;color:var(--bmi-teal)}
.bmi-hero{padding:4.8rem 0 3.8rem;background:radial-gradient(800px 360px at 10% 0%,rgba(20,184,166,.14),transparent 70%),radial-gradient(700px 400px at 100% 10%,rgba(15,118,110,.1),transparent 72%),#f7faf9}.bmi-home-intro{max-width:760px;margin:0 auto 2.1rem;text-align:center}.bmi-home-intro>span{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .8rem;border:1px solid #bfe8e1;background:#ecfbf8;color:#0f766e;border-radius:999px;font-size:.72rem;letter-spacing:.14em;font-weight:800}.bmi-home-intro>span svg{width:15px;height:15px}.bmi-home-intro h1{font-size:clamp(2.3rem,5vw,4.5rem);line-height:1.02;margin:1rem 0 .9rem;letter-spacing:-.055em}.bmi-home-intro h1 em{font-style:normal;color:var(--bmi-teal)}.bmi-home-intro p{font-size:1.08rem;line-height:1.75;color:var(--bmi-muted);max-width:690px;margin:auto}.bmi-calculator-full{max-width:none}.bmi-trust-row{display:flex;justify-content:center;flex-wrap:wrap;gap:.7rem 1.5rem;margin-top:1.25rem;color:#58706e;font-size:.82rem;font-weight:650}.bmi-trust-row span{display:inline-flex;align-items:center;gap:.35rem}.bmi-trust-row svg{width:15px;color:var(--bmi-teal)}
/* Calculator refinement */
.bmi-calculator{border:1px solid var(--bmi-line)!important;border-radius:28px!important;background:white!important;box-shadow:0 25px 65px rgba(19,35,58,.09)!important}.bmi-calculator h2{color:var(--bmi-ink)!important}.bmi-unit-card,.bmi-unit-switch button{border-radius:16px!important}.bmi-unit-switch{gap:.75rem!important}.bmi-unit-switch button{min-height:70px!important}.bmi-unit-switch button[aria-pressed="true"],.bmi-unit-switch button.active{background:linear-gradient(145deg,#0f766e,#14b8a6)!important;color:#fff!important}.bmi-primary-button{background:linear-gradient(145deg,#0f766e,#14b8a6)!important;border-radius:14px!important;box-shadow:0 12px 24px rgba(15,118,110,.18)!important}.bmi-primary-button:hover{transform:translateY(-1px);box-shadow:0 16px 30px rgba(15,118,110,.25)!important}.bmi-outline-button{border-radius:14px!important;border-color:#b7d9d4!important;color:#0f766e!important}
.bmi-home-content{background:#fff}.bmi-info-section{padding:5.5rem 0}.bmi-info-section:nth-child(even){background:#f4f8f7}.bmi-info-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:stretch}.bmi-section-eyebrow{display:inline-block;color:#0f766e;font-size:.72rem;font-weight:850;letter-spacing:.14em;margin-bottom:.75rem}.bmi-info-section h2{font-size:clamp(1.8rem,3vw,2.75rem);margin:0 0 .8rem;color:var(--bmi-ink)}.bmi-info-section p{color:var(--bmi-muted);line-height:1.75}.bmi-formula-card{padding:2rem;border-radius:24px;background:linear-gradient(145deg,#103b3a,#0f766e);color:white;box-shadow:0 22px 45px rgba(15,118,110,.18)}.bmi-formula-card>svg{width:30px;height:30px;margin-bottom:1rem;color:#7df2df}.bmi-formula-card span{display:block;font-size:.7rem;font-weight:800;letter-spacing:.13em;color:#a8e6da}.bmi-formula-card strong{display:block;font-family:"Space Grotesk",sans-serif;font-size:1.55rem;line-height:1.25;margin:.8rem 0}.bmi-formula-card p{color:#d8f4ef}.bmi-check-list{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:.85rem}.bmi-check-list li{display:flex;align-items:center;gap:.7rem;color:#405165;font-weight:650}.bmi-check-list svg{color:#0f766e;width:19px}.bmi-section-heading{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:2rem}.bmi-section-heading>p{max-width:440px;margin:0}.bmi-category-table{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.bmi-category-table>div{padding:1.5rem;border:1px solid var(--bmi-line);border-radius:20px;background:#fff;transition:.2s}.bmi-category-table>div:hover{transform:translateY(-3px);box-shadow:0 16px 35px rgba(19,35,58,.08)}.bmi-category-table b{display:block;color:#0f766e;font-size:1.15rem;margin-bottom:.35rem}.bmi-category-table span{color:#5d6c7e}.bmi-context-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}.bmi-context-grid article{padding:2rem;border-radius:24px;background:#fff;border:1px solid var(--bmi-line)}.bmi-context-grid article a{display:inline-flex;align-items:center;gap:.45rem;margin-top:.8rem;color:#0f766e;font-weight:750;text-decoration:none}.bmi-context-grid article a svg{width:17px}.bmi-faq-shell{max-width:900px}.bmi-faq-heading{text-align:center;max-width:650px;margin:0 auto 2rem}.bmi-faq-heading p{margin:0}.bmi-faq{display:grid;gap:.8rem}.bmi-faq details{background:#fff;border:1px solid var(--bmi-line);border-radius:18px;overflow:hidden}.bmi-faq summary{list-style:none;cursor:pointer;padding:1.2rem 1.35rem;display:flex;justify-content:space-between;align-items:center;font-weight:750;color:var(--bmi-ink)}.bmi-faq summary::-webkit-details-marker{display:none}.bmi-faq summary i{font-style:normal;color:#0f766e;font-size:1.4rem}.bmi-faq details[open] summary i{transform:rotate(45deg)}.bmi-faq-answer{padding:0 1.35rem 1.25rem;border-top:1px solid #edf2f1}.bmi-faq-answer p{margin:.9rem 0 0}.bmi-text-link{display:inline-flex;align-items:center;gap:.45rem;color:#0f766e;font-weight:750;text-decoration:none}.bmi-text-link svg{width:17px}.bmi-post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.bmi-post-grid>a{display:flex;flex-direction:column;padding:1.6rem;border:1px solid var(--bmi-line);background:#fff;border-radius:22px;text-decoration:none;transition:.2s}.bmi-post-grid>a:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(19,35,58,.09)}.bmi-post-label{font-size:.68rem;font-weight:850;letter-spacing:.12em;color:#0f766e;text-transform:uppercase}.bmi-post-grid h3{font-size:1.25rem;margin:.8rem 0 .55rem;color:var(--bmi-ink)}.bmi-post-grid p{font-size:.92rem;margin:0 0 1rem}.bmi-post-grid strong{margin-top:auto;color:#0f766e;display:flex;align-items:center;gap:.35rem}.bmi-post-grid strong svg{width:16px}
/* Inner pages */
.inner-page-hero{padding:5rem 0 4.5rem;background:linear-gradient(135deg,#eef9f7,#f7faf9 60%,#e9f5f3)}.inner-page-hero .site-page-shell{max-width:900px}.inner-page-kicker{display:flex;align-items:center;gap:.55rem;color:#0f766e;font-size:.72rem;font-weight:850;letter-spacing:.14em}.inner-page-kicker svg{width:18px}.inner-page-hero h1{font-size:clamp(2.4rem,5vw,4rem);margin:.9rem 0;color:var(--bmi-ink)}.inner-page-hero p{font-size:1.08rem;color:var(--bmi-muted);line-height:1.75;max-width:760px}.inner-page-main{padding:4rem 0 6rem}.inner-page-copy{max-width:860px;margin:0 auto;padding:2rem 2.2rem;border:1px solid var(--bmi-line);border-radius:24px;background:#fff}.cms-content h2{font-size:1.55rem;margin-top:1.8rem}.cms-content h2:first-child{margin-top:0}.cms-content p,.cms-content li{color:var(--bmi-muted);line-height:1.8}.about-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem}.about-highlights article{padding:1.5rem;border-radius:20px;background:#fff;border:1px solid var(--bmi-line)}.about-highlights svg{width:28px;color:#0f766e}.about-highlights h2{font-size:1.15rem;margin:.9rem 0 .45rem}.about-highlights p{font-size:.92rem;color:var(--bmi-muted);line-height:1.6;margin:0}.contact-page-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:1.4rem;align-items:start}.contact-page-layout .inner-page-copy{max-width:none;margin:0}.bmi-contact-form{padding:2rem;border:1px solid var(--bmi-line);border-radius:24px;background:#fff}.contact-form-head{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.5rem}.contact-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:#e7f8f5;color:#0f766e}.contact-icon svg{width:22px}.contact-form-head h2{margin:.25rem 0}.contact-form-head p{margin:0;color:var(--bmi-muted);font-size:.92rem}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.bmi-contact-form label{display:grid;gap:.45rem;font-size:.82rem;font-weight:750;color:#425166;margin-top:1rem}.bmi-contact-form input,.bmi-contact-form textarea{width:100%;border:1px solid #cfe0dd;border-radius:13px;padding:.85rem 1rem;background:#fbfdfd;outline:none}.bmi-contact-form input:focus,.bmi-contact-form textarea:focus{border-color:#14b8a6;box-shadow:0 0 0 3px rgba(20,184,166,.1)}.contact-success,.contact-error{padding:.8rem 1rem;border-radius:12px;margin-bottom:1rem;font-size:.9rem}.contact-success{display:flex;gap:.5rem;align-items:center;background:#ecfdf5;color:#166534}.contact-error{background:#fef2f2;color:#b91c1c}.contact-note{display:flex;gap:.7rem;padding:1rem;border-radius:16px;background:#f4f8f7;color:#5d6c7e;font-size:.88rem;line-height:1.55;margin-top:1.5rem}.contact-note svg{width:20px;color:#0f766e;flex:0 0 auto}.cms-section-card{max-width:860px;margin:1.4rem auto 0;padding:1.8rem 2rem;border:1px solid var(--bmi-line);border-radius:22px;background:#fff}.cms-section-card img{width:100%;border-radius:18px;margin-top:1rem}.cms-subtitle{color:var(--bmi-muted)}
/* Footer */
.site-footer{background:#102b2c;color:#e5f0ef;padding-top:4rem}.footer-main{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:3rem;padding-bottom:3rem}.site-footer .brand-mark{color:#fff}.site-footer .brand-word>span{color:#5eead4}.footer-brand p{max-width:470px;color:#b9ccca;line-height:1.7}.footer-disclaimer{font-size:.82rem;color:#86aaa6!important}.footer-column{display:grid;align-content:start;gap:.65rem}.footer-column h3{font-size:.9rem;margin:0 0 .3rem;color:#fff}.footer-column a{color:#b9ccca;text-decoration:none;font-size:.9rem;display:flex;align-items:center;gap:.3rem}.footer-column a:hover{color:#5eead4}.footer-column svg{width:14px}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:1.25rem 0;display:flex;justify-content:space-between;color:#8fa8a5;font-size:.8rem}.not-found-page{min-height:70vh;display:grid;place-items:center;padding:4rem 1rem;background:radial-gradient(500px 250px at 50% 20%,#dcf7f1,transparent 70%)}.not-found-card{max-width:560px;text-align:center;background:#fff;border:1px solid var(--bmi-line);padding:3rem;border-radius:28px;box-shadow:0 20px 50px rgba(19,35,58,.08)}.not-found-icon{display:grid;place-items:center;margin:auto;width:56px;height:56px;border-radius:18px;background:#e8f8f5;color:#0f766e}.not-found-icon svg{width:28px}.not-found-code{font-size:4.5rem;font-weight:850;margin:1rem 0 0;color:#0f766e}.not-found-card h1{margin:.3rem 0 .7rem}.not-found-card p{color:var(--bmi-muted);line-height:1.7}.not-found-card .bmi-primary-button{display:inline-flex;margin-top:1.2rem;align-items:center;gap:.5rem;color:#fff;text-decoration:none;padding:.8rem 1.1rem}
@media(max-width:800px){.desktop-nav{display:none}.mobile-menu{display:grid}.nav-wrap{min-height:70px}.bmi-hero{padding:3rem 0}.bmi-info-section{padding:3.8rem 0}.bmi-info-grid,.bmi-context-grid,.contact-page-layout,.footer-main{grid-template-columns:1fr}.bmi-category-table{grid-template-columns:1fr 1fr}.bmi-post-grid{grid-template-columns:1fr}.bmi-section-heading{display:block}.bmi-section-heading>p{margin-top:.8rem}.about-highlights{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:.45rem}.inner-page-copy{padding:1.5rem}.inner-page-hero{padding:3.5rem 0}.bmi-home-intro h1{font-size:2.5rem}}
@media(max-width:520px){.site-page-shell{width:min(100% - 1.2rem,1180px)}.bmi-category-table{grid-template-columns:1fr}.nav-actions{gap:.25rem}.brand-word small{display:none}.bmi-home-intro p{font-size:.98rem}.bmi-trust-row{justify-content:flex-start}.not-found-card{padding:2rem 1.3rem}}

/* V1.7 FINAL DESIGN STABILITY OVERRIDES — single visual system, centred layouts */
:root{--bmi-ink:#13213a;--bmi-muted:#64748b;--bmi-teal:#0f766e;--bmi-line:#dce7e5;}
html,body,#root{max-width:100%;overflow-x:hidden;background:#f7faf9;color:var(--bmi-ink)}
.site-page-shell{width:min(1180px,calc(100% - 48px))!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important}
.site-header{position:relative;background:rgba(255,255,255,.96)!important;border-bottom:1px solid #e5eceb!important;box-shadow:0 1px 0 rgba(15,23,42,.02)}
.nav-wrap{min-height:78px!important}
main{width:100%;min-width:0}
.bmi-hero{padding:56px 0 52px!important;background:linear-gradient(180deg,#f5fbfa 0%,#f8fbfb 100%)!important}
.bmi-home-intro{max-width:820px!important;margin:0 auto 30px!important;text-align:center!important}
.bmi-calculator-full{width:100%!important;margin:0 auto!important}
.bmi-advanced-card,.bmi-calculator{width:100%!important;max-width:1180px!important;margin-left:auto!important;margin-right:auto!important;background:#fff!important;border-color:#d9e7e4!important;box-shadow:0 18px 55px rgba(15,118,110,.08)!important}
.bmi-primary,.bmi-primary-button,.hero-button{background:#0f766e!important;color:#fff!important;border-color:#0f766e!important;box-shadow:0 10px 22px rgba(15,118,110,.18)!important}
.bmi-primary:hover,.bmi-primary-button:hover,.hero-button:hover{background:#0b625c!important}
.bmi-tabs .active,.bmi-unit-switch button[aria-pressed="true"],.bmi-unit-switch button.active{background:#0f766e!important;color:#fff!important}
.bmi-unit-switch button,.bmi-tabs button{border:1px solid #d7e5e2!important;background:#f7fbfa!important;color:#334155!important}
.bmi-unit-switch button[aria-pressed="true"],.bmi-unit-switch button.active,.bmi-tabs .active{border-color:#0f766e!important}
.bmi-outline-button,.bmi-secondary,.bmi-copy{color:#0f766e!important;border-color:#b8d8d3!important;background:#fff!important}
.bmi-info-section{padding:88px 0!important}
.bmi-info-section .site-page-shell{margin-left:auto!important;margin-right:auto!important}
.bmi-info-section:nth-child(even){background:#f2f7f6!important}
.bmi-section-heading,.bmi-info-grid,.bmi-context-grid,.bmi-post-grid,.bmi-category-table{width:100%;margin-left:auto;margin-right:auto}
.bmi-section-heading{align-items:flex-end!important}
.bmi-info-section h2,.inner-page-hero h1,.not-found-card h1{color:#13213a!important}
.bmi-section-eyebrow,.inner-page-kicker,.bmi-category-table b,.bmi-post-label{color:#0f766e!important}
.bmi-info-section p,.cms-content p,.cms-content li,.inner-page-hero p,.about-highlights p{color:#526176!important}
.inner-page-hero{padding:88px 0 72px!important;background:linear-gradient(135deg,#eef8f6,#f9fbfb)!important}
.inner-page-main{padding:64px 0 88px!important;background:#fff!important}
.inner-page-copy,.cms-section-card,.about-highlights article,.contact-page-layout .inner-page-copy,.bmi-contact-form{box-shadow:0 12px 34px rgba(15,23,42,.045)!important}
.site-footer{margin-top:0!important;background:#132b2d!important;color:#e8f1f0!important}
.footer-main{width:min(1180px,calc(100% - 48px))!important;margin:0 auto!important}
.footer-bottom{width:min(1180px,calc(100% - 48px))!important;margin:0 auto!important}
.footer-brand p,.footer-column a{color:#c4d4d2!important}.footer-column h3{color:#fff!important}.footer-column a:hover{color:#79e4d3!important}
/* remove legacy blue accents that survived earlier UI layers */
.bmi-advanced-card [class*="blue"],.bmi-calculator [class*="blue"]{--tw-ring-color:#0f766e!important}
@media(max-width:800px){.site-page-shell,.footer-main,.footer-bottom{width:min(100% - 32px,1180px)!important}.bmi-hero{padding:42px 0!important}.bmi-info-section{padding:64px 0!important}.inner-page-hero{padding:64px 0 52px!important}.inner-page-main{padding:48px 0 64px!important}}
@media(max-width:520px){.site-page-shell,.footer-main,.footer-bottom{width:calc(100% - 28px)!important}.nav-wrap{min-height:70px!important}.bmi-hero{padding:32px 0!important}.bmi-home-intro{margin-bottom:22px!important}.bmi-info-section{padding:48px 0!important}}

/* =========================================================
   V1.8 PROFESSIONAL LAYOUT CORRECTION
   Final visual consistency pass after real-device review.
   ========================================================= */
:root{
  --primary: 174 72% 30%;
  --primary-foreground: 0 0% 100%;
  --accent: 174 62% 38%;
  --cyan: 174 70% 42%;
  --ring: 174 72% 30%;
  --background: 165 20% 98%;
  --foreground: 218 40% 14%;
  --muted-foreground: 215 16% 40%;
  --border: 168 20% 88%;
  --input: 168 20% 88%;
}
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:hidden}
body,#root{width:100%;max-width:100%;overflow-x:hidden}

/* One dependable desktop/tablet/mobile container system. */
.site-page-shell,
.site-header .site-page-shell,
.site-footer .site-page-shell{
  width:min(1180px,calc(100% - 64px))!important;
  max-width:none!important;
  margin-inline:auto!important;
}
.site-page-shell > *,
.bmi-info-grid > *,
.bmi-context-grid > *,
.contact-page-layout > *,
.about-highlights > *{min-width:0}

/* Header remains visually centred and never inherits legacy widths. */
.site-header{width:100%;background:#fff!important}
.site-header .nav-wrap{width:min(1180px,calc(100% - 64px))!important;margin-inline:auto!important}

/* HOME: remove legacy purple/blue and make the calculator hierarchy consistent. */
.bmi-hero{
  padding:64px 0 64px!important;
  background:
    radial-gradient(680px 260px at 50% -80px,rgba(20,184,166,.12),transparent 72%),
    linear-gradient(180deg,#f7fbfa 0%,#f2f8f7 100%)!important;
}
.bmi-home-intro{max-width:850px!important;margin:0 auto 34px!important;text-align:center!important}
.bmi-home-intro>span,
.bmi-eyebrow{
  color:#0f766e!important;
  background:#e8f7f4!important;
  border-color:#bfe5de!important;
}
.bmi-home-intro h1{color:#13213a!important}
.bmi-home-intro h1 em{color:#0f766e!important}
.bmi-calculator-full{width:100%!important;max-width:1180px!important;margin-inline:auto!important}
.bmi-advanced-card{
  width:100%!important;
  max-width:1180px!important;
  margin-inline:auto!important;
  padding:clamp(24px,3vw,42px)!important;
  border:1px solid #d7e7e3!important;
  background:#fff!important;
  box-shadow:0 20px 56px rgba(15,118,110,.08)!important;
}
.bmi-heading-icon{background:#eaf7f4!important;border-color:#c9e7e0!important;box-shadow:none!important}
.bmi-heading-icon span{color:#0f766e!important}
.bmi-heading-icon svg{color:#0f766e!important}
.bmi-trust-row span{background:#f5faf9!important;border-color:#d8e9e5!important;color:#415565!important}
.bmi-trust-row svg{color:#0f766e!important}

/* Strong selectors intentionally override old V1.3 purple rules. */
.bmi-unit-picker .bmi-tabs button.active,
.bmi-tabs button.active,
.bmi-tabs .active{
  background:linear-gradient(135deg,#0f766e,#159588)!important;
  border-color:#0f766e!important;
  color:#fff!important;
  box-shadow:0 12px 26px rgba(15,118,110,.20)!important;
}
.bmi-tabs button:hover{border-color:#8bcfc4!important;box-shadow:0 8px 20px rgba(15,118,110,.08)!important}
.bmi-tab-icon{background:#e9f7f4!important;color:#0f766e!important}
.bmi-tabs button.active .bmi-tab-icon{background:rgba(255,255,255,.16)!important;color:#fff!important}
.bmi-primary,
.bmi-actions .bmi-primary,
.bmi-contact-form .bmi-primary-button,
.bmi-primary-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.55rem!important;
  min-height:48px!important;
  padding:0 1.2rem!important;
  margin-top:1.25rem!important;
  border:1px solid #0f766e!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#0f766e,#148b80)!important;
  color:#fff!important;
  font-weight:750!important;
  line-height:1!important;
  box-shadow:0 10px 22px rgba(15,118,110,.18)!important;
}
.bmi-actions .bmi-primary{margin-top:0!important}
.bmi-primary:hover,.bmi-primary-button:hover{background:#0b625c!important;transform:translateY(-1px)}
.bmi-primary svg,.bmi-primary-button svg{width:18px;height:18px;margin:0!important;flex:none}
.bmi-secondary,.bmi-outline-button,.bmi-copy{
  min-height:48px!important;
  color:#0f766e!important;
  border-color:#b9d9d3!important;
  background:#fff!important;
}

/* Home information sections: never allow a child grid to drift off screen. */
.bmi-home-content{width:100%;overflow:hidden}
.bmi-info-section{width:100%;padding:88px 0!important}
.bmi-info-section .site-page-shell{width:min(1180px,calc(100% - 64px))!important;margin-inline:auto!important}
.bmi-info-grid{width:100%!important;max-width:1180px!important;margin-inline:auto!important;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)!important}
.bmi-context-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.bmi-formula-card{min-width:0;overflow-wrap:anywhere}
.bmi-formula-card p{color:#dff7f3!important}
.bmi-formula-card span{color:#b9eee5!important}
.bmi-formula-card strong{color:#fff!important}
.bmi-section-heading{width:100%!important}
.bmi-category-table{width:100%!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
.bmi-faq-shell{width:min(900px,100%)!important;max-width:900px!important;margin-inline:auto!important}
.bmi-faq details{width:100%!important}
.bmi-faq summary{min-width:0!important}
.bmi-faq summary span{min-width:0!important}
.bmi-faq summary i{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#edf7f5;color:#0f766e!important;line-height:1!important}
.bmi-faq details[open] summary i{background:#d8f1ec!important}
.bmi-post-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}

/* Full-width inner-page backgrounds with a centred content column.
   This fixes the white strip with coloured gutters seen on About/Contact. */
main.inner-page-main.site-page-shell{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:72px 0 96px!important;
  background:#fff!important;
}
main.inner-page-main.site-page-shell > *{
  width:min(1180px,calc(100% - 64px))!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.inner-page-hero{width:100%;padding:84px 0 68px!important}
.inner-page-hero .site-page-shell{width:min(900px,calc(100% - 64px))!important;margin-inline:auto!important}
.about-highlights{width:100%!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
.inner-page-copy,.cms-section-card{background:#fff!important}
.contact-page-layout{width:100%!important;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;align-items:stretch!important}
.contact-page-layout .inner-page-copy,
.bmi-contact-form{width:100%!important;min-width:0!important}
.bmi-contact-form{padding:clamp(24px,3vw,36px)!important}
.bmi-contact-form input,.bmi-contact-form textarea{display:block;max-width:100%!important}
.bmi-contact-form .bmi-primary-button{width:-moz-max-content;width:max-content;min-width:150px}

/* Footer contrast and layout: readable on all displays. */
.site-footer{width:100%;background:#112d2e!important}
.footer-main,.footer-bottom{width:min(1180px,calc(100% - 64px))!important;margin-inline:auto!important}
.footer-main{grid-template-columns:minmax(0,1.5fr) minmax(180px,1fr) minmax(180px,1fr)!important}
.footer-brand p{color:#d2e1df!important}
.footer-disclaimer{color:#a9c3bf!important}
.footer-column a{color:#d2e1df!important;font-weight:500!important}
.footer-bottom{color:#bdd1ce!important}
.footer-column a:hover{color:#8ee5d8!important}

/* Tablet/mobile corrections. */
@media (max-width:900px){
  .site-page-shell,.site-header .site-page-shell,.site-footer .site-page-shell,
  .site-header .nav-wrap,.bmi-info-section .site-page-shell,
  main.inner-page-main.site-page-shell > *,
  .footer-main,.footer-bottom{width:min(100% - 40px,1180px)!important}
  .bmi-info-grid{grid-template-columns:1fr!important}
  .bmi-context-grid{grid-template-columns:1fr!important}
  .bmi-category-table{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .bmi-post-grid{grid-template-columns:1fr!important}
  .contact-page-layout{grid-template-columns:1fr!important}
  .about-highlights{grid-template-columns:1fr!important}
  .footer-main{grid-template-columns:1fr 1fr!important}
  .footer-brand{grid-column:1/-1}
}
@media (max-width:680px){
  .bmi-hero{padding:42px 0 46px!important}
  .bmi-info-section{padding:64px 0!important}
  main.inner-page-main.site-page-shell{padding:52px 0 72px!important}
  .inner-page-hero{padding:60px 0 48px!important}
  .bmi-category-table{grid-template-columns:1fr!important}
  .bmi-section-heading{display:block!important}
  .bmi-section-heading>p{margin-top:14px!important}
  .bmi-contact-form .bmi-primary-button{width:100%!important}
}
@media (max-width:520px){
  .site-page-shell,.site-header .site-page-shell,.site-footer .site-page-shell,
  .site-header .nav-wrap,.bmi-info-section .site-page-shell,
  main.inner-page-main.site-page-shell > *,
  .footer-main,.footer-bottom{width:calc(100% - 28px)!important}
  .bmi-advanced-card{padding:20px!important;border-radius:22px!important}
  .bmi-tabs{grid-template-columns:1fr!important}
  .bmi-tabs button{min-height:64px!important}
  .bmi-home-intro h1{font-size:clamp(2.15rem,11vw,3rem)!important}
  .footer-main{grid-template-columns:1fr!important}
  .footer-brand{grid-column:auto}
  .bmi-faq summary{padding:1rem!important}
}


/* =========================================================
   BMITOOL V1.9 — THEME TOGGLE + DARK MODE QA
   The public design uses explicit light-mode colors in several legacy
   layout rules, so dark mode must override those surfaces deliberately.
   ========================================================= */

.theme-toggle {
  border-color: hsl(var(--border) / .9);
}
.theme-toggle-button {
  cursor: pointer;
  border: 0;
  background: transparent;
}
.theme-toggle-button:focus-visible {
  outline: 3px solid hsl(var(--ring) / .35);
  outline-offset: 2px;
}

/* Keep all three appearance controls visibly interactive. */
.theme-toggle-button[aria-pressed="true"] {
  background: hsl(var(--primary)) !important;
  color: hsl(var(--primary-foreground)) !important;
  box-shadow: 0 6px 18px hsl(var(--primary) / .22);
}

.dark {
  color-scheme: dark;
  --background: 220 22% 9%;
  --foreground: 210 25% 94%;
  --card: 220 20% 12%;
  --card-foreground: 210 25% 94%;
  --popover: 220 20% 12%;
  --popover-foreground: 210 25% 94%;
  --primary: 174 58% 48%;
  --primary-foreground: 220 25% 8%;
  --secondary: 220 18% 16%;
  --secondary-foreground: 210 25% 94%;
  --muted: 220 17% 15%;
  --muted-foreground: 210 14% 70%;
  --accent: 174 52% 43%;
  --accent-foreground: 220 25% 8%;
  --cyan: 174 62% 50%;
  --border: 220 15% 22%;
  --input: 220 15% 22%;
  --ring: 174 58% 48%;
  --surface-strong: 220 20% 12%;
  --surface-soft: 220 22% 10%;
  --shadow-color: 220 60% 2%;
}

/* Header/navigation */
.dark body {
  background-color: hsl(var(--background)) !important;
  color: hsl(var(--foreground)) !important;
  background-image: radial-gradient(circle at 50% -10%, hsl(var(--primary) / .09), transparent 38rem) !important;
}
.dark .site-header {
  background: hsl(220 22% 10% / .92) !important;
  border-color: hsl(var(--border)) !important;
}
.dark .desktop-nav a,
.dark .brand-word,
.dark .brand-word span,
.dark .nav-actions,
.dark .site-header button {
  color: hsl(var(--foreground));
}
.dark .desktop-nav a.active,
.dark .desktop-nav a:hover {
  background: hsl(var(--foreground) / .07);
}
.dark .glass {
  background: hsl(var(--card) / .78) !important;
  border-color: hsl(var(--border) / .9) !important;
}

/* Homepage hero and calculator */
.dark .bmi-hero {
  background:
    radial-gradient(680px 260px at 50% -80px, hsl(var(--primary) / .16), transparent 72%),
    linear-gradient(180deg, hsl(220 22% 10%), hsl(220 22% 8%)) !important;
}
.dark .bmi-home-intro h1 { color: hsl(var(--foreground)) !important; }
.dark .bmi-home-intro h1 em { color: hsl(var(--primary)) !important; }
.dark .bmi-home-intro > span,
.dark .bmi-eyebrow {
  color: hsl(174 58% 72%) !important;
  background: hsl(var(--primary) / .12) !important;
  border-color: hsl(var(--primary) / .28) !important;
}
.dark .bmi-advanced-card {
  background: hsl(var(--card)) !important;
  border-color: hsl(var(--border)) !important;
  box-shadow: 0 22px 60px hsl(220 60% 2% / .38) !important;
}
.dark .bmi-heading-icon,
.dark .bmi-tab-icon {
  background: hsl(var(--primary) / .12) !important;
  border-color: hsl(var(--primary) / .22) !important;
  color: hsl(var(--primary)) !important;
}
.dark .bmi-heading-icon span,
.dark .bmi-heading-icon svg { color: hsl(var(--primary)) !important; }
.dark .bmi-trust-row span {
  background: hsl(var(--secondary)) !important;
  border-color: hsl(var(--border)) !important;
  color: hsl(var(--muted-foreground)) !important;
}
.dark .bmi-tabs button:not(.active) {
  background: hsl(var(--secondary)) !important;
  border-color: hsl(var(--border)) !important;
  color: hsl(var(--foreground)) !important;
}
.dark .bmi-tabs button.active,
.dark .bmi-unit-picker .bmi-tabs button.active {
  background: linear-gradient(135deg, hsl(174 58% 42%), hsl(174 62% 34%)) !important;
  border-color: hsl(var(--primary)) !important;
  color: #fff !important;
}
.dark .bmi-secondary,
.dark .bmi-outline-button,
.dark .bmi-copy {
  color: hsl(var(--foreground)) !important;
  border-color: hsl(var(--border)) !important;
  background: hsl(var(--secondary)) !important;
}

/* Forms and interactive surfaces */
.dark input,
.dark textarea,
.dark select,
.dark .input {
  color: hsl(var(--foreground)) !important;
  background: hsl(220 18% 13%) !important;
  border-color: hsl(var(--border)) !important;
}
.dark input::-moz-placeholder, .dark textarea::-moz-placeholder { color: hsl(var(--muted-foreground)) !important; }
.dark input::placeholder,
.dark textarea::placeholder { color: hsl(var(--muted-foreground)) !important; }
.dark label { color: hsl(var(--foreground)) !important; }

/* Information and FAQ sections */
.dark .bmi-info-section,
.dark .bmi-home-content,
.dark main {
  background-color: transparent;
}
.dark .bmi-faq details,
.dark .bmi-info-card,
.dark .bmi-context-card,
.dark .bmi-category-card,
.dark .cms-section-card,
.dark .inner-page-copy {
  background: hsl(var(--card)) !important;
  border-color: hsl(var(--border)) !important;
}
.dark .bmi-faq summary,
.dark .bmi-faq p,
.dark .bmi-info-section p,
.dark .cms-content,
.dark .blog-content {
  color: hsl(var(--muted-foreground)) !important;
}
.dark .bmi-faq summary { color: hsl(var(--foreground)) !important; }
.dark .bmi-faq summary i {
  background: hsl(var(--primary) / .12) !important;
  color: hsl(var(--primary)) !important;
}
.dark .bmi-faq details[open] summary i {
  background: hsl(var(--primary) / .20) !important;
}
.dark .bmi-formula-card {
  background: linear-gradient(145deg, hsl(174 48% 22%), hsl(220 24% 13%)) !important;
  border-color: hsl(var(--primary) / .24) !important;
}

/* Inner pages: undo the forced white V1.8 surface when dark mode is active. */
.dark main.inner-page-main.site-page-shell {
  background: hsl(var(--background)) !important;
}
.dark .inner-page-copy,
.dark .cms-section-card,
.dark .cms-page-about .cms-content-card {
  background: hsl(var(--card)) !important;
}
.dark .inner-page-hero {
  background: radial-gradient(circle at 50% 0, hsl(var(--primary) / .12), transparent 34rem) !important;
}
.dark .cms-content,
.dark .cms-content p,
.dark .cms-content li,
.dark .cms-content h2,
.dark .cms-content h3,
.dark .inner-page-copy,
.dark .inner-page-copy p {
  color: hsl(var(--foreground)) !important;
}
.dark .cms-content p,
.dark .cms-content li,
.dark .inner-page-copy p {
  color: hsl(var(--muted-foreground)) !important;
}

/* Footer */
.dark .site-footer {
  background: hsl(220 28% 7%) !important;
  border-top-color: hsl(var(--border)) !important;
}
.dark .footer-brand p,
.dark .footer-column a,
.dark .footer-bottom,
.dark .footer-disclaimer {
  color: hsl(210 15% 72%) !important;
}
.dark .footer-column h3,
.dark .site-footer .brand-word { color: hsl(var(--foreground)) !important; }
.dark .footer-column a:hover { color: hsl(174 65% 65%) !important; }

@media (prefers-reduced-motion: no-preference) {
  html,
  body,
  .site-header,
  .bmi-hero,
  .bmi-advanced-card,
  .site-footer,
  .inner-page-copy,
  .cms-section-card {
    transition: background-color .22s ease, color .22s ease, border-color .22s ease;
  }
}

/* =========================================================
   V2.0 DARK MODE CONTRAST AUDIT
   This block intentionally comes LAST so it can override
   legacy light-only rules left from earlier visual revisions.
   ========================================================= */
.dark {
  --bmi-ink: #f2f7f8;
  --bmi-muted: #aab8c3;
  --bmi-line: rgba(148, 163, 184, .20);
  --bmi-surface: #151d27;
}

.dark html,
.dark body,
.dark #root {
  background: #111821 !important;
  color: #edf3f5 !important;
}

/* Global typography: no dark navy text may survive on dark surfaces. */
.dark h1,
.dark h2,
.dark h3,
.dark h4,
.dark h5,
.dark h6,
.dark .bmi-advanced-heading h1,
.dark .bmi-advanced-heading h2,
.dark .bmi-calculator h1,
.dark .bmi-calculator h2,
.dark .bmi-section-title,
.dark .bmi-info-section h2,
.dark .bmi-category-table b,
.dark .bmi-context-grid h2,
.dark .bmi-post-grid h3,
.dark .inner-page-hero h1,
.dark .about-highlights h2,
.dark .contact-form-head h2,
.dark .not-found-card h1 {
  color: #f3f7f8 !important;
}
.dark p,
.dark li,
.dark .bmi-home-intro p,
.dark .bmi-advanced-heading p,
.dark .bmi-advanced-heading .description,
.dark .bmi-info-section p,
.dark .bmi-context-grid p,
.dark .about-highlights p,
.dark .inner-page-hero p,
.dark .contact-form-head p,
.dark .contact-note,
.dark .bmi-formula-card p {
  color: #aebbc6 !important;
}

/* Header and navigation */
.dark .site-header,
.dark .mobile-nav {
  background: rgba(17, 24, 33, .96) !important;
  border-color: rgba(148, 163, 184, .16) !important;
}
.dark .brand-mark,
.dark .brand-word,
.dark .desktop-nav a,
.dark .mobile-nav a,
.dark .mobile-menu {
  color: #e9f0f2 !important;
}
.dark .brand-word > span { color: #65d8cb !important; }
.dark .brand-word small { color: #8fa1ad !important; }
.dark .desktop-nav a:hover,
.dark .desktop-nav a.active,
.dark .mobile-nav a:hover {
  color: #8ee9dd !important;
  background: rgba(45, 212, 191, .10) !important;
}
.dark .mobile-menu { background: #1b2631 !important; }
.dark .theme-toggle { background: #18222d !important; border-color: rgba(148,163,184,.18) !important; }
.dark .theme-toggle-button:not([aria-pressed="true"]) { color: #9fb0bc !important; }
.dark .theme-toggle-button[aria-pressed="true"] { background: #167c74 !important; color: #fff !important; }

/* Homepage and calculator */
.dark .bmi-home-content,
.dark .bmi-info-section,
.dark .bmi-info-intro,
.dark .bmi-category-section,
.dark .bmi-context-section,
.dark .bmi-faq-section,
.dark .bmi-blog-section {
  background: #111821 !important;
}
.dark .bmi-info-section:nth-child(even) { background: #151d27 !important; }
.dark .bmi-hero {
  background:
    radial-gradient(780px 300px at 50% -80px, rgba(45, 212, 191, .13), transparent 70%),
    linear-gradient(180deg, #121a23 0%, #111821 100%) !important;
}
.dark .bmi-home-intro > span,
.dark .bmi-eyebrow,
.dark .bmi-section-eyebrow,
.dark .bmi-post-label,
.dark .inner-page-kicker {
  color: #8ee9dd !important;
  background-color: transparent !important;
}
.dark .bmi-home-intro h1 em { color: #72ddd2 !important; }
.dark .bmi-trust-row,
.dark .bmi-trust-row span { color: #9fb0bc !important; }

.dark .bmi-calculator,
.dark .bmi-advanced-card,
.dark .bmi-form-section,
.dark .bmi-advanced-options {
  background: #18212c !important;
  border-color: rgba(148, 163, 184, .20) !important;
  box-shadow: 0 22px 56px rgba(0,0,0,.24) !important;
}
.dark .bmi-advanced-heading,
.dark .bmi-calculator-header { border-color: rgba(148,163,184,.18) !important; }
.dark .bmi-heading-icon,
.dark .bmi-heading-icon span,
.dark .bmi-heading-icon svg { color: #75ddd2 !important; }
.dark .bmi-heading-icon { background: rgba(45,212,191,.09) !important; border-color: rgba(45,212,191,.22) !important; }

/* Unit selector and all form controls */
.dark .bmi-unit-picker,
.dark .bmi-unit-switch,
.dark .bmi-tabs,
.dark .bmi-unit-switch button,
.dark .bmi-tabs button:not(.active),
.dark .bmi-unit-card:not(.active) {
  background: #202b36 !important;
  color: #e8f0f2 !important;
  border-color: rgba(148,163,184,.20) !important;
}
.dark .bmi-unit-picker > div:first-child,
.dark .bmi-unit-picker .unit-picker-copy { color: #f0f5f6 !important; }
.dark .bmi-unit-picker small,
.dark .bmi-unit-picker p { color: #9fb0bc !important; }
.dark .bmi-unit-switch button.active,
.dark .bmi-tabs .active,
.dark .bmi-unit-card.active {
  background: linear-gradient(135deg, #268f85, #167c74) !important;
  color: #fff !important;
  border-color: #37a89d !important;
}
.dark .bmi-unit-switch button.active *,
.dark .bmi-tabs .active *,
.dark .bmi-unit-card.active * { color: #fff !important; }
.dark .bmi-input-grid label,
.dark .bmi-form-section label,
.dark .bmi-advanced-options summary,
.dark .bmi-section-title { color: #edf3f5 !important; }
.dark .bmi-input-grid input,
.dark .bmi-input-grid select,
.dark .bmi-form-section input,
.dark .bmi-form-section select,
.dark .bmi-form-section textarea,
.dark .bmi-contact-form input,
.dark .bmi-contact-form textarea {
  background: #222d39 !important;
  color: #edf3f5 !important;
  border-color: rgba(148,163,184,.24) !important;
}
.dark .bmi-input-grid input::-moz-placeholder, .dark .bmi-contact-form input::-moz-placeholder, .dark .bmi-contact-form textarea::-moz-placeholder { color: #8fa1ad !important; }
.dark .bmi-input-grid input::placeholder,
.dark .bmi-contact-form input::placeholder,
.dark .bmi-contact-form textarea::placeholder { color: #8fa1ad !important; }
.dark .bmi-input-grid input:focus,
.dark .bmi-input-grid select:focus,
.dark .bmi-contact-form input:focus,
.dark .bmi-contact-form textarea:focus {
  border-color: #45c6ba !important;
  box-shadow: 0 0 0 3px rgba(45,212,191,.13) !important;
}
.dark .bmi-primary,
.dark .bmi-primary-button,
.dark .hero-button { background: #168178 !important; color: #fff !important; border-color: #168178 !important; }
.dark .bmi-primary:hover,
.dark .bmi-primary-button:hover,
.dark .hero-button:hover { background: #1a968c !important; }
.dark .bmi-secondary,
.dark .bmi-outline-button,
.dark .bmi-copy { background: #202b36 !important; color: #e7eff1 !important; border-color: rgba(148,163,184,.22) !important; }

/* Content cards, formula, categories, FAQ and posts */
.dark .bmi-formula-card,
.dark .bmi-context-grid article,
.dark .bmi-category-table div,
.dark .bmi-post-grid a,
.dark .bmi-faq details,
.dark .bmi-info-card {
  background: #18212c !important;
  border-color: rgba(148,163,184,.20) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.14) !important;
}
.dark .bmi-formula-card {
  background: linear-gradient(145deg, #174c49, #18212c) !important;
}
.dark .bmi-formula-card span,
.dark .bmi-text-link,
.dark .bmi-post-grid strong { color: #78ded4 !important; }
.dark .bmi-formula-card strong { color: #f4f8f8 !important; }
.dark .bmi-category-table span,
.dark .bmi-post-grid p,
.dark .bmi-post-grid a { color: #aebbc6 !important; }
.dark .bmi-faq summary { color: #edf3f5 !important; background: #18212c !important; }
.dark .bmi-faq-answer { border-color: rgba(148,163,184,.16) !important; }
.dark .bmi-faq summary i { background: rgba(45,212,191,.12) !important; color: #7ae1d6 !important; }
.dark .bmi-post-grid a:hover,
.dark .bmi-category-table div:hover { border-color: rgba(45,212,191,.38) !important; }

/* Inner pages, About and Contact */
.dark .inner-page-hero,
.dark .inner-page-main { background: #111821 !important; }
.dark .inner-page-copy,
.dark .cms-section-card,
.dark .about-highlights article,
.dark .contact-page-layout .inner-page-copy,
.dark .bmi-contact-form {
  background: #18212c !important;
  border-color: rgba(148,163,184,.20) !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.16) !important;
}
.dark .contact-icon,
.dark .contact-note { background: rgba(45,212,191,.08) !important; color: #b6c4cc !important; }
.dark .contact-icon { color: #7ce1d7 !important; }
.dark .bmi-contact-form label { color: #edf3f5 !important; }
.dark .contact-success { background: rgba(34,197,94,.12) !important; color: #8ee6ae !important; }
.dark .contact-error { background: rgba(239,68,68,.12) !important; color: #f5a5a5 !important; }
.dark .cms-content a { color: #7ce1d7 !important; }

/* Blog and general white surfaces */
.dark .blog-content,
.dark .blog-content p,
.dark .blog-content li { color: #aebbc6 !important; }
.dark .blog-content h2,
.dark .blog-content h3,
.dark .blog-content h4 { color: #f0f5f6 !important; }
.dark .blog-content code { background: #202b36 !important; color: #dce7eb !important; }

/* Footer */
.dark .site-footer { background: #0c1218 !important; color: #e8f0f2 !important; }
.dark .footer-brand p,
.dark .footer-column a,
.dark .footer-disclaimer,
.dark .footer-bottom { color: #9fb0bc !important; }
.dark .footer-column h3,
.dark .site-footer .brand-word { color: #eef4f5 !important; }
.dark .site-footer .brand-word > span,
.dark .footer-column a:hover { color: #7ce1d7 !important; }
.dark .footer-bottom { border-color: rgba(148,163,184,.16) !important; }

/* 404 */
.dark .not-found-page { background: #111821 !important; }
.dark .not-found-card { background: #18212c !important; border-color: rgba(148,163,184,.20) !important; }
.dark .not-found-card p { color: #aebbc6 !important; }

/* Responsive dark mode safety */
@media (max-width: 800px) {
  .dark .mobile-nav { border-top: 1px solid rgba(148,163,184,.14); }
}

/* =========================================================
   V2.1 SECTION SEPARATOR CLEANUP
   Dedicated homepage sections use spacing and surface rhythm,
   not full-width rules. This prevents random grey/white lines
   between sections in both appearance modes.
   ========================================================= */
.bmi-info-section + .bmi-info-section {
  border-top: 0 !important;
}
.bmi-home-content > section,
.bmi-home-content > .bmi-info-section {
  border-top: 0 !important;
  border-bottom: 0 !important;
  outline: 0 !important;
}

/* Dark mode: remove every inherited full-width separator from
   the legacy multi-layer stylesheet while preserving card borders. */
.dark .bmi-home-content > section,
.dark .bmi-info-section,
.dark .bmi-info-section + .bmi-info-section,
.dark .bmi-faq-section,
.dark .bmi-blog-section,
.dark .bmi-category-section,
.dark .bmi-context-section {
  border-top: 0 !important;
  border-bottom: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* The section transition itself stays clean; contrast is provided
   by cards and controlled surfaces rather than hard divider lines. */
.dark .bmi-home-content {
  background: #111821 !important;
}
.dark .bmi-info-section:nth-child(even) {
  background: #151d27 !important;
}
.dark .bmi-info-section:nth-child(odd) {
  background: #111821 !important;
}


/* =========================================================
   BMITOOL V2.2 — CALCULATOR STATUS BADGE REFINEMENT
   Replaces the oversized isolated "FREE TOOL" tile with a
   balanced product-status component that has deliberate spacing.
   ========================================================= */
.bmi-tool-status{
  flex:0 0 auto;
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  gap:.72rem;
  min-width:0;
  margin-left:1.5rem;
  padding:.78rem 1rem;
  border:1px solid #c9e7e0;
  border-radius:18px;
  background:linear-gradient(145deg,#f5fbfa,#eaf7f4);
  box-shadow:0 12px 28px rgba(15,118,110,.08);
}
.bmi-tool-status-icon{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#0f766e;
  color:#fff;
  box-shadow:0 8px 18px rgba(15,118,110,.18);
}
.bmi-tool-status-icon svg{width:19px!important;height:19px!important;max-width:none!important}
.bmi-tool-status-copy{display:grid;gap:.12rem;line-height:1.15}
.bmi-tool-status-copy strong{font-size:.78rem;font-weight:800;letter-spacing:.01em;color:#173b3a!important}
.bmi-tool-status-copy small{font-size:.66rem;font-weight:650;color:#617a77!important;white-space:nowrap}
.dark .bmi-tool-status{
  background:linear-gradient(145deg,rgba(45,212,191,.10),rgba(45,212,191,.045))!important;
  border-color:rgba(45,212,191,.24)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.20)!important;
}
.dark .bmi-tool-status-icon{background:#167f78!important;color:#eafff9!important}
.dark .bmi-tool-status-copy strong{color:#edfdf9!important}
.dark .bmi-tool-status-copy small{color:#9fc5bf!important}
@media(max-width:900px){.bmi-tool-status{display:none!important}}
@media(max-width:1100px){.bmi-tool-status{margin-left:.75rem}}

/* Final layout stability: fixed/sticky header must never cover page content. */
.site-main{min-width:0;overflow-x:clip}
.site-header{z-index:1000}
.bmi-hero{padding-top:clamp(24px,4vw,56px)!important;padding-bottom:clamp(24px,4vw,56px)!important}
.site-page-shell{width:min(100% - 32px,1180px);margin-inline:auto}
.bmi-calculator-full{width:100%;min-width:0}
.bmi-calculator-full>*{max-width:100%;min-width:0}
/* Responsive ad layout: reserved only after scripts render, avoiding content jumps. */
.site-ads{padding:28px 0;border-top:1px solid var(--border,rgba(128,128,128,.18));background:var(--background,transparent)}
.ad-native,.ad-unit{display:flex;justify-content:center;align-items:center;max-width:100%;overflow:hidden;margin-inline:auto}
.ad-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start;margin-top:20px}
.ad-unit{min-width:0;background:transparent}
.ad-wide{grid-column:1/-1}.ad-skyscraper,.ad-half{justify-self:center}.ad-mobile{display:none}
@media(max-width:900px){.ad-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ad-skyscraper{display:none}.site-page-shell{width:min(100% - 24px,1180px)}}
@media(max-width:560px){.ad-grid{grid-template-columns:1fr;gap:16px}.ad-wide,.ad-medium{display:none}.ad-mobile{display:flex}.ad-rectangle{min-height:250px}.site-page-shell{width:min(100% - 20px,1180px)}.bmi-hero{padding-top:24px!important;padding-bottom:24px!important}.bmi-home-intro h1{font-size:clamp(2rem,10vw,3rem)}}


/* V2.5: keep the complete first homepage section clearly below the site header. */
.bmi-hero{padding-top:5.5rem!important}
@media(max-width:900px){.bmi-hero{padding-top:4.5rem!important}}
@media(max-width:650px){.bmi-hero{padding-top:4rem!important}}


/* Final homepage + footer visibility safeguards. */
.footer-brand p,
.footer-column a,
.footer-bottom {
  color: hsl(var(--foreground) / .78);
}
.footer-disclaimer {
  color: hsl(var(--foreground) / .88) !important;
  font-weight: 600;
}
.footer-bottom {
  min-height: 3.25rem;
  align-items: center;
  padding-bottom: 1.25rem;
  font-size: .78rem;
  line-height: 1.45;
}
.footer-bottom span {
  color: hsl(var(--foreground) / .82);
}
@media (max-width: 640px) {
  .footer-bottom {
    padding: 1rem 0 1.35rem;
    gap: .45rem;
    font-size: .75rem;
  }
}


/* V3.0 FINAL FOOTER VISIBILITY — keep footer text readable in every theme. */
.site-footer {
  background: #132b2d !important;
  color: #e8f1f0 !important;
}
.site-footer .footer-brand {
  background: rgba(255,255,255,.055) !important;
  border-color: rgba(255,255,255,.16) !important;
}
.site-footer .footer-brand p {
  color: #cfe0dd !important;
}
.site-footer .footer-disclaimer {
  color: #e5f2ef !important;
}
.site-footer .footer-column h3 {
  color: #ffffff !important;
}
.site-footer .footer-column a {
  color: #cfe0dd !important;
}
.site-footer .footer-bottom,
.site-footer .footer-bottom span {
  color: #d6e5e2 !important;
  opacity: 1 !important;
}
.site-footer .footer-bottom {
  border-color: rgba(255,255,255,.14) !important;
}


/* V3.1 FINAL — exact homepage fixes: fixed header must reserve real space. */
.site-main {
  padding-top: 72px !important;
}
.bmi-hero {
  padding-top: 42px !important;
}
@media (max-width: 900px) {
  .site-main { padding-top: 64px !important; }
  .bmi-hero { padding-top: 34px !important; }
}
@media (max-width: 650px) {
  .site-main { padding-top: 60px !important; }
  .bmi-hero { padding-top: 28px !important; }
}


/* V3.2 FINAL — SINGLE HEADER LAYOUT MODEL
   The header participates in normal document flow and becomes sticky only
   while scrolling. Therefore it always reserves its own height and can never
   cover breadcrumbs, hero content, or the first homepage button. */
.site-header {
  position: sticky !important;
  top: 0 !important;
  inset: auto !important;
  width: 100% !important;
  z-index: 1000 !important;
}
.site-main,
.app-shell > main {
  padding-top: 0 !important;
}
/* Keep the first homepage section naturally below the header; no artificial
   header compensation is required when sticky flow reserves the header space. */
.bmi-hero {
  padding-top: 64px !important;
}
@media (max-width: 900px) {
  .bmi-hero { padding-top: 48px !important; }
}
@media (max-width: 650px) {
  .bmi-hero { padding-top: 32px !important; }
}

/* Support dialog: deliberately uses neutral class names so cosmetic ad filters do not hide the dialog UI. */
.support-dialog-backdrop{
  position:fixed; inset:0; z-index:2147483000;
  display:grid; place-items:center; padding:24px;
  background:rgba(7,24,27,.76); backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
}
.support-dialog-card{
  position:relative; width:min(590px,100%);
  border:1px solid rgba(42,139,132,.34);
  border-radius:26px;
  background:#ffffff !important;
  color:#18353a !important;
  box-shadow:0 32px 100px rgba(0,0,0,.42);
  padding:42px 42px 34px;
  text-align:center;
  overflow:hidden;
}
.support-dialog-card::before{
  content:""; position:absolute; left:0; right:0; top:0; height:5px;
  background:linear-gradient(90deg,#177d78,#4cb9ad);
}
.support-dialog-icon{
  width:76px; height:76px; margin:0 auto 20px;
  border-radius:22px; display:grid; place-items:center;
  color:#177d78; background:#e9f7f5;
  border:1px solid #b9e5df;
}
.support-dialog-card h2{
  margin:0 40px 16px; color:#18353a !important;
  font-size:clamp(1.7rem,3vw,2.15rem); line-height:1.16;
  font-weight:800; letter-spacing:-.02em;
}
.support-dialog-card p{
  max-width:500px; margin:0 auto 14px;
  color:#50656a !important; line-height:1.7; font-size:1rem;
}
.support-dialog-card strong{color:#177d78 !important; font-weight:800}
.support-dialog-note{
  margin-top:4px !important; font-size:.91rem !important;
  font-weight:650; color:#6b7d81 !important;
}
.support-dialog-close{
  position:absolute; right:14px; top:14px; width:42px; height:42px;
  border:0; border-radius:12px; background:transparent !important;
  color:#456066 !important; display:grid; place-items:center; cursor:pointer;
  transition:background .2s ease, color .2s ease;
}
.support-dialog-close:hover{background:#edf5f4 !important; color:#18353a !important}
.support-dialog-actions{
  display:flex; flex-direction:column; align-items:center; gap:10px; margin-top:27px;
}
.support-dialog-primary{
  min-height:56px; width:min(100%,420px);
  border:1px solid #126b66 !important; border-radius:12px;
  padding:0 24px; display:inline-flex !important; align-items:center; justify-content:center; gap:9px;
  cursor:pointer; background:#177d78 !important; color:#ffffff !important;
  font-weight:800; font-size:1rem; line-height:1.2;
  box-shadow:0 14px 28px rgba(23,125,120,.26);
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.support-dialog-primary:hover{
  background:#126b66 !important; transform:translateY(-1px);
  box-shadow:0 18px 32px rgba(23,125,120,.31);
}
.support-dialog-primary svg{flex:0 0 auto}
.support-dialog-secondary{
  border:0 !important; background:transparent !important; color:#61747a !important;
  cursor:pointer; padding:9px 16px; font-size:.94rem; font-weight:600;
}
.support-dialog-secondary:hover{text-decoration:underline; color:#18353a !important}
.dark .support-dialog-card{background:#f8fbfb !important; color:#18353a !important}
@media(max-width:560px){
  .support-dialog-backdrop{padding:14px}
  .support-dialog-card{padding:36px 20px 28px; border-radius:22px}
  .support-dialog-card h2{margin-left:28px; margin-right:28px; font-size:1.65rem}
  .support-dialog-icon{width:68px; height:68px; margin-bottom:17px}
  .support-dialog-primary{min-height:54px; padding:0 16px; font-size:.94rem}
}


/* V3.7 — FINAL ADMIN TOOLBAR + STICKY PUBLIC HEADER FIX
   The public layout renders AdminBar conditionally. Do not rely on an unset
   CSS variable for its height: reserve the exact space with sibling selectors. */
:root { --bmitool-admin-bar-height: 42px; --bmitool-public-header-height: 78px; }

/* Public header: always sticky at the viewport top for logged-out visitors. */
.site-header {
  position: fixed !important;
  top: 0 !important;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 490;
}

/* Logged-in admin: toolbar stays at the top and public navigation sits directly below it. */
.admin-frontend-bar {
  position: fixed !important;
  top: 0 !important;
  left: 0;
  right: 0;
  width: 100%;
  min-height: var(--bmitool-admin-bar-height);
  z-index: 500;
}
.admin-frontend-bar + .site-header {
  top: var(--bmitool-admin-bar-height) !important;
}

/* Reserve header space so hero, breadcrumbs and every inner page never load underneath navigation. */
.site-header + .site-main {
  padding-top: var(--bmitool-public-header-height) !important;
}
.admin-frontend-bar + .site-header + .site-main {
  padding-top: calc(var(--bmitool-admin-bar-height) + var(--bmitool-public-header-height)) !important;
}

/* Keep the toolbar links stable and prevent the Sign out control from inheriting broken button styles. */
.admin-frontend-inner {
  min-height: var(--bmitool-admin-bar-height);
  overflow: visible;
}
.admin-frontend-links {
  min-width: 0;
  flex: 0 0 auto;
}
.admin-frontend-signout {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: 32px;
  box-sizing: border-box;
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: 7px;
  background: transparent !important;
  color: inherit !important;
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  padding: 7px 10px;
  white-space: nowrap;
}
.admin-frontend-signout svg { flex: 0 0 auto; width: 14px; height: 14px; }

@media (max-width: 800px) {
  :root { --bmitool-public-header-height: 70px; }
}
@media (max-width: 720px) {
  .admin-frontend-inner {
    width: 100%;
    padding: 0 8px;
    overflow-x: auto;
    overflow-y: hidden;
  }
  .admin-frontend-links { padding-right: 4px; }
}
@media (max-width: 520px) {
  :root { --bmitool-admin-bar-height: 42px; --bmitool-public-header-height: 70px; }
  .admin-frontend-brand { display: none; }
  .admin-frontend-links { width: 100%; justify-content: flex-start; }
  .admin-frontend-links a { padding: 7px 7px; }
  .admin-frontend-signout { padding: 7px 8px; }
}


/* Performance: defer rendering of off-screen sections without changing layout. */
.site-ads, .site-footer { content-visibility: auto; contain-intrinsic-size: 1px 600px; }
img { max-width: 100%; height: auto; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } }

/* =========================================================
   PHASE 4 — PREMIUM, ACCESSIBLE CALCULATOR EXPERIENCE
   ========================================================= */
.skip-link{position:fixed;left:1rem;top:.75rem;z-index:2000;transform:translateY(-160%);padding:.7rem 1rem;border-radius:.75rem;background:hsl(var(--foreground));color:hsl(var(--background));font-weight:700;box-shadow:0 12px 30px rgba(0,0,0,.18);transition:transform .2s ease}.skip-link:focus{transform:translateY(0)}
body.mobile-nav-open{overflow:hidden}
.health-tool-page{padding-top:clamp(2rem,5vw,4.5rem)!important;padding-bottom:clamp(3rem,6vw,5.5rem)!important}
.health-tool-inner{position:relative}
.health-tool-hero{position:relative;padding:1.35rem 0 1.75rem}
.health-tool-hero:after{content:"";position:absolute;left:0;bottom:0;width:5rem;height:3px;border-radius:999px;background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--cyan)));opacity:.85}
.health-tool-hero h1{max-width:900px;font-size:clamp(2.25rem,5vw,4rem);line-height:1.02}
.health-tool-hero>p{max-width:760px}
.health-tool-grid{align-items:start}
.health-tool-card{box-shadow:0 18px 50px hsl(var(--foreground)/.06);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.health-tool-form{position:relative;overflow:hidden}
.health-tool-form:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--accent)),hsl(var(--cyan)))}
.health-tool-result{position:sticky;top:6.75rem;min-height:100%}
.health-tool-card input,.health-tool-card select{min-height:48px;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}
.health-tool-card input:focus,.health-tool-card select:focus{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 4px hsl(var(--ring)/.12)}
.health-tool-card button{min-height:50px;box-shadow:0 10px 24px hsl(var(--primary)/.18);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.health-tool-card button:hover{transform:translateY(-1px);box-shadow:0 14px 30px hsl(var(--primary)/.24);filter:saturate(1.05)}
.health-tool-card button:active{transform:translateY(0)}
.health-tool-context{background:linear-gradient(135deg,hsl(var(--primary)/.045),hsl(var(--card)));box-shadow:0 12px 36px hsl(var(--foreground)/.04)}
.health-tool-faq details,.health-tool-related a{transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.health-tool-faq details:hover,.health-tool-related a:hover{border-color:hsl(var(--primary)/.35);box-shadow:0 10px 26px hsl(var(--foreground)/.05)}
.health-tool-related a:hover{transform:translateY(-2px)}
.mobile-nav{box-shadow:0 18px 40px hsl(var(--foreground)/.12);border-top:1px solid hsl(var(--border)/.7)}
.mobile-nav a{min-height:48px;display:flex;align-items:center}
@media(max-width:900px){.health-tool-result{position:static}.health-tool-page{padding-top:2rem!important}.health-tool-hero{padding-bottom:1.35rem}.health-tool-card{box-shadow:0 12px 32px hsl(var(--foreground)/.055)}}
@media(max-width:560px){.health-tool-page{padding-top:1.25rem!important}.health-tool-hero h1{font-size:clamp(2rem,11vw,2.8rem)}.health-tool-card{border-radius:1.25rem!important}.health-tool-result{padding:1.15rem!important}.health-tool-card input,.health-tool-card select{min-height:46px}.health-tool-card button{min-height:48px}.health-tool-related a{padding:1rem!important}}
@media(prefers-reduced-motion:reduce){.health-tool-card,.health-tool-faq details,.health-tool-related a,.skip-link{transition:none}.health-tool-related a:hover,.health-tool-card button:hover{transform:none}}

/* Phase 5 — result actions/history */
.health-result-actions,.bmi-result-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:1rem}
.health-result-actions button,.bmi-result-actions button{border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--foreground));border-radius:.75rem;padding:.55rem .8rem;font-size:.82rem;font-weight:600;min-height:40px;cursor:pointer}
.health-result-actions button:hover,.bmi-result-actions button:hover{border-color:hsl(var(--primary)/.45);background:hsl(var(--primary)/.04)}
.health-result-history{position:relative}
.health-result-history summary,.bmi-result-actions details summary{list-style:none;cursor:pointer;border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:.75rem;padding:.55rem .8rem;font-size:.82rem;font-weight:600}
.health-result-history summary::-webkit-details-marker,.bmi-result-actions details summary::-webkit-details-marker{display:none}
.health-history-item,.bmi-history-list>div{display:flex;justify-content:space-between;gap:1rem;padding:.65rem .75rem;border-bottom:1px solid hsl(var(--border));font-size:.78rem}
.health-history-item:last-child,.bmi-history-list>div:last-child{border-bottom:0}
.health-result-history>div,.bmi-history-list{position:absolute;z-index:20;right:0;top:calc(100% + .45rem);width:min(360px,calc(100vw - 2rem));max-height:300px;overflow:auto;border:1px solid hsl(var(--border));border-radius:1rem;background:hsl(var(--card));box-shadow:0 18px 45px hsl(var(--foreground)/.14);padding:.35rem}
.health-history-item span,.bmi-history-list span{color:hsl(var(--muted-foreground));white-space:nowrap}
@media print{header,footer,.health-result-actions,.bmi-result-actions,.health-tool-related,.health-tool-faq,.health-tool-context,.bmi-actions,.bmi-advanced-options{display:none!important}.health-tool-result,.bmi-result{box-shadow:none!important;border:1px solid #bbb!important}.health-tool-page{padding:0!important}}
@media(max-width:560px){.health-result-actions,.bmi-result-actions{gap:.4rem}.health-result-actions button,.bmi-result-actions button,.health-result-actions summary,.bmi-result-actions details summary{flex:1 1 auto;text-align:center}.health-result-history>div,.bmi-history-list{position:fixed;left:1rem;right:1rem;width:auto;top:auto;bottom:1rem}}


/* =========================================================
   PHASE 8 — HEALTH TRUST / METHODOLOGY
   ========================================================= */
.trust-page-shell { max-width: 78rem; margin: 0 auto; }
.trust-subnav { display:flex; flex-wrap:wrap; gap:.6rem; margin-bottom:1.25rem; }
.trust-subnav a { display:inline-flex; align-items:center; border:1px solid hsl(var(--border)); border-radius:999px; padding:.55rem .85rem; font-size:.86rem; font-weight:700; color:hsl(var(--foreground)); background:hsl(var(--card)); transition:border-color .18s ease, transform .18s ease; }
.trust-subnav a:hover { border-color:hsl(var(--primary)/.45); transform:translateY(-1px); }
.trust-hero { border:1px solid hsl(var(--border)); border-radius:1.75rem; padding:clamp(1.5rem,4vw,3.25rem); background:linear-gradient(145deg,hsl(var(--card)),hsl(var(--surface-soft))); box-shadow:0 18px 50px hsl(var(--shadow-color)/.06); }
.trust-kicker { display:inline-flex; align-items:center; gap:.5rem; color:hsl(var(--primary)); font-size:.76rem; font-weight:800; letter-spacing:.12em; }
.trust-kicker svg { width:1rem; height:1rem; }
.trust-hero h1 { margin-top:1rem; max-width:58rem; font-family:"Space Grotesk",sans-serif; font-size:clamp(2rem,4.2vw,3.5rem); line-height:1.05; letter-spacing:-.035em; }
.trust-hero > p { margin-top:1.1rem; max-width:70ch; font-size:1.08rem; line-height:1.8; color:hsl(var(--muted-foreground)); }
.trust-meta { display:flex; flex-wrap:wrap; gap:.6rem 1.25rem; margin-top:1.5rem; padding-top:1rem; border-top:1px solid hsl(var(--border)); font-size:.82rem; color:hsl(var(--muted-foreground)); }
.trust-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1rem; }
.trust-grid article { border:1px solid hsl(var(--border)); border-radius:1.25rem; padding:1.5rem; background:hsl(var(--card)); }
.trust-grid h2,.policy-content h2,.trust-callout h2,.trust-footer-links h2 { font-family:"Space Grotesk",sans-serif; font-weight:750; letter-spacing:-.02em; }
.trust-grid h2 { font-size:1.2rem; }
.trust-grid p,.policy-content p { margin-top:.7rem; line-height:1.8; color:hsl(var(--muted-foreground)); }
.trust-callout { display:flex; gap:1rem; margin-top:1rem; padding:1.35rem 1.5rem; border:1px solid hsl(var(--primary)/.2); border-radius:1.25rem; background:hsl(var(--primary)/.055); }
.trust-callout > svg { width:1.35rem; height:1.35rem; flex:none; color:hsl(var(--primary)); margin-top:.15rem; }
.trust-callout p { margin-top:.5rem; line-height:1.75; color:hsl(var(--muted-foreground)); }
.trust-footer-links { margin-top:2rem; padding-top:1.5rem; border-top:1px solid hsl(var(--border)); }
.trust-footer-links > div { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:.75rem; }
.trust-footer-links a { font-weight:700; color:hsl(var(--primary)); }
.source-list { display:grid; gap:.75rem; margin-top:1rem; }
.source-list article { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; border:1px solid hsl(var(--border)); border-radius:1.1rem; padding:1.25rem 1.35rem; background:hsl(var(--card)); }
.source-list h2 { font-size:1.05rem; font-weight:750; }
.source-list p { margin-top:.3rem; color:hsl(var(--muted-foreground)); line-height:1.6; }
.source-list a { display:inline-flex; align-items:center; gap:.4rem; flex:none; font-size:.88rem; font-weight:750; color:hsl(var(--primary)); }
.source-list a svg { width:1rem; height:1rem; }
.policy-content { margin-top:1rem; max-width:78ch; border:1px solid hsl(var(--border)); border-radius:1.5rem; padding:clamp(1.5rem,4vw,3rem); background:hsl(var(--card)); }
.policy-content h2 { margin-top:2rem; font-size:1.35rem; }
.policy-content h2:first-child { margin-top:0; }
.article-trust-box { display:flex; gap:.75rem; align-items:flex-start; margin-top:1rem; padding:.85rem 1rem; border:1px solid hsl(var(--border)); border-radius:1rem; background:hsl(var(--muted)/.32); }
.article-trust-box > div { display:flex; flex-wrap:wrap; align-items:center; gap:.35rem .75rem; font-size:.8rem; line-height:1.5; }
.article-trust-box strong { font-weight:800; }
.article-trust-box span { color:hsl(var(--muted-foreground)); flex-basis:100%; }
.article-trust-box a { color:hsl(var(--primary)); font-weight:750; }
@media (max-width: 760px) { .trust-grid { grid-template-columns:1fr; } .source-list article { align-items:flex-start; flex-direction:column; } .trust-hero { border-radius:1.35rem; } }
.file\:border-0::file-selector-button{
  border-width: 0px;
}
.file\:bg-transparent::file-selector-button{
  background-color: transparent;
}
.file\:text-sm::file-selector-button{
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.file\:font-medium::file-selector-button{
  font-weight: 500;
}
.file\:text-foreground::file-selector-button{
  color: hsl(var(--foreground));
}
.placeholder\:text-muted-foreground::-moz-placeholder{
  color: hsl(var(--muted-foreground));
}
.placeholder\:text-muted-foreground::placeholder{
  color: hsl(var(--muted-foreground));
}
.after\:absolute::after{
  content: var(--tw-content);
  position: absolute;
}
.after\:-inset-2::after{
  content: var(--tw-content);
  inset: -0.5rem;
}
.after\:inset-y-0::after{
  content: var(--tw-content);
  top: 0px;
  bottom: 0px;
}
.after\:left-1\/2::after{
  content: var(--tw-content);
  left: 50%;
}
.after\:w-1::after{
  content: var(--tw-content);
  width: 0.25rem;
}
.after\:w-\[2px\]::after{
  content: var(--tw-content);
  width: 2px;
}
.after\:-translate-x-1\/2::after{
  content: var(--tw-content);
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.first\:rounded-l-md:first-child{
  border-top-left-radius: calc(var(--radius) - 2px);
  border-bottom-left-radius: calc(var(--radius) - 2px);
}
.first\:border-l:first-child{
  border-left-width: 1px;
}
.last\:mt-0:last-child{
  margin-top: 0px;
}
.last\:rounded-r-md:last-child{
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}
.last\:border-0:last-child{
  border-width: 0px;
}
.hover\:-translate-y-1:hover{
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:border-primary:hover{
  border-color: hsl(var(--primary));
}
.hover\:border-primary\/30:hover{
  border-color: hsl(var(--primary) / 0.3);
}
.hover\:border-primary\/40:hover{
  border-color: hsl(var(--primary) / 0.4);
}
.hover\:border-primary\/50:hover{
  border-color: hsl(var(--primary) / 0.5);
}
.hover\:bg-accent:hover{
  background-color: hsl(var(--accent));
}
.hover\:bg-amber-500\/10:hover{
  background-color: rgb(245 158 11 / 0.1);
}
.hover\:bg-black:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.hover\:bg-card:hover{
  background-color: hsl(var(--card));
}
.hover\:bg-destructive\/10:hover{
  background-color: hsl(var(--destructive) / 0.1);
}
.hover\:bg-destructive\/80:hover{
  background-color: hsl(var(--destructive) / 0.8);
}
.hover\:bg-destructive\/90:hover{
  background-color: hsl(var(--destructive) / 0.9);
}
.hover\:bg-emerald-500\/10:hover{
  background-color: rgb(16 185 129 / 0.1);
}
.hover\:bg-muted:hover{
  background-color: hsl(var(--muted));
}
.hover\:bg-muted\/50:hover{
  background-color: hsl(var(--muted) / 0.5);
}
.hover\:bg-primary:hover{
  background-color: hsl(var(--primary));
}
.hover\:bg-primary\/10:hover{
  background-color: hsl(var(--primary) / 0.1);
}
.hover\:bg-primary\/80:hover{
  background-color: hsl(var(--primary) / 0.8);
}
.hover\:bg-primary\/90:hover{
  background-color: hsl(var(--primary) / 0.9);
}
.hover\:bg-primary\/\[0\.03\]:hover{
  background-color: hsl(var(--primary) / 0.03);
}
.hover\:bg-secondary:hover{
  background-color: hsl(var(--secondary));
}
.hover\:bg-secondary\/30:hover{
  background-color: hsl(var(--secondary) / 0.3);
}
.hover\:bg-secondary\/40:hover{
  background-color: hsl(var(--secondary) / 0.4);
}
.hover\:bg-secondary\/50:hover{
  background-color: hsl(var(--secondary) / 0.5);
}
.hover\:bg-secondary\/70:hover{
  background-color: hsl(var(--secondary) / 0.7);
}
.hover\:bg-secondary\/80:hover{
  background-color: hsl(var(--secondary) / 0.8);
}
.hover\:bg-sidebar-accent:hover{
  background-color: hsl(var(--sidebar-accent));
}
.hover\:text-accent-foreground:hover{
  color: hsl(var(--accent-foreground));
}
.hover\:text-destructive:hover{
  color: hsl(var(--destructive));
}
.hover\:text-foreground:hover{
  color: hsl(var(--foreground));
}
.hover\:text-muted-foreground:hover{
  color: hsl(var(--muted-foreground));
}
.hover\:text-primary:hover{
  color: hsl(var(--primary));
}
.hover\:text-primary-foreground:hover{
  color: hsl(var(--primary-foreground));
}
.hover\:text-sidebar-accent-foreground:hover{
  color: hsl(var(--sidebar-accent-foreground));
}
.hover\:underline:hover{
  text-decoration-line: underline;
}
.hover\:opacity-100:hover{
  opacity: 1;
}
.hover\:opacity-80:hover{
  opacity: 0.8;
}
.hover\:opacity-90:hover{
  opacity: 0.9;
}
.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{
  --tw-shadow: 0 0 0 1px hsl(var(--sidebar-accent));
  --tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-lg:hover{
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-xl:hover{
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-primary\/10:hover{
  --tw-shadow-color: hsl(var(--primary) / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}
.hover\:after\:bg-sidebar-border:hover::after{
  content: var(--tw-content);
  background-color: hsl(var(--sidebar-border));
}
.focus\:border-primary:focus{
  border-color: hsl(var(--primary));
}
.focus\:bg-accent:focus{
  background-color: hsl(var(--accent));
}
.focus\:text-accent-foreground:focus{
  color: hsl(var(--accent-foreground));
}
.focus\:opacity-100:focus{
  opacity: 1;
}
.focus\:outline-none:focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus\:ring-1:focus{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-2:focus{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-primary\/20:focus{
  --tw-ring-color: hsl(var(--primary) / 0.2);
}
.focus\:ring-primary\/30:focus{
  --tw-ring-color: hsl(var(--primary) / 0.3);
}
.focus\:ring-primary\/40:focus{
  --tw-ring-color: hsl(var(--primary) / 0.4);
}
.focus\:ring-primary\/50:focus{
  --tw-ring-color: hsl(var(--primary) / 0.5);
}
.focus\:ring-ring:focus{
  --tw-ring-color: hsl(var(--ring));
}
.focus\:ring-offset-2:focus{
  --tw-ring-offset-width: 2px;
}
.focus-visible\:border-ring:focus-visible{
  border-color: hsl(var(--ring));
}
.focus-visible\:outline-none:focus-visible{
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus-visible\:ring-0:focus-visible{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus-visible\:ring-1:focus-visible{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus-visible\:ring-2:focus-visible{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus-visible\:ring-\[3px\]:focus-visible{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus-visible\:ring-ring:focus-visible{
  --tw-ring-color: hsl(var(--ring));
}
.focus-visible\:ring-ring\/50:focus-visible{
  --tw-ring-color: hsl(var(--ring) / 0.5);
}
.focus-visible\:ring-sidebar-ring:focus-visible{
  --tw-ring-color: hsl(var(--sidebar-ring));
}
.focus-visible\:ring-offset-1:focus-visible{
  --tw-ring-offset-width: 1px;
}
.focus-visible\:ring-offset-2:focus-visible{
  --tw-ring-offset-width: 2px;
}
.focus-visible\:ring-offset-background:focus-visible{
  --tw-ring-offset-color: hsl(var(--background));
}
.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\:bg-sidebar-accent:active{
  background-color: hsl(var(--sidebar-accent));
}
.active\:text-sidebar-accent-foreground:active{
  color: hsl(var(--sidebar-accent-foreground));
}
.disabled\:pointer-events-none:disabled{
  pointer-events: none;
}
.disabled\:cursor-not-allowed:disabled{
  cursor: not-allowed;
}
.disabled\:opacity-40:disabled{
  opacity: 0.4;
}
.disabled\:opacity-50:disabled{
  opacity: 0.5;
}
.disabled\:opacity-60:disabled{
  opacity: 0.6;
}
.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{
  opacity: 1;
}
.group:hover .group-hover\: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\:text-primary{
  color: hsl(var(--primary));
}
.group\/menu-item:hover .group-hover\/menu-item\:opacity-100{
  opacity: 1;
}
.group:hover .group-hover\:opacity-100{
  opacity: 1;
}
.group.destructive .group-\[\.destructive\]\:border-muted\/40{
  border-color: hsl(var(--muted) / 0.4);
}
.group.toaster .group-\[\.toaster\]\:border-border{
  border-color: hsl(var(--border));
}
.group.toast .group-\[\.toast\]\:bg-muted{
  background-color: hsl(var(--muted));
}
.group.toast .group-\[\.toast\]\:bg-primary{
  background-color: hsl(var(--primary));
}
.group.toaster .group-\[\.toaster\]\:bg-background{
  background-color: hsl(var(--background));
}
.group.destructive .group-\[\.destructive\]\:text-red-300{
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
.group.toast .group-\[\.toast\]\:text-muted-foreground{
  color: hsl(var(--muted-foreground));
}
.group.toast .group-\[\.toast\]\:text-primary-foreground{
  color: hsl(var(--primary-foreground));
}
.group.toaster .group-\[\.toaster\]\:text-foreground{
  color: hsl(var(--foreground));
}
.group.toaster .group-\[\.toaster\]\:shadow-lg{
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{
  border-color: hsl(var(--destructive) / 0.3);
}
.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{
  background-color: hsl(var(--destructive));
}
.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{
  color: hsl(var(--destructive-foreground));
}
.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{
  --tw-text-opacity: 1;
  color: rgb(254 242 242 / var(--tw-text-opacity, 1));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{
  --tw-ring-color: hsl(var(--destructive));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{
  --tw-ring-offset-color: #dc2626;
}
.peer\/menu-button:hover ~ .peer-hover\/menu-button\:text-sidebar-accent-foreground{
  color: hsl(var(--sidebar-accent-foreground));
}
.peer:disabled ~ .peer-disabled\:cursor-not-allowed{
  cursor: not-allowed;
}
.peer:disabled ~ .peer-disabled\:opacity-70{
  opacity: 0.7;
}
.has-\[\>button\]\:ml-\[-0\.45rem\]:has(>button){
  margin-left: -0.45rem;
}
.has-\[\>button\]\:mr-\[-0\.4rem\]:has(>button){
  margin-right: -0.4rem;
}
.has-\[\>kbd\]\:ml-\[-0\.35rem\]:has(>kbd){
  margin-left: -0.35rem;
}
.has-\[\>kbd\]\:mr-\[-0\.35rem\]:has(>kbd){
  margin-right: -0.35rem;
}
.has-\[\>\[data-align\=block-end\]\]\:h-auto:has(>[data-align=block-end]){
  height: auto;
}
.has-\[\>\[data-align\=block-start\]\]\:h-auto:has(>[data-align=block-start]){
  height: auto;
}
.has-\[\>textarea\]\:h-auto:has(>textarea){
  height: auto;
}
.has-\[\>\[data-slot\=field\]\]\:w-full:has(>[data-slot=field]){
  width: 100%;
}
.has-\[\>\[data-align\=block-end\]\]\:flex-col:has(>[data-align=block-end]){
  flex-direction: column;
}
.has-\[\>\[data-align\=block-start\]\]\:flex-col:has(>[data-align=block-start]){
  flex-direction: column;
}
.has-\[\>\[data-slot\=field\]\]\:flex-col:has(>[data-slot=field]){
  flex-direction: column;
}
.has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]){
  align-items: flex-start;
}
.has-\[\>\[data-slot\=button-group\]\]\:gap-2:has(>[data-slot=button-group]){
  gap: 0.5rem;
}
.has-\[\>\[data-slot\=checkbox-group\]\]\:gap-3:has(>[data-slot=checkbox-group]){
  gap: 0.75rem;
}
.has-\[\>\[data-slot\=radio-group\]\]\:gap-3:has(>[data-slot=radio-group]){
  gap: 0.75rem;
}
.has-\[\>\[data-slot\=field\]\]\:rounded-md:has(>[data-slot=field]){
  border-radius: calc(var(--radius) - 2px);
}
.has-\[\>\[data-slot\=field\]\]\:border:has(>[data-slot=field]){
  border-width: 1px;
}
.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:border-destructive:has([data-slot][aria-invalid=true]){
  border-color: hsl(var(--destructive));
}
.has-\[\[data-variant\=inset\]\]\:bg-sidebar:has([data-variant=inset]){
  background-color: hsl(var(--sidebar-background));
}
.has-\[\>svg\]\:p-0:has(>svg){
  padding: 0px;
}
.has-\[\>svg\]\:px-2:has(>svg){
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.has-\[\>svg\]\:px-2\.5:has(>svg){
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
.has-\[\:disabled\]\:opacity-50:has(:disabled){
  opacity: 0.5;
}
.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-1:has([data-slot=input-group-control]:focus-visible){
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring:has([data-slot=input-group-control]:focus-visible){
  --tw-ring-color: hsl(var(--ring));
}
.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid=true]){
  --tw-ring-color: hsl(var(--destructive) / 0.2);
}
.group\/item:has([data-slot=item-description]) .group-has-\[\[data-slot\=item-description\]\]\/item\:translate-y-0\.5{
  --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));
}
.group\/item:has([data-slot=item-description]) .group-has-\[\[data-slot\=item-description\]\]\/item\:self-start{
  align-self: flex-start;
}
.group\/field:has([data-orientation=horizontal]) .group-has-\[\[data-orientation\=horizontal\]\]\/field\:text-balance{
  text-wrap: balance;
}
.group\/input-group:has(>input) .group-has-\[\>input\]\/input-group\:pb-2\.5{
  padding-bottom: 0.625rem;
}
.group\/input-group:has(>input) .group-has-\[\>input\]\/input-group\:pt-2\.5{
  padding-top: 0.625rem;
}
.group\/menu-item:has([data-sidebar=menu-action]) .group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8{
  padding-right: 2rem;
}
.aria-disabled\:pointer-events-none[aria-disabled="true"]{
  pointer-events: none;
}
.aria-disabled\:opacity-50[aria-disabled="true"]{
  opacity: 0.5;
}
.aria-selected\:text-muted-foreground[aria-selected="true"]{
  color: hsl(var(--muted-foreground));
}
.data-\[disabled\=true\]\:pointer-events-none[data-disabled="true"]{
  pointer-events: none;
}
.data-\[disabled\]\:pointer-events-none[data-disabled]{
  pointer-events: none;
}
.data-\[orientation\=vertical\]\:h-auto[data-orientation="vertical"]{
  height: auto;
}
.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction="vertical"]{
  height: 1px;
}
.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction="vertical"]{
  width: 100%;
}
.data-\[side\=bottom\]\:translate-y-1[data-side="bottom"]{
  --tw-translate-y: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[side\=left\]\:-translate-x-1[data-side="left"]{
  --tw-translate-x: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[side\=right\]\:translate-x-1[data-side="right"]{
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[side\=top\]\:-translate-y-1[data-side="top"]{
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[state\=checked\]\:translate-x-4[data-state="checked"]{
  --tw-translate-x: 1rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[state\=unchecked\]\:translate-x-0[data-state="unchecked"]{
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[swipe\=cancel\]\:translate-x-0[data-swipe="cancel"]{
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe="end"]{
  --tw-translate-x: var(--radix-toast-swipe-end-x);
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe="move"]{
  --tw-translate-x: var(--radix-toast-swipe-move-x);
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes accordion-up{

  from{
    height: var(--radix-accordion-content-height);
  }

  to{
    height: 0;
  }
}
.data-\[state\=closed\]\:animate-accordion-up[data-state="closed"]{
  animation: accordion-up 0.2s ease-out;
}
@keyframes accordion-down{

  from{
    height: 0;
  }

  to{
    height: var(--radix-accordion-content-height);
  }
}
.data-\[state\=open\]\:animate-accordion-down[data-state="open"]{
  animation: accordion-down 0.2s ease-out;
}
.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction="vertical"]{
  flex-direction: column;
}
.data-\[slot\=checkbox-group\]\:gap-3[data-slot="checkbox-group"]{
  gap: 0.75rem;
}
.data-\[range-end\=true\]\:rounded-md[data-range-end="true"]{
  border-radius: calc(var(--radius) - 2px);
}
.data-\[range-middle\=true\]\:rounded-none[data-range-middle="true"]{
  border-radius: 0px;
}
.data-\[range-start\=true\]\:rounded-md[data-range-start="true"]{
  border-radius: calc(var(--radius) - 2px);
}
.data-\[selected\=true\]\:rounded-none[data-selected="true"]{
  border-radius: 0px;
}
.data-\[active\=true\]\:bg-sidebar-accent[data-active="true"]{
  background-color: hsl(var(--sidebar-accent));
}
.data-\[range-end\=true\]\:bg-primary[data-range-end="true"]{
  background-color: hsl(var(--primary));
}
.data-\[range-middle\=true\]\:bg-accent[data-range-middle="true"]{
  background-color: hsl(var(--accent));
}
.data-\[range-start\=true\]\:bg-primary[data-range-start="true"]{
  background-color: hsl(var(--primary));
}
.data-\[selected-single\=true\]\:bg-primary[data-selected-single="true"]{
  background-color: hsl(var(--primary));
}
.data-\[selected\=true\]\:bg-accent[data-selected="true"]{
  background-color: hsl(var(--accent));
}
.data-\[state\=active\]\:bg-background[data-state="active"]{
  background-color: hsl(var(--background));
}
.data-\[state\=checked\]\:bg-primary[data-state="checked"]{
  background-color: hsl(var(--primary));
}
.data-\[state\=on\]\:bg-accent[data-state="on"]{
  background-color: hsl(var(--accent));
}
.data-\[state\=open\]\:bg-accent[data-state="open"]{
  background-color: hsl(var(--accent));
}
.data-\[state\=open\]\:bg-accent\/50[data-state="open"]{
  background-color: hsl(var(--accent) / 0.5);
}
.data-\[state\=open\]\:bg-secondary[data-state="open"]{
  background-color: hsl(var(--secondary));
}
.data-\[state\=selected\]\:bg-muted[data-state="selected"]{
  background-color: hsl(var(--muted));
}
.data-\[state\=unchecked\]\:bg-input[data-state="unchecked"]{
  background-color: hsl(var(--input));
}
.data-\[variant\=label\]\:text-sm[data-variant="label"]{
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.data-\[variant\=legend\]\:text-base[data-variant="legend"]{
  font-size: 1rem;
  line-height: 1.5rem;
}
.data-\[active\=true\]\:font-medium[data-active="true"]{
  font-weight: 500;
}
.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active="true"]{
  color: hsl(var(--sidebar-accent-foreground));
}
.data-\[invalid\=true\]\:text-destructive[data-invalid="true"]{
  color: hsl(var(--destructive));
}
.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{
  color: hsl(var(--muted-foreground));
}
.data-\[range-end\=true\]\:text-primary-foreground[data-range-end="true"]{
  color: hsl(var(--primary-foreground));
}
.data-\[range-middle\=true\]\:text-accent-foreground[data-range-middle="true"]{
  color: hsl(var(--accent-foreground));
}
.data-\[range-start\=true\]\:text-primary-foreground[data-range-start="true"]{
  color: hsl(var(--primary-foreground));
}
.data-\[selected-single\=true\]\:text-primary-foreground[data-selected-single="true"]{
  color: hsl(var(--primary-foreground));
}
.data-\[selected\=true\]\:text-accent-foreground[data-selected="true"]{
  color: hsl(var(--accent-foreground));
}
.data-\[state\=active\]\:text-foreground[data-state="active"]{
  color: hsl(var(--foreground));
}
.data-\[state\=checked\]\:text-primary-foreground[data-state="checked"]{
  color: hsl(var(--primary-foreground));
}
.data-\[state\=on\]\:text-accent-foreground[data-state="on"]{
  color: hsl(var(--accent-foreground));
}
.data-\[state\=open\]\:text-accent-foreground[data-state="open"]{
  color: hsl(var(--accent-foreground));
}
.data-\[state\=open\]\:text-muted-foreground[data-state="open"]{
  color: hsl(var(--muted-foreground));
}
.data-\[disabled\=true\]\:opacity-50[data-disabled="true"]{
  opacity: 0.5;
}
.data-\[disabled\]\:opacity-50[data-disabled]{
  opacity: 0.5;
}
.data-\[state\=open\]\:opacity-100[data-state="open"]{
  opacity: 1;
}
.data-\[state\=active\]\:shadow[data-state="active"]{
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.data-\[swipe\=move\]\:transition-none[data-swipe="move"]{
  transition-property: none;
}
.data-\[state\=closed\]\:duration-300[data-state="closed"]{
  transition-duration: 300ms;
}
.data-\[state\=open\]\:duration-500[data-state="open"]{
  transition-duration: 500ms;
}
.data-\[motion\^\=from-\]\:animate-in[data-motion^="from-"]{
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}
.data-\[state\=open\]\:animate-in[data-state="open"]{
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}
.data-\[state\=visible\]\:animate-in[data-state="visible"]{
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}
.data-\[motion\^\=to-\]\:animate-out[data-motion^="to-"]{
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}
.data-\[state\=closed\]\:animate-out[data-state="closed"]{
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}
.data-\[state\=hidden\]\:animate-out[data-state="hidden"]{
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}
.data-\[swipe\=end\]\:animate-out[data-swipe="end"]{
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}
.data-\[motion\^\=from-\]\:fade-in[data-motion^="from-"]{
  --tw-enter-opacity: 0;
}
.data-\[motion\^\=to-\]\:fade-out[data-motion^="to-"]{
  --tw-exit-opacity: 0;
}
.data-\[state\=closed\]\:fade-out-0[data-state="closed"]{
  --tw-exit-opacity: 0;
}
.data-\[state\=closed\]\:fade-out-80[data-state="closed"]{
  --tw-exit-opacity: 0.8;
}
.data-\[state\=hidden\]\:fade-out[data-state="hidden"]{
  --tw-exit-opacity: 0;
}
.data-\[state\=open\]\:fade-in-0[data-state="open"]{
  --tw-enter-opacity: 0;
}
.data-\[state\=visible\]\:fade-in[data-state="visible"]{
  --tw-enter-opacity: 0;
}
.data-\[state\=closed\]\:zoom-out-95[data-state="closed"]{
  --tw-exit-scale: .95;
}
.data-\[state\=open\]\:zoom-in-90[data-state="open"]{
  --tw-enter-scale: .9;
}
.data-\[state\=open\]\:zoom-in-95[data-state="open"]{
  --tw-enter-scale: .95;
}
.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion="from-end"]{
  --tw-enter-translate-x: 13rem;
}
.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion="from-start"]{
  --tw-enter-translate-x: -13rem;
}
.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion="to-end"]{
  --tw-exit-translate-x: 13rem;
}
.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion="to-start"]{
  --tw-exit-translate-x: -13rem;
}
.data-\[side\=bottom\]\:slide-in-from-top-2[data-side="bottom"]{
  --tw-enter-translate-y: -0.5rem;
}
.data-\[side\=left\]\:slide-in-from-right-2[data-side="left"]{
  --tw-enter-translate-x: 0.5rem;
}
.data-\[side\=right\]\:slide-in-from-left-2[data-side="right"]{
  --tw-enter-translate-x: -0.5rem;
}
.data-\[side\=top\]\:slide-in-from-bottom-2[data-side="top"]{
  --tw-enter-translate-y: 0.5rem;
}
.data-\[state\=closed\]\:slide-out-to-bottom[data-state="closed"]{
  --tw-exit-translate-y: 100%;
}
.data-\[state\=closed\]\:slide-out-to-left[data-state="closed"]{
  --tw-exit-translate-x: -100%;
}
.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state="closed"]{
  --tw-exit-translate-x: -50%;
}
.data-\[state\=closed\]\:slide-out-to-right[data-state="closed"]{
  --tw-exit-translate-x: 100%;
}
.data-\[state\=closed\]\:slide-out-to-right-full[data-state="closed"]{
  --tw-exit-translate-x: 100%;
}
.data-\[state\=closed\]\:slide-out-to-top[data-state="closed"]{
  --tw-exit-translate-y: -100%;
}
.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state="closed"]{
  --tw-exit-translate-y: -48%;
}
.data-\[state\=open\]\:slide-in-from-bottom[data-state="open"]{
  --tw-enter-translate-y: 100%;
}
.data-\[state\=open\]\:slide-in-from-left[data-state="open"]{
  --tw-enter-translate-x: -100%;
}
.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state="open"]{
  --tw-enter-translate-x: -50%;
}
.data-\[state\=open\]\:slide-in-from-right[data-state="open"]{
  --tw-enter-translate-x: 100%;
}
.data-\[state\=open\]\:slide-in-from-top[data-state="open"]{
  --tw-enter-translate-y: -100%;
}
.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state="open"]{
  --tw-enter-translate-y: -48%;
}
.data-\[state\=open\]\:slide-in-from-top-full[data-state="open"]{
  --tw-enter-translate-y: -100%;
}
.data-\[state\=closed\]\:duration-300[data-state="closed"]{
  animation-duration: 300ms;
}
.data-\[state\=open\]\:duration-500[data-state="open"]{
  animation-duration: 500ms;
}
.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction="vertical"]::after{
  content: var(--tw-content);
  left: 0px;
}
.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction="vertical"]::after{
  content: var(--tw-content);
  height: 0.25rem;
}
.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction="vertical"]::after{
  content: var(--tw-content);
  width: 100%;
}
.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction="vertical"]::after{
  content: var(--tw-content);
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction="vertical"]::after{
  content: var(--tw-content);
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[state\=open\]\:hover\:bg-accent:hover[data-state="open"]{
  background-color: hsl(var(--accent));
}
.data-\[state\=open\]\:hover\:bg-sidebar-accent:hover[data-state="open"]{
  background-color: hsl(var(--sidebar-accent));
}
.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state="open"]{
  color: hsl(var(--sidebar-accent-foreground));
}
.data-\[state\=open\]\:focus\:bg-accent:focus[data-state="open"]{
  background-color: hsl(var(--accent));
}
.group\/day[data-focused="true"] .group-data-\[focused\=true\]\/day\:relative{
  position: relative;
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]{
  left: calc(var(--sidebar-width) * -1);
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]{
  right: calc(var(--sidebar-width) * -1);
}
.group[data-side="left"] .group-data-\[side\=left\]\:-right-4{
  right: -1rem;
}
.group[data-side="right"] .group-data-\[side\=right\]\:left-0{
  left: 0px;
}
.group\/day[data-focused="true"] .group-data-\[focused\=true\]\/day\:z-10{
  z-index: 10;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:-mt-8{
  margin-top: -2rem;
}
.group\/field-group[data-variant="outline"] .group-data-\[variant\=outline\]\/field-group\:-mb-2{
  margin-bottom: -0.5rem;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:hidden{
  display: none;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!size-8{
  width: 2rem !important;
  height: 2rem !important;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[--sidebar-width-icon\]{
  width: var(--sidebar-width-icon);
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\]{
  width: calc(var(--sidebar-width-icon) + 1rem);
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\]{
  width: calc(var(--sidebar-width-icon) + 1rem + 2px);
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:w-0{
  width: 0px;
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:translate-x-0{
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group[data-side="right"] .group-data-\[side\=right\]\:rotate-180{
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group[data-state="open"] .group-data-\[state\=open\]\:rotate-180{
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:overflow-hidden{
  overflow: hidden;
}
.group[data-variant="floating"] .group-data-\[variant\=floating\]\:rounded-lg{
  border-radius: var(--radius);
}
.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border{
  border-width: 1px;
}
.group[data-side="left"] .group-data-\[side\=left\]\:border-r{
  border-right-width: 1px;
}
.group[data-side="right"] .group-data-\[side\=right\]\:border-l{
  border-left-width: 1px;
}
.group\/day[data-focused="true"] .group-data-\[focused\=true\]\/day\:border-ring{
  border-color: hsl(var(--ring));
}
.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border-sidebar-border{
  border-color: hsl(var(--sidebar-border));
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!p-0{
  padding: 0px !important;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!p-2{
  padding: 0.5rem !important;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:opacity-0{
  opacity: 0;
}
.group\/field[data-disabled="true"] .group-data-\[disabled\=true\]\/field\:opacity-50{
  opacity: 0.5;
}
.group\/input-group[data-disabled="true"] .group-data-\[disabled\=true\]\/input-group\:opacity-50{
  opacity: 0.5;
}
.group[data-variant="floating"] .group-data-\[variant\=floating\]\: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);
}
.group\/day[data-focused="true"] .group-data-\[focused\=true\]\/day\:ring-\[3px\]{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.group\/day[data-focused="true"] .group-data-\[focused\=true\]\/day\:ring-ring\/50{
  --tw-ring-color: hsl(var(--ring) / 0.5);
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:after\:left-full::after{
  content: var(--tw-content);
  left: 100%;
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:hover\:bg-sidebar:hover{
  background-color: hsl(var(--sidebar-background));
}
.peer\/menu-button[data-size="default"] ~ .peer-data-\[size\=default\]\/menu-button\:top-1\.5{
  top: 0.375rem;
}
.peer\/menu-button[data-size="lg"] ~ .peer-data-\[size\=lg\]\/menu-button\:top-2\.5{
  top: 0.625rem;
}
.peer\/menu-button[data-size="sm"] ~ .peer-data-\[size\=sm\]\/menu-button\:top-1{
  top: 0.25rem;
}
.peer\/menu-button[data-active="true"] ~ .peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground{
  color: hsl(var(--sidebar-accent-foreground));
}
.dark\:border-destructive:is(.dark *){
  border-color: hsl(var(--destructive));
}
.dark\:bg-amber-950\/20:is(.dark *){
  background-color: rgb(69 26 3 / 0.2);
}
.dark\:bg-input\/30:is(.dark *){
  background-color: hsl(var(--input) / 0.3);
}
.dark\:bg-transparent:is(.dark *){
  background-color: transparent;
}
.dark\:text-\[\#8ab4f8\]:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(138 180 248 / var(--tw-text-opacity, 1));
}
.dark\:text-amber-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.dark\:text-emerald-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.dark\:text-green-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}
.dark\:text-sky-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(56 189 248 / var(--tw-text-opacity, 1));
}
.dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:has([data-slot][aria-invalid=true]):is(.dark *){
  --tw-ring-color: hsl(var(--destructive) / 0.4);
}
@media (min-width: 640px){

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

  .sm\:bottom-7{
    bottom: 1.75rem;
  }

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

  .sm\:right-7{
    right: 1.75rem;
  }

  .sm\:top-auto{
    top: auto;
  }

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

  .sm\:flex{
    display: flex;
  }

  .sm\:w-64{
    width: 16rem;
  }

  .sm\:w-72{
    width: 18rem;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .sm\:p-10{
    padding: 2.5rem;
  }

  .sm\:p-7{
    padding: 1.75rem;
  }

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

  .sm\:p-9{
    padding: 2.25rem;
  }

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

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

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

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

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

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

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

  .data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state="open"]{
    --tw-enter-translate-y: 100%;
  }
}
@media (min-width: 768px){

  .md\:absolute{
    position: absolute;
  }

  .md\:block{
    display: block;
  }

  .md\:flex{
    display: flex;
  }

  .md\:aspect-\[16\/10\]{
    aspect-ratio: 16/10;
  }

  .md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{
    width: var(--radix-navigation-menu-viewport-width);
  }

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

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

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

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

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

  .md\:grid-cols-\[1fr_1\.5fr_120px_1fr_auto_auto\]{
    grid-template-columns: 1fr 1.5fr 120px 1fr auto auto;
  }

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

  .md\:items-end{
    align-items: flex-end;
  }

  .md\:p-12{
    padding: 3rem;
  }

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

  .md\:opacity-0{
    opacity: 0;
  }

  .after\:md\:hidden::after{
    content: var(--tw-content);
    display: none;
  }

  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:m-2{
    margin: 0.5rem;
  }

  .peer[data-state="collapsed"][data-variant="inset"] ~ .md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2{
    margin-left: 0.5rem;
  }

  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:ml-0{
    margin-left: 0px;
  }

  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:rounded-xl{
    border-radius: 0.75rem;
  }

  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\: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);
  }
}
@media (min-width: 1024px){

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

  .lg\:flex{
    display: flex;
  }

  .lg\:hidden{
    display: none;
  }

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

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

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

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

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

  .lg\:grid-cols-\[1\.1fr_\.9fr\]{
    grid-template-columns: 1.1fr .9fr;
  }

  .lg\:grid-cols-\[1\.25fr_\.75fr\]{
    grid-template-columns: 1.25fr .75fr;
  }

  .lg\:grid-cols-\[1fr_1\.2fr\]{
    grid-template-columns: 1fr 1.2fr;
  }

  .lg\:grid-cols-\[1fr_1\.4fr\]{
    grid-template-columns: 1fr 1.4fr;
  }

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

  .lg\:grid-cols-\[1fr_20rem\]{
    grid-template-columns: 1fr 20rem;
  }

  .lg\:grid-cols-\[minmax\(0\2c 1fr\)_18rem\]{
    grid-template-columns: minmax(0,1fr) 18rem;
  }

  .lg\:pl-64{
    padding-left: 16rem;
  }

  .lg\:text-\[2\.7rem\]{
    font-size: 2.7rem;
  }
}
@media (min-width: 1280px){

  .xl\:grid-cols-\[minmax\(0\2c 1fr\)_360px\]{
    grid-template-columns: minmax(0,1fr) 360px;
  }
}
.\[\&\+\[data-slot\=item-content\]\]\:flex-none+[data-slot=item-content]{
  flex: none;
}
.\[\&\+div\]\:text-xs+div{
  font-size: 0.75rem;
  line-height: 1rem;
}
.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{
  display: none;
}
.\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-md:first-child[data-selected=true] button{
  border-top-left-radius: calc(var(--radius) - 2px);
  border-bottom-left-radius: calc(var(--radius) - 2px);
}
.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){
  padding-right: 0px;
}
.\[\&\:last-child\[data-selected\=true\]_button\]\:rounded-r-md:last-child[data-selected=true] button{
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}
.\[\&\>\*\:not\(\:first-child\)\]\:rounded-l-none>*:not(:first-child){
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}
.\[\&\>\*\:not\(\:first-child\)\]\:rounded-t-none>*:not(:first-child){
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
}
.\[\&\>\*\:not\(\:first-child\)\]\:border-l-0>*:not(:first-child){
  border-left-width: 0px;
}
.\[\&\>\*\:not\(\:first-child\)\]\:border-t-0>*:not(:first-child){
  border-top-width: 0px;
}
.\[\&\>\*\:not\(\:last-child\)\]\:rounded-b-none>*:not(:last-child){
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
}
.\[\&\>\*\:not\(\:last-child\)\]\:rounded-r-none>*:not(:last-child){
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
}
.\[\&\>\*\]\:w-full>*{
  width: 100%;
}
.\[\&\>\*\]\:focus-visible\:relative:focus-visible>*{
  position: relative;
}
.\[\&\>\*\]\:focus-visible\:z-10:focus-visible>*{
  z-index: 10;
}
.\[\&\>\.sr-only\]\:w-auto>.sr-only{
  width: auto;
}
.\[\&\>\[data-slot\=field-group\]\]\:gap-4>[data-slot=field-group]{
  gap: 1rem;
}
.\[\&\>\[data-slot\=field-label\]\]\:flex-auto>[data-slot=field-label]{
  flex: 1 1 auto;
}
.\[\&\>\[data-slot\=field\]\]\:p-4>[data-slot=field]{
  padding: 1rem;
}
.has-\[select\[aria-hidden\=true\]\:last-child\]\:\[\&\>\[data-slot\=select-trigger\]\:last-of-type\]\:rounded-r-md>[data-slot=select-trigger]:last-of-type:has(select[aria-hidden=true]:last-child){
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}
.\[\&\>\[data-slot\=select-trigger\]\:not\(\[class\*\=\'w-\'\]\)\]\:w-fit>[data-slot=select-trigger]:not([class*='w-']){
  width: -moz-fit-content;
  width: fit-content;
}
.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{
  --tw-translate-y: 2px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.\[\&\>a\:hover\]\:text-primary>a:hover{
  color: hsl(var(--primary));
}
.\[\&\>a\]\:underline>a{
  text-decoration-line: underline;
}
.\[\&\>a\]\:underline-offset-4>a{
  text-underline-offset: 4px;
}
.\[\&\>button\]\:hidden>button{
  display: none;
}
.\[\&\>input\]\:flex-1>input{
  flex: 1 1 0%;
}
.has-\[\>\[data-align\=block-end\]\]\:\[\&\>input\]\:pt-3>input:has(>[data-align=block-end]){
  padding-top: 0.75rem;
}
.has-\[\>\[data-align\=block-start\]\]\:\[\&\>input\]\:pb-3>input:has(>[data-align=block-start]){
  padding-bottom: 0.75rem;
}
.has-\[\>\[data-align\=inline-end\]\]\:\[\&\>input\]\:pr-2>input:has(>[data-align=inline-end]){
  padding-right: 0.5rem;
}
.has-\[\>\[data-align\=inline-start\]\]\:\[\&\>input\]\:pl-2>input:has(>[data-align=inline-start]){
  padding-left: 0.5rem;
}
.\[\&\>kbd\]\:rounded-\[calc\(var\(--radius\)-5px\)\]>kbd{
  border-radius: calc(var(--radius) - 5px);
}
.\[\&\>span\:last-child\]\:truncate>span:last-child{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.\[\&\>span\]\:line-clamp-1>span{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.\[\&\>span\]\:text-xs>span{
  font-size: 0.75rem;
  line-height: 1rem;
}
.\[\&\>span\]\:opacity-70>span{
  opacity: 0.7;
}
.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{
  --tw-translate-y: -3px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5>svg:not([class*='size-']){
  width: 0.875rem;
  height: 0.875rem;
}
.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4>svg:not([class*='size-']){
  width: 1rem;
  height: 1rem;
}
.\[\&\>svg\]\:absolute>svg{
  position: absolute;
}
.\[\&\>svg\]\:left-4>svg{
  left: 1rem;
}
.\[\&\>svg\]\:top-4>svg{
  top: 1rem;
}
.\[\&\>svg\]\:size-3\.5>svg{
  width: 0.875rem;
  height: 0.875rem;
}
.\[\&\>svg\]\:size-4>svg{
  width: 1rem;
  height: 1rem;
}
.\[\&\>svg\]\:h-2\.5>svg{
  height: 0.625rem;
}
.\[\&\>svg\]\:h-3>svg{
  height: 0.75rem;
}
.\[\&\>svg\]\:h-3\.5>svg{
  height: 0.875rem;
}
.\[\&\>svg\]\:w-2\.5>svg{
  width: 0.625rem;
}
.\[\&\>svg\]\:w-3>svg{
  width: 0.75rem;
}
.\[\&\>svg\]\:w-3\.5>svg{
  width: 0.875rem;
}
.\[\&\>svg\]\:shrink-0>svg{
  flex-shrink: 0;
}
.\[\&\>svg\]\:text-destructive>svg{
  color: hsl(var(--destructive));
}
.\[\&\>svg\]\:text-foreground>svg{
  color: hsl(var(--foreground));
}
.\[\&\>svg\]\:text-muted-foreground>svg{
  color: hsl(var(--muted-foreground));
}
.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{
  color: hsl(var(--sidebar-accent-foreground));
}
.\[\&\>svg\~\*\]\:pl-7>svg~*{
  padding-left: 1.75rem;
}
.\[\&\>tr\]\:last\:border-b-0:last-child>tr{
  border-bottom-width: 0px;
}
.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{
  --tw-rotate: 90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{
  fill: hsl(var(--muted-foreground));
}
.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke='#ccc']{
  stroke: hsl(var(--border) / 0.5);
}
.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{
  stroke: hsl(var(--border));
}
.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke='#fff']{
  stroke: transparent;
}
.\[\&_\.recharts-layer\]\:outline-none .recharts-layer{
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke='#ccc']{
  stroke: hsl(var(--border));
}
.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector{
  fill: hsl(var(--muted));
}
.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{
  fill: hsl(var(--muted));
}
.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke='#ccc']{
  stroke: hsl(var(--border));
}
.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke='#fff']{
  stroke: transparent;
}
.\[\&_\.recharts-sector\]\:outline-none .recharts-sector{
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.\[\&_\.recharts-surface\]\:outline-none .recharts-surface{
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{
  font-size: 0.75rem;
  line-height: 1rem;
}
.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{
  font-weight: 500;
}
.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{
  color: hsl(var(--muted-foreground));
}
.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden]) ~[cmdk-group]{
  padding-top: 0px;
}
.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{
  height: 3rem;
}
.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{
  height: 1.25rem;
}
.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{
  width: 1.25rem;
}
.\[\&_\[data-cmdk-input-wrapper\]_svg\]\:h-5 [data-cmdk-input-wrapper] svg{
  height: 1.25rem;
}
.\[\&_\[data-cmdk-input-wrapper\]_svg\]\:w-5 [data-cmdk-input-wrapper] svg{
  width: 1.25rem;
}
.\[\&_blockquote\]\:border-l-4 blockquote{
  border-left-width: 4px;
}
.\[\&_blockquote\]\:border-primary blockquote{
  border-color: hsl(var(--primary));
}
.\[\&_blockquote\]\:pl-3 blockquote{
  padding-left: 0.75rem;
}
.\[\&_blockquote\]\:italic blockquote{
  font-style: italic;
}
.\[\&_h2\]\:mt-4 h2{
  margin-top: 1rem;
}
.\[\&_h2\]\:text-xl h2{
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.\[\&_h2\]\:font-bold h2{
  font-weight: 700;
}
.\[\&_h3\]\:mt-3 h3{
  margin-top: 0.75rem;
}
.\[\&_h3\]\:text-lg h3{
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.\[\&_h3\]\:font-semibold h3{
  font-weight: 600;
}
.\[\&_img\]\:my-2 img{
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.\[\&_img\]\:size-full img{
  width: 100%;
  height: 100%;
}
.\[\&_img\]\:rounded-lg img{
  border-radius: var(--radius);
}
.\[\&_img\]\:object-cover img{
  -o-object-fit: cover;
     object-fit: cover;
}
.\[\&_ol\]\:list-decimal ol{
  list-style-type: decimal;
}
.\[\&_ol\]\:pl-6 ol{
  padding-left: 1.5rem;
}
.\[\&_p\]\:leading-relaxed p{
  line-height: 1.625;
}
.\[\&_pre\]\:rounded-lg pre{
  border-radius: var(--radius);
}
.\[\&_pre\]\:bg-secondary pre{
  background-color: hsl(var(--secondary));
}
.\[\&_pre\]\:p-3 pre{
  padding: 0.75rem;
}
.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*='size-']){
  width: 0.75rem;
  height: 0.75rem;
}
.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*='size-']){
  width: 1rem;
  height: 1rem;
}
.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-6 svg:not([class*='size-']){
  width: 1.5rem;
  height: 1.5rem;
}
.\[\&_svg\]\:pointer-events-none svg{
  pointer-events: none;
}
.\[\&_svg\]\:size-4 svg{
  width: 1rem;
  height: 1rem;
}
.\[\&_svg\]\:shrink-0 svg{
  flex-shrink: 0;
}
.\[\&_tr\:last-child\]\:border-0 tr:last-child{
  border-width: 0px;
}
.\[\&_tr\]\:border-b tr{
  border-bottom-width: 1px;
}
.\[\&_ul\]\:list-disc ul{
  list-style-type: disc;
}
.\[\&_ul\]\:pl-6 ul{
  padding-left: 1.5rem;
}
[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{
  right: -0.5rem;
}
[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{
  cursor: e-resize;
}
[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize{
  cursor: w-resize;
}
[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{
  left: -0.5rem;
}
[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{
  cursor: w-resize;
}
[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize{
  cursor: e-resize;
}
[data-slot=card-content] .\[\[data-slot\=card-content\]_\&\]\:bg-transparent{
  background-color: transparent;
}
[data-slot=popover-content] .\[\[data-slot\=popover-content\]_\&\]\:bg-transparent{
  background-color: transparent;
}
[data-slot=tooltip-content] .\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/20{
  background-color: hsl(var(--background) / 0.2);
}
[data-slot=tooltip-content] .\[\[data-slot\=tooltip-content\]_\&\]\:text-background{
  color: hsl(var(--background));
}
[data-slot=tooltip-content] .dark\:\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/10:is(.dark *){
  background-color: hsl(var(--background) / 0.1);
}
[data-variant=legend]+.\[\[data-variant\=legend\]\+\&\]\:-mt-1\.5{
  margin-top: -0.375rem;
}
