:root {
  --mobile-tap-target: 44px;
  --mobile-padding: 16px;
  --mobile-gap: 12px;
  --mobile-header-height: 48px;
  --mobile-nav-height: 56px;
  --mobile-safe-area-bottom: env(safe-area-inset-bottom, 0px);
}

@media screen and (max-width: 768px) {
  html {
    font-size: var(--text-base);
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
  }

  body {
    overscroll-behavior: none;
    touch-action: pan-y;
  }

  .mobile-hidden {
    display: none !important;
  }

  .mobile-visible {
    display: block !important;
  }

  .touch-scroll {
    -webkit-overflow-scrolling: touch;
    overflow-y: auto;
  }

  .no-select {
    -webkit-user-select: none;
    -moz-user-select: none;
         user-select: none;
  }
}

@media screen and (min-width: 769px) {
  .desktop-hidden {
    display: none !important;
  }
}

@media screen and (max-width: 480px) {
  :root {
    --mobile-padding: 12px;
    --mobile-gap: 8px;
  }
}

@media screen and (max-height: 500px) and (orientation: landscape) {
  .mobile-landscape-compact {
    padding-top: var(--space-4);
    padding-bottom: var(--space-4);
  }
  
  .mobile-landscape-compact .mobile-header {
    height: 36px;
  }
}

@media screen and (prefers-reduced-motion: reduce) {
  *:not(.agent-reasoning-shimmer):not(.agent-reasoning-shimmer *) {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

@media (hover: none) and (pointer: coarse) {
  .touch-only {
    display: block;
  }
  
  .hover-only {
    display: none;
  }
  
  button, 
  [role="button"],
  input[type="submit"],
  input[type="button"] {
    min-height: var(--mobile-tap-target);
    min-width: var(--mobile-tap-target);
  }
  
  a {
    min-height: var(--mobile-tap-target);
    display: inline-flex;
    align-items: center;
  }
}

@media (hover: hover) and (pointer: fine) {
  .touch-only {
    display: none;
  }
  
  .hover-only {
    display: block;
  }
}

.mobile-btn {
  min-height: var(--mobile-tap-target);
  min-width: var(--mobile-tap-target);
  padding: var(--space-5) var(--space-8);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.15s ease, transform 0.1s ease;
}

.mobile-btn:active {
  transform: scale(0.96);
}

.mobile-btn-primary {
  background-color: var(--color-green);
  color: var(--color-bg);
}

.mobile-btn-secondary {
  background-color: transparent;
  border: 1px solid var(--color-borderA);
  color: var(--color-text);
}

.mobile-input {
  width: 100%;
  min-height: var(--mobile-tap-target);
  padding: var(--space-6) var(--space-8);
  font-size: var(--text-md);
  border-radius: 4px;
  border: 1px solid var(--color-borderA);
  background-color: var(--color-bg);
  color: var(--color-white);
}

.mobile-input:focus {
  outline: none;
  border-color: var(--color-green);
}

.mobile-panel {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 100;
  background-color: var(--color-bg);
  transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.mobile-panel.active {
  transform: translateX(0);
}

.mobile-panel-header {
  position: sticky;
  top: 0;
  height: var(--mobile-header-height);
  display: flex;
  align-items: center;
  padding: 0 var(--mobile-padding);
  background-color: var(--color-panelH);
  border-bottom: 1px solid var(--color-border);
  z-index: 10;
}

.mobile-panel-content {
  flex: 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: var(--mobile-padding);
  padding-bottom: calc(var(--mobile-nav-height) + var(--mobile-safe-area-bottom) + var(--mobile-padding));
}

.mobile-bottom-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: calc(var(--mobile-nav-height) + var(--mobile-safe-area-bottom));
  padding-bottom: var(--mobile-safe-area-bottom);
  background-color: var(--color-panelH);
  border-top: 1px solid var(--color-border);
  display: flex;
  justify-content: space-around;
  align-items: center;
  z-index: 50;
}

.mobile-nav-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: var(--space-4) var(--space-2);
  min-height: var(--mobile-tap-target);
  color: var(--color-dim);
  text-decoration: none;
  font-size: var(--text-2xs);
  font-weight: 500;
  transition: color 0.15s ease;
}

.mobile-nav-item.active {
  color: var(--color-green);
}

.mobile-nav-item:active {
  background-color: var(--color-greenBg);
}

.mobile-nav-icon {
  font-size: var(--text-lg);
  line-height: 1;
}

.pull-to-refresh {
  position: absolute;
  top: -50px;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-green);
  transition: transform 0.2s ease;
}

.pull-to-refresh.visible {
  transform: translateX(-50%) translateY(60px);
}

.pull-to-refresh.loading {
  animation: spin 1s linear infinite;
}

@keyframes spin {
  from { transform: translateX(-50%) translateY(60px) rotate(0deg); }
  to { transform: translateX(-50%) translateY(60px) rotate(360deg); }
}

.swipe-indicator {
  position: absolute;
  bottom: calc(var(--mobile-nav-height) + var(--mobile-safe-area-bottom) + var(--space-4));
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: var(--space-3);
}

.swipe-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--color-muted);
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.swipe-dot.active {
  background-color: var(--color-green);
  transform: scale(1.3);
}

.mobile-drawer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  max-height: 80vh;
  background-color: var(--color-panel);
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  transform: translateY(100%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 60;
  overflow: hidden;
}

.mobile-drawer.open {
  transform: translateY(0);
}

.mobile-drawer-handle {
  width: 36px;
  height: 4px;
  background-color: var(--color-borderA);
  border-radius: 2px;
  margin: var(--space-4) auto;
}

.mobile-drawer-content {
  max-height: calc(80vh - 20px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.mobile-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.6);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  z-index: 55;
}

.mobile-overlay.visible {
  opacity: 1;
  visibility: visible;
}

.mobile-context-menu {
  position: fixed;
  background-color: var(--color-panelH);
  border: 1px solid var(--color-border);
  border-radius: 6px;
  padding: var(--space-4) 0;
  min-width: 160px;
  z-index: 70;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}

.mobile-context-menu-item {
  display: flex;
  align-items: center;
  gap: var(--space-6);
  padding: var(--space-6) var(--space-8);
  min-height: var(--mobile-tap-target);
  color: var(--color-text);
  font-size: var(--text-base);
  cursor: pointer;
}

.mobile-context-menu-item:active {
  background-color: var(--color-greenBg);
}

.mobile-context-menu-item.danger {
  color: var(--color-red);
}

@media screen and (max-width: 768px) {
  .responsive-grid {
    display: flex;
    flex-direction: column;
    gap: var(--mobile-gap);
  }

  .responsive-grid > * {
    width: 100% !important;
  }

  .responsive-hide-sidebar {
    display: none !important;
  }

  .responsive-stack {
    flex-direction: column !important;
  }

  .responsive-full-width {
    width: 100% !important;
    max-width: 100% !important;
  }

  .responsive-text-sm {
    font-size: var(--text-sm) !important;
  }

  .responsive-p-compact {
    padding: var(--mobile-padding) !important;
  }

  .responsive-gap-sm {
    gap: var(--space-4) !important;
  }

  .mobile-flex-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--mobile-gap);
  }

  .mobile-flex-col {
    display: flex;
    flex-direction: column;
    gap: var(--mobile-gap);
  }

  .mobile-justify-between {
    justify-content: space-between;
  }

  .mobile-items-center {
    align-items: center;
  }

  .mobile-overflow-x-auto {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .mobile-overflow-x-auto::-webkit-scrollbar {
    display: none;
  }

  .mobile-snap-x {
    scroll-snap-type: x mandatory;
  }

  .mobile-snap-center {
    scroll-snap-align: center;
  }
}

@media screen and (max-width: 768px) and (orientation: portrait) {
  .mobile-portrait-col {
    flex-direction: column !important;
  }

  .mobile-portrait-full {
    width: 100% !important;
    height: auto !important;
  }
}

@media screen and (max-width: 768px) and (orientation: landscape) {
  .mobile-landscape-row {
    flex-direction: row !important;
  }

  .mobile-landscape-half {
    width: 50% !important;
  }

  .mobile-landscape-compact-header {
    height: 36px !important;
    padding: 0 var(--space-4) !important;
  }
}

.virtual-keyboard-active {
  position: fixed;
  bottom: 0;
}

@supports (padding-bottom: env(safe-area-inset-bottom)) {
  .mobile-bottom-nav {
    height: calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));
  }

  .mobile-panel-content {
    padding-bottom: calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + var(--mobile-padding));
  }
}

.widget-table-container {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.widget-table-container::-webkit-scrollbar {
  display: none;
}

.widget-select {
  min-height: 36px;
  padding: var(--space-2) var(--space-4);
  font-size: var(--text-xs);
  border-radius: 4px;
  background: var(--color-bg);
  border: 1px solid var(--color-borderA);
  color: var(--color-text);
  cursor: pointer;
  touch-action: manipulation;
}

.widget-button {
  min-height: 32px;
  min-width: 32px;
  padding: var(--space-2) var(--space-5);
  font-size: var(--text-xs);
  border-radius: 4px;
  cursor: pointer;
  touch-action: manipulation;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  transition: background-color 0.15s ease, transform 0.1s ease;
}

.widget-button:active {
  transform: scale(0.96);
}

.widget-input {
  min-height: 32px;
  padding: var(--space-2) var(--space-4);
  font-size: var(--text-xs);
  border-radius: 4px;
  background: var(--color-bg);
  border: 1px solid var(--color-borderA);
  color: var(--color-white);
  outline: none;
}

.widget-input:focus {
  border-color: var(--color-green);
}

.widget-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  align-items: center;
  padding: var(--space-4);
}

.widget-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-4);
}

.widget-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-4);
}

.widget-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-4);
}

@media screen and (max-width: 768px) {
  .widget-select {
    min-height: 40px;
    padding: var(--space-4) var(--space-6);
    font-size: var(--text-sm);
  }

  .widget-button {
    min-height: 40px;
    min-width: 40px;
    padding: var(--space-5) var(--space-7);
    font-size: var(--text-sm);
  }

  .widget-input {
    min-height: 40px;
    padding: var(--space-5) var(--space-6);
    font-size: var(--text-base);
  }

  .widget-filter-row {
    padding: var(--space-6);
    gap: var(--space-5);
  }

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

  .widget-grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }

  .widget-grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 480px) {
  .widget-grid-2,
  .widget-grid-3,
  .widget-grid-4 {
    grid-template-columns: 1fr;
  }
}
/* Self-hosted Geist from the `geist` package (Vite resolves & hashes these assets). */

@font-face {
  font-family: 'Geist';
  src: url('/assets/Geist-Variable-CrgPqtmy.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Geist';
  src: url('/assets/Geist-Italic_wght_-vKc54d3Z.woff2') format('woff2');
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Geist Mono';
  src: url('/assets/GeistMono-Variable-BNLlm6Cd.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Geist Mono';
  src: url('/assets/GeistMono-Italic_wght_-MBthCoE1.woff2') format('woff2');
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}
*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

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

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

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

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: var(--font-sans); /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

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

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

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

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

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

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

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

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

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

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

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

b,
strong {
  font-weight: bolder;
}

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

code,
kbd,
samp,
pre {
  font-family: var(--font-mono); /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

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

small {
  font-size: 80%;
}

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

button,
select {
  text-transform: none;
}

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

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

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

:-moz-focusring {
  outline: auto;
}

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

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

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

progress {
  vertical-align: baseline;
}

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

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

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

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

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

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

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

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

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

summary {
  display: list-item;
}

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

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

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

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

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

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

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

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

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

/*
Set the default cursor for buttons.
*/

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

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

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

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

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

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

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
  :root,
  .dark {
    /* ── Graphite Dark — layered neutrals, orange accent sparingly ── */
    --background: 0 0% 4%;              /* #0b0b0b canvas */
    --foreground: 0 0% 92%;             /* #ebebeb primary text */

    --card: 0 0% 11%;                   /* #1c1c1c editor / panels */
    --card-foreground: 0 0% 92%;

    --popover: 0 0% 10%;
    --popover-foreground: 0 0% 92%;

    --primary: 225 92% 60%;             /* #2357f6 royal blue — CTAs only */
    --primary-foreground: 0 0% 100%;

    --secondary: 0 0% 13%;
    --secondary-foreground: 0 0% 92%;

    --muted: 0 0% 14%;                  /* #242424 insets */
    --muted-foreground: 0 0% 58%;       /* labels */

    --accent: 0 0% 16%;                 /* neutral hover / selection wash */
    --accent-foreground: 0 0% 92%;

    --destructive: 0 65% 58%;
    --destructive-foreground: 0 0% 98%;

    --border: 0 0% 20%;                 /* #333333 hairlines */
    --input: 0 0% 13%;
    --ring: 225 92% 60%;                /* brand focus ring */

    --icon-stroke: 2;
    --icon-stroke-active: 2.25;

    --radius: 2px;                      /* eckig — Datenterminal, nicht Consumer-App */
    --radius-lg: 3px;
    --panel-shadow: 0 1px 0 0 hsl(0 0% 100% / 0.035),
      0 8px 28px -6px hsl(0 0% 0% / 0.55);

    --shell: 0 0% 4%;
    --workspace: 0 0% 9%;               /* #161616 breadcrumb + instrument band */

    /* Neutral shell — identical in light + dark (mode-constant), no blue tint.
       Blue survives only on --sidebar-ring (keyboard focus). */
    --sidebar-background: 0 0% 7%;       /* #111111 — neutral shell */
    --sidebar-foreground: 0 0% 90%;
    --sidebar-primary: 0 0% 90%;         /* active icon/text = neutral bright */
    --sidebar-primary-foreground: 0 0% 10%;
    --sidebar-accent: 0 0% 16%;          /* neutral hover / selection wash */
    --sidebar-accent-foreground: 0 0% 92%;
    --sidebar-border: 0 0% 20%;
    --sidebar-ring: 225 92% 60%;         /* brand focus ring (sparing) */

    --positive: 152 45% 42%;
    --positive-dim: 152 45% 42% / 0.12;
    --negative: 0 65% 58%;
    --negative-dim: 0 65% 58% / 0.12;

    /* Chart palette — Warp Dark terminal ANSI (soft pastels) */
    --chart-1: 208 97% 82%;             /* blue #a5d5fe */
    --chart-2: 92 92% 71%;              /* green #b4fa72 */
    --chart-3: 59 96% 88%;              /* yellow #fefdc2 */
    --chart-4: 303 100% 78%;            /* magenta #ff8ffd */
    --chart-5: 239 95% 90%;             /* cyan #d0d1fe */
    --chart-6: 7 100% 72%;              /* red #ff8272 */
    --chart-7: 57 92% 92%;              /* bright yellow #fefdd5 */
    --chart-8: 92 89% 86%;              /* bright green #d6fcb9 */
    --chart-9: 206 97% 88%;             /* bright blue #c1e3fe */
    --chart-10: 0 0% 56%;               /* bright black #8e8e8e */
    --chart-11: 236 88% 95%;            /* bright cyan #e5e6fe */
    --chart-12: 303 100% 85%;           /* bright magenta #ffb1fe */

    /* Chart surfaces — same plane as panel card (no nested darker box) */
    --chart-surface: var(--card);
    --chart-surface-elevated: var(--muted);
    --chart-grid-minor: 0 0% 100% / 0.07;
    --chart-grid-major: 0 0% 100% / 0.08;
    --chart-axis-border: 0 0% 100% / 0.06;
    --chart-crosshair: 0 0% 100% / 0.14;
    --chart-crosshair-label-bg: 0 0% 16%;
    --chart-crosshair-label-fg: 0 0% 90%;
    --chart-tooltip-bg: var(--muted);
    --chart-zero-line: 0 0% 100% / 0.12;

    --brand: 225 92% 60%;
    --brand-strong: 225 92% 52%;

    /* ── Layout ── */
    --topbar-height: 0px;
    --sidebar-width: 176px;
    --sidebar-collapsed-width: 40px;
    --right-sidebar-width: 230px;
    --right-dock-width: 0px;
    --widget-header-height: 38px;
    --statusbar-height: 24px;
    --row-data: 34px;
    --row-compact: 28px;

    /* ── Typography ── */
    --font-sans: 'Geist', ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
    --font-mono: 'Geist Mono', 'JetBrains Mono', 'SFMono-Regular', Menlo, Consolas, monospace;

    /* ── Type scale ──
       Single source of truth for font sizes across the UI.
       Each step = ~1.125× ratio (Major Second).
       Use the matching tailwind utility classes (text-2xs … text-3xl). */
    --text-2xs: 10px;     /* mini-labels, badges, footer, uppercase section headers */
    --text-xs: 11px;      /* compact UI text, sub-items, dense table rows */
    --text-sm: 12px;      /* default body in dense regions (sidebar items, widgets) */
    --text-base: 13px;    /* default body in normal regions (forms, modals) */
    --text-md: 15px;      /* sub-headers, prominent UI labels */
    --text-lg: 18px;      /* section titles on pages */
    --text-xl: 23px;      /* page subheaders */
    --text-2xl: 30px;     /* page headers */
    --text-3xl: 37px;     /* hero */

    /* ── Line heights paired with type scale ── */
    --leading-2xs: 14px;
    --leading-xs: 16px;
    --leading-sm: 18px;
    --leading-base: 20px;
    --leading-md: 22px;
    --leading-lg: 26px;
    --leading-xl: 32px;
    --leading-2xl: 38px;
    --leading-3xl: 44px;

    /* ── Z-index stack ── */
    --z-base: 0;
    --z-widget: 10;
    --z-sticky: 20;
    --z-dropdown: 50;
    --z-modal: 100;
    --z-toast: 200;

    /* ── Legacy theme.js (T.*) bridge — maps to shadcn tokens above ── */
    --color-bg: hsl(var(--background));
    --color-panel: hsl(var(--card));
    --color-chart-canvas: hsl(var(--chart-surface));
    --color-chart-surface-elevated: hsl(var(--chart-surface-elevated));
    --color-chart-grid: hsl(var(--chart-grid-minor));
    --color-chart-grid-major: hsl(var(--chart-grid-major));
    --color-chart-axis: hsl(var(--muted-foreground));
    --color-chart-axis-border: hsl(var(--chart-axis-border));
    --color-chart-crosshair: hsl(var(--chart-crosshair));
    --color-chart-crosshair-label-bg: hsl(var(--chart-crosshair-label-bg));
    --color-chart-crosshair-label-fg: hsl(var(--chart-crosshair-label-fg));
    --color-chart-tooltip-bg: hsl(var(--chart-tooltip-bg));
    --color-chart-tooltip-border: hsl(var(--border) / 0.65);
    --color-chart-zero-line: hsl(var(--chart-zero-line));
    --color-panelH: hsl(var(--muted));
    --color-border: hsl(var(--border));
    --color-borderA: hsl(var(--border));
    --color-borderF: hsl(var(--ring));
    --color-text: hsl(var(--foreground));
    --color-dim: hsl(var(--muted-foreground));
    --color-muted: hsl(var(--muted-foreground));
    --color-white: #ffffff;
    --color-green: hsl(var(--positive));
    --color-greenD: color-mix(in srgb, hsl(var(--positive)) 70%, black);
    --color-greenBg: rgba(22, 163, 74, 0.08);
    --color-greenBgS: rgba(22, 163, 74, 0.15);
    --color-red: hsl(var(--negative));
    --color-redBg: rgba(220, 38, 38, 0.08);
    --color-redBgS: rgba(220, 38, 38, 0.15);
    --color-yellow: hsl(var(--chart-3));
    --color-yellowBg: rgba(234, 88, 12, 0.08);
    --color-yellowBgS: rgba(234, 88, 12, 0.15);
    --color-cyan: hsl(var(--chart-5));
    --color-blue: hsl(var(--chart-1));
    --color-purple: hsl(var(--chart-4));
    --color-orange: hsl(var(--brand));
    --color-accent: hsl(var(--brand));
    --color-titleActive: hsl(var(--card));
    --color-titleInactive: hsl(var(--card));
    --color-bevelLight: rgba(255, 255, 255, 0.04);
    --color-bevelDark: hsl(var(--background));
    --color-statusBg: hsl(var(--card));

    --transition-theme: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease;
  }

  /* ── Paper Light — Cursor: canvas #ebebeb < sidebar #f8 < editor #fff (flush, no floating card) ── */
  .light {
    --radius: 2px;                       /* eckig — Datenterminal, nicht Consumer-App */
    --radius-lg: 3px;
    --panel-shadow: none;                /* Paper/Ink: Haarlinien statt Schatten */

    --background: 220 13% 96%;           /* #f3f4f6 canvas/gutter — kühl */
    --foreground: 223 14% 10%;           /* #15171c ink — fast schwarz, leicht kühl */
    --workspace: 0 0% 100%;              /* white editor */
    --shell: 220 13% 96%;                /* chrome = canvas */

    --card: 0 0% 100%;                   /* #ffffff surface */
    --card-foreground: 223 14% 10%;

    --popover: 0 0% 100%;
    --popover-foreground: 223 14% 10%;

    --primary: 225 100% 50%;             /* #0040ff royal blue — der EINE Akzent */
    --primary-foreground: 0 0% 100%;

    --secondary: 214 24% 97%;            /* #f7f8fa surface-2 */
    --secondary-foreground: 223 14% 10%;

    --muted: 214 24% 97%;                /* #f7f8fa insets, table-head, zebra */
    --muted-foreground: 216 12% 37%;     /* #545c68 ink-2 — AA secondary text */

    --accent: 220 14% 94%;               /* neutral wash — hover / selection */
    --accent-foreground: 223 14% 10%;

    --destructive: 0 66% 49%;            /* #cf2b2b down */
    --destructive-foreground: 0 0% 100%;

    --border: 214 16% 91%;               /* #e4e7eb hairline */
    --input: 213 16% 85%;                /* #d4d9df input border */
    --ring: 225 100% 50%;                /* brand focus ring */

    /* Shell is MODE-CONSTANT: identical neutral dark in light + dark so it never
       shifts when the theme toggles. Mirrors the :root/.dark sidebar block. */
    --sidebar-background: 0 0% 7%;
    --sidebar-foreground: 0 0% 90%;
    --sidebar-primary: 0 0% 90%;
    --sidebar-primary-foreground: 0 0% 10%;
    --sidebar-accent: 0 0% 16%;
    --sidebar-accent-foreground: 0 0% 92%;
    --sidebar-border: 0 0% 20%;
    --sidebar-ring: 225 92% 60%;

    --positive: 152 85% 26%;             /* #0a7d4d up — satt, lesbar auf weiß */
    --positive-dim: 152 85% 26% / 0.1;
    --negative: 0 66% 49%;               /* #cf2b2b down */
    --negative-dim: 0 66% 49% / 0.1;

    /* Chart palette — Warp Light terminal ANSI */
    --chart-1: 197 100% 38%;             /* blue #008ec4 */
    --chart-2: 162 83% 36%;              /* green #10a778 */
    --chart-3: 54 78% 37%;               /* yellow #a89c14 */
    --chart-4: 262 34% 36%;              /* magenta #523c79 */
    --chart-5: 188 71% 43%;              /* cyan #20a5ba */
    --chart-6: 327 92% 40%;              /* red #c30771 */
    --chart-7: 54 89% 57%;               /* bright yellow #f3e430 */
    --chart-8: 159 60% 61%;              /* bright green #5fd7af */
    --chart-9: 198 97% 56%;              /* bright blue #20bbfc */
    --chart-10: 0 0% 13%;                /* bright black #212121 */
    --chart-11: 189 55% 55%;             /* bright cyan #4fb8cc */
    --chart-12: 249 67% 60%;             /* bright magenta #6855de */

    /* Chart surfaces — flush with white panel cards */
    --chart-surface: var(--card);
    --chart-surface-elevated: var(--muted);
    --chart-grid-minor: 0 0% 0% / 0.06;
    --chart-grid-major: 0 0% 0% / 0.075;
    --chart-axis-border: 0 0% 0% / 0.06;
    --chart-crosshair: 0 0% 0% / 0.12;
    --chart-crosshair-label-bg: 0 0% 9%;
    --chart-crosshair-label-fg: 0 0% 98%;
    --chart-tooltip-bg: var(--card);
    --chart-zero-line: 0 0% 0% / 0.1;

    --color-chart-canvas: hsl(var(--chart-surface));
    --color-chart-surface-elevated: hsl(var(--chart-surface-elevated));
    --color-chart-grid: hsl(var(--chart-grid-minor));
    --color-chart-grid-major: hsl(var(--chart-grid-major));
    --color-chart-axis: hsl(var(--muted-foreground));
    --color-chart-axis-border: hsl(var(--chart-axis-border));
    --color-chart-crosshair: hsl(var(--chart-crosshair));
    --color-chart-crosshair-label-bg: hsl(var(--chart-crosshair-label-bg));
    --color-chart-crosshair-label-fg: hsl(var(--chart-crosshair-label-fg));
    --color-chart-tooltip-bg: hsl(var(--chart-tooltip-bg));
    --color-chart-tooltip-border: hsl(var(--border) / 0.55);
    --color-chart-zero-line: hsl(var(--chart-zero-line));

    --brand: 225 100% 50%;
    --brand-strong: 225 100% 42%;
  }
  button,
  a,
  input,
  select,
  textarea,
  [role='button'] {
    transition: var(--transition-theme);
  }

  :focus-visible {
    outline: 2px solid hsl(var(--ring) / 0.55);
    outline-offset: 1px;
  }

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

  /* Sidebar is dark in both modes (Koyfin) — keep the white logo mark as-is. */

  /* Auth pages use dark wordmark on light background */
  .light .auth-brand-logo[src="/dibs-mark.png"],
  .light .auth-brand-logo[src="/dibs-mark-tight.png"] {
    filter: invert(1);
  }

  html,
  body,
  #root {
    height: 100%;
  }

  html,
  body {
    overflow: hidden;
    scroll-behavior: smooth;
    overscroll-behavior: none;
  }

  body {
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
    margin: 0;
    font-family: var(--font-sans);
    font-feature-settings: 'rlig' 1, 'calt' 1;
    letter-spacing: -0.01em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

  #root {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  /* Tabular numerals for data values */
  .tabular-nums,
  [data-numeric] {
    font-variant-numeric: tabular-nums;
  }
.\!container {
  width: 100% !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 2rem !important;
  padding-left: 2rem !important;
}
.container {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 2rem;
  padding-left: 2rem;
}
@media (min-width: 1400px) {

  .\!container {
    max-width: 1400px !important;
  }

  .container {
    max-width: 1400px;
  }
}
/* ── Type hierarchy (Koyfin-aligned) ─────────────────────────────────────
     Level 1  type-display   Page hero (rare)
     Level 2  type-title     Page / workspace title
     Level 3  type-heading    Widget / panel titles (~15px — Koyfin parity)
     Level 4  type-subheading In-panel emphasis (13px)
     Body     type-body       Default UI copy (13px)
     Dense    type-body-sm    Sidebar, tables, widgets (12px)
     Meta     type-caption    Hints, timestamps (11px)
     Label    type-overline   Table cols, section chrome (11px)
     Data     type-data       Mono numbers in tables
     Data LG  type-data-lg    Prices, KPIs
  */
.type-display {
  font-size: var(--text-2xl);
  line-height: var(--leading-2xl);
  font-weight: 600;
  letter-spacing: -0.025em;
  color: hsl(var(--foreground));
}
.type-title {
  font-size: var(--text-xl);
  line-height: var(--leading-xl);
  font-weight: 600;
  letter-spacing: -0.025em;
  color: hsl(var(--foreground));
}
/** Primary workspace chrome (My Watchlists, My Portfolio, My Screens, …). */
.type-workspace-title {
  font-size: var(--text-xl);
  line-height: var(--leading-xl);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.025em;
  color: hsl(var(--foreground));
}
.type-heading {
  font-size: var(--text-md);
  line-height: var(--leading-md);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.025em;
  color: hsl(var(--foreground));
}
.type-subheading {
  font-size: var(--text-base);
  line-height: var(--leading-base);
  font-weight: 600;
  line-height: 1.375;
  color: hsl(var(--foreground));
}
.type-body {
  font-size: var(--text-base);
  line-height: var(--leading-base);
  font-weight: 400;
  color: hsl(var(--foreground));
}
.type-body-sm {
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
  font-weight: 400;
  color: hsl(var(--foreground));
}
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) :is([data-snap-panel-flat], [data-dt-panel='true'], [data-security-legacy-panel]) table tbody td.type-caption {
    font-size: var(--snap-overview-label-size);
    font-weight: 400;
    font-variant-numeric: normal;
    color: hsl(var(--muted-foreground));
  }
.dt-sidebar-security-symbol .type-caption {
    color: hsl(var(--muted-foreground) / 0.9);
  }
.type-caption {
  font-size: var(--text-xs);
  line-height: var(--leading-xs);
  font-weight: 400;
  color: hsl(var(--muted-foreground));
}
.type-overline {
  font-size: var(--text-xs);
  line-height: var(--leading-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: hsl(var(--foreground) / 0.9);
}
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) :is([data-snap-panel-flat], [data-dt-panel='true'], [data-security-legacy-panel]) table tbody td.type-label {
    font-size: var(--snap-overview-label-size);
    font-weight: 400;
    font-variant-numeric: normal;
    color: hsl(var(--muted-foreground));
  }
.dt-sidebar-security-symbol .type-label {
    color: hsl(var(--muted-foreground) / 0.9);
  }
.type-label {
  font-size: var(--text-xs);
  line-height: var(--leading-xs);
  font-weight: 500;
  color: hsl(var(--muted-foreground));
}
/** Active entity in workspace tab strip (watchlist / screen name) — below page title. */
.type-workspace-entity {
  font-size: var(--text-base);
  line-height: var(--leading-base);
  font-weight: 600;
  line-height: 1.25;
  color: hsl(var(--foreground));
}
/** Group band label inside entity grids (Category, Sector, …). */
.type-table-group {
  font-size: var(--text-base);
  line-height: var(--leading-base);
  font-weight: 600;
  line-height: 1.375;
  color: hsl(var(--foreground));
}
/** First-column tag on summary footer rows (SUM, AVG, …). */
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) :is([data-snap-panel-flat], [data-dt-panel='true'], [data-security-legacy-panel]) table tbody td.type-table-summary-tag {
    font-size: var(--snap-overview-label-size);
    font-weight: 400;
    font-variant-numeric: normal;
    color: hsl(var(--muted-foreground));
  }
.dt-sidebar-security-symbol .type-table-summary-tag {
    color: hsl(var(--muted-foreground) / 0.9);
  }
.type-table-summary-tag {
  font-size: var(--text-2xs);
  line-height: var(--leading-2xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: hsl(var(--muted-foreground));
}
.type-data {
    font-variant-numeric: tabular-nums;
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    line-height: var(--leading-sm);
    font-weight: 500;
    --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);
    color: hsl(var(--foreground));
  }
.type-data-sm {
    font-variant-numeric: tabular-nums;
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    line-height: var(--leading-sm);
    font-weight: 500;
    --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);
    color: hsl(var(--foreground));
  }
/* Ticker codes — sans (mono makes O/0 and I/1 hard to read, e.g. OIL vs 0IL) */
.type-ticker {
  font-family: var(--font-sans);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: hsl(var(--foreground));
    font-variant-numeric: normal;
}
/* Table row text — sans for labels/names; pair with type-data* for numbers */
.type-table-text {
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
  font-weight: 400;
  color: hsl(var(--foreground));
}
/* Legacy aliases — map old class names to the hierarchy */
.light [data-dt-panel='true'].dt-elevated {
  border-color: hsl(var(--border) / 0.55);
    box-shadow: 0 1px 2px rgb(20 23 28 / 0.05), 0 1px 1px rgb(20 23 28 / 0.03);
}
.dt-elevated {
  border-radius: 6px;
  border-width: 1px;
  border-color: hsl(var(--border) / 0.4);
  background-color: hsl(var(--card));
  color: hsl(var(--card-foreground));
  --tw-shadow: var(--panel-shadow);
  --tw-shadow-colored: var(--panel-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) .dt-elevated {
  box-shadow: none;
}
.dibs [data-security-surface='flat'] :is(.dt-elevated, .rounded-sm)[class~='bg-card']:not([data-dt-panel='true']):not(:has(> [data-dt-panel-header='true'])) {
  box-shadow: none;
  border: 1px solid hsl(var(--border));
  border-radius: 8px;
}
/* Light — hairline panels with a soft single-layer lift (Koyfin depth,
     not a stacked drop shadow). Keeps cards from reading flat/washed. */
.light .dt-elevated {
  border-color: hsl(var(--border) / 0.55);
    box-shadow: 0 1px 2px rgb(20 23 28 / 0.05), 0 1px 1px rgb(20 23 28 / 0.03);
}
.light [data-dt-panel='true'].shadow-panel {
  border-color: hsl(var(--border) / 0.55);
    box-shadow: 0 1px 2px rgb(20 23 28 / 0.05), 0 1px 1px rgb(20 23 28 / 0.03);
}
/* Home — layout only; visuals follow flat ledger via data-app-surface. */
.dibs [data-testid='home-workspace'] > div {
    gap: 0.375rem;
    padding: 0.5rem;
  }
.dibs [data-testid='home-workspace'] .grid > * {
    min-height: 0;
    min-width: 0;
    overflow: hidden;
  }
.dibs [data-testid='home-workspace'] .\!grid > * {
    min-height: 0 !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }
/* Instrument routes — workspace editor plane inside the card shell */
.dibs .dt-workspace-shell #main-content {
    background: hsl(var(--workspace));
  }
.dibs [data-route-content='true'][data-instrument-workspace='true'] {
  background-color: transparent;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-bottom: 0.75rem;
  padding-top: 0.5rem;
}
/* Snapshot overview — card grid on workspace canvas (modern SaaS) */
.dibs [data-snapshot-overview-surface='cards'] {
    background: hsl(var(--workspace));
  }
.light.dibs [data-snapshot-overview-surface='cards'] {
    background: hsl(var(--background));
  }
.dibs [data-snapshot-overview-surface='cards'] [data-snap-chart-inset] {
    box-shadow: inset 0 1px 0 hsl(var(--foreground) / 0.035);
  }
/* ── Flat security surface — Koyfin "ledger" ───────────────────────────────
     Plain section title ABOVE a flat bordered data box (the title lives outside
     the frame, like Koyfin). No page-level tinted canvas — the box sits directly
     on the white/dark workspace, defined by its hairline border, no shadow.
     [data-app-surface='flat'] extends the same treatment to all authenticated pages. */
.dibs :is([data-security-surface='flat'], [data-snapshot-overview-surface='flat'], [data-app-surface='flat']) {
    background: transparent;
    /* Uniform gap between section title and bordered card body. */
    --snap-overview-title-gap: 5px;
    /* Matches SnapshotPeriodTabs (h-7) so chart + metric panels share one title row. */
    --snap-overview-header-band: 28px;
    /* Koyfin parity — snapshot overview type scale */
    --snap-overview-title-size: var(--text-md);
    --snap-overview-label-size: var(--text-xs);
    --snap-overview-value-size: var(--text-sm);
    --snap-overview-table-head-size: var(--text-2xs);
    --snap-overview-card-padding: 10px 13px;
    --snap-overview-card-padding-compact: 8px 11px;
    --snap-overview-card-radius: var(--radius);
    --snap-overview-table-head-radius: 7px;
  }
/* Light: workspace white — clearly lighter than the 91% sidebar/canvas frame. */
.light.dibs :is([data-security-surface='flat'], [data-snapshot-overview-surface='flat'], [data-app-surface='flat']) {
    background: hsl(var(--workspace));
  }
/* Security flat ledger — flush inside instrument workspace (all snapshot / FA / news tabs). */
.dibs [data-route-content='true'][data-instrument-workspace='true']:has([data-security-surface='flat']) {
    padding: 0;
  }
.dibs [data-security-surface='flat'].snap-security-page-inset {
    padding: 0.625rem 0.625rem 0.625rem 0.5rem;
  }
.dibs [data-security-surface='flat'] .security-legacy-panel-body--padded {
    padding: var(--snap-overview-card-padding);
  }
.dibs :is([data-security-surface='flat'], [data-snapshot-overview-surface='flat'], [data-app-surface='flat']) [data-snap-panel-flat] {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
  }
/* Section title — plain text above the frame, never inside a header bar. */
.dibs :is([data-security-surface='flat'], [data-snapshot-overview-surface='flat'], [data-app-surface='flat']) [data-snap-panel-flat] > div:first-child {
    background: transparent;
    border-bottom: 0;
    min-height: 0;
    padding: 0;
    margin-bottom: var(--snap-overview-title-gap);
    display: flex;
    align-items: center;
  }
/* Overview — one title band height; titles sit on the baseline above the card gap. */
.dibs [data-snapshot-overview-fixed='true'] [data-snap-panel-flat] > div:first-child {
    align-items: flex-end;
    min-height: var(--snap-overview-header-band);
  }
.dibs [data-snapshot-overview-fixed='true'] .snap-overview-chart-panel[data-snap-panel-flat] > div:first-child,
  .dibs [data-snapshot-overview-fixed='true'] .snap-overview-news-panel[data-snap-panel-flat] > div:first-child {
    justify-content: space-between;
    gap: 0.5rem;
    min-width: 0;
    padding-left: 0;
    padding-right: 0;
  }
.dibs [data-snapshot-overview-fixed='true'] .snap-overview-chart-panel[data-snap-panel-flat] > div:first-child h3 {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
.dibs :is([data-security-surface='flat'], [data-snapshot-overview-surface='flat'], [data-app-surface='flat']) [data-snap-panel-flat] > div:first-child h3 {
    font-size: var(--snap-overview-title-size);
    font-weight: 600;
    line-height: var(--leading-md);
    letter-spacing: -0.01em;
    text-transform: none;
    color: hsl(var(--foreground));
  }
/* Only the data region is framed — flat bordered box, no shadow. */
.dibs :is([data-security-surface='flat'], [data-snapshot-overview-surface='flat'], [data-app-surface='flat']) [data-snap-panel-flat] > div:last-child {
    background: hsl(var(--card));
    border: 1px solid hsl(var(--border));
    border-radius: var(--snap-overview-card-radius);
    padding: var(--snap-overview-card-padding);
    overflow: hidden;
  }
/* Legacy Panel — News shell, FA shell, Research */
.dibs :is([data-security-surface='flat'], [data-snapshot-overview-surface='flat'], [data-app-surface='flat']) [data-security-legacy-panel] {
    background: transparent;
    border: 0;
    box-shadow: none;
    overflow: visible;
    display: flex;
    flex-direction: column;
  }
.dibs :is([data-security-surface='flat'], [data-snapshot-overview-surface='flat'], [data-app-surface='flat']) [data-security-legacy-panel] > div:first-child {
    background: transparent;
    border: 0;
    min-height: 0;
    padding: 0;
    margin-bottom: var(--snap-overview-title-gap);
  }
.dibs :is([data-security-surface='flat'], [data-snapshot-overview-surface='flat'], [data-app-surface='flat']) [data-security-legacy-panel] > div:last-child {
    background: hsl(var(--card));
    border: 1px solid hsl(var(--border));
    border-radius: 8px;
    overflow: hidden;
    flex: 1;
    min-height: 0;
  }
.dibs :is([data-security-surface='flat'], [data-snapshot-overview-surface='flat'], [data-app-surface='flat']) [data-security-legacy-panel] .type-heading {
    font-size: var(--snap-overview-title-size);
    font-weight: 600;
    letter-spacing: -0.01em;
    text-transform: none;
    color: hsl(var(--foreground));
  }
/* dt-panel Card surfaces — Estimates, FA tabs */
.dibs :is([data-security-surface='flat'], [data-snapshot-overview-surface='flat'], [data-app-surface='flat']) [data-dt-panel='true'] {
    background: transparent;
    border: 0;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-height: 0;
    padding: 0;
  }
.dibs :is([data-security-surface='flat'], [data-snapshot-overview-surface='flat'], [data-app-surface='flat']) [data-dt-panel='true'] > [data-dt-panel-header='true'] {
    background: transparent;
    border: 0;
    margin-bottom: var(--snap-overview-title-gap);
    padding: 0;
    min-height: 0;
  }
.dibs :is([data-security-surface='flat'], [data-snapshot-overview-surface='flat'], [data-app-surface='flat']) [data-dt-panel='true'] > [data-dt-panel-header='true'] h3 {
    font-size: var(--snap-overview-title-size);
    font-weight: 600;
    letter-spacing: -0.01em;
    text-transform: none;
    color: hsl(var(--foreground));
  }
.dibs :is([data-security-surface='flat'], [data-snapshot-overview-surface='flat'], [data-app-surface='flat']) [data-dt-panel='true'] > :not([data-dt-panel-header]) {
    background: hsl(var(--card));
    border: 1px solid hsl(var(--border));
    border-radius: 4px;
    padding: var(--snap-overview-card-padding);
    overflow: hidden;
    min-height: 0;
  }
.dibs :is([data-security-surface='flat'], [data-snapshot-overview-surface='flat'], [data-app-surface='flat']) [data-dt-panel='true'][data-dt-panel-flush='true'] > :not([data-dt-panel-header]) {
    padding: 0;
  }
/* Light — give the bordered data box a soft single-layer lift so panels
     read as gentle Koyfin-style cards instead of flat hairline frames. */
.light.dibs :is([data-security-surface='flat'], [data-snapshot-overview-surface='flat'], [data-app-surface='flat']) [data-dt-panel='true'] > :not([data-dt-panel-header]),
  .light.dibs :is([data-security-surface='flat'], [data-snapshot-overview-surface='flat'], [data-app-surface='flat']) [data-snap-panel-flat] > div:last-child,
  .light.dibs :is([data-security-surface='flat'], [data-snapshot-overview-surface='flat'], [data-app-surface='flat']) [data-security-legacy-panel] > div:last-child {
    box-shadow: 0 1px 2px rgb(20 23 28 / 0.05), 0 1px 1px rgb(20 23 28 / 0.03);
  }
/* Session clock popover — same ledger title/body split as app surfaces. */
.dibs [data-session-clock-popover] [data-dt-panel='true'] {
    background: transparent;
    border: 0;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-height: 0;
    padding: 0;
  }
.dibs [data-session-clock-popover] [data-dt-panel='true'] > [data-dt-panel-header='true'] {
    background: transparent;
    border: 0;
    margin-bottom: var(--snap-overview-title-gap);
    padding: 0;
    min-height: 0;
  }
.dibs [data-session-clock-popover] [data-dt-panel='true'] > :not([data-dt-panel-header]) {
    background: hsl(var(--card));
    border: 1px solid hsl(var(--border));
    border-radius: 8px;
    overflow: hidden;
    min-height: 0;
    display: flex;
    flex-direction: column;
  }
.dibs [data-session-clock-popover] [data-dt-panel='true'][data-dt-panel-flush='true'] > :not([data-dt-panel-header]) {
    padding: 0;
  }
/* Markets split drawer — clip ledger panels inside split views. */
.dibs [data-market-split-drawer] {
    overflow: hidden;
    isolation: isolate;
  }
.dibs [data-market-split-drawer] [data-dt-panel='true'] {
    overflow: hidden;
    min-height: 0;
  }
.dibs [data-market-split-drawer] [data-dt-panel='true'] > :not([data-dt-panel-header='true']) {
    overflow: hidden;
    min-height: 0;
  }
/* News article drawer — flat panel, no nested ledger card. */
.dibs [data-news-split-drawer] {
    border-left-color: hsl(var(--border) / 0.5);
    background: hsl(var(--card));
    padding: 0;
  }
/* Markets split drawer — ledger child fills shell without inset padding. */
.dibs [data-market-split-drawer]:has(> [data-dt-panel='true']) {
    gap: 0;
    padding: 0;
    background: transparent;
    border-left-color: hsl(var(--border) / 0.5);
  }
/* Floating metric previews — single popover shell, not ledger title/body split. */
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) [data-metric-popover='true'] > * {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
/* Ledger row rules — subtle hairlines on KV rows and table rows. */
.dibs :is([data-security-surface='flat'], [data-snapshot-overview-surface='flat'], [data-app-surface='flat']) .snap-kv-row {
    border-bottom: 1px solid hsl(var(--border) / 0.55);
  }
.dibs :is([data-security-surface='flat'], [data-snapshot-overview-surface='flat'], [data-app-surface='flat']) .snap-kv-row:last-child {
    border-bottom: 0;
  }
.dibs :is([data-security-surface='flat'], [data-snapshot-overview-surface='flat'], [data-app-surface='flat']) ul.divide-y > li {
    border-color: hsl(var(--border) / 0.5);
  }
/* Right column — row 1 grows with content; chart cell stretches to match via grid auto row. */
.dibs [data-snapshot-overview-fixed='true'] .snap-overview-data-col-primary {
    min-height: 0;
    overflow: visible;
    align-self: stretch;
  }
.dibs [data-snapshot-overview-fixed='true'] .snap-overview-data-col-estimates {
    min-height: 0;
    height: auto;
    align-self: start;
  }
/* Koyfin parity — KV rows across all flat panels. */
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) :is([data-snap-panel-flat], [data-dt-panel='true'], [data-security-legacy-panel]) .infoLine {
    gap: 0.75rem;
    padding-top: 0.35rem;
    padding-bottom: 0.35rem;
    border-bottom-color: hsl(var(--border) / 0.5);
  }
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) :is([data-snap-panel-flat], [data-dt-panel='true'], [data-security-legacy-panel]) .infoLine .type-label {
    font-size: var(--snap-overview-label-size);
    font-weight: 400;
    line-height: var(--leading-xs);
    color: hsl(var(--muted-foreground));
  }
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) .snap-overview-metric-value {
    font-family: var(--font-sans);
    font-size: var(--snap-overview-value-size);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    line-height: var(--leading-sm);
    color: hsl(var(--foreground));
  }
/* Table-first card bodies — header band flush to frame so radius can match. */
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) :is([data-snap-panel-flat], [data-dt-panel='true']) > :last-child:has(> table:first-child) {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
  }
/* Koyfin parity — ledger tables (overview, FA, estimates, legacy shells). */
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) :is([data-snap-panel-flat], [data-dt-panel='true'], [data-security-legacy-panel]) table {
    width: 100%;
    margin-top: 0;
    border-collapse: separate;
    border-spacing: 0;
    font-size: var(--snap-overview-value-size);
  }
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) :is([data-snap-panel-flat], [data-dt-panel='true'], [data-security-legacy-panel]) table thead th {
    font-family: var(--font-sans);
    font-size: var(--snap-overview-table-head-size);
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: hsl(var(--muted-foreground));
    background: hsl(var(--muted) / 0.42);
    padding: 6px 10px;
    border-bottom: 1px solid hsl(var(--border) / 0.65);
    text-align: left;
  }
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) :is([data-snap-panel-flat], [data-dt-panel='true'], [data-security-legacy-panel]) table thead th:not(:first-child) {
    text-align: right;
  }
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) :is([data-snap-panel-flat], [data-dt-panel='true'], [data-security-legacy-panel]) table thead tr:first-child th:first-child {
    border-top-left-radius: var(--snap-overview-table-head-radius);
  }
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) :is([data-snap-panel-flat], [data-dt-panel='true'], [data-security-legacy-panel]) table thead tr:first-child th:last-child {
    border-top-right-radius: var(--snap-overview-table-head-radius);
  }
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) :is([data-snap-panel-flat], [data-dt-panel='true'], [data-security-legacy-panel]) table tbody tr:last-child td:first-child {
    border-bottom-left-radius: var(--snap-overview-table-head-radius);
  }
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) :is([data-snap-panel-flat], [data-dt-panel='true'], [data-security-legacy-panel]) table tbody tr:last-child td:last-child {
    border-bottom-right-radius: var(--snap-overview-table-head-radius);
  }
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) :is([data-snap-panel-flat], [data-dt-panel='true'], [data-security-legacy-panel]) table tbody tr > td {
    font-family: var(--font-sans);
    font-size: var(--snap-overview-value-size);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    padding: 7px 10px;
    border-bottom: 1px solid hsl(var(--border) / 0.45);
    text-align: left;
  }
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) :is([data-snap-panel-flat], [data-dt-panel='true'], [data-security-legacy-panel]) table tbody tr > td:not(:first-child) {
    text-align: right;
  }
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) :is([data-snap-panel-flat], [data-dt-panel='true'], [data-security-legacy-panel]) table tbody tr:last-child > td {
    border-bottom: 0;
  }
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) :is([data-snap-panel-flat], [data-dt-panel='true'], [data-security-legacy-panel]) table tbody td.text-muted-foreground {
    font-size: var(--snap-overview-label-size);
    font-weight: 400;
    font-variant-numeric: normal;
    color: hsl(var(--muted-foreground));
  }
/* Overview-only panel body insets. */
.dibs [data-snapshot-overview-fixed='true'] .snap-overview-key-data-panel[data-snap-panel-flat] > div:last-child,
  .dibs [data-snapshot-overview-fixed='true'] .snap-overview-perf-panel[data-snap-panel-flat] > div:last-child,
  .dibs [data-snapshot-overview-fixed='true'] .snap-overview-estimates-panel[data-snap-panel-flat] > div:last-child {
    overflow: visible;
  }
/* News — scroll inside the bordered card; never paint past the frame. */
.dibs [data-snapshot-overview-fixed='true'] .snap-overview-news-panel[data-snap-panel-flat] > div:last-child {
    display: flex;
    min-height: 0;
    flex: 1 1 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 0;
    -webkit-overflow-scrolling: touch;
  }
.dibs [data-snapshot-overview-fixed='true'] .snap-overview-key-data-panel[data-snap-panel-flat] > div:last-child {
    padding: var(--snap-overview-card-padding);
  }
.dibs [data-snapshot-overview-fixed='true'] .snap-overview-data-col-primary > :not(.snap-overview-key-data-panel)[data-snap-panel-flat] > div:last-child {
    padding: var(--snap-overview-card-padding-compact);
  }
.dibs [data-snapshot-overview-fixed='true'] .snap-overview-chart-panel[data-snap-panel-flat] > div:last-child {
    padding: 8px 10px 10px;
  }
.dibs [data-snapshot-overview-fixed='true'] .snap-overview-estimates-panel[data-snap-panel-flat] > div:last-child {
    padding: var(--snap-overview-card-padding-compact);
  }
.dibs [data-snapshot-overview-fixed='true'] .snap-overview-valuation-split > [data-snap-panel-flat] > div:last-child {
    overflow: visible;
    padding: 8px 10px 10px;
  }
.dibs [data-snapshot-overview-fixed='true'] .snap-overview-cap-panel > div:last-child {
    overflow: visible;
  }
/* Table cards — header flush to rounded frame (overrides compact padding above). */
.dibs [data-snapshot-overview-fixed='true'] :is(
    .snap-overview-perf-panel,
    .snap-overview-estimates-panel
  )[data-snap-panel-flat] > div:last-child:has(> table:first-child),
  .dibs [data-snapshot-overview-fixed='true'] .snap-overview-valuation-split > [data-snap-panel-flat] > div:last-child:has(> table:first-child),
  .dibs [data-snapshot-overview-fixed='true'] .snap-overview-data-col-primary > :not(.snap-overview-key-data-panel)[data-snap-panel-flat] > div:last-child:has(> table:first-child) {
    padding: 0 0 10px;
  }
/* News list — Koyfin row density (overview + company news when using shared classes). */
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) .snap-overview-news-link {
    gap: 0.75rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    border-bottom-color: hsl(var(--border) / 0.5) !important;
  }
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) .snap-overview-news-title {
    font-size: var(--snap-overview-value-size);
    font-weight: 400;
    line-height: var(--leading-sm);
  }
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) .snap-overview-news-meta {
    font-family: var(--font-sans);
    font-size: var(--snap-overview-label-size);
    font-weight: 400;
    font-variant-numeric: tabular-nums;
    color: hsl(var(--muted-foreground));
  }
.light .ih-bar {
    background: hsl(var(--workspace));
    border-bottom-color: hsl(var(--border) / 0.9);
  }
.light [data-dt-panel='true'].dt-command-bar {
  border-color: hsl(var(--border) / 0.55);
    box-shadow: 0 1px 2px rgb(20 23 28 / 0.05), 0 1px 1px rgb(20 23 28 / 0.03);
}
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) :is([data-snap-panel-flat], [data-dt-panel='true'], [data-security-legacy-panel]) table tbody td.dt-command-bar {
    font-size: var(--snap-overview-label-size);
    font-weight: 400;
    font-variant-numeric: normal;
    color: hsl(var(--muted-foreground));
  }
.dt-sidebar-security-symbol .dt-command-bar {
    color: hsl(var(--muted-foreground) / 0.9);
  }
.dt-command-bar {
  height: 2.25rem;
  border-radius: 6px;
  border-width: 1px;
  border-color: hsl(var(--border) / 0.25);
  background-color: hsl(var(--popover) / 0.7);
  padding-left: 0.875rem;
  padding-right: 0.875rem;
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
  font-weight: 400;
  color: hsl(var(--muted-foreground));
  --tw-shadow: var(--panel-shadow);
  --tw-shadow-colored: var(--panel-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  --tw-backdrop-blur: blur(24px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  transition-property: color,background-color,border-color,box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
  animation-duration: 200ms;
}
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) .dt-command-bar {
  box-shadow: none;
}
.dibs [data-security-surface='flat'] :is(.dt-command-bar, .rounded-sm)[class~='bg-card']:not([data-dt-panel='true']):not(:has(> [data-dt-panel-header='true'])) {
  box-shadow: none;
  border: 1px solid hsl(var(--border));
  border-radius: 8px;
}
.dt-command-bar:hover {
  background-color: hsl(var(--popover) / 0.85);
  color: hsl(var(--foreground));
    border-color: hsl(var(--border) / 0.4);
}
/* Dark shell (Koyfin) in light mode — search field recedes into the dark rail */
.light .shell-chrome .dt-command-bar {
  border-color: hsl(var(--sidebar-border));
  background-color: hsl(var(--sidebar-accent) / 0.5);
  color: hsl(var(--sidebar-foreground) / 0.7);
  --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);
  --tw-backdrop-blur:  ;
  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);
}
.light .shell-chrome .dt-command-bar:hover {
  background-color: hsl(var(--sidebar-accent));
  color: hsl(var(--sidebar-foreground));
    border-color: hsl(var(--sidebar-border));
}
.light .shell-chrome {
  color: hsl(var(--sidebar-foreground));
}
.light .shell-chrome kbd {
  color: hsl(var(--sidebar-foreground) / 0.55);
    border-color: hsl(var(--sidebar-border));
}
.dt-sidebar-nav {
  position: relative;
  border-radius: 4px;
  transition-property: background-color,color,box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 250ms;
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
  animation-duration: 250ms;
  animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
    transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}
.dt-sidebar-nav:hover:not(.dt-sidebar-nav-active) {
  background-color: hsl(var(--foreground) / 0.05);
}
/* Selected item = neutral pill (faint foreground wash + hairline) plus a thin
     neutral accent rail on the left. No blue — reads calm and mode-constant. */
.dt-sidebar-nav-active,
  .dt-sidebar-nav-active[data-active='true'] {
    background-color: hsl(var(--sidebar-foreground) / 0.10) !important;
    color: hsl(var(--sidebar-foreground)) !important;
    box-shadow: inset 0 0 0 1px hsl(var(--sidebar-foreground) / 0.08);
    border-radius: 4px;
    font-weight: 600;
  }
/* Thin neutral rail marks the active item. */
.dt-sidebar-nav-active::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    height: 56%;
    width: 2px;
    transform: translateY(-50%);
    border-radius: 0 2px 2px 0;
    background: hsl(var(--sidebar-foreground) / 0.55);
  }
.dibs .dt-sidebar-subnav {
  margin-left: 1.375rem;
  list-style-type: none;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  padding-left: 0.625rem;
}
.dibs .dt-sidebar-subnav .dt-sidebar-nav {
  margin-left: 0px;
  margin-right: 0px;
  height: 2rem;
  border-radius: 4px;
}
.dibs .dt-sidebar-subnav .dt-sidebar-nav-active,
  .dibs .dt-sidebar-subnav .dt-sidebar-nav-active[data-active='true'] {
    background-color: hsl(var(--sidebar-foreground) / 0.08) !important;
    color: hsl(var(--sidebar-foreground)) !important;
    box-shadow: inset 0 0 0 1px hsl(var(--sidebar-foreground) / 0.12) !important;
    border-width: 0px;
    font-weight: 500;
  }
.dibs .dt-sidebar-subnav .dt-sidebar-nav-active::before {
    display: none;
  }
.dibs .dt-sidebar-subnav .dt-sidebar-nav-active svg {
    color: hsl(var(--sidebar-foreground));
  }
.dt-sidebar-shell {
    background: hsl(var(--sidebar-background));
  }
.light .dt-sidebar-shell {
    background: hsl(var(--sidebar-background));
  }
.light.dibs .dt-workspace-shell {
  min-height: 0px;
  overflow: hidden;
  border-radius: 6px;
  border-width: 1px;
  border-color: hsl(var(--border));
  background-color: hsl(var(--card));
    box-shadow: 0 1px 3px hsl(0 0% 0% / 0.10), 0 10px 28px -14px hsl(0 0% 0% / 0.16);
}
/* Cohesive shell (both modes): the sidebar tone is ONE continuous base surface
     (sidebar + rail share it, flush). The content is a single rounded panel that
     sits IN that surface with a small inset, so the base flows around its
     rounded corners. Not three separate cards. Scoped to .dibs for specificity. */
.dibs .dt-app-shell {
    gap: 0;
    padding: 0;
    background: hsl(var(--sidebar-background));
  }
/* Inset on all sides so the base surface flows around the content panel's
     rounded corners — a touch more top/bottom for breathing room. */
.dibs .dt-workspace-cell {
  min-height: 0px;
    padding: 0.5rem;
}
.dibs aside[aria-label='Navigation sidebar'] {
  min-height: 0px;
  background-color: transparent;
  padding: 0px;
}
.dibs aside[aria-label='Navigation sidebar'] .dt-sidebar-shell {
  height: 100%;
  min-height: 0px;
  width: 100%;
  overflow: hidden;
  border-radius: 0px;
  border-width: 0px;
  background-color: hsl(var(--sidebar-background));
  --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);
}
.dibs .dt-sidebar-brand-cap {
  overflow: visible;
  border-radius: 0px;
  border-bottom-width: 1px;
  border-color: hsl(var(--border) / 0.5);
  background-color: transparent;
    padding-top: 0.375rem;
}
.dibs .dt-sidebar-brand-btn {
    line-height: 1;
    overflow: visible;
  }
.dibs .dt-sidebar-brand-label {
    max-width: 100%;
    overflow: visible;
  }
/* Tight-cropped mark (dibs-mark-tight.png) — no CSS scale hack */
.dibs .dt-sidebar-brand-mark {
    display: block;
    flex-shrink: 0;
    align-self: center;
    width: 1.25rem;
    height: 1.25rem;
    -o-object-fit: contain;
       object-fit: contain;
  }
.dibs .dt-sidebar-brand-mark--collapsed {
    width: 1.375rem;
    height: 1.375rem;
  }
.light .dt-sidebar-collapse-btn {
  border-radius: 4px;
  border-width: 1px;
  border-color: hsl(var(--sidebar-border));
  background-color: hsl(var(--sidebar-accent) / 0.6);
  --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);
}
.light .dt-sidebar-collapse-btn:hover {
  background-color: hsl(var(--sidebar-accent));
}
/* Right rail — part of the continuous base surface (flush, no card). */
.dibs aside[aria-label='Market alerts and notifications'] {
  min-height: 0px;
  overflow: hidden;
  border-radius: 0px;
  border-width: 0px;
  background-color: transparent;
  padding: 0px;
  --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);
}
/* Content — a single rounded panel embedded in the base surface. */
/* Content = a rounded screen seated in the dark chrome frame (topbar + sidebar +
     rail wrap it on all sides) — like a display in a housing. Inner content stays square. */
.dibs .dt-workspace-shell {
  min-height: 0px;
  overflow: hidden;
  border-radius: 6px;
  border-width: 1px;
  border-color: hsl(var(--border));
  background-color: hsl(var(--card));
    box-shadow: 0 1px 2px hsl(0 0% 0% / 0.20);
}
.dibs .entity-ws-page-root,
  .dibs [data-testid='watchlists-workspace'],
  .dibs [data-testid='screener-workspace'],
  .dibs [data-testid='portfolio-workspace'] {
  height: 100%;
  min-height: 0px;
  background-color: transparent;
  padding: 0px;
}
.dibs #main-content {
  background-color: transparent;
}
/* Entity surface sits flush inside the workspace card (no own card/border). */
.dibs .entity-ws-surface,
  .dibs [data-entity-workspace-page].entity-ws-surface {
  overflow: hidden;
  border-radius: 0px;
  border-width: 0px;
  background-color: transparent;
  --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);
}
.light [data-entity-workspace-page].dt-elevated {
  --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);
}
.dibs .workspace-titlebar.entity-ws-titlebar {
  width: 100%;
  flex-wrap: nowrap;
  border-radius: 0px;
    min-height: 2.5rem;
    padding-left: 1rem;
    padding-right: 1rem;
    border-bottom: 1px solid hsl(var(--border) / 0.8);
}
.dibs .entity-ws-actions .entity-ws-page-action-chip:hover,
  .dibs .entity-ws-actions .entity-ws-page-action-chip[data-state='open'] {
    color: hsl(var(--foreground));
  }
.light .entity-ws-titlebar svg.lucide,
  .light .entity-ws-actions svg.lucide {
    width: 0.75rem;
    height: 0.75rem;
    stroke-width: 1.5;
  }
.light .entity-ws-primary-cta svg.lucide {
    stroke-width: 2;
  }
.light .entity-ws-page-action-chip,
  .light .entity-ws-action-btn,
  .light .entity-ws-page-action-icon-btn {
  border-color: hsl(var(--border) / 0.55);
  background-color: hsl(var(--muted) / 0.7);
  color: hsl(var(--foreground) / 0.7);
}
.light .entity-ws-page-action-chip:hover,
  .light .entity-ws-action-btn:hover,
  .light .entity-ws-page-action-icon-btn:hover {
  border-color: hsl(var(--border));
  background-color: hsl(var(--muted));
  color: hsl(var(--foreground));
}
.light.dibs .workspace-titlebar.entity-ws-titlebar {
    border-bottom-color: hsl(var(--border) / 0.55);
    background: hsl(var(--workspace));
  }
.light .entity-ws-primary-cta {
  border-width: 0px;
  background-color: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
}
.light .entity-ws-primary-cta:hover {
  background-color: hsl(var(--primary) / 0.9);
}
.light .entity-ws-table-toolbar {
  border-color: hsl(var(--border) / 0.6);
  background-color: hsl(var(--card));
}
.dibs .entity-ws-footer {
  border-radius: 0px;
  border-top-width: 1px;
  border-color: hsl(var(--border) / 0.6);
  background-color: transparent;
}
.light .entity-ws-grid .unified-table-wrapper--koyfin {
  border-radius: 0px;
}
.light .dt-sidebar-nav {
  margin-left: 0px;
  margin-right: 0px;
  height: 2.25rem;
  border-radius: 4px;
}
.light .dt-sidebar-nav:hover:not(.dt-sidebar-nav-active) {
  background-color: hsl(var(--sidebar-foreground) / 0.08);
  color: hsl(var(--sidebar-foreground));
}
/* Active + subnav-active states inherit the neutral base rules above
     (sidebar tokens are now mode-constant, so no light-specific override). */
.light .dt-sidebar-subnav {
  margin-left: 1.375rem;
  list-style-type: none;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  padding-left: 0.625rem;
}
.light .dt-sidebar-subnav .dt-sidebar-nav {
  margin-left: 0px;
  margin-right: 0px;
  height: 2rem;
  border-radius: 4px;
}
.light [data-sidebar=group]:not(:first-child) {
  margin-top: 0.625rem;
  border-top-width: 1px;
  border-color: hsl(var(--sidebar-border) / 0.55);
  padding-top: 0.625rem;
}
/* Label flush with the item icon column (mx-0 + px-2 matches the nav row's
     own px-2) so the category sits directly above its items' icons. */
.light .dt-sidebar-section-label {
  margin-left: 0px;
  margin-right: 0px;
  margin-bottom: 0.375rem;
  margin-top: 0px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: hsl(var(--sidebar-foreground) / 0.6);
}
/* Quiet session + profile group at the bottom of the sidebar — flat surface,
     hairline top divider, no nested wells/cards (keeps focus on the nav). */
.dt-sidebar-footer-row {
  display: flex;
  height: 2.5rem;
  width: 100%;
  align-items: center;
  gap: 0.625rem;
  border-radius: 4px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  text-align: left;
  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;
}
.dt-sidebar-footer-row--icon {
  justify-content: center;
}
.dt-sidebar-footer-icon-well {
  display: flex;
  width: 1.75rem;
  height: 1.75rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
}
.light .dt-sidebar-footer-panel {
    border-top-color: hsl(var(--sidebar-border) / 0.5);
  }
.light .dt-sidebar-profile-card {
  border-width: 0px;
  background-color: transparent;
  --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);
}
.light .dt-sidebar-profile-card:hover {
  background-color: hsl(var(--sidebar-foreground) / 0.06);
}
.light .dt-sidebar-profile-card[data-state="open"] {
  background-color: hsl(var(--sidebar-foreground) / 0.06);
}
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) :is([data-snap-panel-flat], [data-dt-panel='true'], [data-security-legacy-panel]) table tbody td.light .shell-chrome .dt-command-bar kbd {
    font-size: var(--snap-overview-label-size);
    font-weight: 400;
    font-variant-numeric: normal;
    color: hsl(var(--muted-foreground));
  }
.dt-sidebar-security-symbol .light .shell-chrome .dt-command-bar kbd {
    color: hsl(var(--muted-foreground) / 0.9);
  }
.light .shell-chrome .dt-command-bar kbd {
  border-color: hsl(var(--border));
  background-color: hsl(var(--muted) / 0.8);
  color: hsl(var(--muted-foreground));
}
.dibs .dt-shell-vrule {
  display: none;
}
/** Vertical shell dividers — inset so lines do not bleed into header/footer chrome */
.dt-shell-vrule {
  pointer-events: none;
  position: absolute;
  top: 0.5rem;
  bottom: 0.5rem;
  width: 1px;
  background-color: hsl(var(--sidebar-border) / 0.4);
}
.dt-sidebar-section-label {
  margin-left: 0px;
  margin-right: 0px;
  margin-bottom: 0.25rem;
  margin-top: 0px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  font-size: var(--text-xs);
  line-height: var(--leading-xs);
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0em;
  color: hsl(var(--muted-foreground) / 0.75);
}
.dibs [data-sidebar-page='security'] .dt-sidebar-nav:not(.dt-sidebar-nav-active) {
    color: hsl(var(--sidebar-foreground) / 0.82);
  }
.dibs [data-sidebar-page='security'] .dt-sidebar-nav-active [data-sidebar='menu-button'] svg,
  .dibs [data-sidebar-page='security'] .dt-sidebar-nav-active svg {
    color: hsl(var(--sidebar-foreground));
  }
.dt-sidebar-security-symbol .text-muted-foreground {
    color: hsl(var(--muted-foreground) / 0.9);
  }
.dt-sidebar-profile-card {
  border-width: 0px;
  background-color: transparent;
  --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);
}
/* Global search / command palette — flat Cursor surface */
.dt-global-search-overlay {
  background-color: rgb(0 0 0 / 0.55);
}
.light .dt-global-search-overlay {
  background-color: rgb(0 0 0 / 0.3);
}
.dt-global-search-dialog {
    border-color: hsl(var(--border) / 0.65);
    box-shadow: var(--panel-shadow);
  }
.light .dt-global-search-dialog {
    border-color: hsl(var(--border) / 0.75);
    box-shadow:
      0 12px 40px -10px hsl(var(--foreground) / 0.1),
      0 4px 12px -4px hsl(var(--foreground) / 0.06);
  }
.dt-global-search-search-icon {
    color: hsl(var(--muted-foreground) / 0.85);
  }
.dt-global-search-filter-active {
    background: hsl(var(--foreground) / 0.08);
    color: hsl(var(--foreground));
    box-shadow: inset 0 0 0 1px hsl(var(--foreground) / 0.14);
  }
.light .dt-global-search-filter-active {
    background: hsl(var(--foreground) / 0.06);
    color: hsl(var(--foreground));
    box-shadow: inset 0 0 0 1px hsl(var(--foreground) / 0.12);
  }
.dt-global-search-item-active {
    background: hsl(var(--foreground) / 0.06);
    color: hsl(var(--foreground));
    box-shadow: inset 0 0 0 1px hsl(var(--foreground) / 0.16);
  }
/* Fully outlined now — no left rail (matches sidebar active state). */
.dt-global-search-item-active::before {
    display: none;
  }
.light .dt-global-search-item-active {
    background: hsl(var(--foreground) / 0.06);
  }
/* Account menu — sidebar profile dropdown */
.dt-account-menu {
    border-color: hsl(var(--border) / 0.65);
    box-shadow: var(--panel-shadow);
  }
.light .dt-account-menu {
    border-color: hsl(var(--border) / 0.75);
    box-shadow:
      0 12px 40px -10px hsl(var(--foreground) / 0.1),
      0 4px 12px -4px hsl(var(--foreground) / 0.06);
  }
.dt-account-menu-item[data-highlighted]::before,
  .dt-account-menu-item:focus-visible::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 2px;
    height: 56%;
    transform: translateY(-50%);
    border-radius: 0 9999px 9999px 0;
    background: hsl(var(--foreground) / 0.5);
  }
.dt-account-menu-item-logout[data-highlighted]::before,
  .dt-account-menu-item-logout:focus-visible::before {
    background: hsl(var(--negative) / 0.85);
  }
/* Settings workspace — flat editor inside the shell card */
.dt-settings-workspace {
  border-width: 0px;
  background-color: transparent;
  --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);
}
.dt-settings-tabs {
  overflow-x: auto;
  border-bottom-width: 1px;
  border-color: hsl(var(--border) / 0.5);
  background-color: transparent;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.25rem;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.dt-settings-tabs::-webkit-scrollbar {
  display: none;
}
.dt-settings-tab {
  position: relative;
  display: inline-flex;
  height: 2rem;
  flex-shrink: 0;
  align-items: center;
  gap: 0.375rem;
  border-radius: 0px;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-bottom: 0.5rem;
  font-size: var(--text-xs);
  line-height: var(--leading-xs);
  font-weight: 500;
  transition-property: color,background-color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
  animation-duration: 150ms;
}
.dt-settings-tab-active {
    color: hsl(var(--foreground));
    background: transparent;
    box-shadow: none;
  }
.dt-settings-tab-active::after {
    content: '';
    position: absolute;
    left: 0.375rem;
    right: 0.375rem;
    bottom: 0;
    height: 2px;
    border-radius: 9999px 9999px 0 0;
    background: hsl(var(--foreground) / 0.7);
  }
.light .dt-settings-tab-active::after {
    background: hsl(var(--foreground) / 0.7);
  }
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) :is([data-snap-panel-flat], [data-dt-panel='true'], [data-security-legacy-panel]) table tbody td.dt-settings-tab-idle {
    font-size: var(--snap-overview-label-size);
    font-weight: 400;
    font-variant-numeric: normal;
    color: hsl(var(--muted-foreground));
  }
.dt-sidebar-security-symbol .dt-settings-tab-idle {
    color: hsl(var(--muted-foreground) / 0.9);
  }
.dt-settings-tab-idle {
  color: hsl(var(--muted-foreground));
}
.dt-settings-tab-idle:hover {
  background-color: hsl(var(--foreground) / 0.04);
  color: hsl(var(--foreground));
}
.dt-settings-content-column {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 48rem;
}
.dt-settings-section {
    border-color: hsl(var(--border) / 0.5);
    background: hsl(var(--card));
    border-radius: 6px;
    border-width: 1px;
    --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);
  }
.dibs [data-security-surface='flat'] :is(.dt-settings-section, .rounded-sm)[class~='bg-card']:not([data-dt-panel='true']):not(:has(> [data-dt-panel-header='true'])) {
  box-shadow: none;
  border: 1px solid hsl(var(--border));
  border-radius: 8px;
}
.dark .dt-settings-section {
    background: hsl(var(--muted) / 0.22);
  }
.light .dt-settings-section {
    background: hsl(var(--muted));
    box-shadow: none;
  }
.dt-settings-section-danger {
    border-color: hsl(var(--negative) / 0.28);
    background: hsl(var(--negative) / 0.04);
  }
.dt-settings-section-header {
    border-color: hsl(var(--border) / 0.55) !important;
  }
.dt-settings-section-header [data-dt-panel-title='true'] {
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
  font-weight: 600;
  color: hsl(var(--foreground));
}
.dt-settings-inset {
    background: hsl(var(--foreground) / 0.035);
  }
/* Settings: keep each section a single quiet surface. The app-surface 'flat'
     treatment already turns a section into title + body card; soften that body
     card to a hairline so stacked sections read calm (no heavy boxes). */
.dibs [data-app-surface='flat'] .dt-settings-content-column [data-dt-panel='true'] > :not([data-dt-panel-header='true']) {
    border-color: hsl(var(--border) / 0.45);
  }
/** Subtle fade when workspace route content remounts (ContentArea key=pathname). */
.route-content-enter {
    animation: dt-route-content-enter 180ms ease-out;
  }
@keyframes dt-route-content-enter {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
/* Plot fill lives on the canvas; wrapper stays transparent */
.dibs-chart-engine {
    background-color: transparent;
  }
/* Shell chrome — slightly heavier Lucide strokes (matches --icon-stroke) */
[data-tour='sidebar'] svg.lucide,
  [data-tour='right-rail'] svg.lucide {
    stroke-width: var(--icon-stroke);
  }
aside[data-tour='right-rail'] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: var(--sidebar-collapsed-width, 40px);
    min-width: var(--sidebar-collapsed-width, 40px);
    max-width: var(--sidebar-collapsed-width, 40px);
  }
aside[data-tour='right-rail'] > :last-child {
    flex: 1;
    min-width: 0;
    width: 100%;
  }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.pointer-events-none {
  pointer-events: none;
}
.pointer-events-auto {
  pointer-events: auto;
}
.\!visible {
  visibility: visible !important;
}
.visible {
  visibility: visible;
}
.invisible {
  visibility: hidden;
}
.collapse {
  visibility: collapse;
}
.static {
  position: static;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.sticky {
  position: sticky;
}
.inset-0 {
  inset: 0px;
}
.inset-3 {
  inset: 0.75rem;
}
.inset-8 {
  inset: 2rem;
}
.inset-x-0 {
  left: 0px;
  right: 0px;
}
.inset-x-1\.5 {
  left: 0.375rem;
  right: 0.375rem;
}
.inset-y-0 {
  top: 0px;
  bottom: 0px;
}
.-bottom-12 {
  bottom: -3rem;
}
.-left-12 {
  left: -3rem;
}
.-right-1 {
  right: -0.25rem;
}
.-right-12 {
  right: -3rem;
}
.-top-1 {
  top: -0.25rem;
}
.-top-12 {
  top: -3rem;
}
.bottom-0 {
  bottom: 0px;
}
.bottom-0\.5 {
  bottom: 0.125rem;
}
.bottom-1 {
  bottom: 0.25rem;
}
.bottom-2 {
  bottom: 0.5rem;
}
.bottom-4 {
  bottom: 1rem;
}
.bottom-6 {
  bottom: 1.5rem;
}
.bottom-full {
  bottom: 100%;
}
.left-0 {
  left: 0px;
}
.left-0\.5 {
  left: 0.125rem;
}
.left-1 {
  left: 0.25rem;
}
.left-1\/2 {
  left: 50%;
}
.left-2 {
  left: 0.5rem;
}
.left-2\.5 {
  left: 0.625rem;
}
.left-3 {
  left: 0.75rem;
}
.left-4 {
  left: 1rem;
}
.left-6 {
  left: 1.5rem;
}
.left-\[50\%\] {
  left: 50%;
}
.right-0 {
  right: 0px;
}
.right-0\.5 {
  right: 0.125rem;
}
.right-1 {
  right: 0.25rem;
}
.right-1\.5 {
  right: 0.375rem;
}
.right-1\/2 {
  right: 50%;
}
.right-2 {
  right: 0.5rem;
}
.right-3 {
  right: 0.75rem;
}
.right-4 {
  right: 1rem;
}
.right-5 {
  right: 1.25rem;
}
.right-\[72px\] {
  right: 72px;
}
.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-2 {
  top: 0.5rem;
}
.top-3 {
  top: 0.75rem;
}
.top-3\.5 {
  top: 0.875rem;
}
.top-4 {
  top: 1rem;
}
.top-5 {
  top: 1.25rem;
}
.top-\[1px\] {
  top: 1px;
}
.top-\[30\%\] {
  top: 30%;
}
.top-\[50\%\] {
  top: 50%;
}
.top-\[60\%\] {
  top: 60%;
}
.top-\[62\%\] {
  top: 62%;
}
.top-\[max\(1rem\2c 2\.5vh\)\] {
  top: max(1rem, 2.5vh);
}
.top-full {
  top: 100%;
}
.isolate {
  isolation: isolate;
}
.z-0 {
  z-index: 0;
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.z-30 {
  z-index: 30;
}
.z-40 {
  z-index: 40;
}
.z-50 {
  z-index: 50;
}
.z-\[-1\] {
  z-index: -1;
}
.z-\[0\] {
  z-index: 0;
}
.z-\[1000\] {
  z-index: 1000;
}
.z-\[100\] {
  z-index: 100;
}
.z-\[10\] {
  z-index: 10;
}
.z-\[1100\] {
  z-index: 1100;
}
.z-\[1200\] {
  z-index: 1200;
}
.z-\[120\] {
  z-index: 120;
}
.z-\[15\] {
  z-index: 15;
}
.z-\[1\] {
  z-index: 1;
}
.z-\[2600\] {
  z-index: 2600;
}
.z-\[2\] {
  z-index: 2;
}
.z-\[3\] {
  z-index: 3;
}
.z-\[400\] {
  z-index: 400;
}
.z-\[49\] {
  z-index: 49;
}
.z-\[500\] {
  z-index: 500;
}
.z-\[5\] {
  z-index: 5;
}
.z-\[6\] {
  z-index: 6;
}
.z-\[7\] {
  z-index: 7;
}
.z-\[99999\] {
  z-index: 99999;
}
.z-\[9999\] {
  z-index: 9999;
}
.z-auto {
  z-index: auto;
}
.order-first {
  order: -9999;
}
.order-last {
  order: 9999;
}
.col-span-12 {
  grid-column: span 12 / span 12;
}
.col-span-2 {
  grid-column: span 2 / span 2;
}
.col-span-full {
  grid-column: 1 / -1;
}
.\!m-0 {
  margin: 0px !important;
}
.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-0 {
  margin-left: 0px;
  margin-right: 0px;
}
.mx-0\.5 {
  margin-left: 0.125rem;
  margin-right: 0.125rem;
}
.mx-1 {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}
.mx-1\.5 {
  margin-left: 0.375rem;
  margin-right: 0.375rem;
}
.mx-2 {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.mx-3 {
  margin-left: 0.75rem;
  margin-right: 0.75rem;
}
.mx-3\.5 {
  margin-left: 0.875rem;
  margin-right: 0.875rem;
}
.mx-4 {
  margin-left: 1rem;
  margin-right: 1rem;
}
.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-1\.5 {
  margin-top: 0.375rem;
  margin-bottom: 0.375rem;
}
.my-2 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.my-4 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.my-5 {
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}
.my-6 {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.my-auto {
  margin-top: auto;
  margin-bottom: auto;
}
.-ml-4 {
  margin-left: -1rem;
}
.-mr-1 {
  margin-right: -0.25rem;
}
.-mt-4 {
  margin-top: -1rem;
}
.mb-0 {
  margin-bottom: 0px;
}
.mb-0\.5 {
  margin-bottom: 0.125rem;
}
.mb-1 {
  margin-bottom: 0.25rem;
}
.mb-1\.5 {
  margin-bottom: 0.375rem;
}
.mb-10 {
  margin-bottom: 2.5rem;
}
.mb-2 {
  margin-bottom: 0.5rem;
}
.mb-2\.5 {
  margin-bottom: 0.625rem;
}
.mb-20 {
  margin-bottom: 5rem;
}
.mb-3 {
  margin-bottom: 0.75rem;
}
.mb-3\.5 {
  margin-bottom: 0.875rem;
}
.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;
}
.mb-9 {
  margin-bottom: 2.25rem;
}
.mb-\[100px\] {
  margin-bottom: 100px;
}
.mb-\[16px\] {
  margin-bottom: 16px;
}
.mb-\[26px\] {
  margin-bottom: 26px;
}
.ml-0\.5 {
  margin-left: 0.125rem;
}
.ml-1 {
  margin-left: 0.25rem;
}
.ml-1\.5 {
  margin-left: 0.375rem;
}
.ml-12 {
  margin-left: 3rem;
}
.ml-2 {
  margin-left: 0.5rem;
}
.ml-2\.5 {
  margin-left: 0.625rem;
}
.ml-4 {
  margin-left: 1rem;
}
.ml-9 {
  margin-left: 2.25rem;
}
.ml-auto {
  margin-left: auto;
}
.ml-px {
  margin-left: 1px;
}
.mr-0 {
  margin-right: 0px;
}
.mr-0\.5 {
  margin-right: 0.125rem;
}
.mr-1 {
  margin-right: 0.25rem;
}
.mr-1\.5 {
  margin-right: 0.375rem;
}
.mr-2 {
  margin-right: 0.5rem;
}
.mr-7 {
  margin-right: 1.75rem;
}
.mr-\[5px\] {
  margin-right: 5px;
}
.mt-0 {
  margin-top: 0px;
}
.mt-0\.5 {
  margin-top: 0.125rem;
}
.mt-1 {
  margin-top: 0.25rem;
}
.mt-1\.5 {
  margin-top: 0.375rem;
}
.mt-10 {
  margin-top: 2.5rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-2\.5 {
  margin-top: 0.625rem;
}
.mt-24 {
  margin-top: 6rem;
}
.mt-3 {
  margin-top: 0.75rem;
}
.mt-3\.5 {
  margin-top: 0.875rem;
}
.mt-4 {
  margin-top: 1rem;
}
.mt-5 {
  margin-top: 1.25rem;
}
.mt-6 {
  margin-top: 1.5rem;
}
.mt-8 {
  margin-top: 2rem;
}
.mt-\[18px\] {
  margin-top: 18px;
}
.mt-\[1px\] {
  margin-top: 1px;
}
.mt-\[3px\] {
  margin-top: 3px;
}
.mt-\[7px\] {
  margin-top: 7px;
}
.mt-auto {
  margin-top: auto;
}
.mt-px {
  margin-top: 1px;
}
.line-clamp-1 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.line-clamp-3 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.block {
  display: block;
}
.inline-block {
  display: inline-block;
}
.inline {
  display: inline;
}
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}
.\!table {
  display: table !important;
}
.table {
  display: table;
}
.\!grid {
  display: grid !important;
}
.grid {
  display: grid;
}
.inline-grid {
  display: inline-grid;
}
.contents {
  display: contents;
}
.hidden {
  display: none;
}
.aspect-square {
  aspect-ratio: 1 / 1;
}
.aspect-video {
  aspect-ratio: 16 / 9;
}
.size-1 {
  width: 0.25rem;
  height: 0.25rem;
}
.size-1\.5 {
  width: 0.375rem;
  height: 0.375rem;
}
.size-10 {
  width: 2.5rem;
  height: 2.5rem;
}
.size-11 {
  width: 2.75rem;
  height: 2.75rem;
}
.size-12 {
  width: 3rem;
  height: 3rem;
}
.size-14 {
  width: 3.5rem;
  height: 3.5rem;
}
.size-16 {
  width: 4rem;
  height: 4rem;
}
.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-5 {
  width: 1.25rem;
  height: 1.25rem;
}
.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-\[--cell-size\] {
  width: var(--cell-size);
  height: var(--cell-size);
}
.size-\[18px\] {
  width: 18px;
  height: 18px;
}
.size-\[26px\] {
  width: 26px;
  height: 26px;
}
.size-\[3px\] {
  width: 3px;
  height: 3px;
}
.size-\[9px\] {
  width: 9px;
  height: 9px;
}
.size-full {
  width: 100%;
  height: 100%;
}
.h-0 {
  height: 0px;
}
.h-0\.5 {
  height: 0.125rem;
}
.h-1 {
  height: 0.25rem;
}
.h-1\.5 {
  height: 0.375rem;
}
.h-1\/2 {
  height: 50%;
}
.h-10 {
  height: 2.5rem;
}
.h-11 {
  height: 2.75rem;
}
.h-12 {
  height: 3rem;
}
.h-14 {
  height: 3.5rem;
}
.h-16 {
  height: 4rem;
}
.h-2 {
  height: 0.5rem;
}
.h-2\.5 {
  height: 0.625rem;
}
.h-20 {
  height: 5rem;
}
.h-28 {
  height: 7rem;
}
.h-3 {
  height: 0.75rem;
}
.h-3\.5 {
  height: 0.875rem;
}
.h-32 {
  height: 8rem;
}
.h-4 {
  height: 1rem;
}
.h-40 {
  height: 10rem;
}
.h-48 {
  height: 12rem;
}
.h-5 {
  height: 1.25rem;
}
.h-6 {
  height: 1.5rem;
}
.h-7 {
  height: 1.75rem;
}
.h-8 {
  height: 2rem;
}
.h-9 {
  height: 2.25rem;
}
.h-\[--cell-size\] {
  height: var(--cell-size);
}
.h-\[100px\] {
  height: 100px;
}
.h-\[110px\] {
  height: 110px;
}
.h-\[11px\] {
  height: 11px;
}
.h-\[120px\] {
  height: 120px;
}
.h-\[140px\] {
  height: 140px;
}
.h-\[14px\] {
  height: 14px;
}
.h-\[150px\] {
  height: 150px;
}
.h-\[15px\] {
  height: 15px;
}
.h-\[16px\] {
  height: 16px;
}
.h-\[18px\] {
  height: 18px;
}
.h-\[1px\] {
  height: 1px;
}
.h-\[200px\] {
  height: 200px;
}
.h-\[20px\] {
  height: 20px;
}
.h-\[220px\] {
  height: 220px;
}
.h-\[22px\] {
  height: 22px;
}
.h-\[240px\] {
  height: 240px;
}
.h-\[250px\] {
  height: 250px;
}
.h-\[260px\] {
  height: 260px;
}
.h-\[280px\] {
  height: 280px;
}
.h-\[2px\] {
  height: 2px;
}
.h-\[300px\] {
  height: 300px;
}
.h-\[30px\] {
  height: 30px;
}
.h-\[320px\] {
  height: 320px;
}
.h-\[360px\] {
  height: 360px;
}
.h-\[3px\] {
  height: 3px;
}
.h-\[400px\] {
  height: 400px;
}
.h-\[42px\] {
  height: 42px;
}
.h-\[5px\] {
  height: 5px;
}
.h-\[60px\] {
  height: 60px;
}
.h-\[6px\] {
  height: 6px;
}
.h-\[70\%\] {
  height: 70%;
}
.h-\[70px\] {
  height: 70px;
}
.h-\[72px\] {
  height: 72px;
}
.h-\[80vh\] {
  height: 80vh;
}
.h-\[88px\] {
  height: 88px;
}
.h-\[calc\(0\.5rem\+2\.25rem\)\] {
  height: calc(0.5rem + 2.25rem);
}
.h-\[calc\(100dvh-1\.5rem\)\] {
  height: calc(100dvh - 1.5rem);
}
.h-\[min\(500px\2c calc\(100vh-96px\)\)\] {
  height: min(500px, calc(100vh - 96px));
}
.h-\[min\(720px\2c calc\(100vh-2rem\)\)\] {
  height: min(720px, calc(100vh - 2rem));
}
.h-\[min\(860px\2c calc\(100vh-2rem\)\)\] {
  height: min(860px, calc(100vh - 2rem));
}
.h-\[min\(86vh\2c 880px\)\] {
  height: min(86vh, 880px);
}
.h-\[min\(88vh\2c 900px\)\] {
  height: min(88vh, 900px);
}
.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-52 {
  max-height: 13rem;
}
.max-h-56 {
  max-height: 14rem;
}
.max-h-60 {
  max-height: 15rem;
}
.max-h-64 {
  max-height: 16rem;
}
.max-h-\[--radix-context-menu-content-available-height\] {
  max-height: var(--radix-context-menu-content-available-height);
}
.max-h-\[--radix-select-content-available-height\] {
  max-height: var(--radix-select-content-available-height);
}
.max-h-\[120px\] {
  max-height: 120px;
}
.max-h-\[140px\] {
  max-height: 140px;
}
.max-h-\[150px\] {
  max-height: 150px;
}
.max-h-\[160px\] {
  max-height: 160px;
}
.max-h-\[200px\] {
  max-height: 200px;
}
.max-h-\[210px\] {
  max-height: 210px;
}
.max-h-\[220px\] {
  max-height: 220px;
}
.max-h-\[240px\] {
  max-height: 240px;
}
.max-h-\[280px\] {
  max-height: 280px;
}
.max-h-\[300px\] {
  max-height: 300px;
}
.max-h-\[320px\] {
  max-height: 320px;
}
.max-h-\[360px\] {
  max-height: 360px;
}
.max-h-\[400px\] {
  max-height: 400px;
}
.max-h-\[420px\] {
  max-height: 420px;
}
.max-h-\[460px\] {
  max-height: 460px;
}
.max-h-\[55vh\] {
  max-height: 55vh;
}
.max-h-\[60vh\] {
  max-height: 60vh;
}
.max-h-\[70vh\] {
  max-height: 70vh;
}
.max-h-\[72\%\] {
  max-height: 72%;
}
.max-h-\[720px\] {
  max-height: 720px;
}
.max-h-\[72px\] {
  max-height: 72px;
}
.max-h-\[74vh\] {
  max-height: 74vh;
}
.max-h-\[80vh\] {
  max-height: 80vh;
}
.max-h-\[82\%\] {
  max-height: 82%;
}
.max-h-\[88\%\] {
  max-height: 88%;
}
.max-h-\[90vh\] {
  max-height: 90vh;
}
.max-h-\[92vh\] {
  max-height: 92vh;
}
.max-h-\[calc\(100vh-220px\)\] {
  max-height: calc(100vh - 220px);
}
.max-h-\[calc\(100vh-2rem\)\] {
  max-height: calc(100vh - 2rem);
}
.max-h-\[calc\(100vh-7rem\)\] {
  max-height: calc(100vh - 7rem);
}
.max-h-\[min\(280px\2c 40vh\)\] {
  max-height: min(280px, 40vh);
}
.max-h-\[min\(520px\2c 72vh\)\] {
  max-height: min(520px, 72vh);
}
.max-h-\[min\(520px\2c 90vh\)\] {
  max-height: min(520px, 90vh);
}
.max-h-\[min\(560px\2c 76vh\)\] {
  max-height: min(560px, 76vh);
}
.max-h-\[min\(70vh\2c 520px\)\] {
  max-height: min(70vh, 520px);
}
.max-h-\[min\(82vh\2c 680px\)\] {
  max-height: min(82vh, 680px);
}
.max-h-\[min\(90vh\2c 820px\)\] {
  max-height: min(90vh, 820px);
}
.max-h-\[min\(92vh\2c 780px\)\] {
  max-height: min(92vh, 780px);
}
.max-h-\[min\(92vh\2c 900px\)\] {
  max-height: min(92vh, 900px);
}
.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\] {
  max-height: var(--radix-dropdown-menu-content-available-height);
}
.max-h-none {
  max-height: none;
}
.max-h-screen {
  max-height: 100vh;
}
.\!min-h-\[120px\] {
  min-height: 120px !important;
}
.\!min-h-\[28px\] {
  min-height: 28px !important;
}
.\!min-h-\[44px\] {
  min-height: 44px !important;
}
.\!min-h-\[96px\] {
  min-height: 96px !important;
}
.min-h-0 {
  min-height: 0px;
}
.min-h-10 {
  min-height: 2.5rem;
}
.min-h-20 {
  min-height: 5rem;
}
.min-h-24 {
  min-height: 6rem;
}
.min-h-32 {
  min-height: 8rem;
}
.min-h-7 {
  min-height: 1.75rem;
}
.min-h-8 {
  min-height: 2rem;
}
.min-h-9 {
  min-height: 2.25rem;
}
.min-h-\[1\.25rem\] {
  min-height: 1.25rem;
}
.min-h-\[100px\] {
  min-height: 100px;
}
.min-h-\[108px\] {
  min-height: 108px;
}
.min-h-\[120px\] {
  min-height: 120px;
}
.min-h-\[12rem\] {
  min-height: 12rem;
}
.min-h-\[160px\] {
  min-height: 160px;
}
.min-h-\[168px\] {
  min-height: 168px;
}
.min-h-\[180px\] {
  min-height: 180px;
}
.min-h-\[200px\] {
  min-height: 200px;
}
.min-h-\[220px\] {
  min-height: 220px;
}
.min-h-\[240px\] {
  min-height: 240px;
}
.min-h-\[24px\] {
  min-height: 24px;
}
.min-h-\[280px\] {
  min-height: 280px;
}
.min-h-\[28px\] {
  min-height: 28px;
}
.min-h-\[3\.5rem\] {
  min-height: 3.5rem;
}
.min-h-\[300px\] {
  min-height: 300px;
}
.min-h-\[30px\] {
  min-height: 30px;
}
.min-h-\[320px\] {
  min-height: 320px;
}
.min-h-\[360px\] {
  min-height: 360px;
}
.min-h-\[36px\] {
  min-height: 36px;
}
.min-h-\[38px\] {
  min-height: 38px;
}
.min-h-\[40px\] {
  min-height: 40px;
}
.min-h-\[420px\] {
  min-height: 420px;
}
.min-h-\[42px\] {
  min-height: 42px;
}
.min-h-\[44px\] {
  min-height: 44px;
}
.min-h-\[480px\] {
  min-height: 480px;
}
.min-h-\[48px\] {
  min-height: 48px;
}
.min-h-\[500px\] {
  min-height: 500px;
}
.min-h-\[50vh\] {
  min-height: 50vh;
}
.min-h-\[520px\] {
  min-height: 520px;
}
.min-h-\[52px\] {
  min-height: 52px;
}
.min-h-\[66px\] {
  min-height: 66px;
}
.min-h-\[72px\] {
  min-height: 72px;
}
.min-h-\[80px\] {
  min-height: 80px;
}
.min-h-\[88px\] {
  min-height: 88px;
}
.min-h-full {
  min-height: 100%;
}
.min-h-screen {
  min-height: 100vh;
}
.min-h-svh {
  min-height: 100svh;
}
.w-0 {
  width: 0px;
}
.w-0\.5 {
  width: 0.125rem;
}
.w-1 {
  width: 0.25rem;
}
.w-1\.5 {
  width: 0.375rem;
}
.w-1\/2 {
  width: 50%;
}
.w-10 {
  width: 2.5rem;
}
.w-11 {
  width: 2.75rem;
}
.w-12 {
  width: 3rem;
}
.w-14 {
  width: 3.5rem;
}
.w-16 {
  width: 4rem;
}
.w-2 {
  width: 0.5rem;
}
.w-2\.5 {
  width: 0.625rem;
}
.w-20 {
  width: 5rem;
}
.w-24 {
  width: 6rem;
}
.w-3 {
  width: 0.75rem;
}
.w-3\.5 {
  width: 0.875rem;
}
.w-3\/4 {
  width: 75%;
}
.w-32 {
  width: 8rem;
}
.w-36 {
  width: 9rem;
}
.w-4 {
  width: 1rem;
}
.w-40 {
  width: 10rem;
}
.w-44 {
  width: 11rem;
}
.w-48 {
  width: 12rem;
}
.w-5 {
  width: 1.25rem;
}
.w-56 {
  width: 14rem;
}
.w-6 {
  width: 1.5rem;
}
.w-60 {
  width: 15rem;
}
.w-64 {
  width: 16rem;
}
.w-7 {
  width: 1.75rem;
}
.w-72 {
  width: 18rem;
}
.w-8 {
  width: 2rem;
}
.w-9 {
  width: 2.25rem;
}
.w-\[--cell-size\] {
  width: var(--cell-size);
}
.w-\[--sidebar-width\] {
  width: var(--sidebar-width);
}
.w-\[100px\] {
  width: 100px;
}
.w-\[108px\] {
  width: 108px;
}
.w-\[110px\] {
  width: 110px;
}
.w-\[112px\] {
  width: 112px;
}
.w-\[120px\] {
  width: 120px;
}
.w-\[138px\] {
  width: 138px;
}
.w-\[140px\] {
  width: 140px;
}
.w-\[148px\] {
  width: 148px;
}
.w-\[14px\] {
  width: 14px;
}
.w-\[150px\] {
  width: 150px;
}
.w-\[160px\] {
  width: 160px;
}
.w-\[168px\] {
  width: 168px;
}
.w-\[170px\] {
  width: 170px;
}
.w-\[180px\] {
  width: 180px;
}
.w-\[1px\] {
  width: 1px;
}
.w-\[200px\] {
  width: 200px;
}
.w-\[20px\] {
  width: 20px;
}
.w-\[220px\] {
  width: 220px;
}
.w-\[240px\] {
  width: 240px;
}
.w-\[260px\] {
  width: 260px;
}
.w-\[280px\] {
  width: 280px;
}
.w-\[2px\] {
  width: 2px;
}
.w-\[30\%\] {
  width: 30%;
}
.w-\[300px\] {
  width: 300px;
}
.w-\[30px\] {
  width: 30px;
}
.w-\[32\%\] {
  width: 32%;
}
.w-\[320px\] {
  width: 320px;
}
.w-\[360px\] {
  width: 360px;
}
.w-\[3px\] {
  width: 3px;
}
.w-\[4\.5rem\] {
  width: 4.5rem;
}
.w-\[40\%\] {
  width: 40%;
}
.w-\[40px\] {
  width: 40px;
}
.w-\[42px\] {
  width: 42px;
}
.w-\[500px\] {
  width: 500px;
}
.w-\[520px\] {
  width: 520px;
}
.w-\[52px\] {
  width: 52px;
}
.w-\[54px\] {
  width: 54px;
}
.w-\[56px\] {
  width: 56px;
}
.w-\[5px\] {
  width: 5px;
}
.w-\[60\%\] {
  width: 60%;
}
.w-\[60px\] {
  width: 60px;
}
.w-\[64px\] {
  width: 64px;
}
.w-\[68px\] {
  width: 68px;
}
.w-\[6px\] {
  width: 6px;
}
.w-\[7\.25rem\] {
  width: 7.25rem;
}
.w-\[7\.5rem\] {
  width: 7.5rem;
}
.w-\[70\%\] {
  width: 70%;
}
.w-\[70px\] {
  width: 70px;
}
.w-\[72px\] {
  width: 72px;
}
.w-\[75px\] {
  width: 75px;
}
.w-\[76px\] {
  width: 76px;
}
.w-\[80px\] {
  width: 80px;
}
.w-\[88px\] {
  width: 88px;
}
.w-\[90\%\] {
  width: 90%;
}
.w-\[96px\] {
  width: 96px;
}
.w-\[calc\(100vw-1\.5rem\)\] {
  width: calc(100vw - 1.5rem);
}
.w-\[min\(100\%\2c 280px\)\] {
  width: min(100%, 280px);
}
.w-\[min\(100\%\2c 320px\)\] {
  width: min(100%, 320px);
}
.w-\[min\(1180px\2c calc\(100vw-2rem\)\)\] {
  width: min(1180px, calc(100vw - 2rem));
}
.w-\[min\(1440px\2c calc\(100vw-2rem\)\)\] {
  width: min(1440px, calc(100vw - 2rem));
}
.w-\[min\(240px\2c 34vw\)\] {
  width: min(240px, 34vw);
}
.w-\[min\(260px\2c 32vw\)\] {
  width: min(260px, 32vw);
}
.w-\[min\(320px\2c calc\(100vw-var\(--right-sidebar-width\)-28px\)\)\] {
  width: min(320px, calc(100vw - var(--right-sidebar-width) - 28px));
}
.w-\[min\(360px\2c calc\(100vw-24px\)\)\] {
  width: min(360px, calc(100vw - 24px));
}
.w-\[min\(420px\2c calc\(100vw-2rem\)\)\] {
  width: min(420px, calc(100vw - 2rem));
}
.w-\[min\(420px\2c calc\(100vw-3rem\)\)\] {
  width: min(420px, calc(100vw - 3rem));
}
.w-\[min\(520px\2c calc\(100vw-1\.5rem\)\)\] {
  width: min(520px, calc(100vw - 1.5rem));
}
.w-\[min\(520px\2c calc\(100vw-2rem\)\)\] {
  width: min(520px, calc(100vw - 2rem));
}
.w-\[min\(640px\2c calc\(100vw-2rem\)\)\] {
  width: min(640px, calc(100vw - 2rem));
}
.w-\[min\(640px\2c calc\(100vw-32px\)\)\] {
  width: min(640px, calc(100vw - 32px));
}
.w-\[min\(720px\2c calc\(100vw-1\.5rem\)\)\] {
  width: min(720px, calc(100vw - 1.5rem));
}
.w-\[min\(720px\2c calc\(100vw-2rem\)\)\] {
  width: min(720px, calc(100vw - 2rem));
}
.w-\[min\(720px\2c calc\(100vw-32px\)\)\] {
  width: min(720px, calc(100vw - 32px));
}
.w-\[min\(920px\2c calc\(100vw-2rem\)\)\] {
  width: min(920px, calc(100vw - 2rem));
}
.w-\[min\(92vw\2c 360px\)\] {
  width: min(92vw, 360px);
}
.w-\[min\(960px\2c calc\(100vw-2rem\)\)\] {
  width: min(960px, calc(100vw - 2rem));
}
.w-\[min\(960px\2c calc\(100vw-32px\)\)\] {
  width: min(960px, calc(100vw - 32px));
}
.w-\[var\(--radix-dropdown-menu-trigger-width\)\] {
  width: var(--radix-dropdown-menu-trigger-width);
}
.w-\[var\(--sidebar-collapsed-width\2c 40px\)\] {
  width: var(--sidebar-collapsed-width,40px);
}
.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-11 {
  min-width: 2.75rem;
}
.min-w-2 {
  min-width: 0.5rem;
}
.min-w-4 {
  min-width: 1rem;
}
.min-w-5 {
  min-width: 1.25rem;
}
.min-w-9 {
  min-width: 2.25rem;
}
.min-w-\[--cell-size\] {
  min-width: var(--cell-size);
}
.min-w-\[1\.75rem\] {
  min-width: 1.75rem;
}
.min-w-\[100px\] {
  min-width: 100px;
}
.min-w-\[104px\] {
  min-width: 104px;
}
.min-w-\[1100px\] {
  min-width: 1100px;
}
.min-w-\[110px\] {
  min-width: 110px;
}
.min-w-\[120px\] {
  min-width: 120px;
}
.min-w-\[12rem\] {
  min-width: 12rem;
}
.min-w-\[140px\] {
  min-width: 140px;
}
.min-w-\[148px\] {
  min-width: 148px;
}
.min-w-\[152px\] {
  min-width: 152px;
}
.min-w-\[160px\] {
  min-width: 160px;
}
.min-w-\[180px\] {
  min-width: 180px;
}
.min-w-\[2\.25rem\] {
  min-width: 2.25rem;
}
.min-w-\[2\.75rem\] {
  min-width: 2.75rem;
}
.min-w-\[200px\] {
  min-width: 200px;
}
.min-w-\[20px\] {
  min-width: 20px;
}
.min-w-\[220px\] {
  min-width: 220px;
}
.min-w-\[240px\] {
  min-width: 240px;
}
.min-w-\[250px\] {
  min-width: 250px;
}
.min-w-\[280px\] {
  min-width: 280px;
}
.min-w-\[3\.625rem\] {
  min-width: 3.625rem;
}
.min-w-\[300px\] {
  min-width: 300px;
}
.min-w-\[320px\] {
  min-width: 320px;
}
.min-w-\[3rem\] {
  min-width: 3rem;
}
.min-w-\[420px\] {
  min-width: 420px;
}
.min-w-\[4rem\] {
  min-width: 4rem;
}
.min-w-\[50px\] {
  min-width: 50px;
}
.min-w-\[52px\] {
  min-width: 52px;
}
.min-w-\[60px\] {
  min-width: 60px;
}
.min-w-\[620px\] {
  min-width: 620px;
}
.min-w-\[720px\] {
  min-width: 720px;
}
.min-w-\[88px\] {
  min-width: 88px;
}
.min-w-\[8rem\] {
  min-width: 8rem;
}
.min-w-\[90px\] {
  min-width: 90px;
}
.min-w-\[min\(100\%\2c 220px\)\] {
  min-width: min(100%, 220px);
}
.min-w-\[var\(--radix-select-trigger-width\)\] {
  min-width: var(--radix-select-trigger-width);
}
.min-w-\[var\(--sidebar-collapsed-width\2c 40px\)\] {
  min-width: var(--sidebar-collapsed-width,40px);
}
.min-w-full {
  min-width: 100%;
}
.min-w-max {
  min-width: -moz-max-content;
  min-width: max-content;
}
.max-w-2xl {
  max-width: 42rem;
}
.max-w-3xl {
  max-width: 48rem;
}
.max-w-4xl {
  max-width: 56rem;
}
.max-w-6xl {
  max-width: 72rem;
}
.max-w-7xl {
  max-width: 80rem;
}
.max-w-\[--skeleton-width\] {
  max-width: var(--skeleton-width);
}
.max-w-\[1000px\] {
  max-width: 1000px;
}
.max-w-\[100px\] {
  max-width: 100px;
}
.max-w-\[1060px\] {
  max-width: 1060px;
}
.max-w-\[1100px\] {
  max-width: 1100px;
}
.max-w-\[110px\] {
  max-width: 110px;
}
.max-w-\[1200px\] {
  max-width: 1200px;
}
.max-w-\[120px\] {
  max-width: 120px;
}
.max-w-\[132px\] {
  max-width: 132px;
}
.max-w-\[140px\] {
  max-width: 140px;
}
.max-w-\[142px\] {
  max-width: 142px;
}
.max-w-\[160px\] {
  max-width: 160px;
}
.max-w-\[180px\] {
  max-width: 180px;
}
.max-w-\[2\.75rem\] {
  max-width: 2.75rem;
}
.max-w-\[200px\] {
  max-width: 200px;
}
.max-w-\[20rem\] {
  max-width: 20rem;
}
.max-w-\[220px\] {
  max-width: 220px;
}
.max-w-\[240px\] {
  max-width: 240px;
}
.max-w-\[260px\] {
  max-width: 260px;
}
.max-w-\[280px\] {
  max-width: 280px;
}
.max-w-\[28px\] {
  max-width: 28px;
}
.max-w-\[320px\] {
  max-width: 320px;
}
.max-w-\[400px\] {
  max-width: 400px;
}
.max-w-\[42\%\] {
  max-width: 42%;
}
.max-w-\[420px\] {
  max-width: 420px;
}
.max-w-\[42px\] {
  max-width: 42px;
}
.max-w-\[46\%\] {
  max-width: 46%;
}
.max-w-\[460px\] {
  max-width: 460px;
}
.max-w-\[480px\] {
  max-width: 480px;
}
.max-w-\[512px\] {
  max-width: 512px;
}
.max-w-\[560px\] {
  max-width: 560px;
}
.max-w-\[60\%\] {
  max-width: 60%;
}
.max-w-\[600px\] {
  max-width: 600px;
}
.max-w-\[620px\] {
  max-width: 620px;
}
.max-w-\[680px\] {
  max-width: 680px;
}
.max-w-\[72\%\] {
  max-width: 72%;
}
.max-w-\[72px\] {
  max-width: 72px;
}
.max-w-\[82\%\] {
  max-width: 82%;
}
.max-w-\[88\%\] {
  max-width: 88%;
}
.max-w-\[900px\] {
  max-width: 900px;
}
.max-w-\[92\%\] {
  max-width: 92%;
}
.max-w-\[95vw\] {
  max-width: 95vw;
}
.max-w-\[960px\] {
  max-width: 960px;
}
.max-w-\[calc\(100\%-4\.5rem\)\] {
  max-width: calc(100% - 4.5rem);
}
.max-w-\[calc\(100vw-1\.5rem\)\] {
  max-width: calc(100vw - 1.5rem);
}
.max-w-\[calc\(100vw-2rem\)\] {
  max-width: calc(100vw - 2rem);
}
.max-w-\[calc\(100vw-var\(--right-sidebar-width\)-28px\)\] {
  max-width: calc(100vw - var(--right-sidebar-width) - 28px);
}
.max-w-\[min\(100\%\2c 28rem\)\] {
  max-width: min(100%, 28rem);
}
.max-w-\[min\(100\%\2c 42rem\)\] {
  max-width: min(100%, 42rem);
}
.max-w-\[min\(100\%\2c 48rem\)\] {
  max-width: min(100%, 48rem);
}
.max-w-\[min\(100\%\2c calc\(100\%-88px\)\)\] {
  max-width: min(100%, calc(100% - 88px));
}
.max-w-\[min\(200px\2c 28vw\)\] {
  max-width: min(200px, 28vw);
}
.max-w-\[min\(280px\2c 40vw\)\] {
  max-width: min(280px, 40vw);
}
.max-w-\[min\(320px\2c 45vw\)\] {
  max-width: min(320px, 45vw);
}
.max-w-\[min\(480px\2c 55vw\)\] {
  max-width: min(480px, 55vw);
}
.max-w-\[min\(720px\2c calc\(100vw-2rem\)\)\] {
  max-width: min(720px, calc(100vw - 2rem));
}
.max-w-\[min\(85\%\2c 40rem\)\] {
  max-width: min(85%, 40rem);
}
.max-w-\[min\(880px\2c calc\(100vw-1\.5rem\)\)\] {
  max-width: min(880px, calc(100vw - 1.5rem));
}
.max-w-\[min\(960px\2c calc\(100vw-1\.5rem\)\)\] {
  max-width: min(960px, calc(100vw - 1.5rem));
}
.max-w-\[min\(96vw\2c 680px\)\] {
  max-width: min(96vw, 680px);
}
.max-w-\[min\(96vw\2c 720px\)\] {
  max-width: min(96vw, 720px);
}
.max-w-\[var\(--sidebar-collapsed-width\2c 40px\)\] {
  max-width: var(--sidebar-collapsed-width,40px);
}
.max-w-full {
  max-width: 100%;
}
.max-w-lg {
  max-width: 32rem;
}
.max-w-max {
  max-width: -moz-max-content;
  max-width: max-content;
}
.max-w-md {
  max-width: 28rem;
}
.max-w-none {
  max-width: none;
}
.max-w-screen-xl {
  max-width: 1280px;
}
.max-w-sm {
  max-width: 24rem;
}
.max-w-xl {
  max-width: 36rem;
}
.max-w-xs {
  max-width: 20rem;
}
.flex-1 {
  flex: 1 1 0%;
}
.flex-\[0_1_100px\] {
  flex: 0 1 100px;
}
.flex-\[0_1_180px\] {
  flex: 0 1 180px;
}
.flex-\[1\.35\] {
  flex: 1.35;
}
.flex-\[2\] {
  flex: 2;
}
.flex-none {
  flex: none;
}
.flex-shrink {
  flex-shrink: 1;
}
.flex-shrink-0 {
  flex-shrink: 0;
}
.shrink {
  flex-shrink: 1;
}
.shrink-0 {
  flex-shrink: 0;
}
.flex-grow {
  flex-grow: 1;
}
.grow {
  flex-grow: 1;
}
.grow-0 {
  flex-grow: 0;
}
.basis-full {
  flex-basis: 100%;
}
.table-fixed {
  table-layout: fixed;
}
.caption-bottom {
  caption-side: bottom;
}
.border-collapse {
  border-collapse: collapse;
}
.origin-\[--radix-context-menu-content-transform-origin\] {
  transform-origin: var(--radix-context-menu-content-transform-origin);
}
.origin-\[--radix-dropdown-menu-content-transform-origin\] {
  transform-origin: var(--radix-dropdown-menu-content-transform-origin);
}
.origin-\[--radix-hover-card-content-transform-origin\] {
  transform-origin: var(--radix-hover-card-content-transform-origin);
}
.origin-\[--radix-menubar-content-transform-origin\] {
  transform-origin: var(--radix-menubar-content-transform-origin);
}
.origin-\[--radix-popover-content-transform-origin\] {
  transform-origin: var(--radix-popover-content-transform-origin);
}
.origin-\[--radix-select-content-transform-origin\] {
  transform-origin: var(--radix-select-content-transform-origin);
}
.origin-\[--radix-tooltip-content-transform-origin\] {
  transform-origin: var(--radix-tooltip-content-transform-origin);
}
.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-x-px {
  --tw-translate-x: -1px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-0 {
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-\[-50\%\] {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-px {
  --tw-translate-x: 1px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-0 {
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-\[-50\%\] {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-rotate-90 {
  --tw-rotate: -90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-45 {
  --tw-rotate: 45deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-90 {
  --tw-rotate: 90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes pulse {

  50% {
    opacity: .5;
  }
}
.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes spin {

  to {
    transform: rotate(360deg);
  }
}
.animate-spin {
  animation: spin 1s linear infinite;
}
.cursor-col-resize {
  cursor: col-resize;
}
.cursor-crosshair {
  cursor: crosshair;
}
.cursor-default {
  cursor: default;
}
.cursor-grab {
  cursor: grab;
}
.cursor-help {
  cursor: help;
}
.cursor-not-allowed {
  cursor: not-allowed;
}
.cursor-ns-resize {
  cursor: ns-resize;
}
.cursor-pointer {
  cursor: pointer;
}
.cursor-row-resize {
  cursor: row-resize;
}
.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 {
  resize: both;
}
.scroll-mt-20 {
  scroll-margin-top: 5rem;
}
.list-disc {
  list-style-type: disc;
}
.list-none {
  list-style-type: none;
}
.auto-rows-min {
  grid-auto-rows: min-content;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-12 {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.grid-cols-7 {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.grid-cols-\[1\.2fr_0\.8fr\] {
  grid-template-columns: 1.2fr 0.8fr;
}
.grid-cols-\[1\.2fr_0\.8fr_1fr_1fr_1fr\] {
  grid-template-columns: 1.2fr 0.8fr 1fr 1fr 1fr;
}
.grid-cols-\[1fr_280px\] {
  grid-template-columns: 1fr 280px;
}
.grid-cols-\[1fr_90px_90px_90px\] {
  grid-template-columns: 1fr 90px 90px 90px;
}
.grid-cols-\[1fr_minmax\(80px\2c 1\.5fr\)_56px\] {
  grid-template-columns: 1fr minmax(80px,1.5fr) 56px;
}
.grid-cols-\[1fr_repeat\(4\2c 50px\)\] {
  grid-template-columns: 1fr repeat(4,50px);
}
.grid-cols-\[96px_1fr_72px\] {
  grid-template-columns: 96px 1fr 72px;
}
.grid-cols-\[auto_1fr\] {
  grid-template-columns: auto 1fr;
}
.grid-cols-\[auto_1fr_minmax\(48px\2c auto\)_minmax\(48px\2c auto\)\] {
  grid-template-columns: auto 1fr minmax(48px,auto) minmax(48px,auto);
}
.grid-cols-\[auto_auto\] {
  grid-template-columns: auto auto;
}
.grid-cols-\[auto_repeat\(3\2c 1fr\)\] {
  grid-template-columns: auto repeat(3,1fr);
}
.grid-cols-\[minmax\(0\2c 1\.25fr\)_minmax\(0\2c 0\.75fr\)\] {
  grid-template-columns: minmax(0,1.25fr) minmax(0,0.75fr);
}
.grid-cols-\[minmax\(0\2c 1\.6fr\)_minmax\(280px\2c 0\.9fr\)\] {
  grid-template-columns: minmax(0,1.6fr) minmax(280px,0.9fr);
}
.grid-cols-\[minmax\(0\2c 1fr\)_minmax\(48px\2c auto\)_minmax\(52px\2c auto\)\] {
  grid-template-columns: minmax(0,1fr) minmax(48px,auto) minmax(52px,auto);
}
.grid-cols-\[minmax\(0\2c 1fr\)_minmax\(52px\2c auto\)_minmax\(54px\2c auto\)_28px\] {
  grid-template-columns: minmax(0,1fr) minmax(52px,auto) minmax(54px,auto) 28px;
}
.grid-cols-\[minmax\(0\2c 1fr\)_repeat\(4\2c minmax\(2rem\2c 1fr\)\)\] {
  grid-template-columns: minmax(0,1fr) repeat(4,minmax(2rem,1fr));
}
.grid-rows-2 {
  grid-template-rows: repeat(2, minmax(0, 1fr));
}
.grid-rows-\[auto_repeat\(3\2c 1fr\)\] {
  grid-template-rows: auto repeat(3,1fr);
}
.flex-row {
  flex-direction: row;
}
.flex-col {
  flex-direction: column;
}
.flex-col-reverse {
  flex-direction: column-reverse;
}
.flex-wrap {
  flex-wrap: wrap;
}
.flex-nowrap {
  flex-wrap: nowrap;
}
.place-content-center {
  place-content: center;
}
.place-items-center {
  place-items: center;
}
.content-start {
  align-content: flex-start;
}
.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.items-center {
  align-items: center;
}
.items-baseline {
  align-items: baseline;
}
.items-stretch {
  align-items: stretch;
}
.justify-start {
  justify-content: flex-start;
}
.justify-end {
  justify-content: flex-end;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.justify-around {
  justify-content: space-around;
}
.gap-0 {
  gap: 0px;
}
.gap-0\.5 {
  gap: 0.125rem;
}
.gap-1 {
  gap: 0.25rem;
}
.gap-1\.5 {
  gap: 0.375rem;
}
.gap-2 {
  gap: 0.5rem;
}
.gap-2\.5 {
  gap: 0.625rem;
}
.gap-3 {
  gap: 0.75rem;
}
.gap-3\.5 {
  gap: 0.875rem;
}
.gap-4 {
  gap: 1rem;
}
.gap-5 {
  gap: 1.25rem;
}
.gap-6 {
  gap: 1.5rem;
}
.gap-7 {
  gap: 1.75rem;
}
.gap-8 {
  gap: 2rem;
}
.gap-9 {
  gap: 2.25rem;
}
.gap-\[10px\] {
  gap: 10px;
}
.gap-\[1px\] {
  gap: 1px;
}
.gap-\[2px\] {
  gap: 2px;
}
.gap-\[3px\] {
  gap: 3px;
}
.gap-\[5px\] {
  gap: 5px;
}
.gap-\[6px\] {
  gap: 6px;
}
.gap-px {
  gap: 1px;
}
.gap-x-0 {
  -moz-column-gap: 0px;
       column-gap: 0px;
}
.gap-x-1 {
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
}
.gap-x-2 {
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}
.gap-x-3 {
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
}
.gap-x-4 {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.gap-x-5 {
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;
}
.gap-x-6 {
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}
.gap-x-8 {
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}
.gap-y-0\.5 {
  row-gap: 0.125rem;
}
.gap-y-1 {
  row-gap: 0.25rem;
}
.gap-y-1\.5 {
  row-gap: 0.375rem;
}
.gap-y-2 {
  row-gap: 0.5rem;
}
.gap-y-3 {
  row-gap: 0.75rem;
}
.space-x-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.25rem * var(--tw-space-x-reverse));
  margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.5rem * var(--tw-space-x-reverse));
  margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.75rem * var(--tw-space-x-reverse));
  margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(1rem * var(--tw-space-x-reverse));
  margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-y-0 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0px * var(--tw-space-y-reverse));
}
.space-y-0\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}
.space-y-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
.space-y-1\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}
.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-2\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.625rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-3\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.875rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.875rem * var(--tw-space-y-reverse));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.space-y-5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.space-y-8 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}
.divide-y > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.divide-border > :not([hidden]) ~ :not([hidden]) {
  border-color: hsl(var(--border));
}
.divide-border\/40 > :not([hidden]) ~ :not([hidden]) {
  border-color: hsl(var(--border) / 0.4);
}
.self-start {
  align-self: flex-start;
}
.self-end {
  align-self: flex-end;
}
.self-center {
  align-self: center;
}
.self-stretch {
  align-self: stretch;
}
.overflow-auto {
  overflow: auto;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-visible {
  overflow: visible;
}
.overflow-x-auto {
  overflow-x: auto;
}
.overflow-y-auto {
  overflow-y: auto;
}
.overflow-x-hidden {
  overflow-x: hidden;
}
.overscroll-none {
  overscroll-behavior: none;
}
.overscroll-y-contain {
  overscroll-behavior-y: contain;
}
.overscroll-x-contain {
  overscroll-behavior-x: contain;
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.text-ellipsis {
  text-overflow: ellipsis;
}
.whitespace-normal {
  white-space: normal;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.whitespace-pre-line {
  white-space: pre-line;
}
.whitespace-pre-wrap {
  white-space: pre-wrap;
}
.text-balance {
  text-wrap: balance;
}
.break-words {
  overflow-wrap: break-word;
}
.break-all {
  word-break: break-all;
}
.rounded {
  border-radius: 3px;
}
.rounded-2xl {
  border-radius: 10px;
}
.rounded-\[14px\] {
  border-radius: 14px;
}
.rounded-\[2px\] {
  border-radius: 2px;
}
.rounded-\[3px\] {
  border-radius: 3px;
}
.rounded-\[5px\] {
  border-radius: 5px;
}
.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: 6px;
}
.rounded-md {
  border-radius: 4px;
}
.rounded-none {
  border-radius: 0px;
}
.rounded-sm {
  border-radius: 2px;
}
.rounded-xl {
  border-radius: 8px;
}
.rounded-b-\[inherit\] {
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
}
.rounded-b-md {
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
}
.rounded-l-md {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.rounded-l-none {
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}
.rounded-l-sm {
  border-top-left-radius: 2px;
  border-bottom-left-radius: 2px;
}
.rounded-r-md {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.rounded-r-sm {
  border-top-right-radius: 2px;
  border-bottom-right-radius: 2px;
}
.rounded-t-\[10px\] {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.rounded-t-\[inherit\] {
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}
.rounded-tl-sm {
  border-top-left-radius: 2px;
}
.\!border-0 {
  border-width: 0px !important;
}
.border {
  border-width: 1px;
}
.border-0 {
  border-width: 0px;
}
.border-2 {
  border-width: 2px;
}
.border-\[1\.5px\] {
  border-width: 1.5px;
}
.border-x-0 {
  border-left-width: 0px;
  border-right-width: 0px;
}
.border-x-2 {
  border-left-width: 2px;
  border-right-width: 2px;
}
.border-y {
  border-top-width: 1px;
  border-bottom-width: 1px;
}
.border-b {
  border-bottom-width: 1px;
}
.border-b-0 {
  border-bottom-width: 0px;
}
.border-b-2 {
  border-bottom-width: 2px;
}
.border-l {
  border-left-width: 1px;
}
.border-l-2 {
  border-left-width: 2px;
}
.border-l-4 {
  border-left-width: 4px;
}
.border-l-\[3px\] {
  border-left-width: 3px;
}
.border-r {
  border-right-width: 1px;
}
.border-t {
  border-top-width: 1px;
}
.border-t-0 {
  border-top-width: 0px;
}
.border-t-2 {
  border-top-width: 2px;
}
.border-dashed {
  border-style: dashed;
}
.border-none {
  border-style: none;
}
.\!border-primary\/40 {
  border-color: hsl(var(--primary) / 0.4) !important;
}
.\!border-primary\/45 {
  border-color: hsl(var(--primary) / 0.45) !important;
}
.border-\[\#2a2a2a\] {
  --tw-border-opacity: 1;
  border-color: rgb(42 42 42 / var(--tw-border-opacity, 1));
}
.border-\[--color-border\] {
  border-color: var(--color-border);
}
.border-\[hsl\(var\(--border\)\)\] {
  border-color: hsl(var(--border));
}
.border-\[hsl\(var\(--brand\)\/0\.25\)\] {
  border-color: hsl(var(--brand)/0.25);
}
.border-\[hsl\(var\(--negative\)\)\]\/30 {
  border-color: hsl(var(--negative) / 0.3);
}
.border-\[hsl\(var\(--negative\)\/0\.25\)\] {
  border-color: hsl(var(--negative)/0.25);
}
.border-\[hsl\(var\(--negative\)\/0\.30\)\] {
  border-color: hsl(var(--negative)/0.30);
}
.border-\[hsl\(var\(--negative\)\/0\.40\)\] {
  border-color: hsl(var(--negative)/0.40);
}
.border-\[hsl\(var\(--positive\)\/0\.30\)\] {
  border-color: hsl(var(--positive)/0.30);
}
.border-\[hsl\(var\(--primary\)\)\] {
  border-color: hsl(var(--primary));
}
.border-\[var\(--color-border\2c \#2A2A31\)\] {
  border-color: var(--color-border,#2A2A31);
}
.border-\[var\(--color-border-spec\)\] {
  border-color: var(--color-border-spec);
}
.border-accent {
  border-color: hsl(var(--accent));
}
.border-amber-500\/30 {
  border-color: rgb(245 158 11 / 0.3);
}
.border-amber-500\/40 {
  border-color: rgb(245 158 11 / 0.4);
}
.border-border {
  border-color: hsl(var(--border));
}
.border-border\/20 {
  border-color: hsl(var(--border) / 0.2);
}
.border-border\/25 {
  border-color: hsl(var(--border) / 0.25);
}
.border-border\/30 {
  border-color: hsl(var(--border) / 0.3);
}
.border-border\/40 {
  border-color: hsl(var(--border) / 0.4);
}
.border-border\/45 {
  border-color: hsl(var(--border) / 0.45);
}
.border-border\/50 {
  border-color: hsl(var(--border) / 0.5);
}
.border-border\/55 {
  border-color: hsl(var(--border) / 0.55);
}
.border-border\/60 {
  border-color: hsl(var(--border) / 0.6);
}
.border-border\/65 {
  border-color: hsl(var(--border) / 0.65);
}
.border-border\/70 {
  border-color: hsl(var(--border) / 0.7);
}
.border-border\/80 {
  border-color: hsl(var(--border) / 0.8);
}
.border-card {
  border-color: hsl(var(--card));
}
.border-chart-3 {
  border-color: hsl(var(--chart-3));
}
.border-chart-3\/30 {
  border-color: hsl(var(--chart-3) / 0.3);
}
.border-chart-3\/35 {
  border-color: hsl(var(--chart-3) / 0.35);
}
.border-chart-3\/40 {
  border-color: hsl(var(--chart-3) / 0.4);
}
.border-chart-4\/30 {
  border-color: hsl(var(--chart-4) / 0.3);
}
.border-chart-5\/25 {
  border-color: hsl(var(--chart-5) / 0.25);
}
.border-destructive {
  border-color: hsl(var(--destructive));
}
.border-destructive\/25 {
  border-color: hsl(var(--destructive) / 0.25);
}
.border-destructive\/30 {
  border-color: hsl(var(--destructive) / 0.3);
}
.border-destructive\/40 {
  border-color: hsl(var(--destructive) / 0.4);
}
.border-destructive\/45 {
  border-color: hsl(var(--destructive) / 0.45);
}
.border-emerald-500\/30 {
  border-color: rgb(16 185 129 / 0.3);
}
.border-foreground {
  border-color: hsl(var(--foreground));
}
.border-foreground\/10 {
  border-color: hsl(var(--foreground) / 0.1);
}
.border-foreground\/15 {
  border-color: hsl(var(--foreground) / 0.15);
}
.border-foreground\/30 {
  border-color: hsl(var(--foreground) / 0.3);
}
.border-foreground\/40 {
  border-color: hsl(var(--foreground) / 0.4);
}
.border-foreground\/70 {
  border-color: hsl(var(--foreground) / 0.7);
}
.border-foreground\/\[0\.025\] {
  border-color: hsl(var(--foreground) / 0.025);
}
.border-foreground\/\[0\.04\] {
  border-color: hsl(var(--foreground) / 0.04);
}
.border-foreground\/\[0\.06\] {
  border-color: hsl(var(--foreground) / 0.06);
}
.border-foreground\/\[0\.08\] {
  border-color: hsl(var(--foreground) / 0.08);
}
.border-input {
  border-color: hsl(var(--input));
}
.border-input\/80 {
  border-color: hsl(var(--input) / 0.8);
}
.border-muted-foreground\/60 {
  border-color: hsl(var(--muted-foreground) / 0.6);
}
.border-negative {
  border-color: hsl(var(--negative));
}
.border-negative\/30 {
  border-color: hsl(var(--negative) / 0.3);
}
.border-negative\/40 {
  border-color: hsl(var(--negative) / 0.4);
}
.border-positive {
  border-color: hsl(var(--positive));
}
.border-positive\/30 {
  border-color: hsl(var(--positive) / 0.3);
}
.border-positive\/40 {
  border-color: hsl(var(--positive) / 0.4);
}
.border-primary {
  border-color: hsl(var(--primary));
}
.border-primary\/25 {
  border-color: hsl(var(--primary) / 0.25);
}
.border-primary\/30 {
  border-color: hsl(var(--primary) / 0.3);
}
.border-primary\/35 {
  border-color: hsl(var(--primary) / 0.35);
}
.border-primary\/40 {
  border-color: hsl(var(--primary) / 0.4);
}
.border-primary\/50 {
  border-color: hsl(var(--primary) / 0.5);
}
.border-sidebar-border {
  border-color: hsl(var(--sidebar-border));
}
.border-sidebar-border\/20 {
  border-color: hsl(var(--sidebar-border) / 0.2);
}
.border-sidebar-border\/35 {
  border-color: hsl(var(--sidebar-border) / 0.35);
}
.border-sidebar-border\/45 {
  border-color: hsl(var(--sidebar-border) / 0.45);
}
.border-sidebar-border\/50 {
  border-color: hsl(var(--sidebar-border) / 0.5);
}
.border-sidebar-border\/60 {
  border-color: hsl(var(--sidebar-border) / 0.6);
}
.border-transparent {
  border-color: transparent;
}
.border-white\/10 {
  border-color: rgb(255 255 255 / 0.1);
}
.border-white\/15 {
  border-color: rgb(255 255 255 / 0.15);
}
.border-white\/25 {
  border-color: rgb(255 255 255 / 0.25);
}
.border-white\/\[0\.06\] {
  border-color: rgb(255 255 255 / 0.06);
}
.border-white\/\[0\.08\] {
  border-color: rgb(255 255 255 / 0.08);
}
.border-b-primary {
  border-bottom-color: hsl(var(--primary));
}
.border-b-transparent {
  border-bottom-color: transparent;
}
.border-l-border {
  border-left-color: hsl(var(--border));
}
.border-l-chart-3 {
  border-left-color: hsl(var(--chart-3));
}
.border-l-negative {
  border-left-color: hsl(var(--negative));
}
.border-l-positive {
  border-left-color: hsl(var(--positive));
}
.border-l-primary {
  border-left-color: hsl(var(--primary));
}
.border-l-transparent {
  border-left-color: transparent;
}
.border-t-transparent {
  border-top-color: transparent;
}
.\!bg-background {
  background-color: hsl(var(--background)) !important;
}
.\!bg-foreground\/\[0\.08\] {
  background-color: hsl(var(--foreground) / 0.08) !important;
}
.\!bg-primary {
  background-color: hsl(var(--primary)) !important;
}
.\!bg-primary\/10 {
  background-color: hsl(var(--primary) / 0.1) !important;
}
.\!bg-primary\/5 {
  background-color: hsl(var(--primary) / 0.05) !important;
}
.bg-\[\#0a0a0e\] {
  --tw-bg-opacity: 1;
  background-color: rgb(10 10 14 / var(--tw-bg-opacity, 1));
}
.bg-\[\#1f1f1f\] {
  --tw-bg-opacity: 1;
  background-color: rgb(31 31 31 / var(--tw-bg-opacity, 1));
}
.bg-\[\#8b8f97\] {
  --tw-bg-opacity: 1;
  background-color: rgb(139 143 151 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f3f4f6\] {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.bg-\[--color-bg\] {
  background-color: var(--color-bg);
}
.bg-\[hsl\(var\(--background\)\)\] {
  background-color: hsl(var(--background));
}
.bg-\[hsl\(var\(--brand\)\)\] {
  background-color: hsl(var(--brand));
}
.bg-\[hsl\(var\(--brand\)\/0\.10\)\] {
  background-color: hsl(var(--brand)/0.10);
}
.bg-\[hsl\(var\(--card\)\)\] {
  background-color: hsl(var(--card));
}
.bg-\[hsl\(var\(--chart-1\)\)\] {
  background-color: hsl(var(--chart-1));
}
.bg-\[hsl\(var\(--chart-2\)\)\] {
  background-color: hsl(var(--chart-2));
}
.bg-\[hsl\(var\(--chart-3\)\)\] {
  background-color: hsl(var(--chart-3));
}
.bg-\[hsl\(var\(--muted\)\)\] {
  background-color: hsl(var(--muted));
}
.bg-\[hsl\(var\(--negative\)\)\] {
  background-color: hsl(var(--negative));
}
.bg-\[hsl\(var\(--negative\)\)\]\/10 {
  background-color: hsl(var(--negative) / 0.1);
}
.bg-\[hsl\(var\(--negative\)\)\]\/15 {
  background-color: hsl(var(--negative) / 0.15);
}
.bg-\[hsl\(var\(--negative\)\)\]\/40 {
  background-color: hsl(var(--negative) / 0.4);
}
.bg-\[hsl\(var\(--negative\)\)\]\/70 {
  background-color: hsl(var(--negative) / 0.7);
}
.bg-\[hsl\(var\(--negative\)\/0\.1\)\] {
  background-color: hsl(var(--negative)/0.1);
}
.bg-\[hsl\(var\(--negative\)\/0\.10\)\] {
  background-color: hsl(var(--negative)/0.10);
}
.bg-\[hsl\(var\(--positive\)\)\] {
  background-color: hsl(var(--positive));
}
.bg-\[hsl\(var\(--positive\)\)\]\/10 {
  background-color: hsl(var(--positive) / 0.1);
}
.bg-\[hsl\(var\(--positive\)\)\]\/70 {
  background-color: hsl(var(--positive) / 0.7);
}
.bg-\[hsl\(var\(--positive\)\/0\.06\)\] {
  background-color: hsl(var(--positive)/0.06);
}
.bg-\[hsl\(var\(--positive\)\/0\.10\)\] {
  background-color: hsl(var(--positive)/0.10);
}
.bg-\[hsl\(var\(--positive\)\/0\.12\)\] {
  background-color: hsl(var(--positive)/0.12);
}
.bg-\[hsl\(var\(--primary\)\)\] {
  background-color: hsl(var(--primary));
}
.bg-\[hsl\(var\(--primary\)\)\]\/15 {
  background-color: hsl(var(--primary) / 0.15);
}
.bg-\[hsl\(var\(--primary\)\)\]\/70 {
  background-color: hsl(var(--primary) / 0.7);
}
.bg-\[hsl\(var\(--sidebar-background\)\)\] {
  background-color: hsl(var(--sidebar-background));
}
.bg-\[hsl\(var\(--workspace\)\)\] {
  background-color: hsl(var(--workspace));
}
.bg-\[rgba\(245\2c 177\2c 102\2c 0\.10\)\] {
  background-color: rgba(245,177,102,0.10);
}
.bg-\[var\(--color-accent\)\] {
  background-color: var(--color-accent);
}
.bg-\[var\(--color-chart-canvas\)\] {
  background-color: var(--color-chart-canvas);
}
.bg-\[var\(--color-panel\2c \#09090b\)\] {
  background-color: var(--color-panel,#09090b);
}
.bg-\[var\(--terminal-table-header-bg-opaque\2c hsl\(var\(--card\)\)\)\] {
  background-color: var(--terminal-table-header-bg-opaque,hsl(var(--card)));
}
.bg-accent {
  background-color: hsl(var(--accent));
}
.bg-accent\/40 {
  background-color: hsl(var(--accent) / 0.4);
}
.bg-accent\/60 {
  background-color: hsl(var(--accent) / 0.6);
}
.bg-accent\/75 {
  background-color: hsl(var(--accent) / 0.75);
}
.bg-amber-500\/10 {
  background-color: rgb(245 158 11 / 0.1);
}
.bg-amber-500\/15 {
  background-color: rgb(245 158 11 / 0.15);
}
.bg-amber-500\/20 {
  background-color: rgb(245 158 11 / 0.2);
}
.bg-amber-500\/5 {
  background-color: rgb(245 158 11 / 0.05);
}
.bg-amber-500\/70 {
  background-color: rgb(245 158 11 / 0.7);
}
.bg-amber-500\/\[0\.08\] {
  background-color: rgb(245 158 11 / 0.08);
}
.bg-background {
  background-color: hsl(var(--background));
}
.bg-background\/15 {
  background-color: hsl(var(--background) / 0.15);
}
.bg-background\/40 {
  background-color: hsl(var(--background) / 0.4);
}
.bg-background\/50 {
  background-color: hsl(var(--background) / 0.5);
}
.bg-background\/55 {
  background-color: hsl(var(--background) / 0.55);
}
.bg-background\/60 {
  background-color: hsl(var(--background) / 0.6);
}
.bg-background\/70 {
  background-color: hsl(var(--background) / 0.7);
}
.bg-background\/75 {
  background-color: hsl(var(--background) / 0.75);
}
.bg-background\/80 {
  background-color: hsl(var(--background) / 0.8);
}
.bg-background\/95 {
  background-color: hsl(var(--background) / 0.95);
}
.bg-black {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.bg-black\/20 {
  background-color: rgb(0 0 0 / 0.2);
}
.bg-black\/50 {
  background-color: rgb(0 0 0 / 0.5);
}
.bg-black\/60 {
  background-color: rgb(0 0 0 / 0.6);
}
.bg-black\/80 {
  background-color: rgb(0 0 0 / 0.8);
}
.bg-blue-500\/10 {
  background-color: rgb(59 130 246 / 0.1);
}
.bg-border {
  background-color: hsl(var(--border));
}
.bg-border\/40 {
  background-color: hsl(var(--border) / 0.4);
}
.bg-border\/50 {
  background-color: hsl(var(--border) / 0.5);
}
.bg-border\/60 {
  background-color: hsl(var(--border) / 0.6);
}
.bg-border\/70 {
  background-color: hsl(var(--border) / 0.7);
}
.bg-border\/80 {
  background-color: hsl(var(--border) / 0.8);
}
.bg-card {
  background-color: hsl(var(--card));
}
.bg-card\/30 {
  background-color: hsl(var(--card) / 0.3);
}
.bg-card\/40 {
  background-color: hsl(var(--card) / 0.4);
}
.bg-card\/60 {
  background-color: hsl(var(--card) / 0.6);
}
.bg-card\/80 {
  background-color: hsl(var(--card) / 0.8);
}
.bg-card\/90 {
  background-color: hsl(var(--card) / 0.9);
}
.bg-card\/95 {
  background-color: hsl(var(--card) / 0.95);
}
.bg-chart-3 {
  background-color: hsl(var(--chart-3));
}
.bg-chart-3\/10 {
  background-color: hsl(var(--chart-3) / 0.1);
}
.bg-chart-3\/15 {
  background-color: hsl(var(--chart-3) / 0.15);
}
.bg-chart-4\/10 {
  background-color: hsl(var(--chart-4) / 0.1);
}
.bg-chart-5\/10 {
  background-color: hsl(var(--chart-5) / 0.1);
}
.bg-cyan-500\/15 {
  background-color: rgb(6 182 212 / 0.15);
}
.bg-destructive {
  background-color: hsl(var(--destructive));
}
.bg-destructive\/10 {
  background-color: hsl(var(--destructive) / 0.1);
}
.bg-destructive\/\[0\.08\] {
  background-color: hsl(var(--destructive) / 0.08);
}
.bg-emerald-500\/10 {
  background-color: rgb(16 185 129 / 0.1);
}
.bg-emerald-500\/15 {
  background-color: rgb(16 185 129 / 0.15);
}
.bg-emerald-500\/\[0\.08\] {
  background-color: rgb(16 185 129 / 0.08);
}
.bg-emerald-600\/70 {
  background-color: rgb(5 150 105 / 0.7);
}
.bg-foreground {
  background-color: hsl(var(--foreground));
}
.bg-foreground\/10 {
  background-color: hsl(var(--foreground) / 0.1);
}
.bg-foreground\/20 {
  background-color: hsl(var(--foreground) / 0.2);
}
.bg-foreground\/30 {
  background-color: hsl(var(--foreground) / 0.3);
}
.bg-foreground\/35 {
  background-color: hsl(var(--foreground) / 0.35);
}
.bg-foreground\/40 {
  background-color: hsl(var(--foreground) / 0.4);
}
.bg-foreground\/45 {
  background-color: hsl(var(--foreground) / 0.45);
}
.bg-foreground\/60 {
  background-color: hsl(var(--foreground) / 0.6);
}
.bg-foreground\/70 {
  background-color: hsl(var(--foreground) / 0.7);
}
.bg-foreground\/80 {
  background-color: hsl(var(--foreground) / 0.8);
}
.bg-foreground\/85 {
  background-color: hsl(var(--foreground) / 0.85);
}
.bg-foreground\/\[0\.025\] {
  background-color: hsl(var(--foreground) / 0.025);
}
.bg-foreground\/\[0\.02\] {
  background-color: hsl(var(--foreground) / 0.02);
}
.bg-foreground\/\[0\.035\] {
  background-color: hsl(var(--foreground) / 0.035);
}
.bg-foreground\/\[0\.03\] {
  background-color: hsl(var(--foreground) / 0.03);
}
.bg-foreground\/\[0\.04\] {
  background-color: hsl(var(--foreground) / 0.04);
}
.bg-foreground\/\[0\.05\] {
  background-color: hsl(var(--foreground) / 0.05);
}
.bg-foreground\/\[0\.06\] {
  background-color: hsl(var(--foreground) / 0.06);
}
.bg-foreground\/\[0\.07\] {
  background-color: hsl(var(--foreground) / 0.07);
}
.bg-foreground\/\[0\.08\] {
  background-color: hsl(var(--foreground) / 0.08);
}
.bg-foreground\/\[0\.09\] {
  background-color: hsl(var(--foreground) / 0.09);
}
.bg-foreground\/\[0\.12\] {
  background-color: hsl(var(--foreground) / 0.12);
}
.bg-foreground\/\[0\.1\] {
  background-color: hsl(var(--foreground) / 0.1);
}
.bg-input {
  background-color: hsl(var(--input));
}
.bg-muted {
  background-color: hsl(var(--muted));
}
.bg-muted-foreground {
  background-color: hsl(var(--muted-foreground));
}
.bg-muted-foreground\/30 {
  background-color: hsl(var(--muted-foreground) / 0.3);
}
.bg-muted-foreground\/35 {
  background-color: hsl(var(--muted-foreground) / 0.35);
}
.bg-muted-foreground\/40 {
  background-color: hsl(var(--muted-foreground) / 0.4);
}
.bg-muted-foreground\/70 {
  background-color: hsl(var(--muted-foreground) / 0.7);
}
.bg-muted\/10 {
  background-color: hsl(var(--muted) / 0.1);
}
.bg-muted\/15 {
  background-color: hsl(var(--muted) / 0.15);
}
.bg-muted\/20 {
  background-color: hsl(var(--muted) / 0.2);
}
.bg-muted\/25 {
  background-color: hsl(var(--muted) / 0.25);
}
.bg-muted\/30 {
  background-color: hsl(var(--muted) / 0.3);
}
.bg-muted\/35 {
  background-color: hsl(var(--muted) / 0.35);
}
.bg-muted\/40 {
  background-color: hsl(var(--muted) / 0.4);
}
.bg-muted\/5 {
  background-color: hsl(var(--muted) / 0.05);
}
.bg-muted\/50 {
  background-color: hsl(var(--muted) / 0.5);
}
.bg-muted\/60 {
  background-color: hsl(var(--muted) / 0.6);
}
.bg-muted\/70 {
  background-color: hsl(var(--muted) / 0.7);
}
.bg-muted\/80 {
  background-color: hsl(var(--muted) / 0.8);
}
.bg-muted\/90 {
  background-color: hsl(var(--muted) / 0.9);
}
.bg-negative {
  background-color: hsl(var(--negative));
}
.bg-negative\/10 {
  background-color: hsl(var(--negative) / 0.1);
}
.bg-negative\/15 {
  background-color: hsl(var(--negative) / 0.15);
}
.bg-negative\/5 {
  background-color: hsl(var(--negative) / 0.05);
}
.bg-negative\/75 {
  background-color: hsl(var(--negative) / 0.75);
}
.bg-negative\/90 {
  background-color: hsl(var(--negative) / 0.9);
}
.bg-orange-500\/70 {
  background-color: rgb(249 115 22 / 0.7);
}
.bg-popover {
  background-color: hsl(var(--popover));
}
.bg-positive {
  background-color: hsl(var(--positive));
}
.bg-positive\/10 {
  background-color: hsl(var(--positive) / 0.1);
}
.bg-positive\/15 {
  background-color: hsl(var(--positive) / 0.15);
}
.bg-positive\/20 {
  background-color: hsl(var(--positive) / 0.2);
}
.bg-positive\/75 {
  background-color: hsl(var(--positive) / 0.75);
}
.bg-positive\/90 {
  background-color: hsl(var(--positive) / 0.9);
}
.bg-primary {
  background-color: hsl(var(--primary));
}
.bg-primary\/10 {
  background-color: hsl(var(--primary) / 0.1);
}
.bg-primary\/15 {
  background-color: hsl(var(--primary) / 0.15);
}
.bg-primary\/5 {
  background-color: hsl(var(--primary) / 0.05);
}
.bg-primary\/50 {
  background-color: hsl(var(--primary) / 0.5);
}
.bg-primary\/70 {
  background-color: hsl(var(--primary) / 0.7);
}
.bg-primary\/80 {
  background-color: hsl(var(--primary) / 0.8);
}
.bg-primary\/90 {
  background-color: hsl(var(--primary) / 0.9);
}
.bg-primary\/\[0\.04\] {
  background-color: hsl(var(--primary) / 0.04);
}
.bg-purple-500\/10 {
  background-color: rgb(168 85 247 / 0.1);
}
.bg-rose-500\/10 {
  background-color: rgb(244 63 94 / 0.1);
}
.bg-rose-500\/15 {
  background-color: rgb(244 63 94 / 0.15);
}
.bg-rose-500\/20 {
  background-color: rgb(244 63 94 / 0.2);
}
.bg-rose-500\/70 {
  background-color: rgb(244 63 94 / 0.7);
}
.bg-secondary {
  background-color: hsl(var(--secondary));
}
.bg-sidebar {
  background-color: hsl(var(--sidebar-background));
}
.bg-sidebar-accent {
  background-color: hsl(var(--sidebar-accent));
}
.bg-sidebar-accent\/25 {
  background-color: hsl(var(--sidebar-accent) / 0.25);
}
.bg-sidebar-accent\/40 {
  background-color: hsl(var(--sidebar-accent) / 0.4);
}
.bg-sidebar-accent\/60 {
  background-color: hsl(var(--sidebar-accent) / 0.6);
}
.bg-sidebar-border {
  background-color: hsl(var(--sidebar-border));
}
.bg-sky-500\/15 {
  background-color: rgb(14 165 233 / 0.15);
}
.bg-sky-500\/70 {
  background-color: rgb(14 165 233 / 0.7);
}
.bg-transparent {
  background-color: transparent;
}
.bg-violet-500\/15 {
  background-color: rgb(139 92 246 / 0.15);
}
.bg-violet-500\/70 {
  background-color: rgb(139 92 246 / 0.7);
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-white\/10 {
  background-color: rgb(255 255 255 / 0.1);
}
.bg-white\/5 {
  background-color: rgb(255 255 255 / 0.05);
}
.bg-white\/\[\.02\] {
  background-color: rgb(255 255 255 / .02);
}
.bg-white\/\[0\.04\] {
  background-color: rgb(255 255 255 / 0.04);
}
.bg-white\/\[0\.08\] {
  background-color: rgb(255 255 255 / 0.08);
}
.bg-white\/\[0\.10\] {
  background-color: rgb(255 255 255 / 0.10);
}
.bg-yellow-500\/10 {
  background-color: rgb(234 179 8 / 0.1);
}
.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.from-amber-100\/90 {
  --tw-gradient-from: rgb(254 243 199 / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(254 243 199 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-100\/90 {
  --tw-gradient-from: rgb(209 250 229 / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(209 250 229 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-100\/90 {
  --tw-gradient-from: rgb(255 237 213 / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 237 213 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary {
  --tw-gradient-from: hsl(var(--primary)) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-rose-100\/90 {
  --tw-gradient-from: rgb(255 228 230 / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 228 230 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-sky-100\/90 {
  --tw-gradient-from: rgb(224 242 254 / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(224 242 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-transparent {
  --tw-gradient-from: transparent var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-100\/90 {
  --tw-gradient-from: rgb(237 233 254 / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(237 233 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-foreground\/30 {
  --tw-gradient-to: hsl(var(--foreground) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--foreground) / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-amber-50\/40 {
  --tw-gradient-to: rgb(255 251 235 / 0.4) var(--tw-gradient-to-position);
}
.to-blue-50\/40 {
  --tw-gradient-to: rgb(239 246 255 / 0.4) var(--tw-gradient-to-position);
}
.to-chart-5 {
  --tw-gradient-to: hsl(var(--chart-5)) var(--tw-gradient-to-position);
}
.to-green-50\/40 {
  --tw-gradient-to: rgb(240 253 244 / 0.4) var(--tw-gradient-to-position);
}
.to-pink-50\/40 {
  --tw-gradient-to: rgb(253 242 248 / 0.4) var(--tw-gradient-to-position);
}
.to-purple-50\/40 {
  --tw-gradient-to: rgb(250 245 255 / 0.4) var(--tw-gradient-to-position);
}
.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.to-yellow-50\/40 {
  --tw-gradient-to: rgb(254 252 232 / 0.4) var(--tw-gradient-to-position);
}
.fill-current {
  fill: currentColor;
}
.object-contain {
  -o-object-fit: contain;
     object-fit: contain;
}
.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}
.object-center {
  -o-object-position: center;
     object-position: center;
}
.p-0 {
  padding: 0px;
}
.p-0\.5 {
  padding: 0.125rem;
}
.p-1 {
  padding: 0.25rem;
}
.p-1\.5 {
  padding: 0.375rem;
}
.p-10 {
  padding: 2.5rem;
}
.p-12 {
  padding: 3rem;
}
.p-2 {
  padding: 0.5rem;
}
.p-2\.5 {
  padding: 0.625rem;
}
.p-3 {
  padding: 0.75rem;
}
.p-3\.5 {
  padding: 0.875rem;
}
.p-4 {
  padding: 1rem;
}
.p-5 {
  padding: 1.25rem;
}
.p-6 {
  padding: 1.5rem;
}
.p-8 {
  padding: 2rem;
}
.p-\[10px\] {
  padding: 10px;
}
.p-\[110px\] {
  padding: 110px;
}
.p-\[14px\] {
  padding: 14px;
}
.p-\[16px\] {
  padding: 16px;
}
.p-\[16px_14px\] {
  padding: 16px 14px;
}
.p-\[1px\] {
  padding: 1px;
}
.p-\[2px\] {
  padding: 2px;
}
.p-\[3px_4px\] {
  padding: 3px 4px;
}
.p-\[6px_4px\] {
  padding: 6px 4px;
}
.p-\[6px_8px\] {
  padding: 6px 8px;
}
.p-\[7px_14px\] {
  padding: 7px 14px;
}
.p-\[8px_14px\] {
  padding: 8px 14px;
}
.p-px {
  padding: 1px;
}
.px-0 {
  padding-left: 0px;
  padding-right: 0px;
}
.px-0\.5 {
  padding-left: 0.125rem;
  padding-right: 0.125rem;
}
.px-1 {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.px-1\.5 {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}
.px-10 {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}
.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-2\.5 {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-3\.5 {
  padding-left: 0.875rem;
  padding-right: 0.875rem;
}
.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.px-7 {
  padding-left: 1.75rem;
  padding-right: 1.75rem;
}
.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}
.px-\[--cell-size\] {
  padding-left: var(--cell-size);
  padding-right: var(--cell-size);
}
.px-\[10px\] {
  padding-left: 10px;
  padding-right: 10px;
}
.px-\[14px\] {
  padding-left: 14px;
  padding-right: 14px;
}
.px-\[18px\] {
  padding-left: 18px;
  padding-right: 18px;
}
.px-\[5px\] {
  padding-left: 5px;
  padding-right: 5px;
}
.px-\[6px\] {
  padding-left: 6px;
  padding-right: 6px;
}
.px-\[7px\] {
  padding-left: 7px;
  padding-right: 7px;
}
.px-\[9px\] {
  padding-left: 9px;
  padding-right: 9px;
}
.px-\[var\(--unified-cell-px\2c 0\.5rem\)\] {
  padding-left: var(--unified-cell-px,0.5rem);
  padding-right: var(--unified-cell-px,0.5rem);
}
.py-0 {
  padding-top: 0px;
  padding-bottom: 0px;
}
.py-0\.5 {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}
.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-1\.5 {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
.py-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.py-16 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-2\.5 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}
.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-3\.5 {
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}
.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.py-\[100px\] {
  padding-top: 100px;
  padding-bottom: 100px;
}
.py-\[10px\] {
  padding-top: 10px;
  padding-bottom: 10px;
}
.py-\[14px\] {
  padding-top: 14px;
  padding-bottom: 14px;
}
.py-\[18px\] {
  padding-top: 18px;
  padding-bottom: 18px;
}
.py-\[1px\] {
  padding-top: 1px;
  padding-bottom: 1px;
}
.py-\[2px\] {
  padding-top: 2px;
  padding-bottom: 2px;
}
.py-\[3px\] {
  padding-top: 3px;
  padding-bottom: 3px;
}
.py-\[5px\] {
  padding-top: 5px;
  padding-bottom: 5px;
}
.py-\[60px\] {
  padding-top: 60px;
  padding-bottom: 60px;
}
.py-\[6px\] {
  padding-top: 6px;
  padding-bottom: 6px;
}
.py-\[7px\] {
  padding-top: 7px;
  padding-bottom: 7px;
}
.py-\[var\(--unified-cell-py\2c 0\.25rem\)\] {
  padding-top: var(--unified-cell-py,0.25rem);
  padding-bottom: var(--unified-cell-py,0.25rem);
}
.py-px {
  padding-top: 1px;
  padding-bottom: 1px;
}
.pb-0 {
  padding-bottom: 0px;
}
.pb-0\.5 {
  padding-bottom: 0.125rem;
}
.pb-1 {
  padding-bottom: 0.25rem;
}
.pb-1\.5 {
  padding-bottom: 0.375rem;
}
.pb-12 {
  padding-bottom: 3rem;
}
.pb-2 {
  padding-bottom: 0.5rem;
}
.pb-2\.5 {
  padding-bottom: 0.625rem;
}
.pb-20 {
  padding-bottom: 5rem;
}
.pb-3 {
  padding-bottom: 0.75rem;
}
.pb-4 {
  padding-bottom: 1rem;
}
.pb-5 {
  padding-bottom: 1.25rem;
}
.pb-6 {
  padding-bottom: 1.5rem;
}
.pb-7 {
  padding-bottom: 1.75rem;
}
.pb-8 {
  padding-bottom: 2rem;
}
.pb-\[18px\] {
  padding-bottom: 18px;
}
.pb-\[3px\] {
  padding-bottom: 3px;
}
.pb-\[60px\] {
  padding-bottom: 60px;
}
.pl-0 {
  padding-left: 0px;
}
.pl-1 {
  padding-left: 0.25rem;
}
.pl-1\.5 {
  padding-left: 0.375rem;
}
.pl-10 {
  padding-left: 2.5rem;
}
.pl-2 {
  padding-left: 0.5rem;
}
.pl-2\.5 {
  padding-left: 0.625rem;
}
.pl-3 {
  padding-left: 0.75rem;
}
.pl-3\.5 {
  padding-left: 0.875rem;
}
.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;
}
.pl-\[10px\] {
  padding-left: 10px;
}
.pl-\[21px\] {
  padding-left: 21px;
}
.pl-\[2px\] {
  padding-left: 2px;
}
.pr-0 {
  padding-right: 0px;
}
.pr-0\.5 {
  padding-right: 0.125rem;
}
.pr-1 {
  padding-right: 0.25rem;
}
.pr-1\.5 {
  padding-right: 0.375rem;
}
.pr-10 {
  padding-right: 2.5rem;
}
.pr-11 {
  padding-right: 2.75rem;
}
.pr-14 {
  padding-right: 3.5rem;
}
.pr-2 {
  padding-right: 0.5rem;
}
.pr-2\.5 {
  padding-right: 0.625rem;
}
.pr-3 {
  padding-right: 0.75rem;
}
.pr-3\.5 {
  padding-right: 0.875rem;
}
.pr-4 {
  padding-right: 1rem;
}
.pr-6 {
  padding-right: 1.5rem;
}
.pr-7 {
  padding-right: 1.75rem;
}
.pr-8 {
  padding-right: 2rem;
}
.pr-9 {
  padding-right: 2.25rem;
}
.pr-\[2px\] {
  padding-right: 2px;
}
.pr-\[4\.25rem\] {
  padding-right: 4.25rem;
}
.pt-0 {
  padding-top: 0px;
}
.pt-0\.5 {
  padding-top: 0.125rem;
}
.pt-1 {
  padding-top: 0.25rem;
}
.pt-1\.5 {
  padding-top: 0.375rem;
}
.pt-2 {
  padding-top: 0.5rem;
}
.pt-2\.5 {
  padding-top: 0.625rem;
}
.pt-3 {
  padding-top: 0.75rem;
}
.pt-3\.5 {
  padding-top: 0.875rem;
}
.pt-4 {
  padding-top: 1rem;
}
.pt-5 {
  padding-top: 1.25rem;
}
.pt-6 {
  padding-top: 1.5rem;
}
.pt-7 {
  padding-top: 1.75rem;
}
.pt-\[10px\] {
  padding-top: 10px;
}
.pt-\[3px\] {
  padding-top: 3px;
}
.pt-\[7vh\] {
  padding-top: 7vh;
}
.\!text-left {
  text-align: left !important;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.align-top {
  vertical-align: top;
}
.align-middle {
  vertical-align: middle;
}
.align-text-bottom {
  vertical-align: text-bottom;
}
.align-super {
  vertical-align: super;
}
.font-mono {
  font-family: var(--font-mono);
}
.font-sans {
  font-family: var(--font-sans);
}
.text-2xl {
  font-size: var(--text-2xl);
  line-height: var(--leading-2xl);
}
.text-2xs {
  font-size: var(--text-2xs);
  line-height: var(--leading-2xs);
}
.text-3xl {
  font-size: var(--text-3xl);
  line-height: var(--leading-3xl);
}
.text-4xl {
  font-size: 2.25rem;
  line-height: 2.5rem;
}
.text-\[0\.82em\] {
  font-size: 0.82em;
}
.text-\[0\.8rem\] {
  font-size: 0.8rem;
}
.text-\[0\.95rem\] {
  font-size: 0.95rem;
}
.text-\[10\.5px\] {
  font-size: 10.5px;
}
.text-\[10px\] {
  font-size: 10px;
}
.text-\[11\.5px\] {
  font-size: 11.5px;
}
.text-\[11px\] {
  font-size: 11px;
}
.text-\[12\.5px\] {
  font-size: 12.5px;
}
.text-\[13px\] {
  font-size: 13px;
}
.text-\[14px\] {
  font-size: 14px;
}
.text-\[15px\] {
  font-size: 15px;
}
.text-\[22px\] {
  font-size: 22px;
}
.text-\[28px\] {
  font-size: 28px;
}
.text-\[8px\] {
  font-size: 8px;
}
.text-\[9\.5px\] {
  font-size: 9.5px;
}
.text-\[9px\] {
  font-size: 9px;
}
.text-base {
  font-size: var(--text-base);
  line-height: var(--leading-base);
}
.text-lg {
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
}
.text-md {
  font-size: var(--text-md);
  line-height: var(--leading-md);
}
.text-sm {
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
}
.text-sm\/relaxed {
  font-size: var(--text-sm);
  line-height: 1.625;
}
.text-xl {
  font-size: var(--text-xl);
  line-height: var(--leading-xl);
}
.text-xs {
  font-size: var(--text-xs);
  line-height: var(--leading-xs);
}
.\!font-medium {
  font-weight: 500 !important;
}
.\!font-semibold {
  font-weight: 600 !important;
}
.font-bold {
  font-weight: 700;
}
.font-extrabold {
  font-weight: 800;
}
.font-light {
  font-weight: 300;
}
.font-medium {
  font-weight: 500;
}
.font-normal {
  font-weight: 400;
}
.font-semibold {
  font-weight: 600;
}
.uppercase {
  text-transform: uppercase;
}
.lowercase {
  text-transform: lowercase;
}
.capitalize {
  text-transform: capitalize;
}
.normal-case {
  text-transform: none;
}
.italic {
  font-style: italic;
}
.ordinal {
  --tw-ordinal: ordinal;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.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-3 {
  line-height: .75rem;
}
.leading-4 {
  line-height: 1rem;
}
.leading-5 {
  line-height: 1.25rem;
}
.leading-\[1\.05\] {
  line-height: 1.05;
}
.leading-\[1\.4\] {
  line-height: 1.4;
}
.leading-\[1\.55\] {
  line-height: 1.55;
}
.leading-\[1\.5\] {
  line-height: 1.5;
}
.leading-\[1\.65\] {
  line-height: 1.65;
}
.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-\[-0\.01em\] {
  letter-spacing: -0.01em;
}
.tracking-\[0\.01em\] {
  letter-spacing: 0.01em;
}
.tracking-\[0\.04em\] {
  letter-spacing: 0.04em;
}
.tracking-\[0\.05em\] {
  letter-spacing: 0.05em;
}
.tracking-\[0\.06em\] {
  letter-spacing: 0.06em;
}
.tracking-\[0\.08em\] {
  letter-spacing: 0.08em;
}
.tracking-\[0\.12em\] {
  letter-spacing: 0.12em;
}
.tracking-\[0\.14em\] {
  letter-spacing: 0.14em;
}
.tracking-\[0\.15em\] {
  letter-spacing: 0.15em;
}
.tracking-\[0\.16em\] {
  letter-spacing: 0.16em;
}
.tracking-\[0\.1em\] {
  letter-spacing: 0.1em;
}
.tracking-\[0\.3em\] {
  letter-spacing: 0.3em;
}
.tracking-\[0\.3px\] {
  letter-spacing: 0.3px;
}
.tracking-\[0\.5px\] {
  letter-spacing: 0.5px;
}
.tracking-normal {
  letter-spacing: 0em;
}
.tracking-tight {
  letter-spacing: -0.025em;
}
.tracking-tighter {
  letter-spacing: -0.05em;
}
.tracking-wide {
  letter-spacing: 0.025em;
}
.tracking-wider {
  letter-spacing: 0.05em;
}
.tracking-widest {
  letter-spacing: 0.1em;
}
.\!text-foreground {
  color: hsl(var(--foreground)) !important;
}
.\!text-primary-foreground {
  color: hsl(var(--primary-foreground)) !important;
}
.text-\[\#6b8fff\] {
  --tw-text-opacity: 1;
  color: rgb(107 143 255 / var(--tw-text-opacity, 1));
}
.text-\[\#9A9AA1\] {
  --tw-text-opacity: 1;
  color: rgb(154 154 161 / var(--tw-text-opacity, 1));
}
.text-\[\#C8C8C8\] {
  --tw-text-opacity: 1;
  color: rgb(200 200 200 / var(--tw-text-opacity, 1));
}
.text-\[\#F5B166\] {
  --tw-text-opacity: 1;
  color: rgb(245 177 102 / var(--tw-text-opacity, 1));
}
.text-\[\#FAFAFA\] {
  --tw-text-opacity: 1;
  color: rgb(250 250 250 / var(--tw-text-opacity, 1));
}
.text-\[hsl\(var\(--brand\)\)\] {
  color: hsl(var(--brand));
}
.text-\[hsl\(var\(--chart-1\)\)\] {
  color: hsl(var(--chart-1));
}
.text-\[hsl\(var\(--chart-2\)\)\] {
  color: hsl(var(--chart-2));
}
.text-\[hsl\(var\(--chart-3\)\)\] {
  color: hsl(var(--chart-3));
}
.text-\[hsl\(var\(--foreground\)\)\] {
  color: hsl(var(--foreground));
}
.text-\[hsl\(var\(--muted-foreground\)\)\] {
  color: hsl(var(--muted-foreground));
}
.text-\[hsl\(var\(--negative\)\)\] {
  color: hsl(var(--negative));
}
.text-\[hsl\(var\(--negative\)\)\]\/70 {
  color: hsl(var(--negative) / 0.7);
}
.text-\[hsl\(var\(--positive\)\)\] {
  color: hsl(var(--positive));
}
.text-\[hsl\(var\(--primary\)\)\] {
  color: hsl(var(--primary));
}
.text-\[hsl\(var\(--primary-foreground\)\)\] {
  color: hsl(var(--primary-foreground));
}
.text-\[var\(--color-accent\)\] {
  color: var(--color-accent);
}
.text-\[var\(--color-dim\)\] {
  color: var(--color-dim);
}
.text-\[var\(--color-muted\)\] {
  color: var(--color-muted);
}
.text-\[var\(--color-negative\)\] {
  color: var(--color-negative);
}
.text-\[var\(--color-text\2c \#ffffff\)\] {
  color: var(--color-text,#ffffff);
}
.text-\[var\(--color-text-primary-spec\)\] {
  color: var(--color-text-primary-spec);
}
.text-\[var\(--color-text-secondary-spec\)\] {
  color: var(--color-text-secondary-spec);
}
.text-accent {
  color: hsl(var(--accent));
}
.text-accent-foreground {
  color: hsl(var(--accent-foreground));
}
.text-amber-300 {
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}
.text-amber-400 {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.text-amber-500 {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.text-amber-600 {
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}
.text-amber-900 {
  --tw-text-opacity: 1;
  color: rgb(120 53 15 / var(--tw-text-opacity, 1));
}
.text-background {
  color: hsl(var(--background));
}
.text-blue-400 {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}
.text-card-foreground {
  color: hsl(var(--card-foreground));
}
.text-chart-2 {
  color: hsl(var(--chart-2));
}
.text-chart-3 {
  color: hsl(var(--chart-3));
}
.text-chart-4 {
  color: hsl(var(--chart-4));
}
.text-chart-5 {
  color: hsl(var(--chart-5));
}
.text-current {
  color: currentColor;
}
.text-cyan-600 {
  --tw-text-opacity: 1;
  color: rgb(8 145 178 / var(--tw-text-opacity, 1));
}
.text-destructive {
  color: hsl(var(--destructive));
}
.text-destructive-foreground {
  color: hsl(var(--destructive-foreground));
}
.text-destructive\/70 {
  color: hsl(var(--destructive) / 0.7);
}
.text-emerald-400 {
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.text-emerald-500 {
  --tw-text-opacity: 1;
  color: rgb(16 185 129 / var(--tw-text-opacity, 1));
}
.text-emerald-600 {
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}
.text-foreground {
  color: hsl(var(--foreground));
}
.text-foreground\/50 {
  color: hsl(var(--foreground) / 0.5);
}
.text-foreground\/55 {
  color: hsl(var(--foreground) / 0.55);
}
.text-foreground\/60 {
  color: hsl(var(--foreground) / 0.6);
}
.text-foreground\/65 {
  color: hsl(var(--foreground) / 0.65);
}
.text-foreground\/70 {
  color: hsl(var(--foreground) / 0.7);
}
.text-foreground\/75 {
  color: hsl(var(--foreground) / 0.75);
}
.text-foreground\/80 {
  color: hsl(var(--foreground) / 0.8);
}
.text-foreground\/85 {
  color: hsl(var(--foreground) / 0.85);
}
.text-foreground\/90 {
  color: hsl(var(--foreground) / 0.9);
}
.text-foreground\/95 {
  color: hsl(var(--foreground) / 0.95);
}
.text-inherit {
  color: inherit;
}
.text-muted-foreground {
  color: hsl(var(--muted-foreground));
}
.text-muted-foreground\/30 {
  color: hsl(var(--muted-foreground) / 0.3);
}
.text-muted-foreground\/35 {
  color: hsl(var(--muted-foreground) / 0.35);
}
.text-muted-foreground\/40 {
  color: hsl(var(--muted-foreground) / 0.4);
}
.text-muted-foreground\/45 {
  color: hsl(var(--muted-foreground) / 0.45);
}
.text-muted-foreground\/50 {
  color: hsl(var(--muted-foreground) / 0.5);
}
.text-muted-foreground\/55 {
  color: hsl(var(--muted-foreground) / 0.55);
}
.text-muted-foreground\/60 {
  color: hsl(var(--muted-foreground) / 0.6);
}
.text-muted-foreground\/65 {
  color: hsl(var(--muted-foreground) / 0.65);
}
.text-muted-foreground\/70 {
  color: hsl(var(--muted-foreground) / 0.7);
}
.text-muted-foreground\/75 {
  color: hsl(var(--muted-foreground) / 0.75);
}
.text-muted-foreground\/80 {
  color: hsl(var(--muted-foreground) / 0.8);
}
.text-muted-foreground\/85 {
  color: hsl(var(--muted-foreground) / 0.85);
}
.text-muted-foreground\/90 {
  color: hsl(var(--muted-foreground) / 0.9);
}
.text-negative {
  color: hsl(var(--negative));
}
.text-negative\/80 {
  color: hsl(var(--negative) / 0.8);
}
.text-negative\/90 {
  color: hsl(var(--negative) / 0.9);
}
.text-orange-500\/75 {
  color: rgb(249 115 22 / 0.75);
}
.text-orange-500\/80 {
  color: rgb(249 115 22 / 0.8);
}
.text-popover-foreground {
  color: hsl(var(--popover-foreground));
}
.text-positive {
  color: hsl(var(--positive));
}
.text-positive\/90 {
  color: hsl(var(--positive) / 0.9);
}
.text-primary {
  color: hsl(var(--primary));
}
.text-primary-foreground {
  color: hsl(var(--primary-foreground));
}
.text-primary\/90 {
  color: hsl(var(--primary) / 0.9);
}
.text-purple-400 {
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / var(--tw-text-opacity, 1));
}
.text-rose-300 {
  --tw-text-opacity: 1;
  color: rgb(253 164 175 / var(--tw-text-opacity, 1));
}
.text-rose-400 {
  --tw-text-opacity: 1;
  color: rgb(251 113 133 / var(--tw-text-opacity, 1));
}
.text-rose-600 {
  --tw-text-opacity: 1;
  color: rgb(225 29 72 / var(--tw-text-opacity, 1));
}
.text-secondary-foreground {
  color: hsl(var(--secondary-foreground));
}
.text-sidebar-foreground {
  color: hsl(var(--sidebar-foreground));
}
.text-sidebar-foreground\/40 {
  color: hsl(var(--sidebar-foreground) / 0.4);
}
.text-sidebar-foreground\/45 {
  color: hsl(var(--sidebar-foreground) / 0.45);
}
.text-sidebar-foreground\/50 {
  color: hsl(var(--sidebar-foreground) / 0.5);
}
.text-sidebar-foreground\/55 {
  color: hsl(var(--sidebar-foreground) / 0.55);
}
.text-sidebar-foreground\/60 {
  color: hsl(var(--sidebar-foreground) / 0.6);
}
.text-sidebar-foreground\/70 {
  color: hsl(var(--sidebar-foreground) / 0.7);
}
.text-sidebar-foreground\/75 {
  color: hsl(var(--sidebar-foreground) / 0.75);
}
.text-sidebar-foreground\/80 {
  color: hsl(var(--sidebar-foreground) / 0.8);
}
.text-sidebar-foreground\/85 {
  color: hsl(var(--sidebar-foreground) / 0.85);
}
.text-sidebar-foreground\/90 {
  color: hsl(var(--sidebar-foreground) / 0.9);
}
.text-sidebar-primary {
  color: hsl(var(--sidebar-primary));
}
.text-sky-600 {
  --tw-text-opacity: 1;
  color: rgb(2 132 199 / var(--tw-text-opacity, 1));
}
.text-violet-600 {
  --tw-text-opacity: 1;
  color: rgb(124 58 237 / var(--tw-text-opacity, 1));
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-white\/40 {
  color: rgb(255 255 255 / 0.4);
}
.text-white\/45 {
  color: rgb(255 255 255 / 0.45);
}
.text-white\/50 {
  color: rgb(255 255 255 / 0.5);
}
.text-white\/55 {
  color: rgb(255 255 255 / 0.55);
}
.text-white\/70 {
  color: rgb(255 255 255 / 0.7);
}
.text-white\/80 {
  color: rgb(255 255 255 / 0.8);
}
.text-yellow-400 {
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}
.text-yellow-500 {
  --tw-text-opacity: 1;
  color: rgb(234 179 8 / var(--tw-text-opacity, 1));
}
.text-zinc-900 {
  --tw-text-opacity: 1;
  color: rgb(24 24 27 / var(--tw-text-opacity, 1));
}
.underline {
  text-decoration-line: underline;
}
.overline {
  text-decoration-line: overline;
}
.line-through {
  text-decoration-line: line-through;
}
.no-underline {
  text-decoration-line: none;
}
.decoration-border {
  text-decoration-color: hsl(var(--border));
}
.underline-offset-4 {
  text-underline-offset: 4px;
}
.underline-offset-\[3px\] {
  text-underline-offset: 3px;
}
.accent-foreground {
  accent-color: hsl(var(--foreground));
}
.opacity-0 {
  opacity: 0;
}
.opacity-100 {
  opacity: 1;
}
.opacity-30 {
  opacity: 0.3;
}
.opacity-35 {
  opacity: 0.35;
}
.opacity-40 {
  opacity: 0.4;
}
.opacity-45 {
  opacity: 0.45;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-60 {
  opacity: 0.6;
}
.opacity-70 {
  opacity: 0.7;
}
.opacity-75 {
  opacity: 0.75;
}
.opacity-80 {
  opacity: 0.8;
}
.opacity-85 {
  opacity: 0.85;
}
.opacity-90 {
  opacity: 0.9;
}
.opacity-95 {
  opacity: 0.95;
}
.opacity-\[0\.001\] {
  opacity: 0.001;
}
.\!shadow-sm {
  --tw-shadow: 0 1px 3px rgba(0,0,0,0.3) !important;
  --tw-shadow-colored: 0 1px 3px var(--tw-shadow-color) !important;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
}
.shadow {
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-2xl {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_-1px_0_hsl\(var\(--border\)\)\] {
  --tw-shadow: 0 -1px 0 hsl(var(--border));
  --tw-shadow-colored: 0 -1px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_-8px_24px_-12px_rgba\(0\2c 0\2c 0\2c 0\.5\)\] {
  --tw-shadow: 0 -8px 24px -12px rgba(0,0,0,0.5);
  --tw-shadow-colored: 0 -8px 24px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\] {
  --tw-shadow: 0 0 0 1px hsl(var(--sidebar-border));
  --tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_1px_0_hsl\(var\(--foreground\)\/0\.06\)\] {
  --tw-shadow: 0 1px 0 hsl(var(--foreground)/0.06);
  --tw-shadow-colored: 0 1px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_1px_2px_hsl\(var\(--foreground\)\/0\.06\)\] {
  --tw-shadow: 0 1px 2px hsl(var(--foreground)/0.06);
  --tw-shadow-colored: 0 1px 2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_1px_2px_rgba\(0\2c 0\2c 0\2c 0\.08\)\] {
  --tw-shadow: 0 1px 2px rgba(0,0,0,0.08);
  --tw-shadow-colored: 0 1px 2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_1px_2px_rgba\(0\2c 0\2c 0\2c 0\.3\)\] {
  --tw-shadow: 0 1px 2px rgba(0,0,0,0.3);
  --tw-shadow-colored: 0 1px 2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_1px_3px_rgba\(15\2c 23\2c 42\2c 0\.08\)\2c 0_8px_24px_rgba\(15\2c 23\2c 42\2c 0\.06\)\] {
  --tw-shadow: 0 1px 3px rgba(15,23,42,0.08),0 8px 24px rgba(15,23,42,0.06);
  --tw-shadow-colored: 0 1px 3px var(--tw-shadow-color), 0 8px 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_16px_-4px_hsl\(var\(--primary\)\/0\.5\)\] {
  --tw-shadow: 0 4px 16px -4px hsl(var(--primary)/0.5);
  --tw-shadow-colored: 0 4px 16px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_8px_24px_rgba\(0\2c 0\2c 0\2c 0\.4\)\] {
  --tw-shadow: 0 8px 24px rgba(0,0,0,0.4);
  --tw-shadow-colored: 0 8px 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[inset_0_0_0_1px_hsl\(var\(--border\)\)\] {
  --tw-shadow: inset 0 0 0 1px hsl(var(--border));
  --tw-shadow-colored: inset 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-\[inset_0_0_0_1px_hsl\(var\(--border\)\/0\.85\)\] {
  --tw-shadow: inset 0 0 0 1px hsl(var(--border)/0.85);
  --tw-shadow-colored: inset 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-\[inset_0_0_0_1px_hsl\(var\(--primary\)\/0\.28\)\] {
  --tw-shadow: inset 0 0 0 1px hsl(var(--primary)/0.28);
  --tw-shadow-colored: inset 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-\[inset_0_0_0_1px_hsl\(var\(--sidebar-primary\)\/0\.28\)\] {
  --tw-shadow: inset 0 0 0 1px hsl(var(--sidebar-primary)/0.28);
  --tw-shadow-colored: inset 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-\[inset_0_1px_0_hsl\(var\(--background\)\/0\.5\)\] {
  --tw-shadow: inset 0 1px 0 hsl(var(--background)/0.5);
  --tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[inset_0_1px_0_hsl\(var\(--foreground\)\/0\.03\)\] {
  --tw-shadow: inset 0 1px 0 hsl(var(--foreground)/0.03);
  --tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[inset_0_1px_0_hsl\(var\(--foreground\)\/0\.04\)\] {
  --tw-shadow: inset 0 1px 0 hsl(var(--foreground)/0.04);
  --tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[inset_0_1px_0_hsl\(var\(--sidebar-foreground\)\/0\.04\)\] {
  --tw-shadow: inset 0 1px 0 hsl(var(--sidebar-foreground)/0.04);
  --tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[inset_0_1px_0_hsl\(var\(--sidebar-foreground\)\/0\.06\)\] {
  --tw-shadow: inset 0 1px 0 hsl(var(--sidebar-foreground)/0.06);
  --tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg {
  --tw-shadow: 0 10px 15px rgba(0,0,0,0.3);
  --tw-shadow-colored: 0 10px 15px 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 rgba(0,0,0,0.25);
  --tw-shadow-colored: 0 4px 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-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-panel {
  --tw-shadow: var(--panel-shadow);
  --tw-shadow-colored: var(--panel-shadow);
  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 3px rgba(0,0,0,0.3);
  --tw-shadow-colored: 0 1px 3px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-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 rgba(0,0,0,0.2);
  --tw-shadow-colored: 0 1px 2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-black\/40 {
  --tw-shadow-color: rgb(0 0 0 / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}
.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.outline {
  outline-style: solid;
}
.outline-dashed {
  outline-style: dashed;
}
.outline-2 {
  outline-width: 2px;
}
.-outline-offset-2 {
  outline-offset: -2px;
}
.outline-ring {
  outline-color: hsl(var(--ring));
}
.ring {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-0 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-1 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-2 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-inset {
  --tw-ring-inset: inset;
}
.ring-\[hsl\(var\(--negative\)\)\] {
  --tw-ring-color: hsl(var(--negative));
}
.ring-accent {
  --tw-ring-color: hsl(var(--accent));
}
.ring-border {
  --tw-ring-color: hsl(var(--border));
}
.ring-border\/40 {
  --tw-ring-color: hsl(var(--border) / 0.4);
}
.ring-border\/55 {
  --tw-ring-color: hsl(var(--border) / 0.55);
}
.ring-border\/60 {
  --tw-ring-color: hsl(var(--border) / 0.6);
}
.ring-border\/70 {
  --tw-ring-color: hsl(var(--border) / 0.7);
}
.ring-foreground {
  --tw-ring-color: hsl(var(--foreground));
}
.ring-foreground\/40 {
  --tw-ring-color: hsl(var(--foreground) / 0.4);
}
.ring-foreground\/\[0\.06\] {
  --tw-ring-color: hsl(var(--foreground) / 0.06);
}
.ring-primary\/20 {
  --tw-ring-color: hsl(var(--primary) / 0.2);
}
.ring-primary\/30 {
  --tw-ring-color: hsl(var(--primary) / 0.3);
}
.ring-primary\/40 {
  --tw-ring-color: hsl(var(--primary) / 0.4);
}
.ring-primary\/60 {
  --tw-ring-color: hsl(var(--primary) / 0.6);
}
.ring-ring {
  --tw-ring-color: hsl(var(--ring));
}
.ring-sidebar-border\/70 {
  --tw-ring-color: hsl(var(--sidebar-border) / 0.7);
}
.ring-sidebar-foreground\/\[0\.04\] {
  --tw-ring-color: hsl(var(--sidebar-foreground) / 0.04);
}
.ring-sidebar-ring {
  --tw-ring-color: hsl(var(--sidebar-ring));
}
.ring-offset-1 {
  --tw-ring-offset-width: 1px;
}
.ring-offset-2 {
  --tw-ring-offset-width: 2px;
}
.ring-offset-background {
  --tw-ring-offset-color: hsl(var(--background));
}
.ring-offset-popover {
  --tw-ring-offset-color: hsl(var(--popover));
}
.blur {
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-\[80px\] {
  --tw-blur: blur(80px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.invert {
  --tw-invert: invert(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.\!filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) !important;
}
.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-blur {
  --tw-backdrop-blur: blur(8px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-\[1px\] {
  --tw-backdrop-blur: blur(1px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-\[2px\] {
  --tw-backdrop-blur: blur(2px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-sm {
  --tw-backdrop-blur: blur(4px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-xl {
  --tw-backdrop-blur: blur(24px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[border-color\2c box-shadow\] {
  transition-property: border-color,box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[color\2c background-color\2c border-color\2c box-shadow\] {
  transition-property: color,background-color,border-color,box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[color\2c background-color\2c border-color\] {
  transition-property: color,background-color,border-color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[color\2c background-color\2c box-shadow\2c transform\] {
  transition-property: color,background-color,box-shadow,transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[color\2c background-color\2c box-shadow\] {
  transition-property: color,background-color,box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[color\2c background-color\] {
  transition-property: color,background-color;
  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-\[color\2c opacity\] {
  transition-property: color,opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[color\2c transform\] {
  transition-property: color,transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[filter\] {
  transition-property: filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[flex-grow\] {
  transition-property: flex-grow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[grid-template-columns\] {
  transition-property: grid-template-columns;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[height\] {
  transition-property: height;
  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-\[left\2c width\] {
  transition-property: left,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-\[transform\2c opacity\] {
  transition-property: transform,opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[width\2c height\2c padding\2c background-color\] {
  transition-property: width,height,padding,background-color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[width\] {
  transition-property: width;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.duration-100 {
  transition-duration: 100ms;
}
.duration-1000 {
  transition-duration: 1000ms;
}
.duration-150 {
  transition-duration: 150ms;
}
.duration-200 {
  transition-duration: 200ms;
}
.duration-250 {
  transition-duration: 250ms;
}
.duration-300 {
  transition-duration: 300ms;
}
.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-linear {
  transition-timing-function: linear;
}
.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;
}
.fade-in-80 {
  --tw-enter-opacity: 0.8;
}
.zoom-in-95 {
  --tw-enter-scale: .95;
}
.slide-in-from-bottom-4 {
  --tw-enter-translate-y: 1rem;
}
.duration-100 {
  animation-duration: 100ms;
}
.duration-1000 {
  animation-duration: 1000ms;
}
.duration-150 {
  animation-duration: 150ms;
}
.duration-200 {
  animation-duration: 200ms;
}
.duration-250 {
  animation-duration: 250ms;
}
.duration-300 {
  animation-duration: 300ms;
}
.ease-in-out {
  animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-linear {
  animation-timing-function: linear;
}
.ease-out {
  animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.running {
  animation-play-state: running;
}
.paused {
  animation-play-state: paused;
}
.\[--cell-size\:2rem\] {
  --cell-size: 2rem;
}
.\[-\:\\s\|\] {
  -: \s|;
}
.\[-ms-overflow-style\:none\] {
  -ms-overflow-style: none;
}
.\[font-size\:1\.35em\] {
  font-size: 1.35em;
}
.\[scrollbar-color\:hsl\(var\(--border\)\)_transparent\] {
  scrollbar-color: hsl(var(--border)) transparent;
}
.\[scrollbar-color\:hsl\(var\(--foreground\)\/0\.1\)_transparent\] {
  scrollbar-color: hsl(var(--foreground)/0.1) transparent;
}
.\[scrollbar-width\:none\] {
  scrollbar-width: none;
}
.\[scrollbar-width\:thin\] {
  scrollbar-width: thin;
}

/* ══════════════════════════════════════════════════════════════════════════════
   dibsTERMINAL Design System — Graphite / Paper (light + dark)
   Three surface layers: canvas → chrome/workspace → card/editor.
   Brand blue (#2a88f4) for CTAs, active nav, selection rails, focus rings, and tabs.
   Marketing refs: #f7f7f4 paper, #26251e ink, #f54e00 accent.
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── Animation Keyframes ─────────────────────────────────────────────── */

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

@keyframes pulse {
  0%, 80%, 100% { opacity: 0.3; transform: scale(0.8); }
  40% { opacity: 1; transform: scale(1); }
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

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

@keyframes fadeInDown {
  from { opacity: 0; transform: translateY(-20px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes fadeInScale {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes slideInLeft {
  from { opacity: 0; transform: translateX(-40px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes slideInRight {
  from { opacity: 0; transform: translateX(40px); }
  to { opacity: 1; transform: translateX(0); }
}

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

@keyframes livePulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(0.7); }
}

@keyframes tickerScroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@keyframes priceBlink {
  0% { opacity: 1; }
  50% { opacity: 0.3; }
  100% { opacity: 1; }
}

@keyframes priceFlashGreen {
  0% { background-color: hsl(var(--positive) / 0.25); }
  100% { background-color: transparent; }
}

@keyframes priceFlashRed {
  0% { background-color: hsl(var(--negative) / 0.25); }
  100% { background-color: transparent; }
}

/* ── Animation Utility Classes ───────────────────────────────────────── */

.animate-fade-in { animation: fadeIn 0.6s ease-out both; }
.animate-fade-in-up { animation: fadeInUp 0.7s ease-out both; }
.animate-fade-in-down { animation: fadeInDown 0.5s ease-out both; }
.animate-fade-in-scale { animation: fadeInScale 0.5s ease-out both; }
.animate-slide-in-left { animation: slideInLeft 0.6s ease-out both; }
.animate-slide-in-right { animation: slideInRight 0.6s ease-out both; }

/* ── Skip link (a11y) ────────────────────────────────────────────────── */

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

.skip-link:focus {
  position: static;
  width: auto;
  height: auto;
  padding: 0;
  margin: 0;
  overflow: visible;
  clip: auto;
  white-space: normal;
  position: fixed;
  top: 1rem;
  left: 1rem;
  z-index: 50;
  border-radius: 4px;
  background-color: hsl(var(--primary));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: hsl(var(--primary-foreground));
}

/* ── Modern surface primitives (shadcn token-driven) ─────────────────── */

/* ── Flat-surface overrides (unlayered — wins over Tailwind utilities) ─────────
   Security pages: dt-panel becomes transparent so title/body separate like the
   Koyfin ledger aesthetic. Home/other pages: panels lose shadow for a flatter
   surface, keeping the card background.                                         */

/* Security flat surface: full transparent panel, title above bordered box. */
.dibs [data-security-surface='flat'] [data-dt-panel='true'] {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

.dibs [data-security-surface='flat'] [data-dt-panel='true'] > [data-dt-panel-header='true'] {
  background: transparent;
  border: 0;
  padding: 0;
  min-height: 0;
  margin-bottom: var(--snap-overview-title-gap, 8px);
}

.dibs [data-security-surface='flat'] [data-dt-panel='true'] > [data-dt-panel-header='true'] h3 {
  font-size: var(--snap-overview-title-size, var(--text-md));
  font-weight: 600;
  letter-spacing: -0.01em;
  text-transform: none;
  color: hsl(var(--foreground));
}

.dibs [data-security-surface='flat'] [data-dt-panel='true'] > :not([data-dt-panel-header='true']) {
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border));
  border-radius: 8px;
  padding: var(--snap-overview-card-padding, 12px 16px);
  overflow: hidden;
  min-height: 0;
}

.dibs [data-security-surface='flat'] [data-dt-panel='true'][data-dt-panel-flush='true'] > :not([data-dt-panel-header='true']) {
  padding: 0;
}

/* ── Legacy panels inside flat surfaces ────────────────────────────────────
   Security sub-pages (Ownership, Holdings, Exposure, etc.) use inline
   .bg-card.shadow-panel divs instead of dt-panel. Override those too. */
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) .shadow-panel {
  box-shadow: none !important;
}

/* Ad-hoc bg-card wrappers that embed PanelHeader but lack data-dt-panel.
   Attribute selector avoids Tailwind circular-dependency on the bg-card utility. */
.dibs [data-security-surface='flat'] [class~='bg-card']:has(> [data-dt-panel-header='true']) {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

.dibs [data-security-surface='flat'] [class~='bg-card']:has(> [data-dt-panel-header='true']) > [data-dt-panel-header='true'] {
  background: transparent;
  border: 0;
  padding: 0;
  min-height: 0;
  margin-bottom: var(--snap-overview-title-gap, 8px);
}

.dibs [data-security-surface='flat'] [class~='bg-card']:has(> [data-dt-panel-header='true']) > [data-dt-panel-header='true'] h3 {
  font-size: var(--snap-overview-title-size, var(--text-md));
  font-weight: 600;
  letter-spacing: -0.01em;
  text-transform: none;
  color: hsl(var(--foreground));
}

.dibs [data-security-surface='flat'] [class~='bg-card']:has(> [data-dt-panel-header='true']) > :not([data-dt-panel-header='true']) {
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border));
  border-radius: 8px;
  padding: var(--snap-overview-card-padding, 12px 16px);
  overflow: hidden;
  min-height: 0;
}

/* Standalone legacy card shells (tables/KPI grids without dt-panel). */
.dibs [data-security-surface='flat'] :is(.rounded-lg, .rounded-sm)[class~='bg-card']:not([data-dt-panel='true']):not(:has(> [data-dt-panel-header='true'])) {
  box-shadow: none !important;
  border: 1px solid hsl(var(--border)) !important;
  border-radius: 8px !important;
}

/* ── Brand loader — the dibs mark self-builds (reveal) inside a dark well, in a loop ── */
@keyframes dt-logo-reveal {
  0%   { clip-path: inset(100% 0 0 0); }
  44%  { clip-path: inset(0 0 0 0); }
  64%  { clip-path: inset(0 0 0 0); }
  100% { clip-path: inset(0 0 100% 0); }
}
@keyframes dt-brand-spin { to { transform: rotate(360deg); } }
.dt-logo-reveal {
  animation: dt-logo-reveal 1.9s cubic-bezier(0.65, 0, 0.35, 1) infinite;
  will-change: clip-path;
}
.dt-brand-loader-ring {
  animation: dt-brand-spin 0.9s linear infinite;
  transform-origin: center;
}
@media (prefers-reduced-motion: reduce) {
  .dt-logo-reveal { animation: none; }
  .dt-brand-loader-ring { animation-duration: 1.6s; }
}
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) :is([data-snap-panel-flat], [data-dt-panel='true'], [data-security-legacy-panel]) table tbody .placeholder\:text-muted-foregroundtd::-moz-placeholder {
    font-size: var(--snap-overview-label-size);
    font-weight: 400;
    font-variant-numeric: normal;
    color: hsl(var(--muted-foreground));
  }
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) :is([data-snap-panel-flat], [data-dt-panel='true'], [data-security-legacy-panel]) table tbody .placeholder\:text-muted-foregroundtd::placeholder {
    font-size: var(--snap-overview-label-size);
    font-weight: 400;
    font-variant-numeric: normal;
    color: hsl(var(--muted-foreground));
  }
.dt-sidebar-security-symbol .placeholder\:text-muted-foreground::-moz-placeholder {
    color: hsl(var(--muted-foreground) / 0.9);
  }
.dt-sidebar-security-symbol .placeholder\:text-muted-foreground::placeholder {
    color: hsl(var(--muted-foreground) / 0.9);
  }
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) :is([data-snap-panel-flat], [data-dt-panel='true'], [data-security-legacy-panel]) table tbody .hover\:text-muted-foreground:hovertd {
    font-size: var(--snap-overview-label-size);
    font-weight: 400;
    font-variant-numeric: normal;
    color: hsl(var(--muted-foreground));
  }
.dt-sidebar-security-symbol .hover\:text-muted-foreground:hover {
    color: hsl(var(--muted-foreground) / 0.9);
  }
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) :is([data-snap-panel-flat], [data-dt-panel='true'], [data-security-legacy-panel]) table tbody .group.toast .group-\[\.toast\]\:text-muted-foregroundtd {
    font-size: var(--snap-overview-label-size);
    font-weight: 400;
    font-variant-numeric: normal;
    color: hsl(var(--muted-foreground));
  }
.dt-sidebar-security-symbol .group.toast .group-\[\.toast\]\:text-muted-foreground {
    color: hsl(var(--muted-foreground) / 0.9);
  }
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) :is([data-snap-panel-flat], [data-dt-panel='true'], [data-security-legacy-panel]) table tbody .aria-selected\:text-muted-foreground[aria-selected="true"]td {
    font-size: var(--snap-overview-label-size);
    font-weight: 400;
    font-variant-numeric: normal;
    color: hsl(var(--muted-foreground));
  }
.dt-sidebar-security-symbol .aria-selected\:text-muted-foreground[aria-selected="true"] {
    color: hsl(var(--muted-foreground) / 0.9);
  }
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) :is([data-snap-panel-flat], [data-dt-panel='true'], [data-security-legacy-panel]) table tbody .data-\[placeholder\]\:text-muted-foreground[data-placeholder]td {
    font-size: var(--snap-overview-label-size);
    font-weight: 400;
    font-variant-numeric: normal;
    color: hsl(var(--muted-foreground));
  }
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) :is([data-snap-panel-flat], [data-dt-panel='true'], [data-security-legacy-panel]) table tbody .data-\[state\=open\]\:text-muted-foreground[data-state="open"]td {
    font-size: var(--snap-overview-label-size);
    font-weight: 400;
    font-variant-numeric: normal;
    color: hsl(var(--muted-foreground));
  }
.dt-sidebar-security-symbol .data-\[placeholder\]\:text-muted-foreground[data-placeholder] {
    color: hsl(var(--muted-foreground) / 0.9);
  }
.dt-sidebar-security-symbol .data-\[state\=open\]\:text-muted-foreground[data-state="open"] {
    color: hsl(var(--muted-foreground) / 0.9);
  }
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) :is([data-snap-panel-flat], [data-dt-panel='true'], [data-security-legacy-panel]) table tbody .\[\&\>svg\]\:text-muted-foreground>svgtd {
    font-size: var(--snap-overview-label-size);
    font-weight: 400;
    font-variant-numeric: normal;
    color: hsl(var(--muted-foreground));
  }
.dt-sidebar-security-symbol .\[\&\>svg\]\:text-muted-foreground>svg {
    color: hsl(var(--muted-foreground) / 0.9);
  }
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) :is([data-snap-panel-flat], [data-dt-panel='true'], [data-security-legacy-panel]) table tbody .\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]td {
    font-size: var(--snap-overview-label-size);
    font-weight: 400;
    font-variant-numeric: normal;
    color: hsl(var(--muted-foreground));
  }
.dt-sidebar-security-symbol .\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading] {
    color: hsl(var(--muted-foreground) / 0.9);
  }
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) :is([data-snap-panel-flat], [data-dt-panel='true'], [data-security-legacy-panel]) table tbody .\[\&_blockquote\]\:text-muted-foreground blockquotetd {
    font-size: var(--snap-overview-label-size);
    font-weight: 400;
    font-variant-numeric: normal;
    color: hsl(var(--muted-foreground));
  }
.dt-sidebar-security-symbol .\[\&_blockquote\]\:text-muted-foreground blockquote {
    color: hsl(var(--muted-foreground) / 0.9);
  }
.dibs :is([data-security-surface='flat'], [data-app-surface='flat']) :is([data-snap-panel-flat], [data-dt-panel='true'], [data-security-legacy-panel]) table tbody .\[\&_svg\]\:text-muted-foreground svgtd {
    font-size: var(--snap-overview-label-size);
    font-weight: 400;
    font-variant-numeric: normal;
    color: hsl(var(--muted-foreground));
  }
.dt-sidebar-security-symbol .\[\&_svg\]\:text-muted-foreground svg {
    color: hsl(var(--muted-foreground) / 0.9);
  }
.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: var(--text-sm);
  line-height: var(--leading-sm);
}
.file\:font-medium::file-selector-button {
  font-weight: 500;
}
.file\:text-foreground::file-selector-button {
  color: hsl(var(--foreground));
}
.placeholder\:text-\[\#545458\]::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(84 84 88 / var(--tw-text-opacity, 1));
}
.placeholder\:text-\[\#545458\]::placeholder {
  --tw-text-opacity: 1;
  color: rgb(84 84 88 / 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));
}
.placeholder\:text-muted-foreground\/50::-moz-placeholder {
  color: hsl(var(--muted-foreground) / 0.5);
}
.placeholder\:text-muted-foreground\/50::placeholder {
  color: hsl(var(--muted-foreground) / 0.5);
}
.placeholder\:text-muted-foreground\/55::-moz-placeholder {
  color: hsl(var(--muted-foreground) / 0.55);
}
.placeholder\:text-muted-foreground\/55::placeholder {
  color: hsl(var(--muted-foreground) / 0.55);
}
.placeholder\:text-muted-foreground\/60::-moz-placeholder {
  color: hsl(var(--muted-foreground) / 0.6);
}
.placeholder\:text-muted-foreground\/60::placeholder {
  color: hsl(var(--muted-foreground) / 0.6);
}
.placeholder\:text-muted-foreground\/70::-moz-placeholder {
  color: hsl(var(--muted-foreground) / 0.7);
}
.placeholder\:text-muted-foreground\/70::placeholder {
  color: hsl(var(--muted-foreground) / 0.7);
}
.placeholder\:text-white\/35::-moz-placeholder {
  color: rgb(255 255 255 / 0.35);
}
.placeholder\:text-white\/35::placeholder {
  color: rgb(255 255 255 / 0.35);
}
.before\:pointer-events-none::before {
  content: var(--tw-content);
  pointer-events: none;
}
.before\:absolute::before {
  content: var(--tw-content);
  position: absolute;
}
.before\:inset-y-1::before {
  content: var(--tw-content);
  top: 0.25rem;
  bottom: 0.25rem;
}
.before\:inset-y-4::before {
  content: var(--tw-content);
  top: 1rem;
  bottom: 1rem;
}
.before\:left-0::before {
  content: var(--tw-content);
  left: 0px;
}
.before\:left-1\/2::before {
  content: var(--tw-content);
  left: 50%;
}
.before\:block::before {
  content: var(--tw-content);
  display: block;
}
.before\:h-px::before {
  content: var(--tw-content);
  height: 1px;
}
.before\:w-1::before {
  content: var(--tw-content);
  width: 0.25rem;
}
.before\:w-px::before {
  content: var(--tw-content);
  width: 1px;
}
.before\:flex-1::before {
  content: var(--tw-content);
  flex: 1 1 0%;
}
.before\:-translate-x-1\/2::before {
  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));
}
.before\:rounded-full::before {
  content: var(--tw-content);
  border-radius: 9999px;
}
.before\:bg-\[hsl\(var\(--primary\)\)\]\/50::before {
  content: var(--tw-content);
  background-color: hsl(var(--primary) / 0.5);
}
.before\:bg-border\/25::before {
  content: var(--tw-content);
  background-color: hsl(var(--border) / 0.25);
}
.before\:bg-border\/35::before {
  content: var(--tw-content);
  background-color: hsl(var(--border) / 0.35);
}
.before\:bg-foreground::before {
  content: var(--tw-content);
  background-color: hsl(var(--foreground));
}
.before\:font-normal::before {
  content: var(--tw-content);
  font-weight: 400;
}
.before\:text-muted-foreground\/50::before {
  content: var(--tw-content);
  color: hsl(var(--muted-foreground) / 0.5);
}
.before\:content-\[\'\'\]::before {
  --tw-content: '';
  content: var(--tw-content);
}
.before\:content-\[attr\(data-placeholder\)\]::before {
  --tw-content: attr(data-placeholder);
  content: var(--tw-content);
}
.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\:h-px::after {
  content: var(--tw-content);
  height: 1px;
}
.after\:w-\[2px\]::after {
  content: var(--tw-content);
  width: 2px;
}
.after\:flex-1::after {
  content: var(--tw-content);
  flex: 1 1 0%;
}
.after\:bg-border\/25::after {
  content: var(--tw-content);
  background-color: hsl(var(--border) / 0.25);
}
.first\:mt-0:first-child {
  margin-top: 0px;
}
.first\:rounded-l-md:first-child {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.first\:border-l:first-child {
  border-left-width: 1px;
}
.first\:pt-1:first-child {
  padding-top: 0.25rem;
}
.first\:text-left:first-child {
  text-align: left;
}
.last\:mb-0:last-child {
  margin-bottom: 0px;
}
.last\:mt-0:last-child {
  margin-top: 0px;
}
.last\:rounded-r-md:last-child {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.last\:border-0:last-child {
  border-width: 0px;
}
.last\:border-b-0:last-child {
  border-bottom-width: 0px;
}
.last\:border-r-0:last-child {
  border-right-width: 0px;
}
.last\:pb-0:last-child {
  padding-bottom: 0px;
}
.last\:pb-2:last-child {
  padding-bottom: 0.5rem;
}
.empty\:before\:block:empty::before {
  content: var(--tw-content);
  display: block;
}
.focus-within\:border-border\/70:focus-within {
  border-color: hsl(var(--border) / 0.7);
}
.focus-within\:bg-muted\/40:focus-within {
  background-color: hsl(var(--muted) / 0.4);
}
.focus-within\:opacity-100:focus-within {
  opacity: 1;
}
.focus-within\:shadow-\[0_2px_6px_rgba\(15\2c 23\2c 42\2c 0\.1\)\2c 0_12px_28px_rgba\(15\2c 23\2c 42\2c 0\.08\)\]:focus-within {
  --tw-shadow: 0 2px 6px rgba(15,23,42,0.1),0 12px 28px rgba(15,23,42,0.08);
  --tw-shadow-colored: 0 2px 6px var(--tw-shadow-color), 0 12px 28px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.focus-within\:ring-foreground\/\[0\.1\]:focus-within {
  --tw-ring-color: hsl(var(--foreground) / 0.1);
}
.hover\:-translate-y-0\.5:hover {
  --tw-translate-y: -0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:scale-110:hover {
  --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));
}
.hover\:border-\[\#404040\]:hover {
  --tw-border-opacity: 1;
  border-color: rgb(64 64 64 / var(--tw-border-opacity, 1));
}
.hover\:border-amber-500\/40:hover {
  border-color: rgb(245 158 11 / 0.4);
}
.hover\:border-border:hover {
  border-color: hsl(var(--border));
}
.hover\:border-border\/50:hover {
  border-color: hsl(var(--border) / 0.5);
}
.hover\:border-border\/55:hover {
  border-color: hsl(var(--border) / 0.55);
}
.hover\:border-border\/60:hover {
  border-color: hsl(var(--border) / 0.6);
}
.hover\:border-border\/70:hover {
  border-color: hsl(var(--border) / 0.7);
}
.hover\:border-destructive:hover {
  border-color: hsl(var(--destructive));
}
.hover\:border-foreground\/25:hover {
  border-color: hsl(var(--foreground) / 0.25);
}
.hover\:border-foreground\/30:hover {
  border-color: hsl(var(--foreground) / 0.3);
}
.hover\:border-foreground\/40:hover {
  border-color: hsl(var(--foreground) / 0.4);
}
.hover\:border-primary\/25:hover {
  border-color: hsl(var(--primary) / 0.25);
}
.hover\:border-primary\/30:hover {
  border-color: hsl(var(--primary) / 0.3);
}
.hover\:border-primary\/40:hover {
  border-color: hsl(var(--primary) / 0.4);
}
.hover\:border-primary\/50:hover {
  border-color: hsl(var(--primary) / 0.5);
}
.hover\:border-ring:hover {
  border-color: hsl(var(--ring));
}
.hover\:border-sky-500\/40:hover {
  border-color: rgb(14 165 233 / 0.4);
}
.hover\:border-violet-500\/40:hover {
  border-color: rgb(139 92 246 / 0.4);
}
.hover\:\!bg-background:hover {
  background-color: hsl(var(--background)) !important;
}
.hover\:\!bg-foreground\/\[0\.1\]:hover {
  background-color: hsl(var(--foreground) / 0.1) !important;
}
.hover\:\!bg-primary\/10:hover {
  background-color: hsl(var(--primary) / 0.1) !important;
}
.hover\:\!bg-primary\/90:hover {
  background-color: hsl(var(--primary) / 0.9) !important;
}
.hover\:bg-\[\#0a0a0a\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(10 10 10 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#767a82\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(118 122 130 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[hsl\(var\(--accent\)\)\]:hover {
  background-color: hsl(var(--accent));
}
.hover\:bg-\[hsl\(var\(--brand-strong\)\)\]:hover {
  background-color: hsl(var(--brand-strong));
}
.hover\:bg-\[var\(--color-accent\)\]:hover {
  background-color: var(--color-accent);
}
.hover\:bg-accent:hover {
  background-color: hsl(var(--accent));
}
.hover\:bg-accent\/30:hover {
  background-color: hsl(var(--accent) / 0.3);
}
.hover\:bg-accent\/40:hover {
  background-color: hsl(var(--accent) / 0.4);
}
.hover\:bg-accent\/45:hover {
  background-color: hsl(var(--accent) / 0.45);
}
.hover\:bg-accent\/50:hover {
  background-color: hsl(var(--accent) / 0.5);
}
.hover\:bg-accent\/60:hover {
  background-color: hsl(var(--accent) / 0.6);
}
.hover\:bg-accent\/70:hover {
  background-color: hsl(var(--accent) / 0.7);
}
.hover\:bg-accent\/90:hover {
  background-color: hsl(var(--accent) / 0.9);
}
.hover\:bg-background:hover {
  background-color: hsl(var(--background));
}
.hover\:bg-background\/40:hover {
  background-color: hsl(var(--background) / 0.4);
}
.hover\:bg-background\/50:hover {
  background-color: hsl(var(--background) / 0.5);
}
.hover\:bg-background\/60:hover {
  background-color: hsl(var(--background) / 0.6);
}
.hover\:bg-background\/80:hover {
  background-color: hsl(var(--background) / 0.8);
}
.hover\:bg-background\/90:hover {
  background-color: hsl(var(--background) / 0.9);
}
.hover\:bg-card:hover {
  background-color: hsl(var(--card));
}
.hover\:bg-destructive\/10:hover {
  background-color: hsl(var(--destructive) / 0.1);
}
.hover\:bg-destructive\/80:hover {
  background-color: hsl(var(--destructive) / 0.8);
}
.hover\:bg-destructive\/90:hover {
  background-color: hsl(var(--destructive) / 0.9);
}
.hover\:bg-emerald-500\/20:hover {
  background-color: rgb(16 185 129 / 0.2);
}
.hover\:bg-foreground\/10:hover {
  background-color: hsl(var(--foreground) / 0.1);
}
.hover\:bg-foreground\/90:hover {
  background-color: hsl(var(--foreground) / 0.9);
}
.hover\:bg-foreground\/\[0\.025\]:hover {
  background-color: hsl(var(--foreground) / 0.025);
}
.hover\:bg-foreground\/\[0\.02\]:hover {
  background-color: hsl(var(--foreground) / 0.02);
}
.hover\:bg-foreground\/\[0\.035\]:hover {
  background-color: hsl(var(--foreground) / 0.035);
}
.hover\:bg-foreground\/\[0\.03\]:hover {
  background-color: hsl(var(--foreground) / 0.03);
}
.hover\:bg-foreground\/\[0\.04\]:hover {
  background-color: hsl(var(--foreground) / 0.04);
}
.hover\:bg-foreground\/\[0\.05\]:hover {
  background-color: hsl(var(--foreground) / 0.05);
}
.hover\:bg-foreground\/\[0\.06\]:hover {
  background-color: hsl(var(--foreground) / 0.06);
}
.hover\:bg-foreground\/\[0\.07\]:hover {
  background-color: hsl(var(--foreground) / 0.07);
}
.hover\:bg-foreground\/\[0\.08\]:hover {
  background-color: hsl(var(--foreground) / 0.08);
}
.hover\:bg-foreground\/\[0\.12\]:hover {
  background-color: hsl(var(--foreground) / 0.12);
}
.hover\:bg-foreground\/\[0\.1\]:hover {
  background-color: hsl(var(--foreground) / 0.1);
}
.hover\:bg-muted:hover {
  background-color: hsl(var(--muted));
}
.hover\:bg-muted\/10:hover {
  background-color: hsl(var(--muted) / 0.1);
}
.hover\:bg-muted\/30:hover {
  background-color: hsl(var(--muted) / 0.3);
}
.hover\:bg-muted\/40:hover {
  background-color: hsl(var(--muted) / 0.4);
}
.hover\:bg-muted\/50:hover {
  background-color: hsl(var(--muted) / 0.5);
}
.hover\:bg-muted\/60:hover {
  background-color: hsl(var(--muted) / 0.6);
}
.hover\:bg-muted\/70:hover {
  background-color: hsl(var(--muted) / 0.7);
}
.hover\:bg-muted\/80:hover {
  background-color: hsl(var(--muted) / 0.8);
}
.hover\:bg-negative\/10:hover {
  background-color: hsl(var(--negative) / 0.1);
}
.hover\:bg-negative\/90:hover {
  background-color: hsl(var(--negative) / 0.9);
}
.hover\:bg-positive\/90:hover {
  background-color: hsl(var(--positive) / 0.9);
}
.hover\:bg-primary:hover {
  background-color: hsl(var(--primary));
}
.hover\:bg-primary\/10:hover {
  background-color: hsl(var(--primary) / 0.1);
}
.hover\:bg-primary\/20:hover {
  background-color: hsl(var(--primary) / 0.2);
}
.hover\:bg-primary\/5:hover {
  background-color: hsl(var(--primary) / 0.05);
}
.hover\:bg-primary\/50:hover {
  background-color: hsl(var(--primary) / 0.5);
}
.hover\:bg-primary\/80:hover {
  background-color: hsl(var(--primary) / 0.8);
}
.hover\:bg-primary\/90:hover {
  background-color: hsl(var(--primary) / 0.9);
}
.hover\:bg-primary\/\[0\.05\]:hover {
  background-color: hsl(var(--primary) / 0.05);
}
.hover\:bg-secondary:hover {
  background-color: hsl(var(--secondary));
}
.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-sidebar-accent\/45:hover {
  background-color: hsl(var(--sidebar-accent) / 0.45);
}
.hover\:bg-transparent:hover {
  background-color: transparent;
}
.hover\:bg-white\/10:hover {
  background-color: rgb(255 255 255 / 0.1);
}
.hover\:bg-white\/\[0\.04\]:hover {
  background-color: rgb(255 255 255 / 0.04);
}
.hover\:bg-white\/\[0\.08\]:hover {
  background-color: rgb(255 255 255 / 0.08);
}
.hover\:text-\[\#C8C8C8\]:hover {
  --tw-text-opacity: 1;
  color: rgb(200 200 200 / var(--tw-text-opacity, 1));
}
.hover\:text-\[\#FAFAFA\]:hover {
  --tw-text-opacity: 1;
  color: rgb(250 250 250 / var(--tw-text-opacity, 1));
}
.hover\:text-\[hsl\(var\(--negative\)\)\]:hover {
  color: hsl(var(--negative));
}
.hover\:text-\[hsl\(var\(--primary\)\)\]:hover {
  color: hsl(var(--primary));
}
.hover\:text-accent-foreground:hover {
  color: hsl(var(--accent-foreground));
}
.hover\:text-amber-300:hover {
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}
.hover\:text-amber-400:hover {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.hover\:text-destructive:hover {
  color: hsl(var(--destructive));
}
.hover\:text-emerald-500:hover {
  --tw-text-opacity: 1;
  color: rgb(16 185 129 / var(--tw-text-opacity, 1));
}
.hover\:text-foreground:hover {
  color: hsl(var(--foreground));
}
.hover\:text-foreground\/80:hover {
  color: hsl(var(--foreground) / 0.8);
}
.hover\:text-muted-foreground:hover {
  color: hsl(var(--muted-foreground));
}
.hover\:text-negative:hover {
  color: hsl(var(--negative));
}
.hover\:text-positive:hover {
  color: hsl(var(--positive));
}
.hover\:text-primary:hover {
  color: hsl(var(--primary));
}
.hover\:text-primary-foreground:hover {
  color: hsl(var(--primary-foreground));
}
.hover\:text-primary\/80:hover {
  color: hsl(var(--primary) / 0.8);
}
.hover\:text-primary\/85:hover {
  color: hsl(var(--primary) / 0.85);
}
.hover\:text-sidebar-accent-foreground:hover {
  color: hsl(var(--sidebar-accent-foreground));
}
.hover\:text-sidebar-foreground:hover {
  color: hsl(var(--sidebar-foreground));
}
.hover\:text-sidebar-foreground\/80:hover {
  color: hsl(var(--sidebar-foreground) / 0.8);
}
.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.hover\:text-white\/80:hover {
  color: rgb(255 255 255 / 0.8);
}
.hover\:underline:hover {
  text-decoration-line: underline;
}
.hover\:no-underline:hover {
  text-decoration-line: none;
}
.hover\:opacity-100:hover {
  opacity: 1;
}
.hover\:opacity-80:hover {
  opacity: 0.8;
}
.hover\:opacity-90:hover {
  opacity: 0.9;
}
.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover {
  --tw-shadow: 0 0 0 1px hsl(var(--sidebar-accent));
  --tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-md:hover {
  --tw-shadow: 0 4px 6px rgba(0,0,0,0.25);
  --tw-shadow-colored: 0 4px 6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-sm:hover {
  --tw-shadow: 0 1px 3px rgba(0,0,0,0.3);
  --tw-shadow-colored: 0 1px 3px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:brightness-125:hover {
  --tw-brightness: brightness(1.25);
  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);
}
.hover\:before\:bg-border\/55:hover::before {
  content: var(--tw-content);
  background-color: hsl(var(--border) / 0.55);
}
.hover\:after\:bg-sidebar-border:hover::after {
  content: var(--tw-content);
  background-color: hsl(var(--sidebar-border));
}
.focus\:bg-\[hsl\(var\(--negative\)\/0\.1\)\]:focus {
  background-color: hsl(var(--negative)/0.1);
}
.focus\:bg-accent:focus {
  background-color: hsl(var(--accent));
}
.focus\:bg-destructive\/10:focus {
  background-color: hsl(var(--destructive) / 0.1);
}
.focus\:bg-foreground\/\[0\.05\]:focus {
  background-color: hsl(var(--foreground) / 0.05);
}
.focus\:bg-foreground\/\[0\.06\]:focus {
  background-color: hsl(var(--foreground) / 0.06);
}
.focus\:bg-transparent:focus {
  background-color: transparent;
}
.focus\:text-\[hsl\(var\(--negative\)\)\]:focus {
  color: hsl(var(--negative));
}
.focus\:text-accent-foreground:focus {
  color: hsl(var(--accent-foreground));
}
.focus\:text-destructive:focus {
  color: hsl(var(--destructive));
}
.focus\:text-foreground:focus {
  color: hsl(var(--foreground));
}
.focus\:opacity-100:focus {
  opacity: 1;
}
.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus\:ring-0:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-1:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-2:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-border\/60:focus {
  --tw-ring-color: hsl(var(--border) / 0.6);
}
.focus\:ring-foreground\/30:focus {
  --tw-ring-color: hsl(var(--foreground) / 0.3);
}
.focus\:ring-ring:focus {
  --tw-ring-color: hsl(var(--ring));
}
.focus\:ring-ring\/35:focus {
  --tw-ring-color: hsl(var(--ring) / 0.35);
}
.focus\:ring-offset-0:focus {
  --tw-ring-offset-width: 0px;
}
.focus\:ring-offset-2:focus {
  --tw-ring-offset-width: 2px;
}
.focus-visible\:border-\[hsl\(var\(--brand\)\)\]:focus-visible {
  border-color: hsl(var(--brand));
}
.focus-visible\:border-primary:focus-visible {
  border-color: hsl(var(--primary));
}
.focus-visible\:border-ring:focus-visible {
  border-color: hsl(var(--ring));
}
.focus-visible\:opacity-100:focus-visible {
  opacity: 1;
}
.focus-visible\:outline-none:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus-visible\:outline:focus-visible {
  outline-style: solid;
}
.focus-visible\:outline-1:focus-visible {
  outline-width: 1px;
}
.focus-visible\:outline-offset-1:focus-visible {
  outline-offset: 1px;
}
.focus-visible\:outline-blue-400:focus-visible {
  outline-color: #60a5fa;
}
.focus-visible\:ring-0:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus-visible\:ring-1:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus-visible\:ring-2:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus-visible\:ring-\[3px\]:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus-visible\:ring-inset:focus-visible {
  --tw-ring-inset: inset;
}
.focus-visible\:ring-\[hsl\(var\(--brand\)\/0\.18\)\]:focus-visible {
  --tw-ring-color: hsl(var(--brand)/0.18);
}
.focus-visible\:ring-\[hsl\(var\(--primary\)\)\]\/30:focus-visible {
  --tw-ring-color: hsl(var(--primary) / 0.3);
}
.focus-visible\:ring-border\/60:focus-visible {
  --tw-ring-color: hsl(var(--border) / 0.6);
}
.focus-visible\:ring-negative:focus-visible {
  --tw-ring-color: hsl(var(--negative));
}
.focus-visible\:ring-primary\/30:focus-visible {
  --tw-ring-color: hsl(var(--primary) / 0.3);
}
.focus-visible\:ring-primary\/40:focus-visible {
  --tw-ring-color: hsl(var(--primary) / 0.4);
}
.focus-visible\:ring-ring:focus-visible {
  --tw-ring-color: hsl(var(--ring));
}
.focus-visible\:ring-ring\/30:focus-visible {
  --tw-ring-color: hsl(var(--ring) / 0.3);
}
.focus-visible\:ring-ring\/35:focus-visible {
  --tw-ring-color: hsl(var(--ring) / 0.35);
}
.focus-visible\:ring-ring\/40:focus-visible {
  --tw-ring-color: hsl(var(--ring) / 0.4);
}
.focus-visible\:ring-ring\/50:focus-visible {
  --tw-ring-color: hsl(var(--ring) / 0.5);
}
.focus-visible\:ring-sidebar-border\/60:focus-visible {
  --tw-ring-color: hsl(var(--sidebar-border) / 0.6);
}
.focus-visible\:ring-sidebar-ring:focus-visible {
  --tw-ring-color: hsl(var(--sidebar-ring));
}
.focus-visible\:ring-offset-0:focus-visible {
  --tw-ring-offset-width: 0px;
}
.focus-visible\:ring-offset-1:focus-visible {
  --tw-ring-offset-width: 1px;
}
.focus-visible\:ring-offset-2:focus-visible {
  --tw-ring-offset-width: 2px;
}
.focus-visible\:ring-offset-background:focus-visible {
  --tw-ring-offset-color: hsl(var(--background));
}
.active\:bg-foreground\/\[0\.05\]:active {
  background-color: hsl(var(--foreground) / 0.05);
}
.active\:bg-primary:active {
  background-color: hsl(var(--primary));
}
.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-100:disabled {
  opacity: 1;
}
.disabled\:opacity-40:disabled {
  opacity: 0.4;
}
.disabled\:opacity-45:disabled {
  opacity: 0.45;
}
.disabled\:opacity-50:disabled {
  opacity: 0.5;
}
.disabled\:opacity-60:disabled {
  opacity: 0.6;
}
.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100 {
  opacity: 1;
}
.group:focus-within .group-focus-within\:opacity-100 {
  opacity: 1;
}
.group:hover .group-hover\:-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:hover .group-hover\:translate-x-0\.5 {
  --tw-translate-x: 0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\: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\:bg-\[hsl\(var\(--primary\)\)\] {
  background-color: hsl(var(--primary));
}
.group:hover .group-hover\:bg-border {
  background-color: hsl(var(--border));
}
.group:hover .group-hover\:bg-primary\/20 {
  background-color: hsl(var(--primary) / 0.2);
}
.group:hover .group-hover\:bg-primary\/50 {
  background-color: hsl(var(--primary) / 0.5);
}
.group\/menu-item:hover .group-hover\/menu-item\:text-sidebar-foreground\/90 {
  color: hsl(var(--sidebar-foreground) / 0.9);
}
.group\/profile:hover .group-hover\/profile\:text-sidebar-foreground {
  color: hsl(var(--sidebar-foreground));
}
.group\/profile:hover .group-hover\/profile\:text-sidebar-foreground\/70 {
  color: hsl(var(--sidebar-foreground) / 0.7);
}
.group\/session:hover .group-hover\/session\:text-sidebar-foreground\/70 {
  color: hsl(var(--sidebar-foreground) / 0.7);
}
.group:hover .group-hover\:text-primary {
  color: hsl(var(--primary));
}
.group\/folder:hover .group-hover\/folder\:opacity-100 {
  opacity: 1;
}
.group\/header:hover .group-hover\/header\:opacity-70 {
  opacity: 0.7;
}
.group\/menu-item:hover .group-hover\/menu-item\:opacity-100 {
  opacity: 1;
}
.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}
.group:hover .group-hover\:opacity-70 {
  opacity: 0.7;
}
.group:focus-visible .group-focus-visible\:bg-\[hsl\(var\(--primary\)\)\] {
  background-color: hsl(var(--primary));
}
.group:focus-visible .group-focus-visible\:bg-primary\/50 {
  background-color: hsl(var(--primary) / 0.5);
}
.group:focus-visible .group-focus-visible\:opacity-100 {
  opacity: 1;
}
.group.destructive .group-\[\.destructive\]\:border-muted\/40 {
  border-color: hsl(var(--muted) / 0.4);
}
.group.toaster .group-\[\.toaster\]\:border-border {
  border-color: hsl(var(--border));
}
.group.toast .group-\[\.toast\]\:bg-muted {
  background-color: hsl(var(--muted));
}
.group.toast .group-\[\.toast\]\:bg-primary {
  background-color: hsl(var(--primary));
}
.group.toaster .group-\[\.toaster\]\:bg-background {
  background-color: hsl(var(--background));
}
.group.destructive .group-\[\.destructive\]\:text-red-300 {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
.group.toast .group-\[\.toast\]\:text-muted-foreground {
  color: hsl(var(--muted-foreground));
}
.group.toast .group-\[\.toast\]\:text-primary-foreground {
  color: hsl(var(--primary-foreground));
}
.group.toaster .group-\[\.toaster\]\:text-foreground {
  color: hsl(var(--foreground));
}
.group.toaster .group-\[\.toaster\]\:shadow-lg {
  --tw-shadow: 0 10px 15px rgba(0,0,0,0.3);
  --tw-shadow-colored: 0 10px 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover {
  border-color: hsl(var(--destructive) / 0.3);
}
.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover {
  background-color: hsl(var(--destructive));
}
.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover {
  color: hsl(var(--destructive-foreground));
}
.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover {
  --tw-text-opacity: 1;
  color: rgb(254 242 242 / var(--tw-text-opacity, 1));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus {
  --tw-ring-color: hsl(var(--destructive));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus {
  --tw-ring-offset-color: #dc2626;
}
.peer\/menu-button:hover ~ .peer-hover\/menu-button\:text-sidebar-accent-foreground {
  color: hsl(var(--sidebar-accent-foreground));
}
.peer:disabled ~ .peer-disabled\:cursor-not-allowed {
  cursor: not-allowed;
}
.peer:disabled ~ .peer-disabled\:opacity-70 {
  opacity: 0.7;
}
.has-\[\>button\]\:ml-\[-0\.45rem\]:has(>button) {
  margin-left: -0.45rem;
}
.has-\[\>button\]\:mr-\[-0\.4rem\]:has(>button) {
  margin-right: -0.4rem;
}
.has-\[\>kbd\]\:ml-\[-0\.35rem\]:has(>kbd) {
  margin-left: -0.35rem;
}
.has-\[\>kbd\]\:mr-\[-0\.35rem\]:has(>kbd) {
  margin-right: -0.35rem;
}
.has-\[\>\[data-align\=block-end\]\]\:h-auto:has(>[data-align=block-end]) {
  height: auto;
}
.has-\[\>\[data-align\=block-start\]\]\:h-auto:has(>[data-align=block-start]) {
  height: auto;
}
.has-\[\>textarea\]\:h-auto:has(>textarea) {
  height: auto;
}
.has-\[\>\[data-slot\=field\]\]\:w-full:has(>[data-slot=field]) {
  width: 100%;
}
.has-\[\>\[data-align\=block-end\]\]\:flex-col:has(>[data-align=block-end]) {
  flex-direction: column;
}
.has-\[\>\[data-align\=block-start\]\]\:flex-col:has(>[data-align=block-start]) {
  flex-direction: column;
}
.has-\[\>\[data-slot\=field\]\]\:flex-col:has(>[data-slot=field]) {
  flex-direction: column;
}
.has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]) {
  align-items: flex-start;
}
.has-\[\>\[data-slot\=button-group\]\]\:gap-2:has(>[data-slot=button-group]) {
  gap: 0.5rem;
}
.has-\[\>\[data-slot\=checkbox-group\]\]\:gap-3:has(>[data-slot=checkbox-group]) {
  gap: 0.75rem;
}
.has-\[\>\[data-slot\=radio-group\]\]\:gap-3:has(>[data-slot=radio-group]) {
  gap: 0.75rem;
}
.has-\[\>\[data-slot\=field\]\]\:rounded-md:has(>[data-slot=field]) {
  border-radius: 4px;
}
.has-\[\>\[data-slot\=field\]\]\:border:has(>[data-slot=field]) {
  border-width: 1px;
}
.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:border-destructive:has([data-slot][aria-invalid=true]) {
  border-color: hsl(var(--destructive));
}
.has-\[\[data-variant\=inset\]\]\:bg-sidebar:has([data-variant=inset]) {
  background-color: hsl(var(--sidebar-background));
}
.has-\[\>svg\]\:p-0:has(>svg) {
  padding: 0px;
}
.has-\[\>svg\]\:px-2:has(>svg) {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.has-\[\>svg\]\:px-2\.5:has(>svg) {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
.has-\[\:disabled\]\:opacity-50:has(:disabled) {
  opacity: 0.5;
}
.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-1:has([data-slot=input-group-control]:focus-visible) {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring:has([data-slot=input-group-control]:focus-visible) {
  --tw-ring-color: hsl(var(--ring));
}
.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid=true]) {
  --tw-ring-color: hsl(var(--destructive) / 0.2);
}
.group\/item:has([data-slot=item-description]) .group-has-\[\[data-slot\=item-description\]\]\/item\:translate-y-0\.5 {
  --tw-translate-y: 0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group\/item:has([data-slot=item-description]) .group-has-\[\[data-slot\=item-description\]\]\/item\:self-start {
  align-self: flex-start;
}
.group\/field:has([data-orientation=horizontal]) .group-has-\[\[data-orientation\=horizontal\]\]\/field\:text-balance {
  text-wrap: balance;
}
.group\/input-group:has(>input) .group-has-\[\>input\]\/input-group\:pb-2\.5 {
  padding-bottom: 0.625rem;
}
.group\/input-group:has(>input) .group-has-\[\>input\]\/input-group\:pt-2\.5 {
  padding-top: 0.625rem;
}
.group\/menu-item:has([data-sidebar=menu-action]) .group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8 {
  padding-right: 2rem;
}
.aria-disabled\:pointer-events-none[aria-disabled="true"] {
  pointer-events: none;
}
.aria-disabled\:opacity-50[aria-disabled="true"] {
  opacity: 0.5;
}
.aria-selected\:text-muted-foreground[aria-selected="true"] {
  color: hsl(var(--muted-foreground));
}
.data-\[disabled\=true\]\:pointer-events-none[data-disabled="true"] {
  pointer-events: none;
}
.data-\[disabled\]\:pointer-events-none[data-disabled] {
  pointer-events: none;
}
.data-\[orientation\=vertical\]\:h-auto[data-orientation="vertical"] {
  height: auto;
}
.data-\[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-5[data-state="checked"] {
  --tw-translate-x: 1.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[state\=unchecked\]\:translate-x-0[data-state="unchecked"] {
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[swipe\=cancel\]\:translate-x-0[data-swipe="cancel"] {
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe="end"] {
  --tw-translate-x: var(--radix-toast-swipe-end-x);
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe="move"] {
  --tw-translate-x: var(--radix-toast-swipe-move-x);
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes accordion-up {

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

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

  from {
    height: 0;
  }

  to {
    height: var(--radix-accordion-content-height);
  }
}
.data-\[state\=open\]\:animate-accordion-down[data-state="open"] {
  animation: accordion-down 0.2s ease-out;
}
.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction="vertical"] {
  flex-direction: column;
}
.data-\[slot\=checkbox-group\]\:gap-3[data-slot="checkbox-group"] {
  gap: 0.75rem;
}
.data-\[range-end\=true\]\:rounded-md[data-range-end="true"] {
  border-radius: 4px;
}
.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: 4px;
}
.data-\[selected\=true\]\:rounded-none[data-selected="true"] {
  border-radius: 0px;
}
.data-\[state\=active\]\:border-foreground[data-state="active"] {
  border-color: hsl(var(--foreground));
}
.data-\[state\=active\]\:border-primary[data-state="active"] {
  border-color: hsl(var(--primary));
}
.data-\[state\=checked\]\:border-primary[data-state="checked"] {
  border-color: hsl(var(--primary));
}
.data-\[state\=open\]\:border-border[data-state="open"] {
  border-color: hsl(var(--border));
}
.data-\[state\=open\]\:border-border\/60[data-state="open"] {
  border-color: hsl(var(--border) / 0.6);
}
.data-\[state\=open\]\:border-primary[data-state="open"] {
  border-color: hsl(var(--primary));
}
.data-\[state\=open\]\:border-primary\/35[data-state="open"] {
  border-color: hsl(var(--primary) / 0.35);
}
.data-\[state\=active\]\:border-b-foreground[data-state="active"] {
  border-bottom-color: hsl(var(--foreground));
}
.data-\[active\=true\]\:bg-sidebar-accent[data-active="true"] {
  background-color: hsl(var(--sidebar-accent));
}
.data-\[highlighted\]\:bg-\[hsl\(var\(--negative\)\/0\.1\)\][data-highlighted] {
  background-color: hsl(var(--negative)/0.1);
}
.data-\[highlighted\]\:bg-accent[data-highlighted] {
  background-color: hsl(var(--accent));
}
.data-\[highlighted\]\:bg-foreground\/\[0\.05\][data-highlighted] {
  background-color: hsl(var(--foreground) / 0.05);
}
.data-\[highlighted\]\:bg-foreground\/\[0\.06\][data-highlighted] {
  background-color: hsl(var(--foreground) / 0.06);
}
.data-\[highlighted\]\:bg-transparent[data-highlighted] {
  background-color: transparent;
}
.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-accent[data-state="active"] {
  background-color: hsl(var(--accent));
}
.data-\[state\=active\]\:bg-background[data-state="active"] {
  background-color: hsl(var(--background));
}
.data-\[state\=active\]\:bg-foreground\/\[0\.08\][data-state="active"] {
  background-color: hsl(var(--foreground) / 0.08);
}
.data-\[state\=active\]\:bg-transparent[data-state="active"] {
  background-color: transparent;
}
.data-\[state\=checked\]\:bg-\[hsl\(var\(--positive\)\)\][data-state="checked"] {
  background-color: hsl(var(--positive));
}
.data-\[state\=checked\]\:bg-\[var\(--color-accent\)\][data-state="checked"] {
  background-color: var(--color-accent);
}
.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\=on\]\:bg-positive[data-state="on"] {
  background-color: hsl(var(--positive));
}
.data-\[state\=on\]\:bg-primary[data-state="on"] {
  background-color: hsl(var(--primary));
}
.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-background[data-state="open"] {
  background-color: hsl(var(--background));
}
.data-\[state\=open\]\:bg-background\/60[data-state="open"] {
  background-color: hsl(var(--background) / 0.6);
}
.data-\[state\=open\]\:bg-foreground\/\[0\.04\][data-state="open"] {
  background-color: hsl(var(--foreground) / 0.04);
}
.data-\[state\=open\]\:bg-foreground\/\[0\.05\][data-state="open"] {
  background-color: hsl(var(--foreground) / 0.05);
}
.data-\[state\=open\]\:bg-foreground\/\[0\.07\][data-state="open"] {
  background-color: hsl(var(--foreground) / 0.07);
}
.data-\[state\=open\]\:bg-foreground\/\[0\.08\][data-state="open"] {
  background-color: hsl(var(--foreground) / 0.08);
}
.data-\[state\=open\]\:bg-secondary[data-state="open"] {
  background-color: hsl(var(--secondary));
}
.data-\[state\=open\]\:bg-sidebar-accent[data-state="open"] {
  background-color: hsl(var(--sidebar-accent));
}
.data-\[state\=selected\]\:bg-foreground\/\[0\.06\][data-state="selected"] {
  background-color: hsl(var(--foreground) / 0.06);
}
.data-\[state\=unchecked\]\:bg-input[data-state="unchecked"] {
  background-color: hsl(var(--input));
}
.data-\[state\=unchecked\]\:bg-muted-foreground\/30[data-state="unchecked"] {
  background-color: hsl(var(--muted-foreground) / 0.3);
}
.data-\[state\=unchecked\]\:bg-white\/15[data-state="unchecked"] {
  background-color: rgb(255 255 255 / 0.15);
}
.data-\[variant\=label\]\:text-sm[data-variant="label"] {
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
}
.data-\[variant\=legend\]\:text-base[data-variant="legend"] {
  font-size: var(--text-base);
  line-height: var(--leading-base);
}
.data-\[active\=true\]\:font-medium[data-active="true"] {
  font-weight: 500;
}
.data-\[state\=active\]\:font-semibold[data-state="active"] {
  font-weight: 600;
}
.data-\[state\=on\]\:font-semibold[data-state="on"] {
  font-weight: 600;
}
.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active="true"] {
  color: hsl(var(--sidebar-accent-foreground));
}
.data-\[highlighted\]\:text-\[hsl\(var\(--negative\)\)\][data-highlighted] {
  color: hsl(var(--negative));
}
.data-\[highlighted\]\:text-accent-foreground[data-highlighted] {
  color: hsl(var(--accent-foreground));
}
.data-\[highlighted\]\:text-foreground[data-highlighted] {
  color: hsl(var(--foreground));
}
.data-\[invalid\=true\]\:text-destructive[data-invalid="true"] {
  color: hsl(var(--destructive));
}
.data-\[placeholder\]\:text-muted-foreground[data-placeholder] {
  color: hsl(var(--muted-foreground));
}
.data-\[range-end\=true\]\:text-primary-foreground[data-range-end="true"] {
  color: hsl(var(--primary-foreground));
}
.data-\[range-middle\=true\]\:text-accent-foreground[data-range-middle="true"] {
  color: hsl(var(--accent-foreground));
}
.data-\[range-start\=true\]\:text-primary-foreground[data-range-start="true"] {
  color: hsl(var(--primary-foreground));
}
.data-\[selected-single\=true\]\:text-primary-foreground[data-selected-single="true"] {
  color: hsl(var(--primary-foreground));
}
.data-\[selected\=true\]\:text-accent-foreground[data-selected="true"] {
  color: hsl(var(--accent-foreground));
}
.data-\[state\=active\]\:text-accent-foreground[data-state="active"] {
  color: hsl(var(--accent-foreground));
}
.data-\[state\=active\]\:text-foreground[data-state="active"] {
  color: hsl(var(--foreground));
}
.data-\[state\=active\]\:text-primary[data-state="active"] {
  color: hsl(var(--primary));
}
.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\=on\]\:text-primary-foreground[data-state="on"] {
  color: hsl(var(--primary-foreground));
}
.data-\[state\=on\]\:text-white[data-state="on"] {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.data-\[state\=open\]\:text-accent-foreground[data-state="open"] {
  color: hsl(var(--accent-foreground));
}
.data-\[state\=open\]\:text-foreground[data-state="open"] {
  color: hsl(var(--foreground));
}
.data-\[state\=open\]\:text-muted-foreground[data-state="open"] {
  color: hsl(var(--muted-foreground));
}
.data-\[disabled\=true\]\:opacity-50[data-disabled="true"] {
  opacity: 0.5;
}
.data-\[disabled\]\:opacity-50[data-disabled] {
  opacity: 0.5;
}
.data-\[state\=open\]\:opacity-100[data-state="open"] {
  opacity: 1;
}
.data-\[state\=active\]\:shadow-\[inset_0_0_0_1px_hsl\(var\(--border\)\)\][data-state="active"] {
  --tw-shadow: inset 0 0 0 1px hsl(var(--border));
  --tw-shadow-colored: inset 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);
}
.data-\[state\=active\]\:shadow-none[data-state="active"] {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.data-\[state\=on\]\:shadow-\[0_1px_3px_hsl\(var\(--primary\)\/0\.35\)\][data-state="on"] {
  --tw-shadow: 0 1px 3px hsl(var(--primary)/0.35);
  --tw-shadow-colored: 0 1px 3px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.data-\[state\=open\]\:shadow-sm[data-state="open"] {
  --tw-shadow: 0 1px 3px rgba(0,0,0,0.3);
  --tw-shadow-colored: 0 1px 3px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.data-\[state\=on\]\:ring-1[data-state="on"] {
  --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);
}
.data-\[state\=open\]\:ring-1[data-state="open"] {
  --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);
}
.data-\[state\=on\]\:ring-primary\/40[data-state="on"] {
  --tw-ring-color: hsl(var(--primary) / 0.4);
}
.data-\[state\=open\]\:ring-primary\/20[data-state="open"] {
  --tw-ring-color: hsl(var(--primary) / 0.2);
}
.data-\[state\=open\]\:ring-primary\/30[data-state="open"] {
  --tw-ring-color: hsl(var(--primary) / 0.3);
}
.data-\[swipe\=move\]\:transition-none[data-swipe="move"] {
  transition-property: none;
}
.data-\[state\=closed\]\:duration-150[data-state="closed"] {
  transition-duration: 150ms;
}
.data-\[state\=closed\]\:duration-300[data-state="closed"] {
  transition-duration: 300ms;
}
.data-\[state\=open\]\:duration-200[data-state="open"] {
  transition-duration: 200ms;
}
.data-\[state\=open\]\:duration-500[data-state="open"] {
  transition-duration: 500ms;
}
.data-\[motion\^\=from-\]\:animate-in[data-motion^="from-"] {
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}
.data-\[state\=open\]\:animate-in[data-state="open"] {
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}
.data-\[state\=visible\]\:animate-in[data-state="visible"] {
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}
.data-\[motion\^\=to-\]\:animate-out[data-motion^="to-"] {
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}
.data-\[state\=closed\]\:animate-out[data-state="closed"] {
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}
.data-\[state\=hidden\]\:animate-out[data-state="hidden"] {
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}
.data-\[swipe\=end\]\:animate-out[data-swipe="end"] {
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}
.data-\[motion\^\=from-\]\:fade-in[data-motion^="from-"] {
  --tw-enter-opacity: 0;
}
.data-\[motion\^\=to-\]\:fade-out[data-motion^="to-"] {
  --tw-exit-opacity: 0;
}
.data-\[state\=closed\]\:fade-out-0[data-state="closed"] {
  --tw-exit-opacity: 0;
}
.data-\[state\=closed\]\:fade-out-80[data-state="closed"] {
  --tw-exit-opacity: 0.8;
}
.data-\[state\=hidden\]\:fade-out[data-state="hidden"] {
  --tw-exit-opacity: 0;
}
.data-\[state\=open\]\:fade-in-0[data-state="open"] {
  --tw-enter-opacity: 0;
}
.data-\[state\=visible\]\:fade-in[data-state="visible"] {
  --tw-enter-opacity: 0;
}
.data-\[state\=closed\]\:zoom-out-95[data-state="closed"] {
  --tw-exit-scale: .95;
}
.data-\[state\=closed\]\:zoom-out-\[0\.98\][data-state="closed"] {
  --tw-exit-scale: 0.98;
}
.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-\[state\=open\]\:zoom-in-\[0\.98\][data-state="open"] {
  --tw-enter-scale: 0.98;
}
.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion="from-end"] {
  --tw-enter-translate-x: 13rem;
}
.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion="from-start"] {
  --tw-enter-translate-x: -13rem;
}
.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion="to-end"] {
  --tw-exit-translate-x: 13rem;
}
.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion="to-start"] {
  --tw-exit-translate-x: -13rem;
}
.data-\[side\=bottom\]\:slide-in-from-top-2[data-side="bottom"] {
  --tw-enter-translate-y: -0.5rem;
}
.data-\[side\=left\]\:slide-in-from-right-2[data-side="left"] {
  --tw-enter-translate-x: 0.5rem;
}
.data-\[side\=right\]\:slide-in-from-left-2[data-side="right"] {
  --tw-enter-translate-x: -0.5rem;
}
.data-\[side\=top\]\:slide-in-from-bottom-2[data-side="top"] {
  --tw-enter-translate-y: 0.5rem;
}
.data-\[state\=closed\]\:slide-out-to-bottom[data-state="closed"] {
  --tw-exit-translate-y: 100%;
}
.data-\[state\=closed\]\:slide-out-to-left[data-state="closed"] {
  --tw-exit-translate-x: -100%;
}
.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state="closed"] {
  --tw-exit-translate-x: -50%;
}
.data-\[state\=closed\]\:slide-out-to-right[data-state="closed"] {
  --tw-exit-translate-x: 100%;
}
.data-\[state\=closed\]\:slide-out-to-right-full[data-state="closed"] {
  --tw-exit-translate-x: 100%;
}
.data-\[state\=closed\]\:slide-out-to-top[data-state="closed"] {
  --tw-exit-translate-y: -100%;
}
.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state="closed"] {
  --tw-exit-translate-y: -48%;
}
.data-\[state\=open\]\:slide-in-from-bottom[data-state="open"] {
  --tw-enter-translate-y: 100%;
}
.data-\[state\=open\]\:slide-in-from-left[data-state="open"] {
  --tw-enter-translate-x: -100%;
}
.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state="open"] {
  --tw-enter-translate-x: -50%;
}
.data-\[state\=open\]\:slide-in-from-right[data-state="open"] {
  --tw-enter-translate-x: 100%;
}
.data-\[state\=open\]\:slide-in-from-top[data-state="open"] {
  --tw-enter-translate-y: -100%;
}
.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state="open"] {
  --tw-enter-translate-y: -48%;
}
.data-\[state\=open\]\:slide-in-from-top-full[data-state="open"] {
  --tw-enter-translate-y: -100%;
}
.data-\[state\=closed\]\:duration-150[data-state="closed"] {
  animation-duration: 150ms;
}
.data-\[state\=closed\]\:duration-300[data-state="closed"] {
  animation-duration: 300ms;
}
.data-\[state\=open\]\:duration-200[data-state="open"] {
  animation-duration: 200ms;
}
.data-\[state\=open\]\:duration-500[data-state="open"] {
  animation-duration: 500ms;
}
.data-\[state\=selected\]\:before\:absolute[data-state="selected"]::before {
  content: var(--tw-content);
  position: absolute;
}
.data-\[state\=selected\]\:before\:inset-y-0[data-state="selected"]::before {
  content: var(--tw-content);
  top: 0px;
  bottom: 0px;
}
.data-\[state\=selected\]\:before\:left-0[data-state="selected"]::before {
  content: var(--tw-content);
  left: 0px;
}
.data-\[state\=selected\]\:before\:w-\[2px\][data-state="selected"]::before {
  content: var(--tw-content);
  width: 2px;
}
.data-\[state\=selected\]\:before\:bg-primary[data-state="selected"]::before {
  content: var(--tw-content);
  background-color: hsl(var(--primary));
}
.data-\[state\=active\]\:hover\:bg-background:hover[data-state="active"] {
  background-color: hsl(var(--background));
}
.data-\[state\=active\]\:hover\:bg-foreground\/\[0\.12\]:hover[data-state="active"] {
  background-color: hsl(var(--foreground) / 0.12);
}
.data-\[state\=on\]\:hover\:bg-primary\/90:hover[data-state="on"] {
  background-color: hsl(var(--primary) / 0.9);
}
.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\=active\]\:hover\:text-foreground:hover[data-state="active"] {
  color: hsl(var(--foreground));
}
.data-\[state\=on\]\:hover\:text-primary-foreground:hover[data-state="on"] {
  color: hsl(var(--primary-foreground));
}
.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state="open"] {
  color: hsl(var(--sidebar-accent-foreground));
}
.data-\[state\=open\]\:focus\:bg-accent:focus[data-state="open"] {
  background-color: hsl(var(--accent));
}
.group\/day[data-focused="true"] .group-data-\[focused\=true\]\/day\:relative {
  position: relative;
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\] {
  left: calc(var(--sidebar-width) * -1);
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\] {
  right: calc(var(--sidebar-width) * -1);
}
.group[data-side="left"] .group-data-\[side\=left\]\:-right-4 {
  right: -1rem;
}
.group[data-side="right"] .group-data-\[side\=right\]\:left-0 {
  left: 0px;
}
.group\/day[data-focused="true"] .group-data-\[focused\=true\]\/day\:z-10 {
  z-index: 10;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:-mt-8 {
  margin-top: -2rem;
}
.group\/field-group[data-variant="outline"] .group-data-\[variant\=outline\]\/field-group\:-mb-2 {
  margin-bottom: -0.5rem;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:hidden {
  display: none;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!size-8 {
  width: 2rem !important;
  height: 2rem !important;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[--sidebar-width-icon\] {
  width: var(--sidebar-width-icon);
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\] {
  width: calc(var(--sidebar-width-icon) + 1rem);
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\] {
  width: calc(var(--sidebar-width-icon) + 1rem + 2px);
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:w-0 {
  width: 0px;
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:translate-x-0 {
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group[data-side="right"] .group-data-\[side\=right\]\:rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group[data-state="open"] .group-data-\[state\=open\]\:rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:overflow-hidden {
  overflow: hidden;
}
.group[data-variant="floating"] .group-data-\[variant\=floating\]\:rounded-lg {
  border-radius: 6px;
}
.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border {
  border-width: 1px;
}
.group[data-side="left"] .group-data-\[side\=left\]\:border-r {
  border-right-width: 1px;
}
.group[data-side="right"] .group-data-\[side\=right\]\:border-l {
  border-left-width: 1px;
}
.group\/day[data-focused="true"] .group-data-\[focused\=true\]\/day\:border-ring {
  border-color: hsl(var(--ring));
}
.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border-sidebar-border {
  border-color: hsl(var(--sidebar-border));
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!p-0 {
  padding: 0px !important;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!p-2 {
  padding: 0.5rem !important;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:px-0 {
  padding-left: 0px;
  padding-right: 0px;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:opacity-0 {
  opacity: 0;
}
.group\/field[data-disabled="true"] .group-data-\[disabled\=true\]\/field\:opacity-50 {
  opacity: 0.5;
}
.group\/input-group[data-disabled="true"] .group-data-\[disabled\=true\]\/input-group\:opacity-50 {
  opacity: 0.5;
}
.group[data-variant="floating"] .group-data-\[variant\=floating\]\:shadow {
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.group\/day[data-focused="true"] .group-data-\[focused\=true\]\/day\:ring-\[3px\] {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.group\/day[data-focused="true"] .group-data-\[focused\=true\]\/day\:ring-ring\/50 {
  --tw-ring-color: hsl(var(--ring) / 0.5);
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:after\:left-full::after {
  content: var(--tw-content);
  left: 100%;
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:hover\:bg-sidebar:hover {
  background-color: hsl(var(--sidebar-background));
}
.peer\/menu-button[data-size="default"] ~ .peer-data-\[size\=default\]\/menu-button\:top-1\.5 {
  top: 0.375rem;
}
.peer\/menu-button[data-size="lg"] ~ .peer-data-\[size\=lg\]\/menu-button\:top-2\.5 {
  top: 0.625rem;
}
.peer\/menu-button[data-size="sm"] ~ .peer-data-\[size\=sm\]\/menu-button\:top-1 {
  top: 0.25rem;
}
.peer\/menu-button[data-active="true"] ~ .peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground {
  color: hsl(var(--sidebar-accent-foreground));
}
.dark\:bg-foreground\/\[0\.02\]:is(.dark *) {
  background-color: hsl(var(--foreground) / 0.02);
}
.dark\:bg-foreground\/\[0\.04\]:is(.dark *) {
  background-color: hsl(var(--foreground) / 0.04);
}
.dark\:bg-foreground\/\[0\.07\]:is(.dark *) {
  background-color: hsl(var(--foreground) / 0.07);
}
.dark\:bg-input\/30:is(.dark *) {
  background-color: hsl(var(--input) / 0.3);
}
.dark\:bg-transparent:is(.dark *) {
  background-color: transparent;
}
.dark\:from-amber-950\/50:is(.dark *) {
  --tw-gradient-from: rgb(69 26 3 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(69 26 3 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-emerald-950\/50:is(.dark *) {
  --tw-gradient-from: rgb(2 44 34 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(2 44 34 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-orange-950\/50:is(.dark *) {
  --tw-gradient-from: rgb(67 20 7 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(67 20 7 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-rose-950\/50:is(.dark *) {
  --tw-gradient-from: rgb(76 5 25 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(76 5 25 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-sky-950\/50:is(.dark *) {
  --tw-gradient-from: rgb(8 47 73 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(8 47 73 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-violet-950\/50:is(.dark *) {
  --tw-gradient-from: rgb(46 16 101 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(46 16 101 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:to-amber-950\/20:is(.dark *) {
  --tw-gradient-to: rgb(69 26 3 / 0.2) var(--tw-gradient-to-position);
}
.dark\:to-blue-950\/20:is(.dark *) {
  --tw-gradient-to: rgb(23 37 84 / 0.2) var(--tw-gradient-to-position);
}
.dark\:to-green-950\/20:is(.dark *) {
  --tw-gradient-to: rgb(5 46 22 / 0.2) var(--tw-gradient-to-position);
}
.dark\:to-purple-950\/20:is(.dark *) {
  --tw-gradient-to: rgb(59 7 100 / 0.2) var(--tw-gradient-to-position);
}
.dark\:to-rose-950\/20:is(.dark *) {
  --tw-gradient-to: rgb(76 5 25 / 0.2) var(--tw-gradient-to-position);
}
.dark\:to-yellow-950\/20:is(.dark *) {
  --tw-gradient-to: rgb(66 32 6 / 0.2) var(--tw-gradient-to-position);
}
.dark\:text-amber-100:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(254 243 199 / var(--tw-text-opacity, 1));
}
.dark\:text-amber-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.dark\:text-cyan-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(34 211 238 / var(--tw-text-opacity, 1));
}
.dark\:text-emerald-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.dark\:text-rose-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(251 113 133 / var(--tw-text-opacity, 1));
}
.dark\:text-sky-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(56 189 248 / var(--tw-text-opacity, 1));
}
.dark\:text-violet-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(167 139 250 / var(--tw-text-opacity, 1));
}
.dark\:text-yellow-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}
.dark\:hover\:bg-foreground\/\[0\.05\]:hover:is(.dark *) {
  background-color: hsl(var(--foreground) / 0.05);
}
.dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:has([data-slot][aria-invalid=true]):is(.dark *) {
  --tw-ring-color: hsl(var(--destructive) / 0.4);
}
@media (min-width: 640px) {

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

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

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

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

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

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

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

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

  .sm\:inline {
    display: inline;
  }

  .sm\:flex {
    display: flex;
  }

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

  .sm\:hidden {
    display: none;
  }

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

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

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

  .sm\:max-w-\[calc\(100vw-2rem\)\] {
    max-width: calc(100vw - 2rem);
  }

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

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

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

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

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

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

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

  .sm\:grid-cols-\[minmax\(0\2c 1fr\)_140px\] {
    grid-template-columns: minmax(0,1fr) 140px;
  }

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

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

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

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

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

  .sm\:gap-10 {
    gap: 2.5rem;
  }

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

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

  .sm\:rounded-lg {
    border-radius: 6px;
  }

  .sm\:rounded-xl {
    border-radius: 8px;
  }

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

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

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

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

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

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

  .sm\:text-\[1\.75rem\] {
    font-size: 1.75rem;
  }

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

  .sm\:transition-opacity {
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }

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

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

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

  .md\:absolute {
    position: absolute;
  }

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

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

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

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

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

  .md\:block {
    display: block;
  }

  .md\:inline {
    display: inline;
  }

  .md\:flex {
    display: flex;
  }

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

  .md\:w-\[min\(280px\2c 32\%\)\] {
    width: min(280px, 32%);
  }

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

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

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

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

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

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

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

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

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

  .md\:grid-cols-\[280px_1fr\] {
    grid-template-columns: 280px 1fr;
  }

  .md\:grid-rows-\[auto_auto_minmax\(0\2c 1fr\)\] {
    grid-template-rows: auto auto minmax(0,1fr);
  }

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

  .md\:items-stretch {
    align-items: stretch;
  }

  .md\:border-b-0 {
    border-bottom-width: 0px;
  }

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

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

  .md\:p-16 {
    padding: 4rem;
  }

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

  .md\:text-sm {
    font-size: var(--text-sm);
    line-height: var(--leading-sm);
  }

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

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

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

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

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

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

  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:shadow {
    --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }
}
@media (min-width: 1024px) {

  .lg\:order-last {
    order: 9999;
  }

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

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

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

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

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

  .lg\:col-start-1 {
    grid-column-start: 1;
  }

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

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

  .lg\:row-start-1 {
    grid-row-start: 1;
  }

  .lg\:row-start-2 {
    grid-row-start: 2;
  }

  .lg\:inline {
    display: inline;
  }

  .lg\:flex {
    display: flex;
  }

  .lg\:hidden {
    display: none;
  }

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

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

  .lg\:h-full {
    height: 100%;
  }

  .lg\:max-h-\[min\(42vh\2c 420px\)\] {
    max-height: min(42vh, 420px);
  }

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

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

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

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

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

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

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

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

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

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

  .lg\:grid-cols-\[1\.08fr_1\.1fr_1\.02fr\] {
    grid-template-columns: 1.08fr 1.1fr 1.02fr;
  }

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

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

  .lg\:grid-cols-\[220px_minmax\(0\2c 1fr\)\] {
    grid-template-columns: 220px minmax(0,1fr);
  }

  .lg\:grid-cols-\[minmax\(0\2c 1\.1fr\)_minmax\(0\2c 0\.9fr\)\] {
    grid-template-columns: minmax(0,1.1fr) minmax(0,0.9fr);
  }

  .lg\:grid-cols-\[minmax\(0\2c 1\.55fr\)_minmax\(0\2c 1fr\)\] {
    grid-template-columns: minmax(0,1.55fr) minmax(0,1fr);
  }

  .lg\:grid-cols-\[minmax\(300px\2c 1fr\)_minmax\(0\2c 1\.65fr\)\] {
    grid-template-columns: minmax(300px,1fr) minmax(0,1.65fr);
  }

  .lg\:grid-rows-\[auto_minmax\(0\2c 1fr\)\] {
    grid-template-rows: auto minmax(0,1fr);
  }

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

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

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

  .lg\:items-stretch {
    align-items: stretch;
  }

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

  .lg\:overflow-visible {
    overflow: visible;
  }

  .lg\:border-b-0 {
    border-bottom-width: 0px;
  }

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

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

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

  .lg\:px-16 {
    padding-left: 4rem;
    padding-right: 4rem;
  }

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

  .lg\:text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--leading-2xl);
  }
}
@media (min-width: 1280px) {

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

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

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

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

  .xl\:inline {
    display: inline;
  }

  .xl\:flex {
    display: flex;
  }

  .xl\:hidden {
    display: none;
  }

  .xl\:h-11 {
    height: 2.75rem;
  }

  .xl\:w-11 {
    width: 2.75rem;
  }

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

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

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

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

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

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

  .xl\:p-16 {
    padding: 4rem;
  }

  .xl\:px-20 {
    padding-left: 5rem;
    padding-right: 5rem;
  }

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

  .xl\:leading-\[1\.22\] {
    line-height: 1.22;
  }
}
@media (min-width: 1536px) {

  .\32xl\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.\[\&\+\[data-slot\=item-content\]\]\:flex-none+[data-slot=item-content] {
  flex: none;
}
.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar {
  display: none;
}
.\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-md:first-child[data-selected=true] button {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.\[\&\:has\(\.movers-dock\)\]\:flex:has(.movers-dock) {
  display: flex;
}
.\[\&\:has\(\.movers-dock\)\]\:min-h-0:has(.movers-dock) {
  min-height: 0px;
}
.\[\&\:has\(\.movers-dock\)\]\:flex-col:has(.movers-dock) {
  flex-direction: column;
}
.\[\&\:has\(\.movers-dock\)\]\:overflow-hidden:has(.movers-dock) {
  overflow: hidden;
}
.\[\&\:has\(\.movers-dock\)\]\:p-0:has(.movers-dock) {
  padding: 0px;
}
.\[\&\:has\(\.rr-notes-dock\)\]\:flex:has(.rr-notes-dock) {
  display: flex;
}
.\[\&\:has\(\.rr-notes-dock\)\]\:min-h-0:has(.rr-notes-dock) {
  min-height: 0px;
}
.\[\&\:has\(\.rr-notes-dock\)\]\:flex-col:has(.rr-notes-dock) {
  flex-direction: column;
}
.\[\&\:has\(\.rr-notes-dock\)\]\:overflow-hidden:has(.rr-notes-dock) {
  overflow: hidden;
}
.\[\&\:has\(\.rr-notes-dock\)\]\:p-0:has(.rr-notes-dock) {
  padding: 0px;
}
.\[\&\: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: 4px;
  border-bottom-right-radius: 4px;
}
.\[\&\:not\(\:empty\)\]\:before\:hidden:not(:empty)::before {
  content: var(--tw-content);
  display: none;
}
.\[\&\>\*\: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;
}
.\[\&\>\*\]\:flex>* {
  display: flex;
}
.\[\&\>\*\]\:h-full>* {
  height: 100%;
}
.\[\&\>\*\]\:min-h-0>* {
  min-height: 0px;
}
.\[\&\>\*\]\:w-full>* {
  width: 100%;
}
.\[\&\>\*\]\:min-w-0>* {
  min-width: 0px;
}
.\[\&\>\*\]\:flex-col>* {
  flex-direction: column;
}
.\[\&\>\*\]\:overflow-hidden>* {
  overflow: hidden;
}
.\[\&\>\*\]\:focus-visible\:relative:focus-visible>* {
  position: relative;
}
.\[\&\>\*\]\:focus-visible\:z-10:focus-visible>* {
  z-index: 10;
}
.\[\&\>\.sr-only\]\:w-auto>.sr-only {
  width: auto;
}
.\[\&\>\[data-slot\=field-group\]\]\:gap-4>[data-slot=field-group] {
  gap: 1rem;
}
.\[\&\>\[data-slot\=field-label\]\]\:flex-auto>[data-slot=field-label] {
  flex: 1 1 auto;
}
.\[\&\>\[data-slot\=field\]\]\:p-4>[data-slot=field] {
  padding: 1rem;
}
.has-\[select\[aria-hidden\=true\]\:last-child\]\:\[\&\>\[data-slot\=select-trigger\]\:last-of-type\]\:rounded-r-md>[data-slot=select-trigger]:last-of-type:has(select[aria-hidden=true]:last-child) {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.\[\&\>\[data-slot\=select-trigger\]\:not\(\[class\*\=\'w-\'\]\)\]\:w-fit>[data-slot=select-trigger]:not([class*='w-']) {
  width: -moz-fit-content;
  width: fit-content;
}
.\[\&\>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\.absolute\]\:hidden>button.absolute {
  display: none;
}
.\[\&\>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\]\:overflow-visible>span:last-child {
  overflow: visible;
}
.\[\&\>span\:last-child\]\:truncate>span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.\[\&\>span\:last-child\]\:whitespace-normal>span:last-child {
  white-space: normal;
}
.\[\&\>span\]\:line-clamp-1>span {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.\[\&\>span\]\:size-4>span {
  width: 1rem;
  height: 1rem;
}
.\[\&\>span\]\:h-3\.5>span {
  height: 0.875rem;
}
.\[\&\>span\]\:w-3\.5>span {
  width: 0.875rem;
}
.\[\&\>span\]\:text-xs>span {
  font-size: var(--text-xs);
  line-height: var(--leading-xs);
}
.\[\&\>span\]\:opacity-70>span {
  opacity: 0.7;
}
.\[\&\>span\]\:shadow-sm>span {
  --tw-shadow: 0 1px 3px rgba(0,0,0,0.3);
  --tw-shadow-colored: 0 1px 3px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.\[\&\>span\]\:data-\[state\=checked\]\:translate-x-3\.5[data-state="checked"]>span {
  --tw-translate-x: 0.875rem;
  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\]\:\[\&\>span\]\:translate-x-4>span[data-state="checked"] {
  --tw-translate-x: 1rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.\[\&\>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\]\: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\]\:h-3\.5>svg {
  height: 0.875rem;
}
.\[\&\>svg\]\:h-4>svg {
  height: 1rem;
}
.\[\&\>svg\]\:w-2\.5>svg {
  width: 0.625rem;
}
.\[\&\>svg\]\:w-3>svg {
  width: 0.75rem;
}
.\[\&\>svg\]\:w-3\.5>svg {
  width: 0.875rem;
}
.\[\&\>svg\]\:w-4>svg {
  width: 1rem;
}
.\[\&\>svg\]\:shrink-0>svg {
  flex-shrink: 0;
}
.\[\&\>svg\]\:translate-y-px>svg {
  --tw-translate-y: 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));
}
.\[\&\>svg\]\:text-amber-500>svg {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.\[\&\>svg\]\:text-destructive>svg {
  color: hsl(var(--destructive));
}
.\[\&\>svg\]\:text-emerald-500>svg {
  --tw-text-opacity: 1;
  color: rgb(16 185 129 / var(--tw-text-opacity, 1));
}
.\[\&\>svg\]\:text-muted-foreground>svg {
  color: hsl(var(--muted-foreground));
}
.\[\&\>svg\]\:text-sidebar-accent-foreground>svg {
  color: hsl(var(--sidebar-accent-foreground));
}
.\[\&\>svg\]\:opacity-60>svg {
  opacity: 0.6;
}
.\[\&\>svg\]\:opacity-70>svg {
  opacity: 0.7;
}
.dark\:\[\&\>svg\]\:text-amber-400>svg:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.dark\:\[\&\>svg\]\:text-emerald-400>svg:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.\[\&\>tr\]\:last\:border-b-0:last-child>tr {
  border-bottom-width: 0px;
}
.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text {
  fill: hsl(var(--muted-foreground));
}
.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke='#ccc'] {
  stroke: hsl(var(--border) / 0.5);
}
.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor {
  stroke: hsl(var(--border));
}
.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke='#fff'] {
  stroke: transparent;
}
.\[\&_\.recharts-layer\]\:outline-none .recharts-layer {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke='#ccc'] {
  stroke: hsl(var(--border));
}
.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector {
  fill: hsl(var(--muted));
}
.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor {
  fill: hsl(var(--muted));
}
.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke='#ccc'] {
  stroke: hsl(var(--border));
}
.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke='#fff'] {
  stroke: transparent;
}
.\[\&_\.recharts-sector\]\:outline-none .recharts-sector {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.\[\&_\.recharts-surface\]\:outline-none .recharts-surface {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.hover\:\[\&_\.resize-grip-dot\]\:bg-\[hsl\(var\(--primary\)\)\] .resize-grip-dot:hover {
  background-color: hsl(var(--primary));
}
.\[\&_\[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: var(--text-xs);
  line-height: var(--leading-xs);
}
.\[\&_\[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;
}
.\[\&_\[data-sidebar\=content\]\]\:gap-2 [data-sidebar=content] {
  gap: 0.5rem;
}
.\[\&_\[data-sidebar\=menu\]\]\:gap-0\.5 [data-sidebar=menu] {
  gap: 0.125rem;
}
.\[\&_a\]\:text-primary a {
  color: hsl(var(--primary));
}
.\[\&_a\]\:underline a {
  text-decoration-line: underline;
}
.\[\&_blockquote\]\:my-2 blockquote {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.\[\&_blockquote\]\:border-l-2 blockquote {
  border-left-width: 2px;
}
.\[\&_blockquote\]\:border-border blockquote {
  border-color: hsl(var(--border));
}
.\[\&_blockquote\]\:pl-3 blockquote {
  padding-left: 0.75rem;
}
.\[\&_blockquote\]\:text-muted-foreground blockquote {
  color: hsl(var(--muted-foreground));
}
.\[\&_canvas\]\:pointer-events-none canvas {
  pointer-events: none;
}
.\[\&_code\]\:rounded code {
  border-radius: 3px;
}
.\[\&_code\]\:bg-muted code {
  background-color: hsl(var(--muted));
}
.\[\&_code\]\:px-1 code {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.\[\&_code\]\:py-0\.5 code {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}
.\[\&_code\]\:font-mono code {
  font-family: var(--font-mono);
}
.\[\&_code\]\:text-xs code {
  font-size: var(--text-xs);
  line-height: var(--leading-xs);
}
.\[\&_h1\]\:mb-2 h1 {
  margin-bottom: 0.5rem;
}
.\[\&_h1\]\:mt-3 h1 {
  margin-top: 0.75rem;
}
.\[\&_h1\]\:text-lg h1 {
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
}
.\[\&_h1\]\:font-semibold h1 {
  font-weight: 600;
}
.\[\&_h2\]\:mb-2 h2 {
  margin-bottom: 0.5rem;
}
.\[\&_h2\]\:mt-3 h2 {
  margin-top: 0.75rem;
}
.\[\&_h2\]\:text-md h2 {
  font-size: var(--text-md);
  line-height: var(--leading-md);
}
.\[\&_h2\]\:font-semibold h2 {
  font-weight: 600;
}
.\[\&_h3\]\:mb-2 h3 {
  margin-bottom: 0.5rem;
}
.\[\&_h3\]\:mt-3 h3 {
  margin-top: 0.75rem;
}
.\[\&_h3\]\:text-base h3 {
  font-size: var(--text-base);
  line-height: var(--leading-base);
}
.\[\&_h3\]\:font-semibold h3 {
  font-weight: 600;
}
.\[\&_hr\]\:my-3 hr {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}
.\[\&_hr\]\:border-border hr {
  border-color: hsl(var(--border));
}
.\[\&_img\]\:size-full img {
  width: 100%;
  height: 100%;
}
.\[\&_img\]\:object-cover img {
  -o-object-fit: cover;
     object-fit: cover;
}
.\[\&_li\]\:mb-0\.5 li {
  margin-bottom: 0.125rem;
}
.\[\&_p\]\:mb-2 p {
  margin-bottom: 0.5rem;
}
.\[\&_p\]\:leading-relaxed p {
  line-height: 1.625;
}
.\[\&_pre\]\:my-2 pre {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.\[\&_pre\]\:overflow-x-auto pre {
  overflow-x: auto;
}
.\[\&_pre\]\:rounded pre {
  border-radius: 3px;
}
.\[\&_pre\]\:bg-muted pre {
  background-color: hsl(var(--muted));
}
.\[\&_pre\]\:p-3 pre {
  padding: 0.75rem;
}
.\[\&_pre\]\:text-xs pre {
  font-size: var(--text-xs);
  line-height: var(--leading-xs);
}
.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*='size-']) {
  width: 0.75rem;
  height: 0.75rem;
}
.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*='size-']) {
  width: 1rem;
  height: 1rem;
}
.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-6 svg:not([class*='size-']) {
  width: 1.5rem;
  height: 1.5rem;
}
.\[\&_svg\]\:pointer-events-none svg {
  pointer-events: none;
}
.\[\&_svg\]\:size-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\]\:size-5 svg {
  width: 1.25rem;
  height: 1.25rem;
}
.\[\&_svg\]\:size-6 svg {
  width: 1.5rem;
  height: 1.5rem;
}
.\[\&_svg\]\:shrink-0 svg {
  flex-shrink: 0;
}
.\[\&_svg\]\:stroke-\[1\.5\] svg {
  stroke-width: 1.5;
}
.\[\&_svg\]\:stroke-\[1\.75\] svg {
  stroke-width: 1.75;
}
.\[\&_svg\]\:stroke-\[2\] svg {
  stroke-width: 2;
}
.\[\&_svg\]\:\!text-foreground svg {
  color: hsl(var(--foreground)) !important;
}
.\[\&_svg\]\:\!text-primary svg {
  color: hsl(var(--primary)) !important;
}
.\[\&_svg\]\:\!text-primary-foreground svg {
  color: hsl(var(--primary-foreground)) !important;
}
.\[\&_svg\]\:text-\[hsl\(var\(--negative\)\)\]\/80 svg {
  color: hsl(var(--negative) / 0.8);
}
.\[\&_svg\]\:text-foreground svg {
  color: hsl(var(--foreground));
}
.\[\&_svg\]\:text-muted-foreground svg {
  color: hsl(var(--muted-foreground));
}
.\[\&_svg\]\:text-muted-foreground\/75 svg {
  color: hsl(var(--muted-foreground) / 0.75);
}
.\[\&_svg\]\:text-muted-foreground\/80 svg {
  color: hsl(var(--muted-foreground) / 0.8);
}
.\[\&_svg\]\:text-primary svg {
  color: hsl(var(--primary));
}
.\[\&_svg\]\:text-primary-foreground svg {
  color: hsl(var(--primary-foreground));
}
.hover\:\[\&_svg\]\:text-foreground svg:hover {
  color: hsl(var(--foreground));
}
.focus\:\[\&_svg\]\:text-\[hsl\(var\(--negative\)\)\] svg:focus {
  color: hsl(var(--negative));
}
.focus\:\[\&_svg\]\:text-foreground\/80 svg:focus {
  color: hsl(var(--foreground) / 0.8);
}
.data-\[highlighted\]\:\[\&_svg\]\:text-\[hsl\(var\(--negative\)\)\] svg[data-highlighted] {
  color: hsl(var(--negative));
}
.data-\[highlighted\]\:\[\&_svg\]\:text-foreground\/80 svg[data-highlighted] {
  color: hsl(var(--foreground) / 0.8);
}
.data-\[state\=open\]\:\[\&_svg\]\:text-foreground svg[data-state="open"] {
  color: hsl(var(--foreground));
}
.\[\&_tr\:last-child\]\:border-0 tr:last-child {
  border-width: 0px;
}
.\[\&_tr\]\:border-b tr {
  border-bottom-width: 1px;
}
.\[\&_ul\]\:mb-2 ul {
  margin-bottom: 0.5rem;
}
.\[\&_ul\]\:ml-4 ul {
  margin-left: 1rem;
}
.\[\&_ul\]\:list-disc ul {
  list-style-type: disc;
}
[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2 {
  right: -0.5rem;
}
[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize {
  cursor: e-resize;
}
[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize {
  cursor: w-resize;
}
[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2 {
  left: -0.5rem;
}
[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize {
  cursor: w-resize;
}
[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize {
  cursor: e-resize;
}
[data-slot=card-content] .\[\[data-slot\=card-content\]_\&\]\:bg-transparent {
  background-color: transparent;
}
[data-slot=popover-content] .\[\[data-slot\=popover-content\]_\&\]\:bg-transparent {
  background-color: transparent;
}
[data-slot=tooltip-content] .\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/20 {
  background-color: hsl(var(--background) / 0.2);
}
[data-slot=tooltip-content] .\[\[data-slot\=tooltip-content\]_\&\]\:text-background {
  color: hsl(var(--background));
}
[data-slot=tooltip-content] .dark\:\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/10:is(.dark *) {
  background-color: hsl(var(--background) / 0.1);
}
[data-variant=legend]+.\[\[data-variant\=legend\]\+\&\]\:-mt-1\.5 {
  margin-top: -0.375rem;
}
/* Auth routes — critical layout + typography in the main bundle (not lazy landing.css). */

html.auth-active,
html.auth-active body,
html.auth-active #root {
  height: auto !important;
  min-height: 100%;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: auto;
}

.auth-page__column {
  min-height: 100vh;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.auth-page {
  position: relative;
  width: 100%;
  isolation: isolate;
  font-family: var(--font-sans);
  font-feature-settings: 'ss01', 'cv11';
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  --background: 0 0% 100%;
  --foreground: 220 13% 10%;
  --card: 0 0% 100%;
  --card-foreground: 220 13% 10%;
  --popover: 0 0% 100%;
  --popover-foreground: 220 13% 10%;
  --primary: 225 92% 48%;             /* #0a3ee8 royal blue — match app brand (globals.css) */
  --primary-foreground: 0 0% 100%;
  --secondary: 220 14% 96%;
  --secondary-foreground: 220 13% 10%;
  --muted: 220 14% 96%;
  --muted-foreground: 220 9% 46%;
  --accent: 220 14% 94%;
  --accent-foreground: 220 13% 10%;
  --destructive: 0 72% 51%;
  --destructive-foreground: 0 0% 100%;
  --border: 220 13% 90%;
  --input: 220 13% 88%;
  --ring: 0 0% 45%;

  color-scheme: dark;
  background: #0a0a0e;
  color: #ffffff;
}

.auth-page .auth-brand-mark {
  width: 36px;
  height: 36px;
  border-radius: 0.375rem;
  -o-object-fit: cover;
     object-fit: cover;
  /* Mark is white on transparent — keep it white on the dark form panel. */
  filter: none;
}

.auth-page .auth-brand-name {
  font-size: var(--text-lg, 18px);
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.auth-page .auth-back-link {
  font-size: var(--text-xs, 11px);
  color: hsl(var(--muted-foreground));
  text-decoration: none;
}

.auth-page .auth-back-link:hover {
  color: hsl(var(--foreground));
}

.auth-page .mk-auth-card {
  box-sizing: border-box;
  width: 100%;
  max-width: 420px;
  font-family: var(--font-sans);
  font-feature-settings: 'ss01', 'cv11';
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.auth-page .mk-auth-heading {
  margin: 0 0 1.5rem;
  font-size: var(--text-lg, 18px);
  font-weight: 600;
  line-height: var(--leading-lg, 26px);
  letter-spacing: -0.02em;
  color: #ffffff;
}

.auth-page .auth-google-shell {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  max-width: 420px;
  height: 44px;
  overflow: hidden;
}

.auth-page .auth-google-shell > div {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.auth-page .auth-quote-shell {
  background:
    radial-gradient(120% 85% at 50% -5%, rgba(96, 134, 244, 0.55), transparent 60%),
    linear-gradient(180deg, #16306e 0%, #0b1838 50%, #060912 100%);
}

.auth-page .auth-quote-shell::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 1px;
  background: rgba(255, 255, 255, 0.06);
  z-index: 20;
}
/* ═══════════════════════════════════════════════════════════════════════════
   Terminal tables — single source of truth
   Layers:
   1. Tokens (--terminal-table-*)
   2. Base `.terminal-table` — admin / security snapshot tables
   3. Mechanics — resize, reorder, scrollbars, pinning
   4. `.terminal-table--entity` — layout only (TanStack UnifiedTable)
   5. `.unified-table-wrapper--koyfin` — workspace grid theme (Watchlists, Screener, …)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── 1. Tokens ───────────────────────────────────────────────────────────── */
:root {
  --terminal-table-header-bg: hsl(var(--foreground) / 0.06);
  /* Opaque mix on card — covers horizontally scrolling cells under sticky pins. */
  --terminal-table-header-bg-opaque: color-mix(in srgb, hsl(var(--card)) 94%, hsl(var(--foreground)) 6%);
  --terminal-table-row-bg: hsl(var(--card));
  /* Subtle zebra banding for alternate data rows (translucent over card). */
  --terminal-table-row-alt: hsl(var(--foreground) / 0.03);
  /* Opaque equivalent for pinned cells, which must fully cover scrolling content. */
  --terminal-table-row-alt-pin: color-mix(in srgb, hsl(var(--card)) 97%, hsl(var(--foreground)) 3%);
  --terminal-table-row-hover: hsl(var(--foreground) / 0.07);
  --terminal-table-row-selected: hsl(var(--primary) / 0.08);
  --terminal-table-group-bg: hsl(var(--foreground) / 0.07);
  --terminal-table-summary-bg: hsl(var(--foreground) / 0.04);
  --terminal-table-hairline: hsl(var(--foreground) / 0.085);
  --terminal-table-vline: transparent;
  --terminal-table-header-line: hsl(var(--foreground) / 0.12);
  --terminal-table-pin-edge: hsl(var(--foreground) / 0.14);
  --terminal-table-pin-bg: hsl(var(--card));
  --terminal-table-pin-bg-hover: color-mix(in srgb, hsl(var(--card)) 94%, hsl(var(--foreground)) 6%);
  --terminal-table-pin-bg-selected: color-mix(in srgb, hsl(var(--card)) 88%, hsl(var(--primary)) 12%);
  --terminal-table-pin-header-bg: color-mix(in srgb, hsl(var(--card)) 92%, hsl(var(--foreground)) 8%);
}

[data-color-mode='light'] {
  --terminal-table-row-h: auto;
  --terminal-table-header-height: 40px;
  --terminal-table-header-py: 10px;
  --terminal-table-header-px: 16px;
  --terminal-table-cell-py: 11px;
  --terminal-table-cell-px: 16px;
  --terminal-table-hairline: hsl(var(--border));
  --terminal-table-header-line: hsl(var(--border));
  --terminal-table-header-bg: hsl(var(--muted));
  --terminal-table-header-bg-opaque: hsl(var(--muted));
  --terminal-table-vline: transparent;
  --terminal-table-row-bg: hsl(var(--card));
  --terminal-table-row-alt: hsl(var(--card));
  --terminal-table-row-alt-pin: hsl(var(--card));
  --terminal-table-row-hover: hsl(var(--muted));
  --terminal-table-row-selected: hsl(var(--ring) / 0.1);
  --terminal-table-group-bg: hsl(var(--muted));
  --terminal-table-summary-bg: hsl(var(--background));
  --terminal-table-pin-bg-selected: color-mix(in srgb, hsl(var(--card)) 90%, hsl(var(--ring)) 10%);
}

/* ── 2. Base table (non-workspace) ───────────────────────────────────────── */
.terminal-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
}

.terminal-table th {
  padding: 0 var(--terminal-table-header-px, 12px);
  height: var(--terminal-table-header-height, 38px);
  min-height: var(--terminal-table-header-height, 38px);
  box-sizing: border-box;
  text-align: left;
  color: hsl(var(--foreground) / 0.92);
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: var(--text-xs);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--terminal-table-hairline);
  border-right: 1px solid var(--terminal-table-vline);
  background: hsl(var(--card));
  position: sticky;
  top: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  cursor: pointer;
  white-space: nowrap;
  vertical-align: middle;
}

.terminal-table th:last-child,
.terminal-table td:last-child {
  border-right: 0;
}

.terminal-table th:hover {
  color: hsl(var(--foreground));
}

.terminal-table th.sorted {
  color: hsl(var(--foreground));
}

.terminal-table td {
  padding: var(--terminal-table-cell-py, 7px) var(--terminal-table-cell-px, 12px);
  border-bottom: 1px solid var(--terminal-table-hairline);
  border-right: 1px solid var(--terminal-table-vline);
  white-space: nowrap;
  vertical-align: middle;
  color: hsl(var(--foreground));
  transition: background 80ms ease;
}

/* Simple tables only — entity rows use .unified-row rules under --koyfin */
.terminal-table:not(.terminal-table--entity) tr:hover td {
  background: hsl(var(--foreground) / 0.04);
}

.terminal-table:not(.terminal-table--entity) tr.selected td,
.terminal-table:not(.terminal-table--entity) tr[data-state='selected'] td {
  background: hsl(var(--foreground) / 0.06);
}

.terminal-table .positive {
  color: hsl(var(--positive));
}

.terminal-table .negative {
  color: hsl(var(--negative));
}

.terminal-table .neutral {
  color: hsl(var(--muted-foreground));
}

.terminal-table td.numeric,
.terminal-table tbody .numeric {
  text-align: right;
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}

.terminal-table .right,
.terminal-table th.th-align-right {
  text-align: right;
}

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

.terminal-table .symbol-col {
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  font-weight: 600;
  color: hsl(var(--foreground));
}

.terminal-table .company-name {
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  font-weight: 400;
  color: hsl(var(--foreground));
  margin-left: 4px;
}

.terminal-table--dense td {
  padding: var(--terminal-table-cell-py, 4px) var(--terminal-table-cell-px, 8px);
  font-size: var(--text-sm);
}

.terminal-table--dense th {
  padding: 0 var(--terminal-table-header-px, 8px);
  height: var(--terminal-table-header-height, 32px);
  min-height: var(--terminal-table-header-height, 32px);
  font-size: var(--text-sm);
}

/* ── 3. Header mechanics (all tables) ────────────────────────────────────── */
.terminal-table th .terminal-table-header-inner {
  display: flex;
  align-items: center;
  width: 100%;
  gap: 0;
  box-sizing: border-box;
}

.terminal-table th .terminal-table-header-content {
  gap: 0.25rem;
}

.terminal-table th.th-align-left .terminal-table-header-inner {
  justify-content: flex-start;
  text-align: left;
}

.terminal-table th.th-align-right .terminal-table-header-inner {
  justify-content: flex-end;
  text-align: right;
}

.terminal-table th.th-align-center .terminal-table-header-inner {
  justify-content: center;
  text-align: center;
}

.terminal-table th[data-reorderable='true'] .terminal-table-header-grip {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 14px;
  margin-right: 2px;
  color: hsl(var(--muted-foreground) / 0.55);
  opacity: 0.45;
  cursor: grab;
  touch-action: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.terminal-table th[data-reorderable='true']:hover .terminal-table-header-grip,
.terminal-table th[data-reorderable='true']:focus-within .terminal-table-header-grip {
  opacity: 0.9;
  color: hsl(var(--muted-foreground));
}

.terminal-table th[data-reorderable='true'][data-drag-source='true'] .terminal-table-header-grip {
  opacity: 1;
  color: hsl(var(--foreground) / 0.75);
  cursor: grabbing;
}

.terminal-table th:hover .th-filter,
.terminal-table th:focus-within .th-filter {
  opacity: 0.6 !important;
}

.terminal-table .th-resize {
  opacity: 1;
  z-index: 5;
  touch-action: none;
}

.terminal-table .th-resize::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3px;
  height: 2.25rem;
  max-height: calc(100% - 8px);
  border-radius: 9999px;
  background: transparent;
  transform: translate(-50%, -50%);
  transition: background-color 150ms ease;
  pointer-events: none;
}

.terminal-table th:hover .th-resize::after,
.terminal-table th:focus-within .th-resize::after {
  background: hsl(var(--muted-foreground) / 0.45);
}

.terminal-table .th-resize:hover::after,
.terminal-table .th-resize[data-resizing='true']::after {
  background: hsl(var(--primary)) !important;
}

/* Column reorder — full-column ghost + animated shifts (see ColumnReorderContext) */
body[data-column-reorder-active='true'] .terminal-table th.column-reorder-shift,
body[data-column-reorder-active='true'] .terminal-table td.column-reorder-shift {
  transition: transform 200ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.terminal-table th.column-reorder-source,
.terminal-table td.column-reorder-source {
  opacity: 0.28;
  background-image: repeating-linear-gradient(
    -45deg,
    transparent,
    transparent 4px,
    hsl(var(--foreground) / 0.06) 4px,
    hsl(var(--foreground) / 0.06) 8px
  );
}

.column-reorder-ghost {
  border-radius: 6px;
  box-shadow:
    0 0 0 1px hsl(var(--primary) / 0.45),
    0 16px 40px hsl(var(--foreground) / 0.22);
  opacity: 0.96;
  transform: translateZ(0);
}

.column-reorder-ghost__header {
  font-size: var(--text-xs);
  font-weight: 600;
}

.column-reorder-ghost__row {
  display: flex;
  align-items: center;
  overflow: hidden;
}

body[data-resizing-column='true'] {
  cursor: col-resize !important;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

/* ── 4. UnifiedTable shell ───────────────────────────────────────────────── */
.unified-table-wrapper {
  min-width: 0;
}

.unified-table-container::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

.unified-table-container::-webkit-scrollbar-track {
  background: transparent;
}

.unified-table-container::-webkit-scrollbar-thumb {
  background: hsl(var(--border));
  border-radius: 2px;
}

.unified-table-wrapper--entity .unified-table-container {
  background: var(--terminal-table-row-bg);
}

.unified-table-wrapper--koyfin.workspace-table--integrated .unified-table-container,
.workspace-table--integrated .unified-table-wrapper--koyfin .unified-table-container {
  background: hsl(var(--card));
}

.entity-grid .terminal-table--entity {
  background: var(--terminal-table-row-bg);
}

/* ── 5. Column pinning ───────────────────────────────────────────────────── */
.unified-cell--pinned {
  position: sticky;
  isolation: isolate;
  z-index: 20;
  background-color: var(--terminal-table-pin-bg) !important;
  background-clip: padding-box;
}

.unified-cell--pinned-edge {
  z-index: 21;
  border-right: 1px solid var(--terminal-table-pin-edge);
  box-shadow: none;
}

.terminal-table--entity td.unified-cell--pinned-edge::after,
.terminal-table--entity th.unified-cell--pinned-edge::after {
  content: '';
  position: absolute;
  top: 0;
  right: -10px;
  bottom: 0;
  width: 10px;
  background: var(--terminal-table-pin-bg);
  pointer-events: none;
}

.terminal-table--entity thead th.unified-cell--pinned-edge::after {
  background: var(--terminal-table-header-bg-opaque);
}

.terminal-table--entity tbody td:not(.unified-cell--pinned) {
  position: relative;
  z-index: 0;
}

.terminal-table--entity thead th.unified-cell--pinned {
  z-index: 40;
  background-color: var(--terminal-table-header-bg-opaque) !important;
}

.terminal-table--entity thead th.unified-cell--pinned-edge {
  z-index: 41;
  box-shadow: none;
}

.terminal-table--entity thead th.unified-cell--pinned-edge::after {
  background: var(--terminal-table-header-bg-opaque);
}

.terminal-table--entity tbody td.select-cell.unified-cell--pinned,
.terminal-table--entity tbody td.select-cell.select-cell--interactive {
  z-index: 32;
  pointer-events: auto;
}

.terminal-table--entity tbody td.actions-cell.unified-cell--pinned {
  z-index: 31;
  pointer-events: auto;
}

.terminal-table--entity tbody td.symbol-col.unified-cell--pinned-edge {
  z-index: 24;
}

.unified-table-wrapper--koyfin .terminal-table--entity .unified-row:not([data-grouped='true']):hover > td.unified-cell--pinned {
  background-color: var(--terminal-table-pin-bg-hover) !important;
}

.unified-table-wrapper--koyfin .terminal-table--entity .unified-row:not([data-grouped='true']):hover > td.unified-cell--pinned-edge::after {
  background: var(--terminal-table-pin-bg-hover);
}

.unified-table-wrapper--koyfin .terminal-table--entity .unified-row[data-state='selected'] > td.unified-cell--pinned {
  background-color: var(--terminal-table-pin-bg-selected) !important;
}

.unified-table-wrapper--koyfin .terminal-table--entity .unified-row[data-state='selected'] > td.unified-cell--pinned-edge::after {
  background: var(--terminal-table-pin-bg-selected);
}

.unified-table-wrapper--koyfin .terminal-table--entity tr.terminal-table-summary > td.unified-cell--pinned,
.unified-table-wrapper--koyfin .terminal-table--entity tr.terminal-table-summary > td.unified-cell--pinned-edge::after {
  background: var(--terminal-table-pin-header-bg) !important;
}

.unified-row[data-state='selected'] > td[data-selection-anchor='true'] {
  position: relative;
}

.unified-table-wrapper--koyfin .terminal-table--entity tbody td[data-selection-anchor='true'] {
  overflow: visible;
}

.unified-table-wrapper--koyfin .terminal-table--entity .unified-row[data-state='selected'] > td[data-selection-anchor='true'] {
  box-shadow: inset 2px 0 0 hsl(var(--primary));
}

.unified-table-wrapper--koyfin .terminal-table--entity .unified-row[data-state='selected'] > td[data-selection-anchor='true']::before {
  content: none;
}

/* ── 6. Entity table — structure (no theme colors here) ──────────────────── */
.terminal-table--entity {
  border-collapse: separate;
  border-spacing: 0;
  background: var(--terminal-table-row-bg);
}

.terminal-table--entity thead th {
  box-sizing: border-box;
  position: sticky;
  top: 0;
  z-index: 6;
  padding: 0 var(--terminal-table-header-px, 12px);
  height: var(--terminal-table-header-height, 32px);
  min-height: var(--terminal-table-header-height, 32px);
  border-right: none;
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.terminal-table--entity thead th.th-align-left {
  text-align: left;
}

.terminal-table--entity thead th.th-align-right {
  text-align: right;
}

.terminal-table--entity thead th.th-align-center {
  text-align: center;
}

.terminal-table--entity thead th.th-compact {
  padding-left: 6px;
  padding-right: 6px;
}

.terminal-table--entity thead th .terminal-table-header-label {
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  line-height: inherit;
}

.terminal-table--entity thead th.numeric,
.terminal-table--entity thead th.center-align {
  font-family: var(--font-sans);
  font-variant-numeric: normal;
}

.terminal-table--entity tbody td {
  padding: var(--terminal-table-cell-py, 5px) var(--terminal-table-cell-px, 10px);
  border-bottom: 1px solid var(--terminal-table-hairline);
  border-right: none;
  background: var(--terminal-table-row-bg);
  vertical-align: middle;
}

.terminal-table--entity tbody td.select-cell,
.terminal-table--entity tbody td.actions-cell,
.terminal-table--entity tbody td.unified-cell--compact {
  overflow: visible;
  text-overflow: clip;
  text-align: center;
  padding-left: 6px;
  padding-right: 6px;
}

.terminal-table--entity tbody td.select-cell {
  cursor: pointer;
}

.terminal-table--entity tbody td.select-cell .inline-flex,
.terminal-table--entity tbody td.actions-cell .inline-flex {
  justify-content: center;
  width: 100%;
}

/* Pin offsets come from inline `left` on each cell (TableHeader / TableRow / SummaryRow). */

/* Reorder grips — hidden until header hover (Koyfin) */
.unified-table-wrapper--koyfin .terminal-table--entity th[data-reorderable='true'] .terminal-table-header-grip {
  opacity: 0;
  transition: opacity 0.12s ease;
}

.unified-table-wrapper--koyfin .terminal-table--entity th[data-reorderable='true']:hover .terminal-table-header-grip,
.unified-table-wrapper--koyfin .terminal-table--entity th[data-reorderable='true']:focus-within .terminal-table-header-grip {
  opacity: 0.55;
}

/* ── 7. Koyfin workspace theme (single scope — no duplicate entity rules) ─ */
.unified-table-wrapper--koyfin .terminal-table--entity {
  --terminal-table-vline: hsl(var(--foreground) / 0.1);
  table-layout: fixed;
  width: auto;
}

.unified-table-wrapper--koyfin .terminal-table--entity thead th {
  border-right: 1px solid var(--terminal-table-vline);
}

.unified-table-wrapper--koyfin .terminal-table--entity tbody td {
  border-right: 1px solid var(--terminal-table-vline);
}

.unified-table-wrapper--koyfin .terminal-table--entity tfoot td {
  border-right: 1px solid var(--terminal-table-vline);
}

.unified-table-split {
  align-items: stretch;
}

.unified-table-pin-pane {
  flex: 0 0 auto;
}

/* Split panes: keep body rows the same height (PriceBlink / multi-line cells must not stretch scroll pane). */
.unified-table-split [data-split-pane] tbody tr.unified-row {
  height: var(--terminal-table-row-h, 30px);
  max-height: var(--terminal-table-row-h, 30px);
  overflow: hidden;
}

.unified-table-split [data-split-pane] tbody tr.unified-row > td {
  height: var(--terminal-table-row-h, 30px);
  max-height: var(--terminal-table-row-h, 30px);
  overflow: hidden;
  vertical-align: middle;
  box-sizing: border-box;
}

.unified-table-split [data-split-pane] tbody td.select-cell,
.unified-table-split [data-split-pane] tbody td.actions-cell,
.unified-table-split [data-split-pane] tbody td.unified-cell--compact {
  overflow: visible;
}

.unified-table-split [data-split-pane] tbody td .price-blink-host {
  height: 100%;
  min-height: 0;
}

.unified-table-wrapper--koyfin .terminal-table--entity thead th {
  box-shadow: none;
  background: var(--terminal-table-header-bg-opaque);
  border-bottom: 1px solid var(--terminal-table-header-line);
  color: hsl(var(--foreground));
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  transition: color 0.12s ease, background-color 0.12s ease;
}

.unified-table-wrapper--koyfin .terminal-table--entity thead th:hover {
  color: hsl(var(--foreground));
}

.unified-table-wrapper--koyfin .terminal-table--entity thead th.unified-cell--pinned,
.unified-table-wrapper--koyfin .terminal-table--entity thead th.unified-cell--pinned-edge {
  background: var(--terminal-table-header-bg-opaque) !important;
}

.unified-table-wrapper--koyfin .terminal-table--entity thead th.sorted {
  color: hsl(var(--foreground));
  background: var(--terminal-table-header-bg-opaque);
}

.unified-table-wrapper--koyfin .terminal-table--entity thead th.sorted .terminal-table-header-label {
  color: hsl(var(--foreground));
}

.unified-table-wrapper--koyfin .terminal-table--entity thead th.sorted svg {
  color: hsl(var(--primary));
}

.terminal-table-header-filter--active {
  color: hsl(var(--primary));
}

.unified-table-wrapper--koyfin .terminal-table--entity tbody td {
  font-size: var(--text-xs);
  line-height: 1.35;
  color: hsl(var(--foreground));
}

.unified-table-wrapper--koyfin .terminal-table--entity tbody td.numeric,
.unified-table-wrapper--koyfin .terminal-table--entity tbody .numeric {
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  font-weight: 500;
  font-variant-numeric: tabular-nums lining-nums;
  font-feature-settings: 'tnum' 1, 'lnum' 1;
}

.unified-table-wrapper--koyfin .terminal-table--entity .symbol-col,
.unified-table-wrapper--koyfin .terminal-table--entity .symbol-link {
  font-size: var(--text-xs);
  font-weight: 600;
  color: hsl(var(--foreground));
}

.unified-table-wrapper--koyfin .terminal-table--entity tbody td.type-table-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: var(--text-xs);
  font-weight: 400;
  color: hsl(var(--foreground));
}

.unified-table-wrapper--koyfin .terminal-table--entity :where(span, a, div).type-table-text {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: middle;
  font-size: var(--text-xs);
  font-weight: 400;
  color: hsl(var(--foreground));
}

.unified-table-wrapper--koyfin .terminal-table--entity .pct-unit {
  font-size: 0.78em;
  font-weight: 500;
  color: hsl(var(--muted-foreground) / 0.75);
  margin-left: 1px;
}

.entity-symbol-cell__inner,
.watchlist-ticker-cell__inner {
  display: flex;
  min-width: 0;
  max-width: 100%;
  align-items: center;
  gap: 6px;
  line-height: 1.2;
}

.unified-table-wrapper--koyfin .terminal-table--entity td.flag-cell,
.unified-table-wrapper--koyfin .terminal-table--entity th.flag-cell {
  padding-left: 4px;
  padding-right: 4px;
}

.watchlist-ticker-cell__inner .company-name {
  margin-left: 0;
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: var(--text-xs);
  font-weight: 400;
  color: hsl(var(--foreground));
}

/* Base data rows (skip virtualization spacers) */
.unified-table-wrapper--koyfin .terminal-table--entity tbody tr.unified-row > td {
  background: var(--terminal-table-row-bg) !important;
}

/* Subtle zebra — alternate data rows. State guards (:not(:hover)/:not(selected))
   keep hover + selection backgrounds authoritative regardless of source order.
   Pinned cells use the opaque variant so the pinned column reads as one
   continuous band with the scrolling cells (no seam). */
.unified-table-wrapper--koyfin .terminal-table--entity tbody tr.unified-row[data-row-parity='odd']:not([data-grouped='true']):not([data-state='selected']):not(:hover) > td {
  background: var(--terminal-table-row-alt) !important;
}

.unified-table-wrapper--koyfin .terminal-table--entity tbody tr.unified-row[data-row-parity='odd']:not([data-grouped='true']):not([data-state='selected']):not(:hover) > td.unified-cell--pinned {
  background-color: var(--terminal-table-row-alt-pin) !important;
}

.unified-table-wrapper--koyfin .terminal-table--entity tbody tr.unified-row[data-row-parity='odd']:not([data-grouped='true']):not([data-state='selected']):not(:hover) > td.unified-cell--pinned-edge::after {
  background: var(--terminal-table-row-alt-pin);
}

.unified-table-wrapper--koyfin .terminal-table--entity tbody td,
.unified-table-wrapper--koyfin .terminal-table--entity thead th,
.unified-table-wrapper--koyfin .terminal-table--entity tfoot td {
  overflow: hidden;
  text-overflow: ellipsis;
}

.unified-table-wrapper--koyfin .terminal-table--entity tbody td.select-cell,
.unified-table-wrapper--koyfin .terminal-table--entity tbody td.actions-cell,
.unified-table-wrapper--koyfin .terminal-table--entity tbody td.unified-cell--compact,
.unified-table-wrapper--koyfin .terminal-table--entity thead th.th-compact {
  overflow: visible;
}

.unified-table-wrapper--koyfin .terminal-table--entity tbody td.unified-cell--pinned,
.unified-table-wrapper--koyfin .terminal-table--entity tfoot td.unified-cell--pinned {
  background-color: var(--terminal-table-pin-bg) !important;
}

.unified-table-wrapper--koyfin .terminal-table--entity tfoot {
  position: relative;
  z-index: 4;
}

.unified-table-wrapper--koyfin .terminal-table--entity tfoot tr {
  display: table-row;
}

.unified-table-wrapper--koyfin .terminal-table--entity .unified-row:not([data-grouped='true']):hover > td {
  background: var(--terminal-table-row-hover) !important;
}

.unified-table-wrapper--koyfin .terminal-table--entity .unified-row[data-state='selected'] > td {
  background: var(--terminal-table-row-selected) !important;
}

/* Group bands */
.unified-table-wrapper--koyfin .terminal-table--entity td.terminal-table-group-row {
  background: var(--terminal-table-group-bg) !important;
  border-bottom: 1px solid var(--terminal-table-hairline) !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}

.unified-table-wrapper--koyfin .terminal-table--entity td.terminal-table-group-row .terminal-table-group-label {
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: hsl(var(--foreground) / 0.88);
}

.terminal-table-group-add {
  border: 0;
  background: transparent;
  padding: 2px 6px;
  font-size: 11px;
  font-weight: 500;
  color: hsl(var(--primary));
  cursor: pointer;
  border-radius: 4px;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.terminal-table-group-add:hover {
  background: hsl(var(--primary) / 0.08);
  color: hsl(var(--primary));
}

/* Summary (SUM) rows */
.unified-table-wrapper--koyfin .terminal-table--entity tr.terminal-table-summary > td {
  background: var(--terminal-table-summary-bg) !important;
  border-top: 1px solid var(--terminal-table-hairline);
  border-bottom: 0;
  font-size: var(--text-xs);
  font-weight: 600;
  color: hsl(var(--foreground));
  padding-top: 5px;
  padding-bottom: 5px;
}

.unified-table-wrapper--koyfin .terminal-table--entity tr.terminal-table-summary .terminal-table-summary-label {
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  color: hsl(var(--foreground) / 0.75);
}

.unified-table-wrapper--koyfin .terminal-table--entity tr.terminal-table-summary .terminal-table-summary-value {
  font-size: var(--text-xs);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.unified-table-wrapper--koyfin .terminal-table--entity tr.terminal-table-summary:last-child > td {
  border-top-color: var(--terminal-table-header-line);
}

/* Trailing filler — empty column past last data col (horizontal scroll tail) */
.unified-table-wrapper--koyfin .terminal-table--entity thead th.unified-cell--trailing-filler {
  background: var(--terminal-table-header-bg-opaque) !important;
  border-bottom: 1px solid var(--terminal-table-header-line);
}

.unified-table-wrapper--koyfin .terminal-table--entity tbody tr.unified-row > td.unified-cell--trailing-filler {
  background: var(--terminal-table-row-bg) !important;
}

.unified-table-wrapper--koyfin .terminal-table--entity tbody tr.unified-row[data-row-parity='odd']:not([data-grouped='true']):not([data-state='selected']):not(:hover) > td.unified-cell--trailing-filler {
  background: var(--terminal-table-row-alt) !important;
}

.unified-table-wrapper--koyfin .terminal-table--entity .unified-row:not([data-grouped='true']):hover > td.unified-cell--trailing-filler {
  background: var(--terminal-table-row-hover) !important;
}

.unified-table-wrapper--koyfin .terminal-table--entity .unified-row[data-state='selected'] > td.unified-cell--trailing-filler {
  background: var(--terminal-table-row-selected) !important;
}

.unified-table-wrapper--koyfin .terminal-table--entity tr.terminal-table-summary > td.unified-cell--trailing-filler {
  background: var(--terminal-table-summary-bg) !important;
}

/* ── 8. Light tables — horizontal rules only (SaleIgnite / admin style) ─── */

[data-color-mode='light'] .terminal-table th {
  text-transform: none;
  letter-spacing: 0;
  font-weight: 600;
  font-size: var(--text-sm);
  background: var(--terminal-table-header-bg-opaque);
  border-right: none;
  border-bottom: 1px solid var(--terminal-table-header-line);
}

[data-color-mode='light'] .terminal-table td {
  border-right: none;
  border-bottom: 1px solid var(--terminal-table-hairline);
  background: hsl(var(--card));
}

[data-color-mode='light'] .terminal-table:not(.terminal-table--entity) tr:hover td {
  background: var(--terminal-table-row-hover);
}

[data-color-mode='light'] .unified-table-wrapper--koyfin .terminal-table--entity {
  --terminal-table-vline: transparent;
}

[data-color-mode='light'] .unified-table-wrapper--koyfin .terminal-table--entity :is(thead th, tbody td, tfoot td) {
  border-right: none !important;
  border-left: none !important;
}

[data-color-mode='light'] .unified-table-wrapper--koyfin .terminal-table--entity thead th {
  background: var(--terminal-table-header-bg-opaque) !important;
  border-bottom: 1px solid var(--terminal-table-header-line);
  font-size: var(--text-sm);
  font-weight: 600;
  color: hsl(var(--foreground));
}

[data-color-mode='light'] .unified-table-wrapper--koyfin .terminal-table--entity tbody tr.unified-row > td {
  background: hsl(var(--card)) !important;
  border-top: none;
  border-bottom: 1px solid var(--terminal-table-hairline);
  padding: var(--terminal-table-cell-py) var(--terminal-table-cell-px);
  vertical-align: middle;
}

[data-color-mode='light'] .unified-table-wrapper--koyfin .terminal-table--entity tbody tr.unified-row[data-row-parity='odd']:not([data-grouped='true']):not([data-state='selected']):not(:hover) > td,
[data-color-mode='light'] .unified-table-wrapper--koyfin .terminal-table--entity tbody tr.unified-row[data-row-parity='odd']:not([data-grouped='true']):not([data-state='selected']):not(:hover) > td.unified-cell--pinned,
[data-color-mode='light'] .unified-table-wrapper--koyfin .terminal-table--entity tbody tr.unified-row[data-row-parity='odd']:not([data-grouped='true']):not([data-state='selected']):not(:hover) > td.unified-cell--trailing-filler {
  background: hsl(var(--card)) !important;
  background-color: hsl(var(--card)) !important;
}

[data-color-mode='light'] .unified-table-wrapper--koyfin .terminal-table--entity .unified-row:not([data-grouped='true']):hover > td,
[data-color-mode='light'] .unified-table-wrapper--koyfin .terminal-table--entity .unified-row:not([data-grouped='true']):hover > td.unified-cell--trailing-filler {
  background: var(--terminal-table-row-hover) !important;
}

[data-color-mode='light'] .unified-table-wrapper--koyfin .terminal-table--entity .unified-row[data-state='selected'] > td {
  background: var(--terminal-table-row-selected) !important;
}

[data-color-mode='light'] .unified-table-split [data-split-pane] tbody tr.unified-row {
  height: auto;
  min-height: var(--terminal-table-row-h, 40px);
  max-height: none;
}

[data-color-mode='light'] .unified-table-split [data-split-pane] tbody tr.unified-row > td {
  height: auto;
  min-height: 36px;
  max-height: none;
}

/* Price blink hosts inside cells */
td:has(> .price-blink-host),
.workspace-table-cell:has(> .price-blink-host),
.workspace-table-cell:has(.price-blink-host) {
  position: relative;
  overflow: hidden;
}
/* ══════════════════════════════════════════════════════════════════════════════
   Design System for dibsTERMINAL — shadcn zinc dark theme
   Clean, modern design based on shadcn/ui New York preset
   ══════════════════════════════════════════════════════════════════════════════ */

:root {
  /* ── Color Palette — zinc neutral (shadcn-inspired) ── */

  /* Spec-named background aliases */
  --bg-base: hsl(var(--background));
  --bg-surface: hsl(var(--card));
  --bg-elevated: hsl(var(--muted));
  --bg-hover: hsl(var(--accent));
  --bg-selected: hsl(var(--accent));
  --bg-input: hsl(var(--background));

  /* Borders — zinc-800, clean and visible */

  /* Spec-named border aliases */
  --border-subtle: hsl(var(--border));
  --border-default: hsl(var(--border));
  --border-strong: hsl(var(--ring));

  /* Text — clean zinc contrast */

  /* Spec-named text aliases */
  --text-primary: hsl(var(--foreground));
  --text-secondary: hsl(var(--muted-foreground));
  --text-muted: hsl(var(--muted-foreground));
  --text-inverse: hsl(var(--primary-foreground));

  /* Accent — neutral white/zinc (shadcn standard) */

  /* Glow effects — subtle, no neon */

  /* Neon accent tokens — now muted */

  /*
   * Legacy accent aliases intentionally stay namespaced.
   *
   * `globals.css` owns shadcn semantic tokens such as `--accent`, which are HSL
   * channel values consumed as `hsl(var(--accent))`. Reusing those names for
   * legacy hex values here makes shadcn utilities invalid after this file loads.
   */

  /* Financial colors — standard, not neon */

  /*
   * Keep legacy hex colors namespaced for the same reason as accent tokens:
   * shadcn's `--positive` / `--negative` remain HSL channels in globals.css.
   */
  --neutral: hsl(var(--muted-foreground));

  /* Color groups — muted palette */

  /*
   * Hex chart colors remain available to the legacy layer, but shadcn chart
   * tokens (`--chart-1` … `--chart-5`) stay HSL channels in globals.css.
   */

  /* Typography — Geist Sans (see styles/fonts.css) */
  /* Typography — golden ratio (φ = 1.618) scale from 14px base
     φ steps: 14 × 1.618 ≈ 23 → 23 × 1.618 ≈ 37 → 37 × 1.618 ≈ 60
     Minor-third fills (×1.125): 12 → 13 → 14 → 16 → 18 → 23 → 26 → 37 → 42 → 60 */

  /* Spacing — golden ratio (φ = 1.618) scale, base 4px */

  /* Spec spacing scale — φ progression (ratio ≈ 1.618) */
  --space-0: 2px;
  --space-1: 4px;
  --space-2: 6px;
  --space-3: 10px;
  --space-4: 16px;
  --space-5: 26px;
  --space-6: 42px;
  --space-7: 52px;
  --space-8: 68px;
  --space-9: 84px;
  --space-10: 110px;
  --space-12: 136px;

  /* Border radii — modern rounded */

  /* Shadows — subtle, clean */

  /* Theme-aware utility vars */

  /* Border radii — modern rounded */

  /* Layout — refined proportions */

  /* Row heights */
  --row-data: 34px;
  --row-compact: 28px;

  /* Transitions — smooth OpenBB-like feel */

  /* Z-index stack */
  --z-base: 0;
  --z-widget: 10;
  --z-sticky: 20;
  --z-dropdown: 100;
  --z-modal: 200;
  --z-toast: 300;

  /* ── Extended palette — zinc tokens ── */
  /* Text variants */

  /* Background variants */

  /* Border variant */

  /* Accent variants */

  /* ── Map design-token vars → existing --color-* vars for backward compat ── */
  --color-bg: hsl(var(--background));
  --color-panel: hsl(var(--card));
  --color-chart-canvas: hsl(var(--chart-surface, var(--card)));
  --color-panelH: hsl(var(--muted));
  --color-border: hsl(var(--border));
  --color-borderA: hsl(var(--border));
  --color-borderF: hsl(var(--ring));
  --color-text: hsl(var(--foreground));
  --color-dim: hsl(var(--muted-foreground));
  --color-muted: hsl(var(--muted-foreground));
  --color-white: #ffffff;
  --color-green: hsl(var(--positive));
  --color-greenD: color-mix(in srgb, hsl(var(--positive)) 70%, black);
  --color-greenBg: hsl(var(--positive) / 0.10);
  --color-greenBgS: hsl(var(--positive) / 0.18);
  --color-red: hsl(var(--negative));
  --color-redBg: hsl(var(--negative) / 0.10);
  --color-redBgS: hsl(var(--negative) / 0.18);
  --color-yellow: hsl(var(--chart-3));
  --color-yellowBg: rgba(234, 88, 12, 0.08);
  --color-yellowBgS: rgba(234, 88, 12, 0.15);
  --color-cyan: hsl(var(--chart-5));
  --color-blue: hsl(var(--chart-1));
  --color-purple: hsl(var(--chart-4));
  --color-orange: hsl(var(--brand));
  --color-accent: hsl(var(--brand));
  --color-titleActive: hsl(var(--card));
  --color-titleInactive: hsl(var(--card));
  --color-bevelLight: rgba(255, 255, 255, 0.04);
  --color-bevelDark: hsl(var(--background));
  --color-statusBg: hsl(var(--card));

  /* Sidebar/topbar — clean zinc */
}

::-moz-selection {
  background: hsl(0 0% 17% / 0.85);
  color: hsl(0 0% 89%);
}

::selection {
  background: hsl(0 0% 17% / 0.85);
  color: hsl(0 0% 89%);
}

[data-color-mode="light"] ::-moz-selection {
  background: #d9d9d9;
  color: #242424;
}

[data-color-mode="light"] ::selection {
  background: #d9d9d9;
  color: #242424;
}


/* ═══════════════════════════════════════════════════════════════════════════
   Global Reset — OpenBB
   ═══════════════════════════════════════════════════════════════════════════ */

body {
  background: hsl(var(--background));
  color: hsl(var(--foreground));
  font-family: var(--font-sans);
  font-size: var(--text-base);
  font-weight: 400;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  letter-spacing: -0.005em;
}

/* ═══════════════════════════════════════════════════════════════════════════
   Scrollbar Styling — OpenBB-style: thin, subtle
   ═══════════════════════════════════════════════════════════════════════════ */

::-webkit-scrollbar { width: 4px; height: 4px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.10); border-radius: 100px; }
::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, 0.20); }
::-webkit-scrollbar-corner { background: transparent; }

/* Sidebar scrollbar — native scroll on nav viewport */
.sidebar-scroll-viewport {
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.25) transparent;
  -webkit-overflow-scrolling: touch;
}
.sidebar-scroll-viewport::-webkit-scrollbar {
  width: 6px;
}
.sidebar-scroll-viewport::-webkit-scrollbar-track {
  background: transparent;
}
.sidebar-scroll-viewport::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.25);
  border-radius: 100px;
}
.sidebar-scroll-viewport::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.40);
}

/* Sidebar scrollbar — legacy root hook (other ScrollArea usages) */
.sidebar-scroll {
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.25) transparent;
}
.sidebar-scroll::-webkit-scrollbar {
  width: 6px;
}
.sidebar-scroll::-webkit-scrollbar-track {
  background: transparent;
}
.sidebar-scroll::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.25);
  border-radius: 100px;
}
.sidebar-scroll::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.40);
}

/* ── Workspace chrome (My Watchlists / Screens / Portfolio) ─────────────── */
/* Table styles: frontend/src/styles/terminal-table.css (imported from main.tsx) */
.workspace-titlebar {
  display: flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.375rem;
  border-bottom: none;
  background: hsl(var(--card));
  padding: 0.5rem 0.75rem;
}

/* Entity workspace L1 — breadcrumb header (Watchlists, Screener, Portfolio, Charts) */
.workspace-titlebar.entity-ws-titlebar,
.workspace-titlebar[data-entity-workspace-chrome="header"] {
  justify-content: space-between;
  gap: 0.75rem 1.25rem;
  padding: 0;
}

.entity-ws-tabstrip {
  border-bottom: 1px solid hsl(var(--border) / 0.65);
  box-shadow: none;
}

.workspace-tabstrip {
  display: flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  /* Bottom edge of the header zone (title bar + tabs). A crisp hairline plus a
     soft downward shadow lifts the chrome above the scrolling grid so the page
     reads as layered surfaces, not one flat sheet. */
  border-bottom: 1px solid hsl(var(--foreground) / 0.1);
  box-shadow: 0 6px 10px -10px hsl(var(--foreground) / 0.28);
  position: relative;
  z-index: 1;
  background: hsl(var(--card));
  padding: 0 0.5rem;
  min-height: 2.25rem;
}

.workspace-tab--entity {
  font-size: var(--text-base);
  font-weight: 600;
  line-height: 1.25;
  color: hsl(var(--foreground));
}

.workspace-tab {
  display: inline-flex;
  max-width: 12.5rem;
  align-items: center;
  gap: 0.25rem;
  border-bottom: 2px solid transparent;
  padding: 0.375rem 0.625rem;
  font-size: var(--text-xs);
  font-weight: 600;
  color: hsl(var(--muted-foreground));
  transition: color 0.12s ease, background-color 0.12s ease, border-color 0.12s ease;
}

.workspace-tab:hover {
  background: hsl(var(--foreground) / 0.03);
  color: hsl(var(--foreground));
}

.workspace-tab--active {
  border-bottom-color: hsl(var(--primary));
  color: hsl(var(--foreground));
}

.workspace-tabstrip .workspace-tab-icon-btn {
  display: inline-flex;
  height: 2rem;
  width: 2rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: hsl(var(--muted-foreground));
  transition: color 0.12s ease, background-color 0.12s ease;
}

.workspace-tabstrip .workspace-tab-icon-btn:hover {
  background: hsl(var(--foreground) / 0.04);
  color: hsl(var(--foreground));
}

.workspace-table-toolbar {
  background: var(--terminal-table-header-bg-opaque);
  border-top: 1px solid var(--terminal-table-header-line);
  border-bottom: 1px solid var(--terminal-table-header-line);
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  min-height: 40px;
  font-size: var(--text-xs);
  font-weight: 500;
  color: hsl(var(--foreground));
}

/* L2 page chrome — flat chips (no elevation; differs from L4 toolbar groups) */
.workspace-chrome-btn {
  box-shadow: none;
}

/* Entity Workspace (Watchlists / Screener / Portfolio) — scoped separately from .workspace-* */
.entity-ws-action-btn {
  box-shadow: none;
}

.entity-ws-table-toolbar {
  color: hsl(var(--foreground));
}

/* L4 table toolbar — ghost controls inside grouped chips */
.workspace-toolbar-btn {
  border: none;
  background: transparent;
  color: hsl(var(--muted-foreground));
  font-weight: 400;
}

.workspace-toolbar-btn:hover {
  color: hsl(var(--foreground));
}

.workspace-toolbar-btn--active,
.workspace-toolbar-btn--active:hover {
  color: hsl(var(--foreground));
}

.workspace-toolbar-pill-group .workspace-toolbar-btn {
  border-radius: 9999px;
}

.workspace-toolbar-controls:not(.workspace-toolbar-pill-group) .workspace-toolbar-btn,
.workspace-toolbar-views:not(.workspace-toolbar-pill-group) .workspace-toolbar-btn {
  border-radius: 4px;
}

/* L4 pill toolbar — clearer group edge on table header background */
.workspace-toolbar-pill-group {
  border-color: hsl(var(--border));
  box-shadow:
    0 1px 2px hsl(var(--foreground) / 0.07),
    inset 0 1px 0 hsl(var(--background) / 0.65);
}

.workspace-titlebar[data-dt-workspace-titlebar-variant="page"] h1 {
  font-size: var(--text-xl);
  font-weight: 600;
  line-height: var(--leading-xl);
  letter-spacing: -0.02em;
  color: hsl(var(--foreground));
}

.workspace-titlebar[data-dt-workspace-titlebar-variant="section"] h1 {
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.workspace-table-footer {
  background: hsl(var(--card));
  border-top: 1px solid hsl(var(--foreground) / 0.08);
  font-size: var(--text-xs);
}

.workspace-table--integrated {
  border-radius: 0;
  box-shadow: none;
}



/* ═══════════════════════════════════════════════════════════════════════════
   App Shell (grid layout)
   ═══════════════════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════════════════
   Sidebar — OpenBB-style navigation
   ═══════════════════════════════════════════════════════════════════════════ */

/* Visible section divider line */

/* ── Collapsible section animation ─────────────────────────────────── */

/* Chevron rotation */

/* Collapsed sidebar overrides */


/* ═══════════════════════════════════════════════════════════════════════════
   TopBar — OpenBB-style clean header
   ═══════════════════════════════════════════════════════════════════════════ */

/* Real-time clock */

/* Hamburger / sidebar toggle */

/* Logo */

/* Search button — centered (see consolidated rule below) */

/* Flexible spacer */

/* Help Center link */

/* Icon buttons */

/* User avatar circle */

/* Legacy breadcrumb/code (kept for compatibility) */

/* ── Search button (centered in TopBar) ── */

/* ═══════════════════════════════════════════════════════════════════════════
   StatusBar
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════════
   Content Area
   ═══════════════════════════════════════════════════════════════════════════ */


/* Universal focus-visible for all interactive elements */
button:focus-visible,
[role="button"]:focus-visible,
select:focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: 2px solid rgba(161, 161, 170, 0.50);
  outline-offset: 1px;
}

/* Toggle Switch */


/* ═══════════════════════════════════════════════════════════════════════════
   Tabs — Underline Style
   ═══════════════════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════════════════
   Dropdown / Menu
   ═══════════════════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════════════════
   Tooltip
   ═══════════════════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════════════════
   Modal / Dialog
   ═══════════════════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════════════════
   Financial Data Utilities
   ═══════════════════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════════════════
   Watchlist
   ═══════════════════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════════════════
   Color Group Indicators (widget linking)
   ═══════════════════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════════════════
   Layout Utilities
   ═══════════════════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════════════════
   Typography Utilities
   ═══════════════════════════════════════════════════════════════════════════ */


/* Legacy loader keyframes removed — all loading states use shadcn Spinner */


/* ═══════════════════════════════════════════════════════════════════════════
   Symbol Link — Interactive ticker symbols

   Visual rule: tickers stay neutral (foreground) so the data grid reads
   like the dashboard cards on Home. The blue accent is reserved for
   selection bars / focus rings only. A faint surface lift on hover hints
   at interactivity without recoloring the symbol itself.
   ═══════════════════════════════════════════════════════════════════════════ */

.symbol-link {
  color: hsl(var(--foreground));
  font-weight: 500;
  text-decoration: none;
  border-radius: 4px;
  padding: 0 var(--space-1);
  margin: 0 -var(--space-1);
  cursor: pointer;
  transition: background 0.1s ease, color 0.1s ease;
  display: inline-block;
}
.symbol-link:hover {
  background: rgba(255, 255, 255, 0.06);
  color: hsl(var(--foreground));
}
.symbol-link:focus {
  outline: 1px solid hsl(var(--ring));
  outline-offset: 1px;
}

/* Ticker hover preview (MiniCard) — ring via shadow avoids border/radius gaps */
.ticker-preview-card {
  --ticker-preview-radius: 6px;
  border-radius: var(--ticker-preview-radius);
  overflow: hidden;
  isolation: isolate;
  position: relative;
  background: hsl(var(--popover));
  color: hsl(var(--popover-foreground));
  box-shadow:
    0 0 0 1px hsl(var(--border)),
    0 12px 40px rgba(0, 0, 0, 0.48),
    0 2px 8px rgba(0, 0, 0, 0.22);
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* Invisible bridge so the pointer can reach the card from the table row */
.ticker-preview-card::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: -20px;
  height: 20px;
}

.ticker-preview-card--pinned {
  box-shadow:
    0 0 0 1px hsl(var(--ring)),
    0 12px 40px rgba(0, 0, 0, 0.48),
    0 2px 8px rgba(0, 0, 0, 0.22);
}

.ticker-preview-card__section {
  background: hsl(var(--popover));
}

.ticker-preview-card__section + .ticker-preview-card__section {
  box-shadow: inset 0 1px 0 hsl(var(--border) / 0.55);
}

.ticker-preview-card__chart-wrap {
  overflow: hidden;
  min-height: 148px;
  border-radius: calc(var(--ticker-preview-radius) - 4px);
  background: hsl(var(--muted) / 0.12);
}

.ticker-preview-chart {
  min-height: 132px;
}

.ticker-preview-card__chart-wrap .recharts-responsive-container,
.ticker-preview-card__chart-wrap svg,
.ticker-preview-chart .recharts-responsive-container,
.ticker-preview-chart svg {
  display: block;
}

.ticker-preview-card__chart-wrap svg,
.ticker-preview-chart svg {
  shape-rendering: geometricPrecision;
}

.ticker-preview-chart .recharts-curve {
  vector-effect: non-scaling-stroke;
}

.ticker-preview-card__actions {
  border-bottom-left-radius: var(--ticker-preview-radius);
  border-bottom-right-radius: var(--ticker-preview-radius);
}

/* Agent pill input — placeholder must not double-fade on dark surfaces */
.agent-pill-input textarea {
  color: hsl(var(--foreground));
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
}

.agent-pill-input textarea::-moz-placeholder {
  color: hsl(var(--muted-foreground));
  opacity: 1;
}

.agent-pill-input textarea::placeholder {
  color: hsl(var(--muted-foreground));
  opacity: 1;
}


/* ═══════════════════════════════════════════════════════════════════════════
   Price Flash Animations
   ═══════════════════════════════════════════════════════════════════════════ */

.price-blink-host.price-flash-up {
  animation: price-flash-green 0.65s ease-out;
}

.price-blink-host.price-flash-down {
  animation: price-flash-red 0.65s ease-out;
}

.price-blink-host.price-flash-up .price-blink-content {
  animation: price-flash-bold 0.65s ease-out;
}

.price-blink-host.price-flash-down .price-blink-content {
  animation: price-flash-bold 0.65s ease-out;
}

@keyframes price-flash-green {
  0%, 30% { background-color: hsl(var(--positive) / 0.32); }
  55%     { background-color: hsl(var(--positive) / 0.14); }
  100%    { background-color: transparent; }
}

@keyframes price-flash-red {
  0%, 30% { background-color: hsl(var(--negative) / 0.32); }
  55%     { background-color: hsl(var(--negative) / 0.14); }
  100%    { background-color: transparent; }
}

@keyframes price-flash-bold {
  0%, 38% { font-weight: 700; }
  100%    { font-weight: inherit; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   Light Mode — [data-color-mode="light"]
   OpenBB Terminal warm light background
   ═══════════════════════════════════════════════════════════════════════════ */

[data-color-mode="light"] {
  /* Cursor Light — legacy --color-* bridge (charts, canvas, widgets) */
  --color-bg: #ebebeb;
  --color-panel: #ffffff;
  --color-chart-canvas: #ffffff;
  --color-chart-surface-elevated: #f3f3f3;
  --color-chart-grid: rgba(0, 0, 0, 0.04);
  --color-chart-grid-major: rgba(0, 0, 0, 0.075);
  --color-chart-axis-border: rgba(0, 0, 0, 0.06);
  --color-chart-crosshair: rgba(0, 0, 0, 0.12);
  --color-chart-crosshair-label-bg: #18181b;
  --color-chart-crosshair-label-fg: #fafafa;
  --color-chart-tooltip-bg: #ffffff;
  --color-chart-tooltip-border: rgba(0, 0, 0, 0.1);
  --color-chart-zero-line: rgba(0, 0, 0, 0.1);
  --color-panelH: #f3f3f3;
  --color-border: #d9d9d9;
  --color-borderA: #cfcfcf;
  --color-borderF: #3c7cab;
  --color-text: #242424;
  --color-dim: #5c5c5c;
  --color-muted: #8a8a8a;
  --color-green: #1f8a65;
  --color-greenD: #166b4f;
  --color-greenBg: rgba(31, 138, 101, 0.08);
  --color-greenBgS: rgba(31, 138, 101, 0.15);
  --color-red: #cf2d56;
  --color-redBg: rgba(207, 45, 86, 0.08);
  --color-redBgS: rgba(207, 45, 86, 0.15);
  --color-yellow: #a16900;
  --color-yellowBg: rgba(161, 105, 0, 0.08);
  --color-yellowBgS: rgba(161, 105, 0, 0.15);
  --color-accent: #2357f6;
  --color-blue: #3c7cab;
  --color-titleActive: #f3f3f3;
  --color-titleInactive: #ebebeb;
  --color-bevelLight: rgba(0, 0, 0, 0.03);
  --color-bevelDark: #d9d9d9;
  --color-statusBg: #f3f3f3;
}

/* Scrollbar in light mode */
[data-color-mode="light"] ::-webkit-scrollbar-thumb {
  background: hsl(var(--border));
}

/* ── Light mode: symbol links use dark text (not blue) ── */
[data-color-mode="light"] .symbol-link {
  color: hsl(var(--foreground));
  font-weight: 500;
}
[data-color-mode="light"] .symbol-link:hover {
  color: #3c7cab;
  background: rgba(60, 124, 171, 0.07);
}

/* ── Light mode: right rail active button ── */

/* ── Light mode overrides for the dashboard palette ── */

/* ═══════════════════════════════════════════════════════════════════════════
   Sidebar — Group & Security Block additions
   ═══════════════════════════════════════════════════════════════════════════ */

/* Grouped section with border-top divider */

/* Indented sub-item (for items under section headers) */

/* View all link */

/* Security Symbol Block */


/* ═══════════════════════════════════════════════════════════════════════════
   Right Rail — vertical icon strip
   ═══════════════════════════════════════════════════════════════════════════ */


/* ── dibsTERMINAL Copilot panel (slide-out) ── */
/* ── Copilot panel keyframes ── */
@keyframes ai-msg-in {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: none; }
}
@keyframes ai-cursor-blink {
  0%, 49% { opacity: 1; }
  50%, 100% { opacity: 0; }
}
@keyframes ai-dot-pulse {
  0%   { box-shadow: 0 0 0 0   rgba(255, 255, 255, 0.35); }
  60%  { box-shadow: 0 0 0 5px rgba(255, 255, 255, 0);    }
  100% { box-shadow: 0 0 0 0   rgba(255, 255, 255, 0);    }
}
@keyframes ai-sparkles-float {
  0%   { transform: translateY(0)    rotate(0deg);  }
  33%  { transform: translateY(-3px) rotate(3deg);  }
  66%  { transform: translateY(-1px) rotate(-2deg); }
  100% { transform: translateY(0)    rotate(0deg);  }
}
@keyframes ai-thinking-dots {
  0%   { content: ''; }
  25%  { content: '.'; }
  50%  { content: '..'; }
  75%  { content: '...'; }
  100% { content: ''; }
}

/* ── Quick Notes (right rail panel) ──
   Container layout only — content/editor styling lives inline as
   Tailwind classes so headings/blockquotes inside the contentEditable
   inherit the home design tokens directly. */

.rr-notes-dock {
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  min-height: 0;
}

/* contentEditable headings/blockquotes inside the editor — keep these
   as plain CSS so `document.execCommand('formatBlock', 'h1')` etc. yield
   readable output without a Tailwind-specific class on every node. */

.rr-notes-dock__editor h1,
.rr-notes [contenteditable] h1 {
  font-size: 14px;
  font-weight: 600;
  margin: 6px 0 4px;
  line-height: 1.3;
  color: hsl(var(--foreground));
}

.rr-notes-dock__editor h2,
.rr-notes [contenteditable] h2 {
  font-size: 13px;
  font-weight: 600;
  margin: 5px 0 3px;
  line-height: 1.3;
  color: hsl(var(--foreground));
}

.rr-notes-dock__editor h3,
.rr-notes [contenteditable] h3 {
  font-size: 12px;
  font-weight: 600;
  margin: 4px 0 2px;
  line-height: 1.3;
  color: hsl(var(--foreground));
}

.rr-notes-dock__editor blockquote,
.rr-notes [contenteditable] blockquote {
  border-left: 2px solid hsl(var(--primary));
  margin: 6px 0;
  padding: 4px 10px;
  color: hsl(var(--muted-foreground));
  background: hsl(var(--foreground) / 0.025);
}

.rr-notes-dock__editor ul,
.rr-notes-dock__editor ol,
.rr-notes [contenteditable] ul,
.rr-notes [contenteditable] ol {
  margin: 4px 0;
  padding-left: 22px;
}

.rr-notes-dock__editor li,
.rr-notes [contenteditable] li {
  margin: 2px 0;
}

.rr-notes-dock__editor hr,
.rr-notes [contenteditable] hr {
  border: none;
  border-top: 1px solid hsl(var(--foreground) / 0.06);
  margin: 8px 0;
}

@keyframes rr-fade-in {
  from { opacity: 0; transform: translateY(-2px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ── Trending / Top Movers (right rail panel) ───────────────────────── */

.rr-trending {
  padding: 0;
  display: flex;
  flex-direction: column;
}

.rr-mover-section {
  padding: 0 0 4px;
}

.rr-mover-section + .rr-mover-section {
  border-top: 1px solid hsl(var(--foreground) / 0.06);
  margin-top: 4px;
  padding-top: 4px;
}

.rr-mover-section__title {
  padding: 4px 8px 2px;
  font-size: 9px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-family: var(--font-mono);
}

.rr-mover-section__empty {
  padding: 12px 8px;
  font-size: 11px;
  color: hsl(var(--muted-foreground));
  text-align: center;
}

.rr-mover-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 8px;
  height: 24px;
  transition: background 0.1s;
}

.rr-mover-row:hover {
  background: hsl(var(--foreground) / 0.04);
}

.rr-mover-row__sym {
  font-size: 11px;
  font-weight: 600;
  color: hsl(var(--foreground));
  font-family: var(--font-mono);
  letter-spacing: 0.04em;
  min-width: 56px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rr-mover-row__price {
  flex: 1;
  font-size: 11px;
  font-weight: 500;
  color: hsl(var(--muted-foreground));
  text-align: right;
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  min-width: 50px;
}

.rr-mover-row__pct {
  font-size: 11px;
  font-weight: 500;
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  display: flex;
  align-items: center;
  gap: 1px;
  min-width: 54px;
  justify-content: flex-end;
}

.rr-mover-row__pct.up {
  color: hsl(var(--positive));
}

.rr-mover-row__pct.down {
  color: hsl(var(--negative));
}

.rr-trending__footer {
  border-top: 1px solid hsl(var(--foreground) / 0.06);
  margin-top: 4px;
  padding: 6px 8px 2px;
}

.rr-trending__link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  width: 100%;
  padding: 4px 0;
  background: none;
  border: none;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: hsl(var(--primary));
  cursor: pointer;
  transition: color 0.1s;
}

.rr-trending__link:hover {
  color: hsl(var(--primary) / 0.85);
  background: transparent;
}


/* ═══════════════════════════════════════════════════════════════════════════
   Home — 3-column dense data grid
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Fixed grid layout for Home ──────────────────────────── */
/*
  Layout (6 columns × 6 rows):
  ┌──────────┬──────────────────────┬──────────┐
  │  equity  │       news           │currencies│  row 1
  ├──────────┼──────────────────────┼──────────┤
  │          │                      │          │
  │ sectors  │       chart          │  global  │  row 2-4
  │          │                      │          │
  ├──────────┼───────────┬──────────┼──────────┤
  │    fi    │  factors  │  yields  │commodities│ row 5-6
  └──────────┴───────────┴──────────┴──────────┘
*/

/* Unified scrollable columns – left (equity/sectors/fi) and right (currencies/global/commodities) */
/* Panels inside left/right columns: no individual card border, just bottom divider */

/* All panels have uniform borders via gap + individual borders */

/* ── Responsive: stack on small screens ─────────────────────────────── */
@media (max-width: 900px) {
}

/* Legacy: react-grid-layout container override (kept for custom dashboards) */

/* Each grid cell must clip content so panels scroll internally */

/* Panel body scrolls internally so panels don't need to grow */

/* Tables need display:block wrapper behavior to enable overflow scroll */

/* Dense data table in NOW grid */

/* Column widths: checkbox, name (flexible), ticker, price, chg, %
   With table-layout: fixed, explicit px columns are respected;
   col 2 (name) has no explicit width → gets all remaining space */
/* col 2 name: gets remaining width; content truncated with ellipsis */
/* col 3 ticker: compact mono */
/* col 4 price */
/* col 5 change */
/* col 6 pct */
/* Unified cell renderer color classes */

/* Name + Ticker inline layout */

/* Colored checkbox swatch – replaces MUI Checkbox when a chart color is assigned */


@media (max-width: 1100px) {
}

/* Performance chart area */

/* Factors heatmap grid */

/* News list items */

/* Yields table in middle col */

/* ═══════════════════════════════════════════════════════════════════════════
   Home — Checkbox & Selection Styles
   ═══════════════════════════════════════════════════════════════════════════ */

/* Checkbox cell in table header */

/* Checkbox cell in table rows */

/* Custom checkbox styling */

/* Selected row styling */

/* Selected row in yields panel */

/* Floating action bar for selected symbols */

@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}

/* Chart container */

/* Legend styling for chart */

/* Responsive adjustments */
@media (max-width: 1200px) {
}

@media (max-width: 900px) {
}

/* ═══════════════════════════════════════════════════════════════════════════
   Toast Notifications
   ═══════════════════════════════════════════════════════════════════════════ */

/* Toast presentation now comes from shadcn/ui toast primitives. */



/* ═══════════════════════════════════════════════════════════════════════════
   Form Patterns - Consistent error/success/hint styling
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════════
   Page Transitions
   ═══════════════════════════════════════════════════════════════════════════ */

[data-route-content="true"]:has([data-fixed-view="true"]) {
  overflow: hidden;
}

[data-route-content="true"] > :first-child {
  flex: 1;
  min-height: 0;
  min-width: 0;
}

/* ═══════════════════════════════════════════════════════════════════════════
   Error Banner
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════════
   Form Group
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════════
   Section Header
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════════
   Empty State
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════════
   Recently Viewed - Sidebar section
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════════
   Hybrid Koyfin × modern brand bridge

   Keep the pre-OpenBB component contracts and CSS variable names intact, but
   point them at the current dibsTERMINAL palette so the older dashboard/widget
   system can wear the newer visual language without importing the newer widget
   architecture wholesale.
   ═══════════════════════════════════════════════════════════════════════════ */

:root:not([data-color-mode="light"]),
html.dark {











  --color-bg: hsl(var(--background));
  --color-panel: hsl(var(--card));
  --color-chart-canvas: hsl(var(--chart-surface, var(--card)));
  --color-panelH: hsl(var(--muted));
  --color-border: hsl(var(--border));
  --color-borderA: hsl(var(--border));
  --color-borderF: hsl(var(--ring));
  --color-text: hsl(var(--foreground));
  --color-dim: hsl(var(--muted-foreground));
  --color-muted: hsl(var(--muted-foreground));
  --color-white: #fafafa;
  --color-green: hsl(var(--positive));
  --color-greenD: color-mix(in srgb, hsl(var(--positive)) 70%, black);
  --color-greenBg: rgba(57, 198, 57, 0.1);
  --color-greenBgS: rgba(57, 198, 57, 0.16);
  --color-red: hsl(var(--negative));
  --color-redBg: rgba(224, 56, 56, 0.1);
  --color-redBgS: rgba(224, 56, 56, 0.16);
  --color-yellow: hsl(var(--chart-3));
  --color-yellowBg: rgba(245, 177, 102, 0.1);
  --color-yellowBgS: rgba(245, 177, 102, 0.16);
  --color-cyan: hsl(var(--chart-5));
  --color-blue: hsl(var(--chart-1));
  --color-purple: hsl(var(--chart-4));
  --color-orange: hsl(var(--brand));
  --color-accent: hsl(var(--brand));
  --color-titleActive: hsl(var(--card));
  --color-titleInactive: hsl(var(--card));
  --color-bevelLight: rgba(255, 255, 255, 0.05);
  --color-bevelDark: #141414;
  --color-statusBg: hsl(var(--background));
}
