@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garant:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500&family=DM+Sans:wght@300;400;500;600&family=DM+Mono:wght@300;400&display=swap');@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garant:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500&family=DM+Sans:wght@300;400;500;600&family=DM+Mono:wght@300;400&display=swap');

/* ─────────────────────────────────────────────────────────
   MEÜK — Global Styles + Design Tokens
   Territorio · Técnica · Transformación
──────────────────────────────────────────────────────────── */
*, ::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: Plus Jakarta Sans, system-ui, sans-serif; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}
/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/
body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}
/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/
hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}
/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}
/*
Remove the default font size and weight for headings.
*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}
/*
Reset links to optimize for opt-in styling instead of opt-out.
*/
a {
  color: inherit;
  text-decoration: inherit;
}
/*
Add the correct font weight in Edge and Safari.
*/
b,
strong {
  font-weight: bolder;
}
/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: JetBrains Mono, 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;
}
.\!container{
  width: 100% !important;
}
.container{
  width: 100%;
}
@media (min-width: 640px){
  .\!container{
    max-width: 640px !important;
  }
  .container{
    max-width: 640px;
  }
}
@media (min-width: 768px){
  .\!container{
    max-width: 768px !important;
  }
  .container{
    max-width: 768px;
  }
}
@media (min-width: 1024px){
  .\!container{
    max-width: 1024px !important;
  }
  .container{
    max-width: 1024px;
  }
}
@media (min-width: 1280px){
  .\!container{
    max-width: 1280px !important;
  }
  .container{
    max-width: 1280px;
  }
}
@media (min-width: 1536px){
  .\!container{
    max-width: 1536px !important;
  }
  .container{
    max-width: 1536px;
  }
}
.sr-only{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.pointer-events-none{
  pointer-events: none;
}
.\!visible{
  visibility: visible !important;
}
.visible{
  visibility: visible;
}
.invisible{
  visibility: hidden;
}
.collapse{
  visibility: collapse;
}
.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-12{
  bottom: -3rem;
}
.-left-12{
  left: -3rem;
}
.-right-12{
  right: -3rem;
}
.-top-12{
  top: -3rem;
}
.bottom-0{
  bottom: 0px;
}
.left-0{
  left: 0px;
}
.left-1\/2{
  left: 50%;
}
.left-2{
  left: 0.5rem;
}
.left-2\.5{
  left: 0.625rem;
}
.left-3{
  left: 0.75rem;
}
.left-\[50\%\]{
  left: 50%;
}
.right-0{
  right: 0px;
}
.right-1{
  right: 0.25rem;
}
.right-2{
  right: 0.5rem;
}
.right-2\.5{
  right: 0.625rem;
}
.right-3{
  right: 0.75rem;
}
.right-4{
  right: 1rem;
}
.top-0{
  top: 0px;
}
.top-0\.5{
  top: 0.125rem;
}
.top-1{
  top: 0.25rem;
}
.top-1\.5{
  top: 0.375rem;
}
.top-1\/2{
  top: 50%;
}
.top-10{
  top: 2.5rem;
}
.top-3\.5{
  top: 0.875rem;
}
.top-4{
  top: 1rem;
}
.top-5{
  top: 1.25rem;
}
.top-6{
  top: 1.5rem;
}
.top-7{
  top: 1.75rem;
}
.top-\[1px\]{
  top: 1px;
}
.top-\[50\%\]{
  top: 50%;
}
.top-\[60\%\]{
  top: 60%;
}
.top-full{
  top: 100%;
}
.isolate{
  isolation: isolate;
}
.z-10{
  z-index: 10;
}
.z-20{
  z-index: 20;
}
.z-30{
  z-index: 30;
}
.z-40{
  z-index: 40;
}
.z-50{
  z-index: 50;
}
.z-\[1\]{
  z-index: 1;
}
.z-\[9000\]{
  z-index: 9000;
}
.z-\[9999\]{
  z-index: 9999;
}
.order-first{
  order: -9999;
}
.order-last{
  order: 9999;
}
.col-span-1{
  grid-column: span 1 / span 1;
}
.col-span-2{
  grid-column: span 2 / span 2;
}
.col-start-2{
  grid-column-start: 2;
}
.row-span-2{
  grid-row: span 2 / span 2;
}
.row-start-1{
  grid-row-start: 1;
}
.\!m-0{
  margin: 0px !important;
}
.-m-1{
  margin: -0.25rem;
}
.m-0{
  margin: 0px;
}
.-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-4{
  margin-left: 1rem;
  margin-right: 1rem;
}
.mx-6{
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}
.mx-auto{
  margin-left: auto;
  margin-right: auto;
}
.my-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;
}
.my-5{
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}
.-ml-4{
  margin-left: -1rem;
}
.-mt-1{
  margin-top: -0.25rem;
}
.-mt-4{
  margin-top: -1rem;
}
.mb-0\.5{
  margin-bottom: 0.125rem;
}
.mb-1{
  margin-bottom: 0.25rem;
}
.mb-1\.5{
  margin-bottom: 0.375rem;
}
.mb-10{
  margin-bottom: 2.5rem;
}
.mb-12{
  margin-bottom: 3rem;
}
.mb-16{
  margin-bottom: 4rem;
}
.mb-2{
  margin-bottom: 0.5rem;
}
.mb-2\.5{
  margin-bottom: 0.625rem;
}
.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-9{
  margin-left: 2.25rem;
}
.ml-auto{
  margin-left: auto;
}
.mr-1{
  margin-right: 0.25rem;
}
.mr-3{
  margin-right: 0.75rem;
}
.mt-0\.5{
  margin-top: 0.125rem;
}
.mt-1{
  margin-top: 0.25rem;
}
.mt-1\.5{
  margin-top: 0.375rem;
}
.mt-10{
  margin-top: 2.5rem;
}
.mt-12{
  margin-top: 3rem;
}
.mt-2{
  margin-top: 0.5rem;
}
.mt-3{
  margin-top: 0.75rem;
}
.mt-4{
  margin-top: 1rem;
}
.mt-8{
  margin-top: 2rem;
}
.mt-auto{
  margin-top: auto;
}
.line-clamp-1{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.line-clamp-2{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.line-clamp-3{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.block{
  display: block;
}
.inline-block{
  display: inline-block;
}
.inline{
  display: inline;
}
.flex{
  display: flex;
}
.inline-flex{
  display: inline-flex;
}
.table{
  display: table;
}
.table-caption{
  display: table-caption;
}
.table-cell{
  display: table-cell;
}
.table-row{
  display: table-row;
}
.\!grid{
  display: grid !important;
}
.grid{
  display: grid;
}
.hidden{
  display: none;
}
.aspect-square{
  aspect-ratio: 1 / 1;
}
.aspect-video{
  aspect-ratio: 16 / 9;
}
.size-10{
  width: 2.5rem;
  height: 2.5rem;
}
.size-2{
  width: 0.5rem;
  height: 0.5rem;
}
.size-2\.5{
  width: 0.625rem;
  height: 0.625rem;
}
.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-7{
  width: 1.75rem;
  height: 1.75rem;
}
.size-8{
  width: 2rem;
  height: 2rem;
}
.size-9{
  width: 2.25rem;
  height: 2.25rem;
}
.size-auto{
  width: auto;
  height: auto;
}
.size-full{
  width: 100%;
  height: 100%;
}
.h-0\.5{
  height: 0.125rem;
}
.h-1{
  height: 0.25rem;
}
.h-1\.5{
  height: 0.375rem;
}
.h-10{
  height: 2.5rem;
}
.h-11{
  height: 2.75rem;
}
.h-12{
  height: 3rem;
}
.h-16{
  height: 4rem;
}
.h-2{
  height: 0.5rem;
}
.h-2\.5{
  height: 0.625rem;
}
.h-3{
  height: 0.75rem;
}
.h-3\.5{
  height: 0.875rem;
}
.h-32{
  height: 8rem;
}
.h-4{
  height: 1rem;
}
.h-5{
  height: 1.25rem;
}
.h-56{
  height: 14rem;
}
.h-6{
  height: 1.5rem;
}
.h-7{
  height: 1.75rem;
}
.h-8{
  height: 2rem;
}
.h-9{
  height: 2.25rem;
}
.h-\[1\.15rem\]{
  height: 1.15rem;
}
.h-\[calc\(100\%-1px\)\]{
  height: calc(100% - 1px);
}
.h-\[calc\(100vh-56px\)\]{
  height: calc(100vh - 56px);
}
.h-\[calc\(100vh-96px\)\]{
  height: calc(100vh - 96px);
}
.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-screen{
  height: 100vh;
}
.h-svh{
  height: 100svh;
}
.max-h-\[300px\]{
  max-height: 300px;
}
.max-h-\[420px\]{
  max-height: 420px;
}
.max-h-\[90vh\]{
  max-height: 90vh;
}
.max-h-full{
  max-height: 100%;
}
.min-h-0{
  min-height: 0px;
}
.min-h-16{
  min-height: 4rem;
}
.min-h-4{
  min-height: 1rem;
}
.min-h-\[400px\]{
  min-height: 400px;
}
.min-h-\[60px\]{
  min-height: 60px;
}
.min-h-screen{
  min-height: 100vh;
}
.min-h-svh{
  min-height: 100svh;
}
.w-0{
  width: 0px;
}
.w-1{
  width: 0.25rem;
}
.w-1\.5{
  width: 0.375rem;
}
.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-24{
  width: 6rem;
}
.w-28{
  width: 7rem;
}
.w-3{
  width: 0.75rem;
}
.w-3\/4{
  width: 75%;
}
.w-32{
  width: 8rem;
}
.w-36{
  width: 9rem;
}
.w-4{
  width: 1rem;
}
.w-40{
  width: 10rem;
}
.w-44{
  width: 11rem;
}
.w-5{
  width: 1.25rem;
}
.w-52{
  width: 13rem;
}
.w-56{
  width: 14rem;
}
.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-\[100px\]{
  width: 100px;
}
.w-\[120px\]{
  width: 120px;
}
.w-\[260px\]{
  width: 260px;
}
.w-\[300px\]{
  width: 300px;
}
.w-\[380px\]{
  width: 380px;
}
.w-\[600px\]{
  width: 600px;
}
.w-\[680px\]{
  width: 680px;
}
.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;
}
.w-screen{
  width: 100vw;
}
.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-\[12rem\]{
  min-width: 12rem;
}
.min-w-\[160px\]{
  min-width: 160px;
}
.min-w-\[200px\]{
  min-width: 200px;
}
.min-w-\[24px\]{
  min-width: 24px;
}
.min-w-\[260px\]{
  min-width: 260px;
}
.min-w-\[540px\]{
  min-width: 540px;
}
.min-w-\[8rem\]{
  min-width: 8rem;
}
.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-5xl{
  max-width: 64rem;
}
.max-w-6xl{
  max-width: 72rem;
}
.max-w-7xl{
  max-width: 80rem;
}
.max-w-\[200px\]{
  max-width: 200px;
}
.max-w-\[260px\]{
  max-width: 260px;
}
.max-w-\[280px\]{
  max-width: 280px;
}
.max-w-\[360px\]{
  max-width: 360px;
}
.max-w-\[95vw\]{
  max-width: 95vw;
}
.max-w-\[calc\(100\%-2rem\)\]{
  max-width: calc(100% - 2rem);
}
.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-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;
}
.-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-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));
}
.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));
}
.translate-y-\[calc\(-50\%_-_2px\)\]{
  --tw-translate-y: calc(-50% - 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));
}
.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));
}
.rotate-\[2deg\]{
  --tw-rotate: 2deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-\[1\.02\]{
  --tw-scale-x: 1.02;
  --tw-scale-y: 1.02;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.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 caret-blink{
  0%,70%,100%{
    opacity: 1;
  }
  20%,50%{
    opacity: 0;
  }
}
.animate-caret-blink{
  animation: caret-blink 1.25s ease-out infinite;
}
@keyframes pulse{
  50%{
    opacity: .5;
  }
}
.animate-pulse{
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes spin{
  to{
    transform: rotate(360deg);
  }
}
.animate-spin{
  animation: spin 1s linear infinite;
}
.cursor-default{
  cursor: default;
}
.cursor-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;
}
.resize{
  resize: both;
}
.scroll-my-1{
  scroll-margin-top: 0.25rem;
  scroll-margin-bottom: 0.25rem;
}
.scroll-py-1{
  scroll-padding-top: 0.25rem;
  scroll-padding-bottom: 0.25rem;
}
.list-disc{
  list-style-type: disc;
}
.list-none{
  list-style-type: none;
}
.appearance-none{
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.auto-rows-min{
  grid-auto-rows: min-content;
}
.grid-cols-1{
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4{
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-cols-7{
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.grid-cols-\[0_1fr\]{
  grid-template-columns: 0 1fr;
}
.grid-rows-\[auto_auto\]{
  grid-template-rows: auto auto;
}
.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;
}
.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;
}
.justify-items-start{
  justify-items: start;
}
.gap-0\.5{
  gap: 0.125rem;
}
.gap-1{
  gap: 0.25rem;
}
.gap-1\.5{
  gap: 0.375rem;
}
.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;
}
.gap-8{
  gap: 2rem;
}
.gap-\[--spacing\(var\(--gap\)\)\]{
  gap: var(--spacing(var(--gap)));
}
.gap-px{
  gap: 1px;
}
.gap-y-0\.5{
  row-gap: 0.125rem;
}
.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-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));
}
.divide-y > :not([hidden]) ~ :not([hidden]){
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.divide-\[\#1A1A2A\] > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 1;
  border-color: rgb(26 26 42 / var(--tw-divide-opacity, 1));
}
.divide-cde-border-subtle > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 1;
  border-color: rgb(42 42 58 / var(--tw-divide-opacity, 1));
}
.self-start{
  align-self: flex-start;
}
.self-center{
  align-self: center;
}
.self-stretch{
  align-self: stretch;
}
.justify-self-end{
  justify-self: end;
}
.overflow-auto{
  overflow: auto;
}
.overflow-hidden{
  overflow: hidden;
}
.overflow-x-auto{
  overflow-x: auto;
}
.overflow-y-auto{
  overflow-y: auto;
}
.overflow-x-hidden{
  overflow-x: hidden;
}
.overflow-y-hidden{
  overflow-y: hidden;
}
.truncate{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.whitespace-nowrap{
  white-space: nowrap;
}
.whitespace-pre-line{
  white-space: pre-line;
}
.text-balance{
  text-wrap: balance;
}
.break-words{
  overflow-wrap: break-word;
}
.rounded{
  border-radius: 0.25rem;
}
.rounded-2xl{
  border-radius: 1rem;
}
.rounded-\[2px\]{
  border-radius: 2px;
}
.rounded-\[4px\]{
  border-radius: 4px;
}
.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: calc(var(--radius) + 4px);
}
.rounded-xs{
  border-radius: calc(var(--radius) - 6px);
}
.rounded-b-lg{
  border-bottom-right-radius: var(--radius);
  border-bottom-left-radius: var(--radius);
}
.rounded-l-md{
  border-top-left-radius: calc(var(--radius) - 2px);
  border-bottom-left-radius: calc(var(--radius) - 2px);
}
.rounded-r-md{
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}
.rounded-t-lg{
  border-top-left-radius: var(--radius);
  border-top-right-radius: var(--radius);
}
.rounded-tl-sm{
  border-top-left-radius: calc(var(--radius) - 4px);
}
.border{
  border-width: 1px;
}
.border-0{
  border-width: 0px;
}
.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-l-2{
  border-left-width: 2px;
}
.border-r{
  border-right-width: 1px;
}
.border-t{
  border-top-width: 1px;
}
.border-t-\[3px\]{
  border-top-width: 3px;
}
.border-dashed{
  border-style: dashed;
}
.border-border{
  border-color: hsl(var(--border));
}
.border-border\/50{
  border-color: hsl(var(--border) / 0.5);
}
.border-cde-accent-cyan{
  --tw-border-opacity: 1;
  border-color: rgb(0 212 255 / var(--tw-border-opacity, 1));
}
.border-cde-accent-cyan\/30{
  border-color: rgb(0 212 255 / 0.3);
}
.border-cde-accent-cyan\/50{
  border-color: rgb(0 212 255 / 0.5);
}
.border-cde-accent-rose\/30{
  border-color: rgb(251 113 133 / 0.3);
}
.border-cde-border-active{
  --tw-border-opacity: 1;
  border-color: rgb(58 58 80 / var(--tw-border-opacity, 1));
}
.border-cde-border-subtle{
  --tw-border-opacity: 1;
  border-color: rgb(42 42 58 / var(--tw-border-opacity, 1));
}
.border-cde-border-subtle\/30{
  border-color: rgb(42 42 58 / 0.3);
}
.border-cde-text-tertiary\/30{
  border-color: rgb(90 90 110 / 0.3);
}
.border-input{
  border-color: hsl(var(--input));
}
.border-primary{
  border-color: hsl(var(--primary));
}
.border-sidebar-border{
  border-color: hsl(var(--sidebar-border));
}
.border-transparent{
  border-color: transparent;
}
.border-white\/10{
  border-color: rgb(255 255 255 / 0.1);
}
.border-white\/5{
  border-color: rgb(255 255 255 / 0.05);
}
.border-l-transparent{
  border-left-color: transparent;
}
.border-t-transparent{
  border-top-color: transparent;
}
.bg-accent{
  background-color: hsl(var(--accent));
}
.bg-background{
  background-color: hsl(var(--background));
}
.bg-black\/50{
  background-color: rgb(0 0 0 / 0.5);
}
.bg-black\/60{
  background-color: rgb(0 0 0 / 0.6);
}
.bg-border{
  background-color: hsl(var(--border));
}
.bg-card{
  background-color: hsl(var(--card));
}
.bg-cde-accent-amber{
  --tw-bg-opacity: 1;
  background-color: rgb(255 176 32 / var(--tw-bg-opacity, 1));
}
.bg-cde-accent-cyan{
  --tw-bg-opacity: 1;
  background-color: rgb(0 212 255 / var(--tw-bg-opacity, 1));
}
.bg-cde-accent-cyan\/15{
  background-color: rgb(0 212 255 / 0.15);
}
.bg-cde-accent-cyan\/20{
  background-color: rgb(0 212 255 / 0.2);
}
.bg-cde-accent-emerald{
  --tw-bg-opacity: 1;
  background-color: rgb(52 211 153 / var(--tw-bg-opacity, 1));
}
.bg-cde-accent-emerald\/20{
  background-color: rgb(52 211 153 / 0.2);
}
.bg-cde-accent-rose{
  --tw-bg-opacity: 1;
  background-color: rgb(251 113 133 / var(--tw-bg-opacity, 1));
}
.bg-cde-accent-rose\/15{
  background-color: rgb(251 113 133 / 0.15);
}
.bg-cde-bg-elevated{
  --tw-bg-opacity: 1;
  background-color: rgb(34 34 47 / var(--tw-bg-opacity, 1));
}
.bg-cde-bg-primary{
  --tw-bg-opacity: 1;
  background-color: rgb(10 10 15 / var(--tw-bg-opacity, 1));
}
.bg-cde-bg-secondary{
  --tw-bg-opacity: 1;
  background-color: rgb(18 18 26 / var(--tw-bg-opacity, 1));
}
.bg-cde-bg-secondary\/30{
  background-color: rgb(18 18 26 / 0.3);
}
.bg-cde-bg-secondary\/50{
  background-color: rgb(18 18 26 / 0.5);
}
.bg-cde-bg-tertiary{
  --tw-bg-opacity: 1;
  background-color: rgb(26 26 37 / var(--tw-bg-opacity, 1));
}
.bg-cde-bg-tertiary\/30{
  background-color: rgb(26 26 37 / 0.3);
}
.bg-cde-bg-tertiary\/40{
  background-color: rgb(26 26 37 / 0.4);
}
.bg-cde-bg-tertiary\/50{
  background-color: rgb(26 26 37 / 0.5);
}
.bg-cde-border-subtle{
  --tw-bg-opacity: 1;
  background-color: rgb(42 42 58 / var(--tw-bg-opacity, 1));
}
.bg-cde-text-tertiary\/15{
  background-color: rgb(90 90 110 / 0.15);
}
.bg-destructive{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--destructive) / var(--tw-bg-opacity, 1));
}
.bg-foreground{
  background-color: hsl(var(--foreground));
}
.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\/20{
  background-color: hsl(var(--primary) / 0.2);
}
.bg-secondary{
  background-color: hsl(var(--secondary));
}
.bg-sidebar{
  background-color: hsl(var(--sidebar-background));
}
.bg-sidebar-border{
  background-color: hsl(var(--sidebar-border));
}
.bg-transparent{
  background-color: transparent;
}
.bg-white{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-white\/5{
  background-color: rgb(255 255 255 / 0.05);
}
.bg-gradient-to-br{
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.from-cde-accent-cyan{
  --tw-gradient-from: #00D4FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 212 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.to-blue-600{
  --tw-gradient-to: #2563eb var(--tw-gradient-to-position);
}
.fill-current{
  fill: currentColor;
}
.fill-foreground{
  fill: hsl(var(--foreground));
}
.fill-primary{
  fill: hsl(var(--primary));
}
.object-cover{
  -o-object-fit: cover;
     object-fit: cover;
}
.object-top{
  -o-object-position: top;
     object-position: top;
}
.p-0{
  padding: 0px;
}
.p-0\.5{
  padding: 0.125rem;
}
.p-1{
  padding: 0.25rem;
}
.p-1\.5{
  padding: 0.375rem;
}
.p-10{
  padding: 2.5rem;
}
.p-2{
  padding: 0.5rem;
}
.p-2\.5{
  padding: 0.625rem;
}
.p-3{
  padding: 0.75rem;
}
.p-3\.5{
  padding: 0.875rem;
}
.p-4{
  padding: 1rem;
}
.p-5{
  padding: 1.25rem;
}
.p-6{
  padding: 1.5rem;
}
.p-8{
  padding: 2rem;
}
.p-\[3px\]{
  padding: 3px;
}
.p-px{
  padding: 1px;
}
.px-0{
  padding-left: 0px;
  padding-right: 0px;
}
.px-1{
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.px-1\.5{
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}
.px-2{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-2\.5{
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
.px-3{
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-4{
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-5{
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.px-6{
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.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-2{
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-2\.5{
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}
.py-3{
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.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;
}
.py-\[5px\]{
  padding-top: 5px;
  padding-bottom: 5px;
}
.pb-0{
  padding-bottom: 0px;
}
.pb-1{
  padding-bottom: 0.25rem;
}
.pb-3{
  padding-bottom: 0.75rem;
}
.pb-4{
  padding-bottom: 1rem;
}
.pb-6{
  padding-bottom: 1.5rem;
}
.pl-1{
  padding-left: 0.25rem;
}
.pl-2{
  padding-left: 0.5rem;
}
.pl-3{
  padding-left: 0.75rem;
}
.pl-4{
  padding-left: 1rem;
}
.pl-5{
  padding-left: 1.25rem;
}
.pl-6{
  padding-left: 1.5rem;
}
.pl-7{
  padding-left: 1.75rem;
}
.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-8{
  padding-right: 2rem;
}
.pt-0{
  padding-top: 0px;
}
.pt-1{
  padding-top: 0.25rem;
}
.pt-3{
  padding-top: 0.75rem;
}
.pt-4{
  padding-top: 1rem;
}
.pt-5{
  padding-top: 1.25rem;
}
.text-left{
  text-align: left;
}
.text-center{
  text-align: center;
}
.text-right{
  text-align: right;
}
.align-middle{
  vertical-align: middle;
}
.font-mono{
  font-family: JetBrains Mono, monospace;
}
.font-sans{
  font-family: Plus Jakarta Sans, system-ui, sans-serif;
}
.text-2xl{
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-3xl{
  font-size: 1.875rem;
  line-height: 2.25rem;
}
.text-4xl{
  font-size: 2.25rem;
  line-height: 2.5rem;
}
.text-\[0\.8rem\]{
  font-size: 0.8rem;
}
.text-\[10px\]{
  font-size: 10px;
}
.text-\[11\.5px\]{
  font-size: 11.5px;
}
.text-\[11px\]{
  font-size: 11px;
}
.text-\[12px\]{
  font-size: 12px;
}
.text-\[13px\]{
  font-size: 13px;
}
.text-\[14px\]{
  font-size: 14px;
}
.text-\[15px\]{
  font-size: 15px;
}
.text-\[18px\]{
  font-size: 18px;
}
.text-\[32px\]{
  font-size: 32px;
}
.text-\[8px\]{
  font-size: 8px;
}
.text-\[9px\]{
  font-size: 9px;
}
.text-base{
  font-size: 1rem;
  line-height: 1.5rem;
}
.text-lg{
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-sm{
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-sm\/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-black{
  font-weight: 900;
}
.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-none{
  line-height: 1;
}
.leading-normal{
  line-height: 1.5;
}
.leading-relaxed{
  line-height: 1.625;
}
.leading-snug{
  line-height: 1.375;
}
.leading-tight{
  line-height: 1.25;
}
.tracking-tight{
  letter-spacing: -0.025em;
}
.tracking-wider{
  letter-spacing: 0.05em;
}
.tracking-widest{
  letter-spacing: 0.1em;
}
.text-accent-foreground{
  color: hsl(var(--accent-foreground));
}
.text-background{
  color: hsl(var(--background));
}
.text-card-foreground{
  color: hsl(var(--card-foreground));
}
.text-cde-accent-cyan{
  --tw-text-opacity: 1;
  color: rgb(0 212 255 / var(--tw-text-opacity, 1));
}
.text-cde-accent-emerald{
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.text-cde-accent-rose{
  --tw-text-opacity: 1;
  color: rgb(251 113 133 / var(--tw-text-opacity, 1));
}
.text-cde-bg-primary{
  --tw-text-opacity: 1;
  color: rgb(10 10 15 / var(--tw-text-opacity, 1));
}
.text-cde-text-primary{
  --tw-text-opacity: 1;
  color: rgb(232 232 236 / var(--tw-text-opacity, 1));
}
.text-cde-text-secondary{
  --tw-text-opacity: 1;
  color: rgb(144 144 160 / var(--tw-text-opacity, 1));
}
.text-cde-text-tertiary{
  --tw-text-opacity: 1;
  color: rgb(90 90 110 / var(--tw-text-opacity, 1));
}
.text-current{
  color: currentColor;
}
.text-destructive{
  --tw-text-opacity: 1;
  color: hsl(var(--destructive) / var(--tw-text-opacity, 1));
}
.text-foreground{
  color: hsl(var(--foreground));
}
.text-muted-foreground{
  color: hsl(var(--muted-foreground));
}
.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-white{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.underline{
  text-decoration-line: underline;
}
.line-through{
  text-decoration-line: line-through;
}
.underline-offset-4{
  text-underline-offset: 4px;
}
.placeholder-cde-text-tertiary::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgb(90 90 110 / var(--tw-placeholder-opacity, 1));
}
.placeholder-cde-text-tertiary::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgb(90 90 110 / var(--tw-placeholder-opacity, 1));
}
.placeholder-white\/30::-moz-placeholder{
  color: rgb(255 255 255 / 0.3);
}
.placeholder-white\/30::placeholder{
  color: rgb(255 255 255 / 0.3);
}
.accent-cde-accent-cyan{
  accent-color: #00D4FF;
}
.opacity-0{
  opacity: 0;
}
.opacity-30{
  opacity: 0.3;
}
.opacity-40{
  opacity: 0.4;
}
.opacity-50{
  opacity: 0.5;
}
.opacity-60{
  opacity: 0.6;
}
.opacity-70{
  opacity: 0.7;
}
.opacity-80{
  opacity: 0.8;
}
.shadow{
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[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-card{
  --tw-shadow: 0 2px 8px rgba(0,0,0,0.4), 0 0 1px rgba(255,255,255,0.05);
  --tw-shadow-colored: 0 2px 8px var(--tw-shadow-color), 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-elevated{
  --tw-shadow: 0 8px 32px rgba(0,0,0,0.5), 0 0 1px rgba(255,255,255,0.08);
  --tw-shadow-colored: 0 8px 32px var(--tw-shadow-color), 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);
}
.shadow-xs{
  --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-card{
  --tw-shadow-color: hsl(var(--card));
  --tw-shadow: var(--tw-shadow-colored);
}
.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-cde-accent-cyan\/30{
  --tw-ring-color: rgb(0 212 255 / 0.3);
}
.ring-ring\/50{
  --tw-ring-color: hsl(var(--ring) / 0.5);
}
.ring-sidebar-ring{
  --tw-ring-color: hsl(var(--sidebar-ring));
}
.ring-offset-background{
  --tw-ring-offset-color: hsl(var(--background));
}
.blur{
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter{
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-blur-sm{
  --tw-backdrop-blur: blur(4px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-filter{
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition{
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[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\2c transform\]{
  transition-property: width,transform;
  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-none{
  transition-property: none;
}
.transition-opacity{
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-shadow{
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-transform{
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.duration-100{
  transition-duration: 100ms;
}
.duration-1000{
  transition-duration: 1000ms;
}
.duration-150{
  transition-duration: 150ms;
}
.duration-200{
  transition-duration: 200ms;
}
.duration-300{
  transition-duration: 300ms;
}
.duration-500{
  transition-duration: 500ms;
}
.duration-700{
  transition-duration: 700ms;
}
.ease-in-out{
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-linear{
  transition-timing-function: linear;
}
.ease-out{
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
@keyframes enter{
  from{
    opacity: var(--tw-enter-opacity, 1);
    transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));
  }
}
@keyframes exit{
  to{
    opacity: var(--tw-exit-opacity, 1);
    transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));
  }
}
.animate-in{
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}
.fade-in-0{
  --tw-enter-opacity: 0;
}
.zoom-in-95{
  --tw-enter-scale: .95;
}
.duration-100{
  animation-duration: 100ms;
}
.duration-1000{
  animation-duration: 1000ms;
}
.duration-150{
  animation-duration: 150ms;
}
.duration-200{
  animation-duration: 200ms;
}
.duration-300{
  animation-duration: 300ms;
}
.duration-500{
  animation-duration: 500ms;
}
.duration-700{
  animation-duration: 700ms;
}
.ease-in-out{
  animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-linear{
  animation-timing-function: linear;
}
.ease-out{
  animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.\[--cell-size\:--spacing\(8\)\]{
  --cell-size: var(--spacing(8));
}
/* ── Root Design Tokens ──────────────────────────────── */
:root {
  /* Pétreo */
  --stone-50:  #F7F5F2;
  --stone-100: #EDE8E0;
  --stone-200: #D8CFC0;
  --stone-300: #BFB3A0;
  --stone-400: #A09080;
  --stone-500: #7A7060;
  --stone-600: #5C5248;
  --stone-700: #423B33;
  --stone-800: #2E2820;
  --stone-900: #1E1A14;
  --stone-950: #120F0A;

  /* Abedul */
  --birch-200: #DDC9A4;
  --birch-300: #C4A870;
  --birch-400: #A8884A;
  --birch-500: #8B6F35;

  /* Nórdico */
  --nordic-white: #FAFAF7;
  --nordic-mist:  #F2EFE9;
  --nordic-linen: #E8E2D8;
  --nordic-fog:   #CEC8BC;

  /* Acento luz */
  --light-amber: #D4A853;
  --light-warm:  #E8C98A;

  /* Funcionales */
  --ink:      #18140E;
  --concrete: #6B6460;
  --chalk:    #C8C2B8;

  /* Tipografías */
  --font-display: 'Cormorant Garant', 'Garamond', Georgia, serif;
  --font-body:    'DM Sans', 'Helvetica Neue', system-ui, sans-serif;
  --font-mono:    'DM Mono', 'Courier New', monospace;

  /* Espaciado modular */
  --space-xs:  0.25rem;
  --space-sm:  0.5rem;
  --space-md:  1rem;
  --space-lg:  2rem;
  --space-xl:  4rem;
  --space-2xl: 8rem;
  --space-3xl: 12rem;
}
/* ── Base Reset ──────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; }
html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
body {
  font-family: var(--font-body);
  color: var(--ink);
  background-color: var(--nordic-white);
  font-size: 16px;
  line-height: 1.6;
}
/* ── Tipografía ──────────────────────────────────────── */
.font-display { font-family: var(--font-display); }
.font-mono    { font-family: var(--font-mono); }
/* Display type scale */
.text-display-xl {
  font-family: var(--font-display);
  font-size: clamp(3.5rem, 9vw, 8rem);
  font-weight: 300;
  line-height: 0.95;
  letter-spacing: -0.02em;
}
.text-display-l {
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 6vw, 5rem);
  font-weight: 300;
  line-height: 1.05;
  letter-spacing: -0.015em;
}
.text-display-m {
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 3.5vw, 2.75rem);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -0.01em;
}
.text-display-s {
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  font-weight: 400;
  line-height: 1.3;
}
.text-body    { font-family: var(--font-body); font-size: 1rem; line-height: 1.7; }
.text-caption { font-family: var(--font-mono); font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase; }
/* ── Botones ─────────────────────────────────────────── */
.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.875rem 2rem;
  background: var(--ink);
  color: var(--nordic-white);
  font-family: var(--font-body);
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: background 0.3s ease, transform 0.2s ease;
}
.btn-primary:hover {
  background: var(--stone-700);
  transform: translateY(-1px);
}
.btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  background: transparent;
  color: var(--nordic-white);
  font-family: var(--font-body);
  font-size: 0.8125rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: 1px solid rgba(255,255,255,0.3);
  cursor: pointer;
  transition: all 0.3s ease;
}
.btn-outline:hover {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.6);
}
/* ── Línea decorativa (elemento gráfico de la Ü) ─────── */
.meuk-rule {
  width: 2rem;
  height: 1px;
  background: var(--light-amber);
  display: block;
}
.meuk-rule-long {
  width: 100%;
  height: 1px;
  background: var(--stone-200);
  display: block;
}
/* ── Selección texto ─────────────────────────────────── */
::-moz-selection {
  background: var(--birch-200);
  color: var(--ink);
}
::selection {
  background: var(--birch-200);
  color: var(--ink);
}
/* ── Scroll bar ──────────────────────────────────────── */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--nordic-mist); }
::-webkit-scrollbar-thumb { background: var(--stone-300); border-radius: 3px; }
/* ── CDE Studio CSS (scoped) ─────────────────────────── */
.studio-root {
  --background: 240 14% 4%;
  --foreground: 240 6% 92%;
  --card: 240 13% 8%;
  --card-foreground: 240 6% 92%;
  --popover: 240 13% 8%;
  --popover-foreground: 240 6% 92%;
  --primary: 193 100% 50%;
  --primary-foreground: 240 14% 4%;
  --secondary: 240 12% 12%;
  --secondary-foreground: 240 6% 92%;
  --muted: 240 12% 12%;
  --muted-foreground: 240 6% 60%;
  --accent: 193 100% 50%;
  --accent-foreground: 240 14% 4%;
  --destructive: 350 80% 67%;
  --destructive-foreground: 240 6% 92%;
  --border: 240 10% 18%;
  --input: 240 10% 18%;
  --ring: 193 100% 50%;
  --radius: 0.625rem;
  --sidebar-background: 240 12% 8%;
  --sidebar-foreground: 240 6% 92%;
  --sidebar-primary: 193 100% 50%;
  --sidebar-primary-foreground: 240 14% 4%;
  --sidebar-accent: 240 12% 12%;
  --sidebar-accent-foreground: 240 6% 92%;
  --sidebar-border: 240 10% 18%;
  --sidebar-ring: 193 100% 50%;
  font-family: 'DM Sans', system-ui, sans-serif;
  color: #E8E8EC;
}
/* ── Sitio público: responsive para móvil ─────────────────
   Las secciones del landing usan inline styles con valores rem fijos
   que se ven mal en pantallas estrechas. Estas reglas ajustan grids,
   paddings y tipografía sin tocar los componentes (mantiene compatibilidad). */
@media (max-width: 768px) {
  /* Estudio (Firm.tsx) — 1 columna y padding compacto */
  #estudio {
    padding: 6rem 5vw 4rem !important;
  }
  #estudio > div > div:nth-child(2) {
    /* contenedor de pilares: pasar a 1 columna */
    grid-template-columns: 1fr !important;
  }
  #estudio .pillar {
    padding: 2rem 1.5rem !important;
    border-left: none !important;
    border-top: 1px solid rgba(255,255,255,0.06);
  }
  #estudio .pillar:first-child {
    border-top: none;
  }
  /* Datos (2019 / 30+ / 2) en una sola fila scrolleable o stack */
  #estudio > div > div:last-child {
    gap: 2rem !important;
    margin-top: 2.5rem !important;
    padding-top: 2rem !important;
    flex-wrap: wrap !important;
  }
  #estudio h2 {
    font-size: clamp(2rem, 8vw, 3rem) !important;
    line-height: 1.1 !important;
  }

  /* Hero, ProjectsSection, BIM, DigitalStudio, Materiality:
     reducir padding vertical y márgenes amplios */
  section {
    padding-left: 5vw !important;
    padding-right: 5vw !important;
  }
  #tecnologia {
    padding: 4rem 5vw !important;
  }
  #tecnologia .grid {
    grid-template-columns: 1fr !important;
  }
  #bim, #proyectos, #equipo, #servicios {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }

  /* Tipografía: el text-display-* se ve enorme en móvil */
  .text-display-xl {
    font-size: clamp(2.25rem, 9vw, 3.5rem) !important;
    line-height: 1.05 !important;
  }
  .text-display-l, .text-display-m {
    font-size: clamp(2rem, 8vw, 3rem) !important;
    line-height: 1.1 !important;
  }
  .text-display-s {
    font-size: clamp(1.1rem, 5vw, 1.5rem) !important;
  }
  .text-body-l {
    font-size: 1rem !important;
  }

  /* Hero: bajar padding y permitir respiro abajo para CTAs */
  #hero, [id^="hero"] {
    padding-top: 5rem !important;
    padding-bottom: 3rem !important;
    min-height: auto !important;
  }

  /* Banner del sitio: padding compacto cuando es móvil */
  .site-banner, body > div[style*="position: fixed"][style*="top: 0"]:not(nav) {
    padding: 0.4rem 1rem !important;
    font-size: 11px !important;
  }

  /* Navbar pill flotante: queda ancho fijo y cabe en pantalla móvil */
  nav[style*="border-radius: 9999"] {
    left: 1rem !important;
    right: 1rem !important;
    transform: translateX(0) !important;
    width: auto !important;
    max-width: calc(100vw - 2rem) !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  nav[style*="border-radius: 9999"] ul {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
  }
  nav[style*="border-radius: 9999"]::-webkit-scrollbar {
    display: none !important;
  }

  /* ProjectsSection: cards a 1 columna */
  #proyectos [class*="grid"] {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }

  /* BIMSection: stack vertical */
  #bim > div > div {
    grid-template-columns: 1fr !important;
    gap: 2.5rem !important;
  }
  #bim h2 { font-size: clamp(2rem, 8vw, 2.75rem) !important; }

  /* Materialidad: alto de la hero más bajo y texto contenido */
  body main > div[style*="height: 100vh"]:has(canvas),
  body main > div[style*="height: 100vh"]:has(video),
  body main > div[style*="height: 100vh"]:has(img[alt="Materialidad"]) {
    height: 60vh !important;
    min-height: 380px !important;
  }

  /* Team / Services: 1 col, padding compacto */
  #equipo [class*="grid-cols-"], #servicios [class*="grid-cols-"] {
    grid-template-columns: 1fr !important;
  }
  #equipo, #servicios {
    padding-left: 5vw !important;
    padding-right: 5vw !important;
  }

  /* Footer: stack y centrar */
  footer [class*="grid"], footer [class*="flex"] {
    flex-wrap: wrap !important;
  }

  /* Modales del CDE: ancho fluido en móvil */
  .fixed.inset-0 > [class*="rounded-xl"][class*="max-h"],
  .fixed.inset-0 > [class*="rounded-2xl"][class*="max-h"] {
    width: 95vw !important;
    max-width: 95vw !important;
    max-height: 90vh !important;
  }
}
/* ── Móvil más estrecho (≤ 480px) — afinamientos extra ─────────────── */
@media (max-width: 480px) {
  /* Hero: bajar más la display */
  .text-display-xl {
    font-size: clamp(1.85rem, 11vw, 2.5rem) !important;
  }

  /* Navbar pill: ocultar todas las labels para que solo se vea logo + login */
  nav[style*="border-radius: 9999"] ul li a span:not(.sr-only),
  nav[style*="border-radius: 9999"] ul li button span:not(.sr-only) {
    display: none;
  }
  nav[style*="border-radius: 9999"] ul li {
    flex-shrink: 0;
  }

  /* Padding general más compacto */
  section { padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; }
}
/* ── PDF export ejecutivo (fondo blanco, texto oscuro) ─────
   Se aplica temporalmente al árbol del reporte mientras html2canvas captura.
   Invierte el tema dark del studio para que el PDF sea legible y profesional. */
.pdf-light-export,
.pdf-light-export * {
  color: #1a1a1a !important;
  border-color: #DDDDDD !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
.pdf-light-export,
.pdf-light-export [class*="bg-cde-bg"],
.pdf-light-export [class*="bg-cde-bg-secondary"],
.pdf-light-export [class*="bg-cde-bg-tertiary"],
.pdf-light-export [class*="bg-cde-bg-elevated"],
.pdf-light-export [class*="bg-cde-bg-primary"] {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  border: 1px solid #E5E5E5 !important;
}
.pdf-light-export [class*="text-cde-text-primary"]   { color: #111111 !important; }
.pdf-light-export [class*="text-cde-text-secondary"] { color: #333333 !important; }
.pdf-light-export [class*="text-cde-text-tertiary"]  { color: #666666 !important; }
.pdf-light-export svg text { fill: #333333 !important; }
.pdf-light-export svg .recharts-cartesian-grid line,
.pdf-light-export svg .recharts-cartesian-axis line { stroke: #DDDDDD !important; }
/* ── PDF layout fixes: evitar superposición de gráficos ──
   Durante la captura html2canvas los ResponsiveContainer de Recharts
   a veces calculan ancho 0 cuando están en grids multi-columna.
   Forzamos una sola columna para que cada gráfico tenga ancho completo. */
.pdf-light-export .grid-cols-3,
.pdf-light-export [class*="grid-cols-3"] {
  grid-template-columns: 1fr !important;
}
.pdf-light-export .grid-cols-4,
.pdf-light-export [class*="grid-cols-4"] {
  grid-template-columns: 1fr 1fr !important;
}
/* Fijar altura de los contenedores Recharts para que no colapsen */
.pdf-light-export .recharts-responsive-container {
  width: 100% !important;
  min-height: 180px !important;
}
/* Asegurar que el texto en celdas de tabla no se corte */
.pdf-light-export td,
.pdf-light-export th {
  word-break: break-word !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
}
/* Evitar truncado con ellipsis en el PDF */
.pdf-light-export [style*="text-overflow: ellipsis"],
.pdf-light-export [style*="textOverflow"] {
  overflow: visible !important;
  text-overflow: unset !important;
  white-space: normal !important;
}
/* ── Print styles ─────────────────────────────────────────
   Cuando se imprime una página del studio (típicamente Reportes),
   ocultar sidebar y topbar para que sólo se imprima el contenido. */
@media print {
  /* Forzar fondo blanco y texto oscuro para impresión limpia */
  html, body {
    background: #FFFFFF !important;
    color: #111 !important;
  }
  /* Ocultar navegación del studio */
  .studio-root > aside,
  .studio-root > div > div:first-child {
    display: none !important;
  }
  /* Liberar altura/overflow para que el contenido fluya */
  .studio-root,
  .studio-root main,
  .studio-root [class*="overflow-"] {
    height: auto !important;
    overflow: visible !important;
  }
  /* Asegurar paletas legibles en print */
  .studio-root .bg-cde-bg-secondary,
  .studio-root .bg-cde-bg-tertiary {
    background: #FFFFFF !important;
    border-color: #DDD !important;
  }
  .studio-root .text-cde-text-primary { color: #111 !important; }
  .studio-root .text-cde-text-secondary { color: #444 !important; }
  .studio-root .text-cde-text-tertiary { color: #777 !important; }
  /* Ocultar elementos explícitamente marcados */
  .no-print { display: none !important; }
}
/* ── CDE Studio · móvil ───────────────────────────────────
   Convierten la sidebar en drawer overlay y aprietan modales/Kanban
   para pantallas pequeñas. Las utilidades `.studio-mobile-only`
   y `.studio-hide-mobile` son helpers que usan los componentes del studio. */
.studio-mobile-only { display: none !important; }
.studio-hide-mobile { display: inline; }
@media (max-width: 900px) {
  .studio-mobile-only { display: inline-flex !important; }
  .studio-hide-mobile { display: none !important; }

  /* Sidebar como drawer overlay */
  .studio-sidebar {
    position: fixed !important;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 50;
    width: 280px !important;
    transform: translateX(-100%);
    box-shadow: 24px 0 60px rgba(0,0,0,0.6);
  }
  .studio-sidebar[data-mobile-open="true"] {
    transform: translateX(0);
  }

  /* Topbar más compacto */
  .studio-root header {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }
  /* Search shrink y breadcrumb más compactos */
  .studio-root header input[type="text"] {
    font-size: 12px !important;
  }
  .studio-root header > div:first-child {
    min-width: 0 !important;
  }

  /* KanbanBoard — columnas más estrechas (marcado con .kanban-column) */
  .studio-root .kanban-column {
    width: 80vw !important;
    max-width: 320px !important;
    min-width: 260px;
  }
  /* Doc detail modal full screen (marcado con .doc-modal-card) */
  .studio-root .doc-modal-card {
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100vh !important;
    max-height: 100vh !important;
    border-radius: 0 !important;
  }
  /* New doc modal y modales generales — ocupar casi toda la pantalla */
  .studio-root .new-doc-modal-card {
    width: 96vw !important;
    max-width: 96vw !important;
    max-height: 92vh !important;
  }
}
@media (max-width: 480px) {
  /* Tablero header selector más estrecho */
  .studio-root header .text-\[13px\][class*="rounded-lg"] {
    min-width: 0 !important;
    max-width: 50vw;
  }
}
/* ══════════════════════════════════════════════════════════
   MEÜK · PREMIUM INTERACTIONS
   Inspirado en glassmorphism + micro-lift.
   Compatibles con el tema dark del CDE (sin romper nada).
   ══════════════════════════════════════════════════════════ */
/* ── Aurora sutil: fondo del studio con manchas de color ── */
.studio-root {
  background: radial-gradient(at 8% 0%,   rgba(0,212,255,0.06) 0%, transparent 45%),
              radial-gradient(at 92% 5%,   rgba(0,102,255,0.05) 0%, transparent 45%),
              radial-gradient(at 85% 92%,  rgba(0,212,255,0.04) 0%, transparent 50%),
              radial-gradient(at 5%  95%,  rgba(0,102,255,0.04) 0%, transparent 50%),
              #0A0A0F;
}
/* ── Card con micro-lift + shimmer al hover ── */
.meuk-card {
  position: relative;
  overflow: hidden;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}
.meuk-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,0.04) 50%, transparent 70%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
.meuk-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 36px rgba(0,0,0,0.5);
}
.meuk-card:hover::after { opacity: 1; }
/* ── Variantes glow por color ── */
.meuk-glow-cyan:hover  { box-shadow: 0 12px 36px rgba(0,0,0,0.4), 0 0 28px -4px rgba(0,212,255,0.35); border-color: rgba(0,212,255,0.35) !important; }
.meuk-glow-green:hover { box-shadow: 0 12px 36px rgba(0,0,0,0.4), 0 0 28px -4px rgba(52,211,153,0.35); border-color: rgba(52,211,153,0.35) !important; }
.meuk-glow-amber:hover { box-shadow: 0 12px 36px rgba(0,0,0,0.4), 0 0 28px -4px rgba(255,176,32,0.35);  border-color: rgba(255,176,32,0.35)  !important; }
.meuk-glow-red:hover   { box-shadow: 0 12px 36px rgba(0,0,0,0.4), 0 0 28px -4px rgba(251,113,133,0.35); border-color: rgba(251,113,133,0.35) !important; }
.meuk-glow-blue:hover  { box-shadow: 0 12px 36px rgba(0,0,0,0.4), 0 0 28px -4px rgba(0,102,255,0.35);   border-color: rgba(0,102,255,0.35)   !important; }
/* ── Sidebar nav: borde izquierdo con glow al activo ── */
.studio-root nav button[class*="border-cde-accent-cyan"] {
  box-shadow: inset 2px 0 8px -2px rgba(0,212,255,0.35);
}
.studio-root nav button:not([class*="border-cde-accent-cyan"]):hover {
  border-left-color: rgba(0,212,255,0.25) !important;
}
/* ── Botones del studio: micro-lift ── */
.studio-root button[style*="background: #00D4FF"]:hover,
.studio-root button[style*="background:#00D4FF"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(0,212,255,0.4);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
/* ── Inputs: focus ring con glow ── */
.studio-root input:focus,
.studio-root select:focus,
.studio-root textarea:focus {
  box-shadow: 0 0 0 3px rgba(0,212,255,0.18) !important;
}
/* ── Scrollbar premium dentro del studio ── */
.studio-root ::-webkit-scrollbar       { width: 5px; height: 5px; }
.studio-root ::-webkit-scrollbar-track { background: transparent; }
.studio-root ::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.1);
  border-radius: 100px;
}
.studio-root ::-webkit-scrollbar-thumb:hover {
  background: rgba(0,212,255,0.3);
}
/* ── Animaciones ── */
@keyframes meukFadeSlideIn {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0);   }
}
@keyframes meukShimmer {
  0%   { background-position: -200% 0; }
  100% { background-position:  200% 0; }
}
.meuk-fade-in    { animation: meukFadeSlideIn 0.28s ease-out; }
.meuk-skeleton {
  background: linear-gradient(90deg, rgba(255,255,255,0.04) 25%, rgba(255,255,255,0.09) 50%, rgba(255,255,255,0.04) 75%);
  background-size: 200% 100%;
  animation: meukShimmer 1.5s infinite;
}
/* ── Proyecto item en sidebar: hover premium ── */
.studio-root .project-item {
  transition: background 0.15s ease, border-color 0.15s ease;
}
.studio-root .project-item:hover {
  border-left-color: rgba(0,212,255,0.4) !important;
}
/* ─────────────────────────────────────────────────────────────────────────
   App nativa (Capacitor) — safe-areas para notch / barra de estado / home bar.
   Solo aplica cuando el código corre dentro de la app iOS/Android
   (initNative() añade la clase `capacitor-native` a <html>). En navegador
   estas reglas no afectan → la web queda intacta.
   ───────────────────────────────────────────────────────────────────────── */
:root {
  --safe-top:    env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left:   env(safe-area-inset-left, 0px);
  --safe-right:  env(safe-area-inset-right, 0px);
}
html.capacitor-native {
  background: #F7F5F2;
}
/* Evita que el contenido quede bajo la barra de estado / home indicator. */
html.capacitor-native body {
  padding-top: var(--safe-top);
  padding-bottom: var(--safe-bottom);
  padding-left: var(--safe-left);
  padding-right: var(--safe-right);
}
/* Android: el status bar no overlaya el WebView (setOverlaysWebView: false),
   así que safe-area-inset-top es 0 pero por si acaso lo anulamos explícitamente.
   La barra de navegación inferior sí puede tener inset — la mantenemos. */
html.capacitor-native.platform-android body {
  padding-top: 0;
}
/* Utilidades para ajustar elementos fijos (headers, barras) a la safe-area. */
.cap-safe-top    { padding-top:    var(--safe-top)    !important; }
.cap-safe-bottom { padding-bottom: var(--safe-bottom) !important; }
.selection\:bg-primary *::-moz-selection{
  background-color: hsl(var(--primary));
}
.selection\:bg-primary *::selection{
  background-color: hsl(var(--primary));
}
.selection\:text-primary-foreground *::-moz-selection{
  color: hsl(var(--primary-foreground));
}
.selection\:text-primary-foreground *::selection{
  color: hsl(var(--primary-foreground));
}
.selection\:bg-primary::-moz-selection{
  background-color: hsl(var(--primary));
}
.selection\:bg-primary::selection{
  background-color: hsl(var(--primary));
}
.selection\:text-primary-foreground::-moz-selection{
  color: hsl(var(--primary-foreground));
}
.selection\:text-primary-foreground::selection{
  color: hsl(var(--primary-foreground));
}
.file\:inline-flex::file-selector-button{
  display: inline-flex;
}
.file\:h-7::file-selector-button{
  height: 1.75rem;
}
.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-cde-text-tertiary::-moz-placeholder{
  --tw-text-opacity: 1;
  color: rgb(90 90 110 / var(--tw-text-opacity, 1));
}
.placeholder\:text-cde-text-tertiary::placeholder{
  --tw-text-opacity: 1;
  color: rgb(90 90 110 / var(--tw-text-opacity, 1));
}
.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;
}
.first\:border-t-0:first-child{
  border-top-width: 0px;
}
.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-b-0:last-child{
  border-bottom-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\:scale-\[1\.02\]:hover{
  --tw-scale-x: 1.02;
  --tw-scale-y: 1.02;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:border-cde-border-active:hover{
  --tw-border-opacity: 1;
  border-color: rgb(58 58 80 / var(--tw-border-opacity, 1));
}
.hover\:border-cde-border-active\/40:hover{
  border-color: rgb(58 58 80 / 0.4);
}
.hover\:bg-\[\#f5f5f7\]:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(245 245 247 / var(--tw-bg-opacity, 1));
}
.hover\:bg-accent:hover{
  background-color: hsl(var(--accent));
}
.hover\:bg-cde-bg-tertiary:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(26 26 37 / var(--tw-bg-opacity, 1));
}
.hover\:bg-cde-bg-tertiary\/30:hover{
  background-color: rgb(26 26 37 / 0.3);
}
.hover\:bg-cde-bg-tertiary\/40:hover{
  background-color: rgb(26 26 37 / 0.4);
}
.hover\:bg-cde-bg-tertiary\/50:hover{
  background-color: rgb(26 26 37 / 0.5);
}
.hover\:bg-destructive\/90:hover{
  background-color: hsl(var(--destructive) / 0.9);
}
.hover\:bg-muted:hover{
  background-color: hsl(var(--muted));
}
.hover\:bg-muted\/50:hover{
  background-color: hsl(var(--muted) / 0.5);
}
.hover\:bg-primary\/90:hover{
  background-color: hsl(var(--primary) / 0.9);
}
.hover\:bg-red-500\/20:hover{
  background-color: rgb(239 68 68 / 0.2);
}
.hover\:bg-secondary\/80:hover{
  background-color: hsl(var(--secondary) / 0.8);
}
.hover\:bg-sidebar-accent:hover{
  background-color: hsl(var(--sidebar-accent));
}
.hover\:bg-white\/5:hover{
  background-color: rgb(255 255 255 / 0.05);
}
.hover\:bg-white\/\[0\.015\]:hover{
  background-color: rgb(255 255 255 / 0.015);
}
.hover\:bg-white\/\[0\.01\]:hover{
  background-color: rgb(255 255 255 / 0.01);
}
.hover\:bg-white\/\[0\.025\]:hover{
  background-color: rgb(255 255 255 / 0.025);
}
.hover\:bg-white\/\[0\.04\]:hover{
  background-color: rgb(255 255 255 / 0.04);
}
.hover\:text-accent-foreground:hover{
  color: hsl(var(--accent-foreground));
}
.hover\:text-cde-accent-cyan:hover{
  --tw-text-opacity: 1;
  color: rgb(0 212 255 / var(--tw-text-opacity, 1));
}
.hover\:text-cde-accent-rose:hover{
  --tw-text-opacity: 1;
  color: rgb(251 113 133 / var(--tw-text-opacity, 1));
}
.hover\:text-cde-text-primary:hover{
  --tw-text-opacity: 1;
  color: rgb(232 232 236 / var(--tw-text-opacity, 1));
}
.hover\:text-cde-text-secondary:hover{
  --tw-text-opacity: 1;
  color: rgb(144 144 160 / var(--tw-text-opacity, 1));
}
.hover\:text-foreground:hover{
  color: hsl(var(--foreground));
}
.hover\:text-muted-foreground:hover{
  color: hsl(var(--muted-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-glow-cyan:hover{
  --tw-shadow: 0 0 20px rgba(0,212,255,0.3);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:ring-4:hover{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.hover\:after\:bg-sidebar-border:hover::after{
  content: var(--tw-content);
  background-color: hsl(var(--sidebar-border));
}
.focus\:z-10:focus{
  z-index: 10;
}
.focus\:border-\[\#00D4FF\]\/50:focus{
  border-color: rgb(0 212 255 / 0.5);
}
.focus\:border-cde-accent-cyan:focus{
  --tw-border-opacity: 1;
  border-color: rgb(0 212 255 / var(--tw-border-opacity, 1));
}
.focus\:border-cde-accent-cyan\/50:focus{
  border-color: rgb(0 212 255 / 0.5);
}
.focus\:bg-accent:focus{
  background-color: hsl(var(--accent));
}
.focus\:text-accent-foreground:focus{
  color: hsl(var(--accent-foreground));
}
.focus\:shadow-\[0_0_0_3px_rgba\(0\2c 212\2c 255\2c 0\.06\)\]:focus{
  --tw-shadow: 0 0 0 3px rgba(0,212,255,0.06);
  --tw-shadow-colored: 0 0 0 3px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.focus\:outline-none:focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.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-ring:focus{
  --tw-ring-color: hsl(var(--ring));
}
.focus\:ring-offset-2:focus{
  --tw-ring-offset-width: 2px;
}
.focus-visible\:z-10:focus-visible{
  z-index: 10;
}
.focus-visible\:border-ring:focus-visible{
  border-color: hsl(var(--ring));
}
.focus-visible\:outline-1:focus-visible{
  outline-width: 1px;
}
.focus-visible\:outline-ring:focus-visible{
  outline-color: hsl(var(--ring));
}
.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-4: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(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus-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-destructive\/20:focus-visible{
  --tw-ring-color: hsl(var(--destructive) / 0.2);
}
.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-offset-1:focus-visible{
  --tw-ring-offset-width: 1px;
}
.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-30:disabled{
  opacity: 0.3;
}
.disabled\:opacity-40:disabled{
  opacity: 0.4;
}
.disabled\:opacity-50:disabled{
  opacity: 0.5;
}
.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{
  opacity: 1;
}
.group:hover .group-hover\:flex{
  display: flex;
}
.group:hover .group-hover\:scale-105{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:scale-110{
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:text-white{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.group\/menu-item:hover .group-hover\/menu-item\:opacity-100{
  opacity: 1;
}
.group:hover .group-hover\:opacity-100{
  opacity: 1;
}
.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-50{
  opacity: 0.5;
}
.has-\[\>button\]\:ml-\[-0\.45rem\]:has(>button){
  margin-left: -0.45rem;
}
.has-\[\>button\]\:mr-\[-0\.45rem\]:has(>button){
  margin-right: -0.45rem;
}
.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-\[\>svg\]\:grid-cols-\[calc\(var\(--spacing\)\*4\)_1fr\]:has(>svg){
  grid-template-columns: calc(var(--spacing) * 4) 1fr;
}
.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-\[\>svg\]\:gap-x-3:has(>svg){
  -moz-column-gap: 0.75rem;
       column-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\=input-group-control\]\:focus-visible\]\:border-ring:has([data-slot=input-group-control]:focus-visible){
  border-color: hsl(var(--ring));
}
.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:border-destructive:has([data-slot][aria-invalid=true]){
  --tw-border-opacity: 1;
  border-color: hsl(var(--destructive) / var(--tw-border-opacity, 1));
}
.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-\[\>svg\]\:px-3:has(>svg){
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.has-\[\>svg\]\:px-4:has(>svg){
  padding-left: 1rem;
  padding-right: 1rem;
}
.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-\[3px\]: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(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);
}
.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/50:has([data-slot=input-group-control]:focus-visible){
  --tw-ring-color: hsl(var(--ring) / 0.5);
}
.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;
}
.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-\[vaul-drawer-direction\=bottom\]\:inset-x-0[data-vaul-drawer-direction="bottom"]{
  left: 0px;
  right: 0px;
}
.data-\[vaul-drawer-direction\=left\]\:inset-y-0[data-vaul-drawer-direction="left"]{
  top: 0px;
  bottom: 0px;
}
.data-\[vaul-drawer-direction\=right\]\:inset-y-0[data-vaul-drawer-direction="right"]{
  top: 0px;
  bottom: 0px;
}
.data-\[vaul-drawer-direction\=top\]\:inset-x-0[data-vaul-drawer-direction="top"]{
  left: 0px;
  right: 0px;
}
.data-\[vaul-drawer-direction\=bottom\]\:bottom-0[data-vaul-drawer-direction="bottom"]{
  bottom: 0px;
}
.data-\[vaul-drawer-direction\=left\]\:left-0[data-vaul-drawer-direction="left"]{
  left: 0px;
}
.data-\[vaul-drawer-direction\=right\]\:right-0[data-vaul-drawer-direction="right"]{
  right: 0px;
}
.data-\[vaul-drawer-direction\=top\]\:top-0[data-vaul-drawer-direction="top"]{
  top: 0px;
}
.data-\[active\=true\]\:z-10[data-active="true"]{
  z-index: 10;
}
.data-\[vaul-drawer-direction\=bottom\]\:mt-24[data-vaul-drawer-direction="bottom"]{
  margin-top: 6rem;
}
.data-\[vaul-drawer-direction\=top\]\:mb-24[data-vaul-drawer-direction="top"]{
  margin-bottom: 6rem;
}
.data-\[orientation\=horizontal\]\:h-1\.5[data-orientation="horizontal"]{
  height: 0.375rem;
}
.data-\[orientation\=horizontal\]\:h-full[data-orientation="horizontal"]{
  height: 100%;
}
.data-\[orientation\=horizontal\]\:h-px[data-orientation="horizontal"]{
  height: 1px;
}
.data-\[orientation\=vertical\]\:h-auto[data-orientation="vertical"]{
  height: auto;
}
.data-\[orientation\=vertical\]\:h-full[data-orientation="vertical"]{
  height: 100%;
}
.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction="vertical"]{
  height: 1px;
}
.data-\[size\=default\]\:h-9[data-size="default"]{
  height: 2.25rem;
}
.data-\[size\=sm\]\:h-8[data-size="sm"]{
  height: 2rem;
}
.data-\[vaul-drawer-direction\=bottom\]\:max-h-\[80vh\][data-vaul-drawer-direction="bottom"]{
  max-height: 80vh;
}
.data-\[vaul-drawer-direction\=top\]\:max-h-\[80vh\][data-vaul-drawer-direction="top"]{
  max-height: 80vh;
}
.data-\[orientation\=vertical\]\:min-h-44[data-orientation="vertical"]{
  min-height: 11rem;
}
.data-\[orientation\=horizontal\]\:w-full[data-orientation="horizontal"]{
  width: 100%;
}
.data-\[orientation\=vertical\]\:w-1\.5[data-orientation="vertical"]{
  width: 0.375rem;
}
.data-\[orientation\=vertical\]\:w-auto[data-orientation="vertical"]{
  width: auto;
}
.data-\[orientation\=vertical\]\:w-full[data-orientation="vertical"]{
  width: 100%;
}
.data-\[orientation\=vertical\]\:w-px[data-orientation="vertical"]{
  width: 1px;
}
.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction="vertical"]{
  width: 100%;
}
.data-\[vaul-drawer-direction\=left\]\:w-3\/4[data-vaul-drawer-direction="left"]{
  width: 75%;
}
.data-\[vaul-drawer-direction\=right\]\:w-3\/4[data-vaul-drawer-direction="right"]{
  width: 75%;
}
.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-\[calc\(100\%-2px\)\][data-state="checked"]{
  --tw-translate-x: calc(100% - 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));
}
.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));
}
@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-\[orientation\=vertical\]\:flex-col[data-orientation="vertical"]{
  flex-direction: column;
}
.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-\[spacing\=0\]\:rounded-none[data-spacing="0"]{
  border-radius: 0px;
}
.data-\[range-end\=true\]\:rounded-r-md[data-range-end="true"]{
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}
.data-\[range-start\=true\]\:rounded-l-md[data-range-start="true"]{
  border-top-left-radius: calc(var(--radius) - 2px);
  border-bottom-left-radius: calc(var(--radius) - 2px);
}
.data-\[vaul-drawer-direction\=bottom\]\:rounded-t-lg[data-vaul-drawer-direction="bottom"]{
  border-top-left-radius: var(--radius);
  border-top-right-radius: var(--radius);
}
.data-\[vaul-drawer-direction\=top\]\:rounded-b-lg[data-vaul-drawer-direction="top"]{
  border-bottom-right-radius: var(--radius);
  border-bottom-left-radius: var(--radius);
}
.data-\[spacing\=0\]\:data-\[variant\=outline\]\:border-l-0[data-variant="outline"][data-spacing="0"]{
  border-left-width: 0px;
}
.data-\[vaul-drawer-direction\=bottom\]\:border-t[data-vaul-drawer-direction="bottom"]{
  border-top-width: 1px;
}
.data-\[vaul-drawer-direction\=left\]\:border-r[data-vaul-drawer-direction="left"]{
  border-right-width: 1px;
}
.data-\[vaul-drawer-direction\=right\]\:border-l[data-vaul-drawer-direction="right"]{
  border-left-width: 1px;
}
.data-\[vaul-drawer-direction\=top\]\:border-b[data-vaul-drawer-direction="top"]{
  border-bottom-width: 1px;
}
.data-\[active\=true\]\:border-ring[data-active="true"]{
  border-color: hsl(var(--ring));
}
.data-\[state\=checked\]\:border-primary[data-state="checked"]{
  border-color: hsl(var(--primary));
}
.data-\[active\=true\]\:bg-accent\/50[data-active="true"]{
  background-color: hsl(var(--accent) / 0.5);
}
.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-\[inset\]\:pl-8[data-inset]{
  padding-left: 2rem;
}
.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-accent-foreground[data-active="true"]{
  color: hsl(var(--accent-foreground));
}
.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active="true"]{
  color: hsl(var(--sidebar-accent-foreground));
}
.data-\[error\=true\]\:text-destructive[data-error="true"]{
  --tw-text-opacity: 1;
  color: hsl(var(--destructive) / var(--tw-text-opacity, 1));
}
.data-\[invalid\=true\]\:text-destructive[data-invalid="true"]{
  --tw-text-opacity: 1;
  color: hsl(var(--destructive) / var(--tw-text-opacity, 1));
}
.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\=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-\[variant\=destructive\]\:text-destructive[data-variant="destructive"]{
  --tw-text-opacity: 1;
  color: hsl(var(--destructive) / var(--tw-text-opacity, 1));
}
.data-\[disabled\=true\]\:opacity-50[data-disabled="true"]{
  opacity: 0.5;
}
.data-\[disabled\]\:opacity-50[data-disabled]{
  opacity: 0.5;
}
.data-\[state\=open\]\:opacity-100[data-state="open"]{
  opacity: 1;
}
.data-\[spacing\=0\]\:shadow-none[data-spacing="0"]{
  --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);
}
.data-\[spacing\=default\]\:data-\[variant\=outline\]\:shadow-xs[data-variant="outline"][data-spacing="default"]{
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.data-\[state\=active\]\:shadow-sm[data-state="active"]{
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.data-\[active\=true\]\:ring-\[3px\][data-active="true"]{
  --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);
}
.data-\[active\=true\]\:ring-ring\/50[data-active="true"]{
  --tw-ring-color: hsl(var(--ring) / 0.5);
}
.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-\[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\=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-right[data-state="closed"]{
  --tw-exit-translate-x: 100%;
}
.data-\[state\=closed\]\:slide-out-to-top[data-state="closed"]{
  --tw-exit-translate-y: -100%;
}
.data-\[state\=open\]\:slide-in-from-bottom[data-state="open"]{
  --tw-enter-translate-y: 100%;
}
.data-\[state\=open\]\:slide-in-from-left[data-state="open"]{
  --tw-enter-translate-x: -100%;
}
.data-\[state\=open\]\:slide-in-from-right[data-state="open"]{
  --tw-enter-translate-x: 100%;
}
.data-\[state\=open\]\:slide-in-from-top[data-state="open"]{
  --tw-enter-translate-y: -100%;
}
.data-\[state\=closed\]\:duration-300[data-state="closed"]{
  animation-duration: 300ms;
}
.data-\[state\=open\]\:duration-500[data-state="open"]{
  animation-duration: 500ms;
}
.\*\:data-\[slot\=select-value\]\:line-clamp-1[data-slot="select-value"] > *{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.\*\:data-\[slot\=select-value\]\:flex[data-slot="select-value"] > *{
  display: flex;
}
.\*\:data-\[slot\=select-value\]\:items-center[data-slot="select-value"] > *{
  align-items: center;
}
.\*\:data-\[slot\=select-value\]\:gap-2[data-slot="select-value"] > *{
  gap: 0.5rem;
}
.\*\:data-\[slot\=alert-description\]\:text-destructive\/90[data-slot="alert-description"] > *{
  color: hsl(var(--destructive) / 0.9);
}
.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-\[spacing\=0\]\:first\:rounded-l-md:first-child[data-spacing="0"]{
  border-top-left-radius: calc(var(--radius) - 2px);
  border-bottom-left-radius: calc(var(--radius) - 2px);
}
.data-\[spacing\=0\]\:data-\[variant\=outline\]\:first\:border-l:first-child[data-variant="outline"][data-spacing="0"]{
  border-left-width: 1px;
}
.data-\[spacing\=0\]\:last\:rounded-r-md:last-child[data-spacing="0"]{
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}
.data-\[active\=true\]\:hover\:bg-accent:hover[data-active="true"]{
  background-color: hsl(var(--accent));
}
.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-\[active\=true\]\:focus\:bg-accent:focus[data-active="true"]{
  background-color: hsl(var(--accent));
}
.data-\[state\=open\]\:focus\:bg-accent:focus[data-state="open"]{
  background-color: hsl(var(--accent));
}
.data-\[variant\=destructive\]\:focus\:bg-destructive\/10:focus[data-variant="destructive"]{
  background-color: hsl(var(--destructive) / 0.1);
}
.data-\[variant\=destructive\]\:focus\:text-destructive:focus[data-variant="destructive"]{
  --tw-text-opacity: 1;
  color: hsl(var(--destructive) / var(--tw-text-opacity, 1));
}
.group[data-disabled="true"] .group-data-\[disabled\=true\]\:pointer-events-none{
  pointer-events: none;
}
.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\/navigation-menu[data-viewport="false"] .group-data-\[viewport\=false\]\/navigation-menu\:top-full{
  top: 100%;
}
.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\/navigation-menu[data-viewport="false"] .group-data-\[viewport\=false\]\/navigation-menu\:mt-1\.5{
  margin-top: 0.375rem;
}
.group\/drawer-content[data-vaul-drawer-direction="bottom"] .group-data-\[vaul-drawer-direction\=bottom\]\/drawer-content\:block{
  display: block;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:hidden{
  display: none;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]{
  width: calc(var(--sidebar-width-icon) + (--spacing(4)));
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]{
  width: calc(var(--sidebar-width-icon) + (--spacing(4)) + 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\/navigation-menu[data-viewport="false"] .group-data-\[viewport\=false\]\/navigation-menu\:overflow-hidden{
  overflow: hidden;
}
.group[data-variant="floating"] .group-data-\[variant\=floating\]\:rounded-lg{
  border-radius: var(--radius);
}
.group\/navigation-menu[data-viewport="false"] .group-data-\[viewport\=false\]\/navigation-menu\:rounded-md{
  border-radius: calc(var(--radius) - 2px);
}
.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border{
  border-width: 1px;
}
.group\/navigation-menu[data-viewport="false"] .group-data-\[viewport\=false\]\/navigation-menu\: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\/navigation-menu[data-viewport="false"] .group-data-\[viewport\=false\]\/navigation-menu\:bg-popover{
  background-color: hsl(var(--popover));
}
.group\/drawer-content[data-vaul-drawer-direction="bottom"] .group-data-\[vaul-drawer-direction\=bottom\]\/drawer-content\:text-center{
  text-align: center;
}
.group\/drawer-content[data-vaul-drawer-direction="top"] .group-data-\[vaul-drawer-direction\=top\]\/drawer-content\:text-center{
  text-align: center;
}
.group\/navigation-menu[data-viewport="false"] .group-data-\[viewport\=false\]\/navigation-menu\:text-popover-foreground{
  color: hsl(var(--popover-foreground));
}
.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-disabled="true"] .group-data-\[disabled\=true\]\:opacity-50{
  opacity: 0.5;
}
.group[data-variant="floating"] .group-data-\[variant\=floating\]\:shadow-sm{
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.group\/navigation-menu[data-viewport="false"] .group-data-\[viewport\=false\]\/navigation-menu\: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\/navigation-menu[data-viewport="false"] .group-data-\[viewport\=false\]\/navigation-menu\:duration-200{
  transition-duration: 200ms;
  animation-duration: 200ms;
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:after\:left-full::after{
  content: var(--tw-content);
  left: 100%;
}
.group[data-collapsible="offcanvas"] .hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover{
  background-color: hsl(var(--sidebar-background));
}
.group\/navigation-menu[data-viewport="false"] .group-data-\[viewport\=false\]\/navigation-menu\: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;
}
.group\/navigation-menu[data-viewport="false"] .group-data-\[viewport\=false\]\/navigation-menu\: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;
}
.group\/navigation-menu[data-viewport="false"] .group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=closed\]\:fade-out-0[data-state="closed"]{
  --tw-exit-opacity: 0;
}
.group\/navigation-menu[data-viewport="false"] .group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=open\]\:fade-in-0[data-state="open"]{
  --tw-enter-opacity: 0;
}
.group\/navigation-menu[data-viewport="false"] .group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=closed\]\:zoom-out-95[data-state="closed"]{
  --tw-exit-scale: .95;
}
.group\/navigation-menu[data-viewport="false"] .group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=open\]\:zoom-in-95[data-state="open"]{
  --tw-enter-scale: .95;
}
.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-input:is(.dark *){
  border-color: hsl(var(--input));
}
.dark\:bg-destructive\/60:is(.dark *){
  background-color: hsl(var(--destructive) / 0.6);
}
.dark\:bg-input\/30:is(.dark *){
  background-color: hsl(var(--input) / 0.3);
}
.dark\:bg-transparent:is(.dark *){
  background-color: transparent;
}
.dark\:text-muted-foreground:is(.dark *){
  color: hsl(var(--muted-foreground));
}
.dark\:hover\:bg-accent\/50:hover:is(.dark *){
  background-color: hsl(var(--accent) / 0.5);
}
.dark\:hover\:bg-input\/50:hover:is(.dark *){
  background-color: hsl(var(--input) / 0.5);
}
.dark\:hover\:text-accent-foreground:hover:is(.dark *){
  color: hsl(var(--accent-foreground));
}
.dark\:focus-visible\:ring-destructive\/40:focus-visible:is(.dark *){
  --tw-ring-color: hsl(var(--destructive) / 0.4);
}
.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);
}
.dark\:data-\[state\=active\]\:border-input[data-state="active"]:is(.dark *){
  border-color: hsl(var(--input));
}
.dark\:data-\[state\=active\]\:bg-input\/30[data-state="active"]:is(.dark *){
  background-color: hsl(var(--input) / 0.3);
}
.dark\:data-\[state\=checked\]\:bg-primary[data-state="checked"]:is(.dark *){
  background-color: hsl(var(--primary));
}
.dark\:data-\[state\=checked\]\:bg-primary-foreground[data-state="checked"]:is(.dark *){
  background-color: hsl(var(--primary-foreground));
}
.dark\:data-\[state\=unchecked\]\:bg-foreground[data-state="unchecked"]:is(.dark *){
  background-color: hsl(var(--foreground));
}
.dark\:data-\[state\=unchecked\]\:bg-input\/80[data-state="unchecked"]:is(.dark *){
  background-color: hsl(var(--input) / 0.8);
}
.dark\:data-\[state\=active\]\:text-foreground[data-state="active"]:is(.dark *){
  color: hsl(var(--foreground));
}
.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:focus[data-variant="destructive"]:is(.dark *){
  background-color: hsl(var(--destructive) / 0.2);
}
@media (min-width: 640px){
  .sm\:block{
    display: block;
  }
  .sm\:inline{
    display: inline;
  }
  .sm\:flex{
    display: flex;
  }
  .sm\:max-w-lg{
    max-width: 32rem;
  }
  .sm\:max-w-sm{
    max-width: 24rem;
  }
  .sm\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sm\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .sm\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .sm\:flex-row{
    flex-direction: row;
  }
  .sm\:justify-end{
    justify-content: flex-end;
  }
  .sm\:gap-2\.5{
    gap: 0.625rem;
  }
  .sm\:pl-2\.5{
    padding-left: 0.625rem;
  }
  .sm\:pr-2\.5{
    padding-right: 0.625rem;
  }
  .sm\:text-left{
    text-align: left;
  }
  .data-\[vaul-drawer-direction\=left\]\:sm\:max-w-sm[data-vaul-drawer-direction="left"]{
    max-width: 24rem;
  }
  .data-\[vaul-drawer-direction\=right\]\:sm\:max-w-sm[data-vaul-drawer-direction="right"]{
    max-width: 24rem;
  }
}
@media (min-width: 768px){
  .md\:absolute{
    position: absolute;
  }
  .md\:block{
    display: block;
  }
  .md\:flex{
    display: flex;
  }
  .md\:hidden{
    display: none;
  }
  .md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{
    width: var(--radix-navigation-menu-viewport-width);
  }
  .md\:w-auto{
    width: auto;
  }
  .md\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .md\:flex-row{
    flex-direction: row;
  }
  .md\:gap-1\.5{
    gap: 0.375rem;
  }
  .md\:p-12{
    padding: 3rem;
  }
  .md\:text-left{
    text-align: left;
  }
  .md\:text-sm{
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  .md\:opacity-0{
    opacity: 0;
  }
  .md\:after\:hidden::after{
    content: var(--tw-content);
    display: none;
  }
  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:m-2{
    margin: 0.5rem;
  }
  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:ml-0{
    margin-left: 0px;
  }
  .peer[data-variant="inset"][data-state="collapsed"] ~ .md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2{
    margin-left: 0.5rem;
  }
  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:rounded-xl{
    border-radius: calc(var(--radius) + 4px);
  }
  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:shadow-sm{
    --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }
}
@media (min-width: 1024px){
  .lg\:block{
    display: block;
  }
  .lg\:flex{
    display: flex;
  }
  .lg\:hidden{
    display: none;
  }
  .lg\:min-h-\[90px\]{
    min-height: 90px;
  }
  .lg\:w-\[220px\]{
    width: 220px;
  }
  .lg\:w-\[264px\]{
    width: 264px;
  }
  .lg\:shrink-0{
    flex-shrink: 0;
  }
  .lg\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .lg\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .lg\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .lg\:grid-cols-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .lg\:grid-cols-6{
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .lg\:flex-row{
    flex-direction: row;
  }
  .lg\:items-center{
    align-items: center;
  }
  .lg\:justify-between{
    justify-content: space-between;
  }
  .lg\:gap-3{
    gap: 0.75rem;
  }
  .lg\:p-5{
    padding: 1.25rem;
  }
  .lg\:p-6{
    padding: 1.5rem;
  }
  .lg\:px-3{
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
  .lg\:px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .lg\:py-3\.5{
    padding-top: 0.875rem;
    padding-bottom: 0.875rem;
  }
  .lg\:text-\[12px\]{
    font-size: 12px;
  }
}
@media print{
  .print\:hidden{
    display: none;
  }
}
.\[\&\+\[data-slot\=item-content\]\]\:flex-none+[data-slot=item-content]{
  flex: 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);
}
.\[\&\:nth-child\(2\)\[data-selected\=true\]_button\]\:rounded-l-md:nth-child(2)[data-selected=true] button{
  border-top-left-radius: calc(var(--radius) - 2px);
  border-bottom-left-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;
}
.\[\&\>\*\]\:data-\[slot\=field\]\:p-4[data-slot="field"]>*{
  padding: 1rem;
}
.\[\&\>\.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;
}
.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\]\:text-xs>span{
  font-size: 0.75rem;
  line-height: 1rem;
}
.\[\&\>span\]\:opacity-70>span{
  opacity: 0.7;
}
.\[\&\>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\]\:pointer-events-none>svg{
  pointer-events: none;
}
.\[\&\>svg\]\:size-3>svg{
  width: 0.75rem;
  height: 0.75rem;
}
.\[\&\>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\]\:w-2\.5>svg{
  width: 0.625rem;
}
.\[\&\>svg\]\:w-3>svg{
  width: 0.75rem;
}
.\[\&\>svg\]\:shrink-0>svg{
  flex-shrink: 0;
}
.\[\&\>svg\]\:translate-y-0\.5>svg{
  --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));
}
.\[\&\>svg\]\:text-current>svg{
  color: currentColor;
}
.\[\&\>svg\]\:text-muted-foreground>svg{
  color: hsl(var(--muted-foreground));
}
.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{
  color: hsl(var(--sidebar-accent-foreground));
}
.\[\&\>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-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;
}
.\[\&_\[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-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{
  height: 1.25rem;
}
.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{
  width: 1.25rem;
}
.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{
  height: 3rem;
}
.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{
  height: 1.25rem;
}
.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{
  width: 1.25rem;
}
.\[\&_img\]\:size-full img{
  width: 100%;
  height: 100%;
}
.\[\&_img\]\:object-cover img{
  -o-object-fit: cover;
     object-fit: cover;
}
.\[\&_p\]\:leading-relaxed p{
  line-height: 1.625;
}
.\[\&_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\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*='text-']){
  color: hsl(var(--muted-foreground));
}
.\[\&_svg\]\:pointer-events-none svg{
  pointer-events: none;
}
.\[\&_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;
}
[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{
  right: -0.5rem;
}
[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{
  cursor: e-resize;
}
[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{
  left: -0.5rem;
}
[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{
  cursor: w-resize;
}
[data-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;
}
a.\[a\&\]\:hover\:bg-accent:hover{
  background-color: hsl(var(--accent));
}
a.\[a\&\]\:hover\:bg-destructive\/90:hover{
  background-color: hsl(var(--destructive) / 0.9);
}
a.\[a\&\]\:hover\:bg-primary\/90:hover{
  background-color: hsl(var(--primary) / 0.9);
}
a.\[a\&\]\:hover\:bg-secondary\/90:hover{
  background-color: hsl(var(--secondary) / 0.9);
}
a.\[a\&\]\:hover\:text-accent-foreground:hover{
  color: hsl(var(--accent-foreground));
}


/* ============================================================
   Meük Arquitectos — Editorial Design System Tokens
   Ported from Sagrario Novias DS · Implemented 2026-06-07
   ============================================================ */
/* — Fonts (loaded in index.html) ——————————————————————— */
/* — Color tokens ——————————————————————————————————————— */
:root {
  --paper:        #ffffff;
  --ink:          #111111;
  --ink-soft:     #2b2b2b;
  --bone:         #f5f1ea;
  --bone-deep:    #ebe4d9;
  --bone-line:    #ded6c8;
  --smoke:        #8c8c8c;
  --ash:          #b8b2a8;
  --line:         #e6e2db;
  --line-faint:   #f0ece5;
  --oxblood:      #6e2b2b;

  --bg:            var(--paper);
  --surface:       var(--paper);
  --surface-alt:   var(--bone);
  --surface-ink:   var(--ink);
  --text:          var(--ink);
  --text-soft:     var(--ink-soft);
  --text-muted:    var(--smoke);
  --text-faint:    var(--ash);
  --text-on-ink:   #ffffff;
  --text-on-ink-muted: rgba(255,255,255,0.62);
  --border:        var(--line);
  --border-strong: var(--ink);
  --border-on-ink: rgba(255,255,255,0.22);
  --accent:        var(--ink);
  --accent-sale:   var(--oxblood);
}
/* — Typography tokens ——————————————————————————————————— */
:root {
  --font-display: 'Cormorant Garant', 'Garamond', Georgia, serif;
  --font-body:    'DM Sans', 'Helvetica Neue', system-ui, sans-serif;
  --font-label:   'DM Sans', 'Helvetica Neue', system-ui, sans-serif;

  --type-hero:    clamp(3.5rem, 9vw, 8rem);
  --type-display: clamp(2.75rem, 6vw, 5rem);
  --type-h1:      clamp(2.25rem, 4vw, 3.5rem);
  --type-h2:      clamp(1.75rem, 3vw, 2.5rem);
  --type-h3:      clamp(1.375rem, 2vw, 1.75rem);
  --type-h4:      1.25rem;
  --type-lead:    1.25rem;
  --type-body:    1rem;
  --type-small:   0.875rem;
  --type-eyebrow: 0.75rem;
  --type-micro:   0.6875rem;

  --weight-display: 500;
  --weight-reg:   400;
  --weight-med:   500;
  --weight-semi:  600;

  --leading-hero:  0.98;
  --leading-tight: 1.08;
  --leading-snug:  1.28;
  --leading-body:  1.62;

  --tracking-hero:    -0.015em;
  --tracking-display: -0.01em;
  --tracking-eyebrow: 0.22em;
  --tracking-nav:     0.16em;
  --tracking-button:  0.14em;
}
/* — Spacing & layout ——————————————————————————————————— */
:root {
  --space-1:  0.25rem;
  --space-2:  0.5rem;
  --space-3:  0.75rem;
  --space-4:  1rem;
  --space-5:  1.5rem;
  --space-6:  2rem;
  --space-7:  3rem;
  --space-8:  4rem;
  --space-9:  6rem;
  --space-10: 8rem;

  --ed-container:   1440px;
  --gutter:         clamp(1rem, 4vw, 4rem);
  --grid-gap:       clamp(0.75rem, 1.5vw, 1.5rem);
  --rule:           1px;

  --ease-editorial: cubic-bezier(0.22, 0.61, 0.36, 1);
  --ease-out:       cubic-bezier(0.16, 1, 0.3, 1);
  --dur-fast:       180ms;
  --dur-mid:        320ms;
  --dur-slow:       620ms;
}
/* — Utility classes ————————————————————————————————————— */
.ed-container {
  width: 100%;
  max-width: var(--ed-container);
  margin-inline: auto;
  padding-inline: var(--gutter);
}
.sg-display {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  line-height: var(--leading-hero);
  letter-spacing: var(--tracking-hero);
}
.sg-display--italic { font-style: italic; font-weight: var(--weight-reg); }
.sg-lede {
  font-family: var(--font-body);
  font-size: var(--type-lead);
  line-height: var(--leading-snug);
  color: var(--text-soft);
  font-weight: var(--weight-reg);
}
.sg-index {
  font-family: var(--font-label);
  font-size: var(--type-eyebrow);
  letter-spacing: var(--tracking-eyebrow);
  font-variant-numeric: tabular-nums;
  color: var(--text-muted);
}
.sg-link {
  font-family: var(--font-label);
  font-size: var(--type-eyebrow);
  font-weight: var(--weight-semi);
  letter-spacing: var(--tracking-nav);
  text-transform: uppercase;
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
  transition: opacity var(--dur-fast) var(--ease-editorial);
  cursor: pointer;
}
.sg-link:hover { opacity: 0.55; }
/* — Editorial index row hover ——————————————————————————— */
.meuk-index-row { transition: background var(--dur-fast) var(--ease-editorial); }
.meuk-index-row:hover { background: var(--bone); }
.meuk-index-row:hover .meuk-row-name { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
/* — Section entrance animation ————————————————————————— */
@media (prefers-reduced-motion: no-preference) {
  .ed-section-rise { animation: edRise 620ms cubic-bezier(0.22, 0.61, 0.36, 1) both; }
  @keyframes edRise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
}
/* — Responsive grid helpers ———————————————————————————— */
.meuk-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(1rem, 2vw, 1.75rem); }
.meuk-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.5rem, 3vw, 2.5rem); }
.meuk-split  { display: grid; grid-template-columns: 1.05fr 1fr; }
.meuk-feature { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.meuk-detail-body { display: grid; grid-template-columns: 1fr 320px; gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.meuk-spread { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1rem, 2vw, 1.75rem); }
@media (max-width: 1024px) {
  .meuk-grid-4 { grid-template-columns: repeat(2, 1fr) !important; }
  .meuk-split, .meuk-feature, .meuk-detail-body { grid-template-columns: 1fr !important; }
  .meuk-detail-body aside { position: static !important; }
}
@media (max-width: 720px) {
  .meuk-grid-3 { grid-template-columns: repeat(2, 1fr) !important; }
  .meuk-spread { grid-template-columns: 1fr !important; }
  .meuk-index-row { grid-template-columns: 40px 1fr 28px !important; }
  .meuk-index-row .meuk-hide-mobile { display: none !important; }
}
@media (max-width: 520px) {
  .meuk-grid-4, .meuk-grid-3 { grid-template-columns: 1fr !important; }
}
