@import url('https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,400..600&family=Press+Start+2P&display=swap');: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);
}

.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;
}
/* Self-hosted Satoshi (Fontshare, ITF Free Font License) — marketing pages only. */
@font-face {
  font-family: 'Satoshi';
  src: url('/fonts/satoshi/Satoshi-Variable.woff2') format('woff2');
  font-weight: 300 900;
  font-style: normal;
  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 {
    /* ════════════════════════════════════════════════════════════════
       PRIMITIVES — the ONLY place raw color values live. One cool-graphite
       ramp (50 = lightest text … 960 = deepest shell) + brand + direction.
       Everything below is a SEMANTIC ALIAS onto these primitives.
       RULE: components use the semantic tokens (--background, --card,
       --foreground, --border, --positive, …) — never a primitive directly,
       never a raw hex. New color? Add a semantic token here first.
       ──────────────────────────────────────────────────────────────── */
    /* Modern neutral ramp — Devin / OpenAI-Codex aesthetic: PURE neutral (hue 0),
       near-black, but CRISP. The fix vs. the old flat look is depth + contrast:
       surfaces are clearly STEPPED (page ~#161616 → card ~#1F1F1F → popover ~#2B2B2B
       → border ~#333) so cards read as distinct elevated tiles instead of one dark
       smear, and the whole thing sits a touch lighter so it feels clean, not murky.
       Blue stays only as the accent (--brand/--primary). Tune lightness here, once. */
    --graphite-50:  0 0% 98%;    /* text — strongest */
    --graphite-100: 0 0% 93%;    /* text — primary */
    --graphite-300: 0 0% 64%;    /* text — muted / labels */
    --graphite-600: 0 0% 24%;    /* hover / selection wash */
    --graphite-700: 0 0% 20%;    /* border — hairline (crisp, visible) */
    --graphite-800: 0 0% 13%;    /* inset / muted surface (well, darker than card) */
    --graphite-850: 0 0% 17%;    /* popover */
    --graphite-900: 0 0% 12.16%;  /* card / panel surface — #1F1F1F rgb(31, 31, 31) */
    --graphite-925: 0 0% 10%;    /* workspace / main screen */
    --graphite-940: 0 0% 9%;     /* sidebar / chrome */
    --graphite-950: 0 0% 8.5%;   /* canvas — page */
    --graphite-960: 0 0% 7%;     /* shell — deepest */

    --brand-500: 224 100% 58%;     /* primary blue #2962FF — CTAs, focus, active */
    --brand-600: 224 100% 50%;     /* pressed / strong */
    --brand-400: 224 100% 70%;     /* lighter accent — header chips, secondary CTAs */
    --pos-500:   150 58% 46%;      /* up / positive — richer green for the terminal */
    --neg-500:   358 70% 60%;      /* down / negative — vivid red */
    --warn-500:  36 84% 56%;       /* warning amber #e39e3a */
    --accent-yellow: 60 100% 66%;  /* accent yellow #FFFF52 — sparing highlights only */

    /* ── Semantic aliases — USE THESE ── */
    --background: var(--graphite-950);
    --foreground: var(--graphite-100);

    --card: var(--graphite-900);
    --card-foreground: var(--graphite-100);

    --popover: var(--graphite-850);
    --popover-foreground: var(--graphite-100);

    --primary: var(--brand-500);
    --primary-foreground: 0 0% 100%;

    --secondary: var(--graphite-800);
    --secondary-foreground: var(--graphite-100);

    --muted: var(--graphite-800);
    --muted-foreground: var(--graphite-300);

    --accent: var(--graphite-600);
    --accent-foreground: var(--graphite-50);

    --destructive: var(--neg-500);
    --destructive-foreground: 0 0% 98%;

    --border: var(--graphite-700);
    --input: var(--graphite-800);
    --ring: var(--brand-500);

    --icon-stroke: 2.75;
    --icon-stroke-active: 2.9;

    --radius: 8px;                      /* AlphaSense-rund — softer, premium */
    --radius-md: 10px;                  /* controls — buttons / inputs / tabs */
    --radius-lg: 12px;                  /* containers — panels / cards */
    --panel-shadow: 0 1px 0 0 hsl(0 0% 100% / 0.035),
      0 8px 28px -6px hsl(0 0% 0% / 0.55);

    /* ── Floating-tile design system — THE single source of truth for the
       "screen + floating rounded tile-cards" look in BOTH themes. Every
       [data-*-surface='elevated'] rule (the unified block in @layer components)
       references these — change the look here, once. These are the DARK values;
       the .light block below overrides the color + lift vars (--screen-*,
       --tile-border, --tile-highlight) for the light variant. The structural
       vars (radius/gutter/pad) are theme-shared. See design/tileSurface.js. ── */
    --tile-radius: 12px;       /* AlphaSense-rund — softer card corners */
    --tile-radius-sm: 10px;
    --tile-fill: hsl(var(--card));                          /* resolves AFTER the screen remaps --card */
    --tile-border: 1px solid hsl(var(--border) / 0.45);     /* full shorthand: some panels ship border-width:0 */
    --tile-border-strong: 1px solid hsl(var(--border));
    --tile-highlight: inset 0 1px 0 hsl(0 0% 100% / 0.04);  /* dark: lit-from-above, NO drop shadow */
    --tile-gutter: 8px;
    --shell-panel-gutter: var(--tile-gutter); /* sidebar | workspace | right rail — equal panel height */
    --tile-title-gap: 6px;
    --tile-body-pad: 14px 16px;
    /* Screen-surface aliases — the elevated <main> remaps --background/--card/
       --border to these. Aliased to graphite so a ramp tweak propagates. */
    --screen-bg: var(--graphite-925);     /* main screen — page */
    --screen-card: var(--graphite-900);   /* tile fill — elevated card */
    --screen-border: var(--graphite-700); /* tile hairline base */
    --screen-frame: var(--graphite-850);  /* workspace-shell rounded frame */

    --shell: var(--graphite-960);
    --workspace: var(--graphite-925);    /* breadcrumb + instrument band */

    --sidebar-background: var(--graphite-940);
    --sidebar-foreground: var(--graphite-50);
    --sidebar-primary: var(--graphite-50);  /* active icon/text */
    --sidebar-primary-foreground: var(--graphite-925);
    --sidebar-accent: var(--graphite-600);  /* hover / selection wash */
    --sidebar-accent-foreground: var(--graphite-50);
    --sidebar-border: var(--graphite-700);
    --sidebar-ring: var(--brand-500);

    --positive: var(--pos-500);
    --positive-dim: var(--pos-500) / 0.13;
    --negative: var(--neg-500);
    --negative-dim: var(--neg-500) / 0.13;

    /* ── Status quartet — the ONE source for severity colour (success/warning/
       error/info). Derived from the palette so badges, alerts, toasts and
       banners stop re-inventing emerald/amber/red/blue per-component. ── */
    --success: var(--pos-500);
    --warning: var(--warn-500);
    --error:   var(--neg-500);
    --info:    var(--brand-500);

    /* ── Highlight — AlphaSense yellow, used SPARINGLY (search-hit <mark>, term
       highlighting). Navy ink on yellow keeps contrast high in both themes. ── */
    --highlight: var(--accent-yellow);
    --highlight-foreground: 233 44% 11%;   /* navy #101329 */

    /* Chart palette — terminal-grade, harmonised with the graphite+azure chrome.
       Cohesive mid-saturation family (NOT the old Warp pastel ANSI rainbow).
       chart-1 = brand azure (hero series), chart-2/6 echo positive/negative so a
       series that means up/down still matches the table green/red. The rest are
       muted, cool-leaning hues that read as ONE family on the near-black canvas. */
    --chart-1: 225 100% 50%;            /* brand blue #0040FF — hero series */
    --chart-2: 150 56% 50%;             /* green — echoes --positive */
    --chart-3: 41 78% 58%;              /* amber  #e7b340 */
    --chart-4: 268 42% 66%;             /* violet #a684cd */
    --chart-5: 190 52% 54%;             /* teal   #4db2c7 */
    --chart-6: 358 68% 63%;             /* coral — echoes --negative */
    --chart-7: 96 38% 56%;              /* sage   #86b964 */
    --chart-8: 222 38% 64%;             /* slate  #8095c6 */
    --chart-9: 322 46% 64%;             /* orchid #cd79ae */
    --chart-10: 0 0% 58%;               /* grey   #949494 */
    --chart-11: 204 58% 70%;            /* sky    #86bbdf */
    --chart-12: 26 60% 60%;             /* terracotta #d6915c */

    /* ── Monochrome chart ramp — theme-aware grayscale for single-hue charts
       (exposure bars, yield curves, comparison lines, …). Index 1 = most
       prominent, descending to 12 = most subtle. On dark theme these are
       light grays (visible on near-black); on light theme they flip to dark
       grays so the SAME index keeps its visual prominence on paper. Every
       monochrome chart should source its series colors from CHART_MONO_RAMP
       (src/lib/chartPalette.js) instead of re-hardcoding hsl(0 0% X%) per
       page — otherwise a ramp tweak only fixes one chart. ── */
    --chart-mono-1:  0 0% 92%;
    --chart-mono-2:  0 0% 84%;
    --chart-mono-3:  0 0% 78%;
    --chart-mono-4:  0 0% 70%;
    --chart-mono-5:  0 0% 65%;
    --chart-mono-6:  0 0% 58%;
    --chart-mono-7:  0 0% 52%;
    --chart-mono-8:  0 0% 46%;
    --chart-mono-9:  0 0% 40%;
    --chart-mono-10: 0 0% 36%;
    --chart-mono-11: 0 0% 30%;
    --chart-mono-12: 0 0% 26%;

    /* Chart surfaces — same plane as panel card (no nested darker box).
       Grid/crosshair/zero-line derive from --foreground so they flip correctly
       in light mode (dark lines on white) without per-theme overrides. */
    --chart-surface: var(--card);
    --chart-surface-elevated: var(--muted);
    --chart-grid-minor: var(--foreground) / 0.07;
    --chart-grid-major: var(--foreground) / 0.08;
    --chart-axis-border: var(--foreground) / 0.06;
    --chart-crosshair: var(--foreground) / 0.14;
    --chart-crosshair-label-bg: var(--graphite-850);
    --chart-crosshair-label-fg: var(--graphite-100);
    --chart-tooltip-bg: var(--muted);
    --chart-zero-line: var(--foreground) / 0.12;

    --brand: var(--brand-500);
    --brand-strong: var(--brand-600);

    /* ── Layout ── */
    --topbar-height: 0px;
    --shell-topbar-height: 3.5rem;
    --shell-screen-radius: 10px;
    /* Dark chrome band — icon rail, topbar, in-page nav panels (Notebook, …).
       Always dark even in the light app; use these instead of ad-hoc brand-* / hex. */
    --shell-chrome: 0 0% 9.41%;              /* #181818 — dark chrome: rail + topbar + nav panels */
    --shell-chrome-foreground: 0 0% 85.49%;  /* #DADADA */
    --shell-chrome-border: 0 0% 22%;
    --sidebar-width: 176px;
    --sidebar-collapsed-width: 50px;
    --shell-rail-panel-width: 42px;
    --shell-rail-column-width: 50px;
    --shell-nav-rail-width: 50px; /* left icon rail — icon-only, matches right rail */
    --shell-rail-gutter: 4px;
    --right-sidebar-width: 230px;
    --right-dock-width: 0px;
    --widget-header-height: 38px;
    --statusbar-height: 24px;
    --row-data: 36px;
    --row-compact: 30px;

    /* ── Typography ── */
    --font-sans: 'Geist', ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
    /* Marketing / landing typeface (Satoshi) — app UI stays on --font-sans (Geist). */
    --font-marketing: 'Satoshi', '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: 14px;    /* default body in normal regions (forms, modals) — AlphaSense-airier */
    --text-md: 16px;      /* sub-headers, prominent UI labels */
    --text-lg: 19px;      /* section titles on pages */
    --text-xl: 24px;      /* page subheaders */
    --text-2xl: 31px;     /* page headers */
    --text-3xl: 38px;     /* hero */

    /* ── Line heights paired with type scale ── */
    --leading-2xs: 14px;
    --leading-xs: 16px;
    --leading-sm: 18px;
    --leading-base: 22px;
    --leading-md: 24px;
    --leading-lg: 28px;
    --leading-xl: 33px;
    --leading-2xl: 39px;
    --leading-3xl: 46px;

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

    /* ── Legacy theme.js (T.*) + chart (resolveThemeColor) bridge ──
       Maps the old --color-* namespace onto the semantic tokens above so
       T.* widgets and canvas charts resolve to the SAME single source.
       Every value here MUST derive from a token (no raw hex/rgba), so it
       can never drift from the palette. NOTE: dibs-theme.css mirrors a
       subset of these for light mode — keep both token-derived. ── */
    --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: 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: hsl(var(--chart-3) / 0.10);
    --color-yellowBgS: hsl(var(--chart-3) / 0.18);
    --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-highlight: hsl(var(--highlight));
    --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 removed — dark-only app ── */
  button,
  a,
  input,
  select,
  textarea,
  [role='button'] {
    transition: var(--transition-theme);
  }

  /* ── Theme crossfade ─────────────────────────────────────────────────────
     Primary path is the View Transitions API (themeStore.js) — a GPU-composited
     whole-page crossfade, tuned here. Smooth no matter how dense the page is. */
  @media (prefers-reduced-motion: no-preference) {
    ::view-transition-old(root),
    ::view-transition-new(root) {
      animation-duration: 260ms;
      animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
  }

  /* Fallback crossfade for browsers without View Transitions (Safari/Firefox).
     Added to <html> as `.theme-transition` for ~300ms during a switch. TRIMMED
     to background/border/color only — the old rule also animated box-shadow,
     fill and stroke on EVERY element + pseudo-element, which caused a paint
     storm (the "slow, janky" switch) on dense pages. Skipped under reduced-motion. */
  .theme-transition,
  .theme-transition *,
  .theme-transition *::before,
  .theme-transition *::after {
    transition-property: background-color, border-color, color !important;
    transition-duration: 240ms !important;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
    transition-delay: 0s !important;
  }

  @media (prefers-reduced-motion: reduce) {
    .theme-transition,
    .theme-transition *,
    .theme-transition *::before,
    .theme-transition *::after {
      transition: none !important;
    }
  }

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

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

  /* ════════════════════════════════════════════════════════════════
     LIGHT MODE — "paper" palette. Re-enabled June 2026. Overrides the
     graphite ramp (every semantic token derives from it), so the whole
     app flips to light surfaces + dark ink in one place. The left icon rail
     uses a soft gray slab (#E5E5E5); the expanded nav panel stays dark in the
     scoped rule below. ──────────────────────────────────────────────────────── */
  .light {
    /* Cool-graphite "paper" ramp. A measured blue-grey tint (Hue 220, low sat) —
       NOT pure achromatic Hue 0, which reads flat/dead/cheap — is what makes a
       light terminal look *designed*. The lightness ladder is preserved, but the
       canvas is deepened and the hairline crisped so white cards visibly lift off
       the paper instead of dissolving into it. This IS the "kühle Graphit-Rampe". */
    --graphite-50:  233 44% 11%;   /* text — strongest (ink) — AlphaSense navy #101329 */
    --graphite-100: 231 33% 20%;   /* text — primary (navy-tinted) */
    --graphite-300: 225 10% 44%;   /* text — muted / labels */
    --graphite-600: 220 9% 93%;    /* hover / selection wash — cool gray */
    --graphite-700: 220 10% 84%;   /* border — hairline (cool neutral, no cream) */
    --graphite-800: 220 10% 96%;   /* inset / muted surface — light cool gray */
    --graphite-850: 0 0% 100%;     /* popover — clean white */
    --graphite-900: 0 0% 100%;     /* card / panel surface — white (lifts) */
    /* GRAY ground (cool-neutral, NOT warm cream) for every screen background —
       workspace band, canvas, page and shell. White is reserved for cards/panels,
       which visibly float on the slightly-grayer ground (AlphaSense-style) via
       the ~6% lightness delta + the soft paper-elevation shadow. */
    --graphite-925: 220 9% 94%;    /* workspace band — gray ground */
    --graphite-940: 220 9% 96%;    /* chrome */
    --graphite-950: 220 9% 94%;    /* canvas — gray ground */
    --graphite-960: 220 9% 93%;    /* shell — deepest */

    /* Direction colours deepened for contrast on white. */
    --pos-500: 151 55% 36%;
    --neg-500: 358 64% 48%;

    /* Chart gridlines now derive from --foreground (see :root), so they flip
       to dark-on-light automatically — no per-theme override needed here. */

    /* Monochrome chart ramp flips to dark grays so series stay visible on
       paper. Same index = same visual prominence as the dark-theme ramp. */
    --chart-mono-1:  0 0% 26%;
    --chart-mono-2:  0 0% 34%;
    --chart-mono-3:  0 0% 40%;
    --chart-mono-4:  0 0% 48%;
    --chart-mono-5:  0 0% 54%;
    --chart-mono-6:  0 0% 60%;
    --chart-mono-7:  0 0% 66%;
    --chart-mono-8:  0 0% 72%;
    --chart-mono-9:  0 0% 78%;
    --chart-mono-10: 0 0% 82%;
    --chart-mono-11: 0 0% 86%;
    --chart-mono-12: 0 0% 90%;

    /* ── Elevation for the paper theme ──────────────────────────────────────
       Dark mode lifts cards with LIGHTER surfaces; on paper that trick is gone,
       so floating tiles/panels need a real (soft, cool) drop shadow instead.
       Override the tile + panel shadow vars here so every elevated surface lifts
       consistently — and so `shadow-panel` stops using the dark theme's harsh
       near-black shadow (`hsl(0 0% 0% / 0.55)`) which looks cheap on white. */
    --tile-highlight:
      0 1px 2px hsl(220 24% 28% / 0.06),
      0 1px 1px hsl(220 24% 28% / 0.04);
    --panel-shadow:
      0 1px 2px hsl(220 24% 28% / 0.07),
      0 6px 16px -6px hsl(220 24% 28% / 0.12);

    /* Chrome (topbar, nav panel) is LIGHT in light mode — both icon rails share
       the same soft gray slab (#E5E5E5). */
    --sidebar-background: 0 0% 100%;
    --sidebar-foreground: 220 12% 26%;
    --sidebar-primary: 220 20% 13%;
    --sidebar-primary-foreground: 0 0% 100%;
    --sidebar-accent: 220 22% 94%;
    --sidebar-accent-foreground: 220 20% 13%;
    --sidebar-border: 220 16% 89%;

    color-scheme: light;
  }

  /* Light app + dark chrome: icon rail matches topbar (charcoal slab). */
  .light aside[aria-label="Navigation sidebar"] .dt-shell-rail-panel {
    background: hsl(var(--shell-chrome));
    --sidebar-background: 0 0% 9.41%;
    --sidebar-foreground: 0 0% 85.49%;
    --sidebar-rail-icon: 0 0% 85.49%;
    --sidebar-rail-active-bg: var(--brand-500);
    --sidebar-rail-active-icon: 0 0% 100%;
    --sidebar-primary: var(--brand-500);
    --sidebar-primary-foreground: 0 0% 100%;
    --sidebar-accent: 0 0% 20%;
    --sidebar-accent-foreground: 0 0% 100%;
    --sidebar-border: 0 0% 22%;
    position: relative;
    /* No full-height divider — rail + topbar share one chrome band at the top. */
    box-shadow: none;
  }

  .light aside[aria-label="Navigation sidebar"] .dt-shell-rail-panel::after {
    content: '';
    position: absolute;
    /* Start below the top bar so rail + topbar read as one seamless chrome band. */
    top: var(--shell-topbar-height);
    right: 0;
    bottom: 0;
    width: 1px;
    background: hsl(var(--shell-chrome-border));
    pointer-events: none;
  }

  /* White PNG mark on dark rail — no invert. */
  .light aside[aria-label="Navigation sidebar"] .dt-shell-rail-panel img[src="/dibs-mark-tight.png"] {
    filter: none;
  }

  .light aside[aria-label="Navigation sidebar"].shell-chrome,
  .dark aside[aria-label="Navigation sidebar"].shell-chrome {
    background: hsl(var(--shell-chrome));
  }

  /* Expanded nav panel = LIGHT paper surface (dark icon rail + light flyout,
     Slack/VS-Code style). The narrow rail stays charcoal; only this ausklappbare
     nav column reads as white paper against the content. */
  .light .dt-shell-sidebar-nav {
    background: hsl(var(--sidebar-background));  /* white paper */
    --sidebar-background: 0 0% 100%;
    --sidebar-foreground: 220 12% 26%;
    --sidebar-primary: 220 20% 13%;      /* active icon/text ink */
    --sidebar-primary-foreground: 0 0% 100%;
    --sidebar-accent: 220 22% 94%;       /* selected / hover row */
    --sidebar-accent-foreground: 220 20% 13%;
    --sidebar-border: 220 16% 89%;       /* internal hairlines */
  }

  /* In-page left sidebars (search facet rail, context side-nav, chart
     selections, graph picker, notebook nav) are styled off the dark
     --shell-chrome trio to match the icon rail. In the light theme they should
     read as LIGHT paper like the global nav flyout — so remap just those three
     tokens ON each sidebar root and every descendant rule flips automatically.
     The icon rail + topbar keep the dark --shell-chrome (defined globally). */
  .light .document-search-sidebar-shell__panel,
  .light .dt-context-workspace-row,
  .light .ws-side-nav,
  .light .chart-sel-sidebar,
  .light .graph-selection-picker__nav,
  .light .notebook-ws-nav {
    --shell-chrome: 0 0% 100%;               /* white paper */
    --shell-chrome-foreground: 220 12% 26%;  /* dark slate ink */
    --shell-chrome-border: 220 16% 89%;      /* light hairline */
  }

  /* Dark mode: left icon rail — sampled charcoal slab (#181818). */
  .dark aside[aria-label="Navigation sidebar"] .dt-shell-rail-panel {
    background: hsl(var(--shell-chrome));
    --sidebar-background: var(--shell-chrome);  /* #181818 — rgb(24, 24, 24) */
    --sidebar-foreground: 0 0% 85.49%;  /* #DADADA — rail text + active icons */
    --sidebar-rail-icon: 0 0% 85.49%;   /* #DADADA — idle outline icons */
    --sidebar-rail-active-bg: 217 15% 24%;  /* #333a45 — selected pill */
    --sidebar-rail-active-icon: 0 0% 100%;
    --sidebar-primary: 0 0% 85.49%;
    --sidebar-primary-foreground: var(--graphite-940);
    --sidebar-accent: var(--graphite-700);     /* active pill */
    --sidebar-accent-foreground: var(--graphite-50);
    --sidebar-border: var(--graphite-700);
    position: relative;
    box-shadow: none;
  }

  .dark aside[aria-label="Navigation sidebar"] .dt-shell-rail-panel::after {
    content: '';
    position: absolute;
    /* Start below the top bar so rail + topbar read as one seamless chrome band. */
    top: var(--shell-topbar-height);
    right: 0;
    bottom: 0;
    width: 1px;
    background: hsl(var(--graphite-700));
    pointer-events: none;
  }

  /* ── Shell top bar — same chrome slab as the icon rail (explicit CSS) ── */
  .dibs header.dt-shell-topbar {
    height: var(--shell-topbar-height);
    min-height: var(--shell-topbar-height);
    align-items: center;
    padding-left: 0;
    padding-right: var(--shell-panel-gutter);
    border-bottom-width: 1px;
    border-bottom-style: solid;
    background: hsl(var(--shell-chrome));
    color: hsl(var(--shell-chrome-foreground));
    border-bottom-color: hsl(var(--shell-chrome-border));
    --sidebar-foreground: var(--shell-chrome-foreground);
    --sidebar-border: var(--shell-chrome-border);
  }

  .light.dibs header.dt-shell-topbar,
  .dark.dibs header.dt-shell-topbar {
    background: hsl(var(--shell-chrome));
    color: hsl(var(--shell-chrome-foreground));
    border-bottom-color: hsl(var(--shell-chrome-border));
  }

  .dark.dibs header.dt-shell-topbar {
    border-bottom-color: hsl(var(--graphite-700));
  }

  /* No outer frame — each split field (.dt-shell-top-search-segment) is its own
     white surface; the bar container is just a transparent flex row. */
  .dibs header.dt-shell-topbar [data-tour='search'] {
    min-height: 2rem;
    color: hsl(var(--shell-chrome-foreground) / 0.85);
  }

  /* The two split fields are white surfaces (see .dt-shell-top-search-segment),
     so their text + placeholder must be DARK ink, not the chrome's light fg. */
  .dibs header.dt-shell-topbar [data-tour='search'] input {
    color: hsl(222 47% 11% / 0.92);
  }

  .dibs header.dt-shell-topbar [data-tour='search'] input::-moz-placeholder {
    color: hsl(222 47% 11% / 0.5);
  }

  .dibs header.dt-shell-topbar [data-tour='search'] input::placeholder {
    color: hsl(222 47% 11% / 0.5);
  }

  /* Split search bar — two separate, squared white pills on dark chrome */
  .dibs header.dt-shell-topbar [data-tour='search'] .dt-shell-top-search-segment {
    min-height: 2rem;
    border: 1px solid hsl(0 0% 100% / 0.12);
    border-radius: 6px;
    background: hsl(0 0% 100%);
    box-shadow: 0 1px 2px hsl(0 0% 0% / 0.08);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
  }

  /* No focus frame at all — the field looks identical focused and unfocused
     (no blue border, no glow), and the global :focus-visible blue outline is
     killed on these inputs, so clicking in shows only the text caret. */
  .dibs header.dt-shell-topbar [data-tour='search'] .dt-shell-top-search-segment:focus-within {
    border-color: hsl(0 0% 100% / 0.12);
    box-shadow: 0 1px 2px hsl(0 0% 0% / 0.08);
  }

  .dibs header.dt-shell-topbar [data-tour='search'] input:focus,
  .dibs header.dt-shell-topbar [data-tour='search'] input:focus-visible {
    outline: none;
  }

  /* Hide the browser's native search "×" — the fields have their own clear
     buttons, so the native one would just double up. */
  .dibs header.dt-shell-topbar [data-tour='search'] input[type='search']::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
  }

  .dibs header.dt-shell-topbar [data-tour='search'] kbd {
    background: hsl(var(--shell-chrome-foreground) / 0.06);
    border-color: hsl(var(--shell-chrome-border));
    color: hsl(var(--shell-chrome-foreground) / 0.55);
  }

  /* Blue Search submit — same flat chip anatomy as the white field pills
     (2px, 1px light border, subtle drop shadow), just in the primary accent so
     it stays the clear action while matching the bar's chip style. */
  .dibs header.dt-shell-topbar [data-tour='search'] .dt-shell-top-search-submit {
    border-radius: 6px;
    border: 1px solid hsl(0 0% 100% / 0.12);
    background: hsl(var(--primary));
    box-shadow: 0 1px 2px hsl(0 0% 0% / 0.08);
    color: hsl(0 0% 100%);
    font-weight: 500;
    transition: background-color 0.15s ease;
  }

  .dibs header.dt-shell-topbar [data-tour='search'] .dt-shell-top-search-submit:hover {
    background: hsl(var(--primary) / 0.9);
  }

  .dibs header.dt-shell-topbar [data-tour='search'] .dt-shell-top-search-submit svg {
    color: hsl(0 0% 100%);
  }

  /* Icon rail — bottom profile avatar */
  .dibs aside[aria-label="Navigation sidebar"] .dt-shell-rail-avatar {
    background: hsl(var(--brand-500));
    color: hsl(0 0% 100%);
  }

  .dibs aside[aria-label="Navigation sidebar"] .dt-shell-rail-avatar > span {
    background: hsl(var(--brand-500));
    color: hsl(0 0% 100%);
  }

  /* ── Right dock panel (alerts / watchlist / notes / movers) — a recessed surface
     that reads as DISTINCT from the workspace in both themes (the old
     `bg-background` made it identical to the 98% workspace in light mode), with a
     crisp left divider toward the content. */
  .dibs .dt-right-dock-panel {
    border-left: 1px solid hsl(var(--border));
  }
  .light.dibs .dt-right-dock-panel {
    background: hsl(var(--workspace));    /* same unified paper tone as the page */
  }
  .dark.dibs .dt-right-dock-panel {
    background: hsl(var(--graphite-950));  /* recessed vs the page */
  }

  .dark .dt-shell-sidebar-nav {
    background: hsl(var(--shell-chrome));  /* matches icon rail */
    --sidebar-background: var(--shell-chrome);  /* #181818 */
    --sidebar-foreground: 0 0% 85.49%;  /* #DADADA — matches rail labels/icons */
    --sidebar-rail-icon: 0 0% 85.49%;
    --sidebar-primary: 0 0% 85.49%;
    --sidebar-accent: var(--graphite-700);  /* selected / hover row */
    --sidebar-accent-foreground: var(--graphite-50);
    --sidebar-border: var(--graphite-700);  /* internal hairlines */
  }

  /* 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 {
    /* AlphaSense uses Title-case section/column labels — not aggressive uppercase. */
    font-size: var(--text-xs);
    line-height: var(--leading-xs);
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0em;
    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-lg {
    font-variant-numeric: tabular-nums;
    font-family: var(--font-mono);
    font-size: var(--text-lg);
    line-height: var(--leading-lg);
    font-weight: 600;
    --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);
    letter-spacing: -0.025em;
    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: 10px;
  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: 0;
  border-radius: 0;
}
/* 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;
  }
/* 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);
  }
/* ── Security overview — Koyfin boxed cards ────────────────────────────────
     Elevated surface, but tightened to terminal-grade: ~8px radius (not the
     16px app-wide tile radius) and a clearer hairline so each section reads as
     a distinct Koyfin "Kasten". Scoped to security pages only. */
.dibs [data-security-surface='elevated'] [data-snap-panel]:not([data-snap-panel-flat]),
  .dibs [data-security-surface='elevated'] [data-dt-panel] {
    border-radius: 4px !important;
    border-color: hsl(var(--border));
  }
/* Dark — true MONOCHROME ramp with real tonal variance for the security overview:
     pure neutral (hue 0) but clearly STEPPED surfaces (canvas → card → header/muted
     → border) so the greys read as one cohesive ladder, not "flat black +
     one grey". Security-scoped. */
.dibs:not(.light) [data-security-surface='elevated'] {
    background: hsl(0 0% 8%);              /* canvas behind cards — darker so tiles pop */
    --card: 0 0% 12.16%;                   /* #1F1F1F — elevated card */
    --muted: 0 0% 20%;                     /* security-specific — slightly lighter than default */
    --secondary: 0 0% 20%;
    --popover: 0 0% 17%;
    --border: 0 0% 24%;                    /* crisper card edge on near-black */
    --input: 0 0% 20%;
  }
/* Lift each card off the canvas: stepped fill + crisp border + real shadow + top highlight. */
.dibs:not(.light) [data-security-surface='elevated'] [data-snap-panel]:not([data-snap-panel-flat]),
  .dibs:not(.light) [data-security-surface='elevated'] [data-dt-panel] {
    background: hsl(var(--card));
    border-color: hsl(var(--border));
    box-shadow:
      0 1px 2px hsl(0 0% 0% / 0.4),
      0 6px 16px -8px hsl(0 0% 0% / 0.55),
      inset 0 1px 0 hsl(0 0% 100% / 0.05);
  }
.light.dibs [data-security-surface='elevated'] [data-snap-panel]:not([data-snap-panel-flat]),
  .light.dibs [data-security-surface='elevated'] [data-dt-panel] {
    border-color: hsl(var(--border));
    box-shadow: 0 1px 2px hsl(220 20% 20% / 0.08);
  }
/* Square the inner column-header strips so they sit flush in the near-square box. */
.dibs [data-security-surface='elevated'] .snap-keydata-head {
    border-radius: 4px 4px 0 0 !important;
  }
/* Section titles (Profile, Valuation, …) — title ramp above dense 11px data. */
.dibs [data-snapshot-overview] :is(h3.type-heading, [data-dt-panel-title='true']) {
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.2;
    color: hsl(var(--foreground));
  }
.dibs:not(.light) [data-snapshot-overview] :is(h3.type-heading, [data-dt-panel-title='true']) {
    color: hsl(0 0% 98%);
  }
/* Overview — Fiscal-style clarity: muted labels, bright (but NOT pure-white, so
     the title still wins) values. Light theme keeps the token foreground. The
     gain/loss coloring on return cells and the metric hover-blue are preserved. */
.dibs:not(.light) [data-snapshot-overview] dd,
  .dibs:not(.light) [data-snapshot-overview] table tbody td:not(:first-child),
  .dibs:not(.light) [data-snapshot-overview] [role='button'] {
    color: hsl(0 0% 91%);
  }
.dibs:not(.light) [data-snapshot-overview] table tbody td.text-positive {
    color: hsl(var(--positive));
  }
.dibs:not(.light) [data-snapshot-overview] table tbody td.text-negative {
    color: hsl(var(--negative));
  }
.dibs [data-snapshot-overview] [role='button']:hover {
    color: hsl(var(--primary));
  }
/* Overview price chart — Koyfin-style axes (muted labels, no axis borders). */
.dibs :is(
    [data-security-surface='elevated'],
    [data-security-surface='flat'],
    [data-snapshot-overview]
  ) .snap-overview-chart-panel {
    --chart-axis-font-size: 10px;
    --color-chart-axis: hsl(var(--muted-foreground));
    --color-chart-grid: hsl(var(--foreground) / 0.055);
    --color-chart-axis-border: transparent;
  }
.light.dibs :is(
    [data-security-surface='flat'],
    [data-snapshot-overview]
  ) .snap-overview-chart-panel {
    --color-chart-axis: hsl(var(--graphite-300, var(--muted-foreground)));
  }
/* Overview grid — no vertical rule between Profile rail and chart column. */
.dibs [data-snapshot-overview-fixed='true'] .snap-overview-data-col > [data-dt-panel='true']:first-child {
    border-right-width: 0 !important;
  }
.dibs [data-snapshot-overview-fixed='true'] .snap-overview-chart-col .snap-overview-chart-panel {
    border-left-width: 0 !important;
  }
/* Overview top row — Profile title and chart title share one baseline band. */
.dibs [data-snapshot-overview-fixed='true'] {
    --snap-overview-header-band: 28px;
  }
.dibs [data-snapshot-overview-fixed='true'] :is(
    .snap-overview-data-col > [data-dt-panel='true'],
    .snap-overview-chart-panel
  ) > [data-dt-panel-header='true'] {
    align-items: flex-end;
    min-height: var(--snap-overview-header-band);
  }
/* ── 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: 17px;
    --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;
  }
/* Period tabs align to the chart's right edge (price-scale inset), not the panel rim. */
.dibs [data-snapshot-overview-fixed='true'] .snap-overview-chart-panel[data-snap-panel-flat] > div:first-child {
    padding-right: 18px;
  }
.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));
  }
/* Data region — Koyfin flat: no frame/fill, dividers between rows only. */
.dibs :is([data-security-surface='flat'], [data-snapshot-overview-surface='flat'], [data-app-surface='flat']) [data-snap-panel-flat] > div:last-child {
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
    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: transparent;
    border: 0;
    border-radius: 0;
    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));
  }
/* Panel body = soft lifted surface, not a framed widget. The body already
     lifts off the near-black canvas via its lighter fill, so the hard 20%
     hairline frame is redundant and reads "template". We define the edge
     from the surface itself: a faint inset ring + a top highlight (lit from
     above), the modern dark-UI panel idiom. */
.dibs :is([data-security-surface='flat'], [data-snapshot-overview-surface='flat'], [data-app-surface='flat']) [data-dt-panel='true'] > :not([data-dt-panel-header]):not(.entity-ws-summary-header):not([data-dt-chrome-layer='entity-ws-L3-entities']) {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
    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]):not(.entity-ws-summary-header):not([data-dt-chrome-layer='entity-ws-L3-entities']) {
    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-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);
  }
/* Snapshot overview — flat ledger rail: no per-section tiles, hairline dividers only. */
.dibs [data-snapshot-overview-surface='flat'] .snap-overview-data-col > [data-snap-panel-flat] {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
.dibs [data-snapshot-overview-surface='flat'] .snap-overview-data-col > [data-snap-panel-flat]:not(:first-child) {
    margin-top: 0.25rem;
    padding-top: 1rem;
    border-top: 1px solid hsl(var(--border) / 0.42);
  }
.dibs [data-snapshot-overview-surface='flat'] .snap-overview-data-col > [data-snap-panel-flat] > div:last-child {
    padding: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    border: 0 !important;
  }
.dibs [data-snapshot-overview-surface='flat'] .snap-overview-data-col > [data-snap-panel-flat] > div:first-child {
    margin-bottom: 0.5rem;
    min-height: 0;
  }
/* Overview tables — ledger rows, not nested mini-cards. */
.dibs [data-snapshot-overview-surface='flat'] [data-snap-panel-flat] table thead th {
    background: transparent;
    border-radius: 0;
    padding-top: 0;
    font-weight: 500;
    letter-spacing: 0.04em;
  }
.dibs [data-snapshot-overview-surface='flat'] [data-snap-panel-flat] table tbody tr > td {
    font-weight: 500;
    border-bottom-style: solid;
  }
.dibs [data-snapshot-overview-surface='flat'] [data-snap-panel-flat] table tbody tr:last-child > td {
    border-bottom: 0;
  }
/* 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 news — stacked feed rows inside ledgerSplit tile. */
.dibs [data-markets-news-workspace='true'] .snap-feed-news-link {
    padding: 0.625rem 0.75rem;
    border-bottom-color: hsl(var(--border) / 0.45) !important;
  }
.dibs [data-markets-news-workspace='true'] .snap-feed-news-link:hover {
    background: hsl(var(--foreground) / 0.04);
  }
.dibs [data-markets-news-workspace='true'] .snap-feed-news-title {
    font-size: var(--text-sm);
    font-weight: 400;
    line-height: 1.4;
  }
.dibs [data-markets-news-workspace='true'] .snap-feed-news-meta {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: 400;
    font-variant-numeric: tabular-nums;
    color: hsl(var(--muted-foreground));
  }
.dibs [data-markets-news-workspace='true'] .snap-overview-news-link {
    align-items: center;
    gap: 1rem;
    padding: 0.625rem 0.5rem;
    border-bottom-color: hsl(var(--border) / 0.45) !important;
  }
.dibs [data-markets-news-workspace='true'] .snap-overview-news-link:hover {
    background: hsl(var(--foreground) / 0.04);
  }
.dibs [data-markets-news-workspace='true'] .snap-overview-news-title {
    font-size: var(--text-sm);
    font-weight: 400;
    line-height: 1.35;
  }
.dibs [data-markets-news-workspace='true'] .snap-overview-news-meta {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: 400;
    font-variant-numeric: tabular-nums;
    color: hsl(var(--muted-foreground));
  }
.dibs [data-markets-news-workspace='true'] [data-dt-panel-split='true'] > :not([data-dt-panel-header='true']) {
    min-height: 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-y: auto;
    overflow-x: hidden;
    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:not(.terminal-table--entity) 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:not(.terminal-table--entity) 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:not(.terminal-table--entity) 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:not(.terminal-table--entity) 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: 0;
  }
.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: 0;
  }
.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: 0;
  }
.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;
  }
/* 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(--card));
    border-bottom-color: hsl(var(--border) / 0.72);
    box-shadow: var(--tile-highlight);
  }
/* 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 {
  --tw-text-opacity: 1;
  color: hsl(0 0% 85% / var(--tw-text-opacity, 1));
}
/* Dark chrome rail — white mark stays white. */
.light .shell-chrome kbd {
  color: hsl(var(--sidebar-foreground) / 0.55);
    border-color: hsl(var(--sidebar-border));
}
.dt-sidebar-nav {
  position: relative;
  border-radius: 8px;
  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);
}
/* Hover = very soft wash, no border — quiet until you commit. */
.dt-sidebar-nav:hover:not(.dt-sidebar-nav-active) {
    background-color: hsl(var(--sidebar-foreground) / 0.05);
  }
/* Selected item = a soft ELEVATED pill (Attio-style): the accent surface with
     a top-light vertical gradient, a hairline border and a faint drop shadow so
     it reads as a gently lifted button. Identical in both modes. */
.dt-sidebar-nav-active,
  .dt-sidebar-nav-active[data-active='true'] {
    background-color: hsl(var(--sidebar-accent)) !important;
    background-image: linear-gradient(180deg, hsl(0 0% 100% / 0.08), hsl(0 0% 100% / 0));
    color: hsl(var(--sidebar-foreground)) !important;
    box-shadow:
      inset 0 1px 0 0 hsl(0 0% 100% / 0.08),
      inset 0 0 0 1px hsl(var(--sidebar-border) / 0.85),
      0 1px 2px 0 rgba(0, 0, 0, 0.35);
    border-radius: 10px;
    font-weight: 500;
  }
.dibs [data-security-surface='flat'] :is(.dt-sidebar-nav-active, .rounded-sm)[class~='bg-card']:not([data-dt-panel='true']):not(:has(> [data-dt-panel-header='true'])),.dibs [data-security-surface='flat'] :is(
  .dt-sidebar-nav-active[data-active='true'], .rounded-sm)[class~='bg-card']:not([data-dt-panel='true']):not(:has(> [data-dt-panel-header='true'])) {
  box-shadow: none;
  border: 0;
  border-radius: 0;
}
.dt-sidebar-nav-active::before {
    display: none;
  }
.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: 8px;
}
.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));
  }
.light .dt-sidebar-shell {
    background: hsl(var(--sidebar-background));
  }
/* Clean flush workspace: the content fills the area edge-to-edge, separated from
     the sidebar by a single hairline divider (Linear/Notion-style). No floating
     card, no gaps, no rounded corner. `.dt-workspace-cell` in the selector lifts
     specificity above the markets-workspace rule. The surface uses the unified
     --workspace paper tone (NOT card-white) so all backgrounds inside match. */
.light.dibs .dt-workspace-cell .dt-workspace-shell {
  min-height: 0px;
  overflow: hidden;
  border-width: 0px;
  background-color: hsl(var(--workspace));
    /* Rounded top-left inset: the content reads as a panel tucked under the dark
       topbar + rail, which show through the rounded notch (see .dt-app-shell bg).
       overflow-hidden clips in-page sidebars to the same corner. */
    border-radius: 6px 0 0 0;
    box-shadow: none !important;
}
.dark.dibs .dt-workspace-cell {
    padding: 0;
  }
.dark.dibs .dt-workspace-cell .dt-workspace-shell {
  min-height: 0px;
  overflow: hidden;
  border-radius: 0px;
  border-width: 0px;
  background-color: hsl(var(--workspace));
    /* No left divider here — the single divider lives on the rail's right edge. */
    box-shadow: none !important;
}
/* 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(--graphite-950)); /* = sidebar tone — chrome is ONE continuous surface that wraps the screen */
  }
/* Light: the chrome (rail + topbar) is the dark base the content panel sits in,
     so its tone shows through the workspace's rounded top-left notch. */
.light .dt-app-shell {
    background: hsl(var(--shell-chrome));
  }
/* Content fills the workspace flush — no inset gutter. */
.light.dibs .dt-workspace-cell,
  .dark.dibs .dt-workspace-cell {
    padding: 0;
  }
.dibs .dt-workspace-cell {
  min-height: 0px;
    padding: 0;
}
.dibs .dt-shell-column-inset {
    padding: var(--shell-panel-gutter);
  }
.dibs .dt-shell-column-inset-right {
    padding-top: var(--shell-panel-gutter);
    padding-bottom: var(--shell-panel-gutter);
    padding-right: var(--shell-panel-gutter);
    padding-left: 0;
  }
/* Icon rails (left category rail + right action rail) — equal column + panel width. */
.dibs .dt-shell-rail-slot {
    display: flex;
    width: var(--shell-rail-column-width);
    min-width: var(--shell-rail-column-width);
    max-width: var(--shell-rail-column-width);
    flex-shrink: 0;
    flex-direction: column;
    padding-left: var(--shell-rail-gutter);
    padding-right: var(--shell-rail-gutter);
  }
/* Right action rail — flush to the window edge (top/right/bottom) and square,
     mirroring the flush left icon rail. The right rail is the only
     dt-shell-rail-slot that is a direct child of the app-shell grid. */
.dibs .dt-app-shell > .dt-shell-rail-slot {
    padding: 0;
  }
.dibs .dt-app-shell > .dt-shell-rail-slot .dt-shell-rail-panel {
    width: 100%;
    min-width: 0;
    max-width: none;
  }
.dibs .dt-shell-rail-panel {
    width: var(--shell-rail-panel-width);
    min-width: var(--shell-rail-panel-width);
    max-width: var(--shell-rail-panel-width);
    min-height: 0;
    flex: 1;
  }
/* Left icon rail — icon-only, same column width as the right action rail. */
.dibs .dt-shell-sidebar-body > .dt-shell-rail-slot {
    width: var(--shell-nav-rail-width);
    min-width: var(--shell-nav-rail-width);
    max-width: var(--shell-nav-rail-width);
    /* Flush to the window edge — no gutter on the left icon rail. */
    padding-left: 0;
    padding-right: 0;
  }
.dibs .dt-shell-sidebar-body > .dt-shell-rail-slot .dt-shell-rail-panel {
    width: 100%;
    min-width: 0;
    max-width: none;
  }
.dibs .dt-shell-sidebar-body {
    display: flex;
    height: 100%;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    /* Rail fills the column flush — no gutter on any side. */
    padding: 0;
  }
.dibs .dt-shell-sidebar-body[data-sidebar-collapsed='true'] {
    padding-right: 0;
  }
.dibs .dt-shell-sidebar-nav {
    display: flex;
    min-height: 0;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    overflow: hidden;
    margin-left: 1px;
    /* Floating hover overlay — give it a crisp right edge + elevation so it
       reads as sitting ABOVE the content instead of bleeding into it. A light
       hairline draws the edge on dark content (where a drop shadow alone is
       invisible); the layered drop shadow does the work on the light theme. */
    box-shadow:
      inset -1px 0 0 0 hsl(0 0% 100% / 0.09),
      12px 0 32px -10px rgb(0 0 0 / 0.55),
      4px 0 12px -4px rgb(0 0 0 / 0.45);
    /* Flush (square) right edge so it meets the content with no gap. */
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
  }
/* Compact hover flyout — anchored to the rail item, not full viewport height. */
.dibs .dt-shell-sidebar-nav.dt-sidebar-peek-flyout {
    flex: none;
    max-height: min(70vh, 520px);
    margin-left: 4px;
    border: 1px solid hsl(var(--sidebar-border) / 0.85);
    border-radius: 8px !important;
    box-shadow:
      0 0 0 1px hsl(0 0% 100% / 0.05),
      0 8px 28px -6px rgb(0 0 0 / 0.55),
      0 2px 8px -2px rgb(0 0 0 / 0.35);
  }
/* Light theme: the flyout is a white paper panel over light content, so it
     needs a soft cool drop shadow — the dark near-black stack above reads as a
     harsh smudge on paper. Equal specificity to the rule above; wins by order. */
.light .dt-shell-sidebar-nav.dt-sidebar-peek-flyout {
    box-shadow:
      0 1px 2px hsl(220 24% 28% / 0.07),
      0 10px 30px -8px hsl(220 24% 28% / 0.20),
      0 2px 8px -3px hsl(220 24% 28% / 0.12);
  }
/* ═══════════════════════════════════════════════════════════════════════════
     FLOATING-TILE SURFACE — the ONE block for the dark "screen + floating rounded
     tile-cards" look. Unified for security (data-security-surface='elevated', set by
     SnapPage) AND app routes (data-app-surface='elevated', set by ContentArea). Dark
     only; light keeps the flat ledger. Every value comes from the --tile-* / --screen-*
     vars (see :root) — change the look there, once. Contract: design/tileSurface.js.
     ═══════════════════════════════════════════════════════════════════════════ */
/* (a) Screen — neutral graphite palette on the elevated <main>. --tile-fill /
     --tile-border read --card / --border AFTER this remap. Keyed on the STABLE
     data-shell-surface marker (security) + data-app-surface (generic incl. Home),
     NOT main:has() — Vite HMR fails to re-apply :has() rules to open tabs. */
.dibs:not(.light) :is(main[data-shell-surface='elevated'], main[data-app-surface='elevated']) {
    --workspace: var(--screen-bg);
    --background: var(--screen-bg);
    --card: var(--screen-card);
    --border: var(--screen-border);
    --chart-axis-font-size: 13px;
    --color-chart-axis: hsl(var(--graphite-50));
    --color-chart-canvas: transparent;
    background: hsl(var(--background));
  }
/* (b) Workspace shell (rounded frame around main) → dark screen, no blue tint.
     Frame only; the shell is main's parent so this stays a (direct-child) :has(). */
.dibs:not(.light) .dt-workspace-shell:has(> main[data-shell-surface='elevated'], > main[data-app-surface='elevated']) {
    background-color: hsl(var(--screen-bg));
    border-color: hsl(var(--screen-frame));
  }
/* Markets routes — no outer housing frame; breadcrumb + content sit flush on the screen. */
.dibs .dt-workspace-shell:has(> main[data-markets-workspace='true']) {
    border: 0;
    box-shadow: none;
  }
/* (c) Breadcrumb bar + instrument band → floating tiles. Keyed on the STABLE
     data-shell-surface marker (set by ContentArea on security + generic-app <main>,
     NOT Home/graph/entity) — no :has(), so HMR propagates edits to open tabs. */
/* Flat Koyfin shell — breadcrumb + instrument band sit flush, no tile frame.
     The band keeps only a hairline divider below it. */
.dibs main[data-shell-surface='elevated'] > div.shrink-0:first-child,
  .dibs main[data-shell-surface='elevated'] .ih-bar {
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: hidden;
  }
.dibs main[data-shell-surface='elevated'] .ih-bar {
    border-radius: 0 0 12px 12px;
  }
.dibs main[data-shell-surface='elevated'] > div.shrink-0:first-child .entity-ws-titlebar {
    background: transparent;
    border-bottom-color: transparent;
  }
.dibs:not(.light) main[data-shell-surface='elevated'] .ih-bar {
    border-bottom: 1px solid hsl(var(--border) / 0.55);
    background: hsl(var(--screen-card));
  }
/* Light: ih-bar must lift off the paper canvas — the generic elevated rule above
     forces transparent and beats `.light .ih-bar` on specificity. */
.light.dibs main[data-shell-surface='elevated'] .ih-bar {
    border-bottom: 1px solid hsl(var(--border) / 0.72);
    background: hsl(var(--card));
    box-shadow:
      var(--tile-highlight),
      0 6px 14px -10px hsl(220 24% 28% / 0.1);
  }
.dibs main[data-shell-surface='elevated'] [data-route-content='true'][data-document-search-workspace='true'] {
    padding: 0;
  }
/* (d) Flush — instrument routes inset internally → 0; app routes → one gutter. */
.dibs main[data-shell-surface='elevated'] [data-route-content='true'][data-instrument-workspace='true'] {
    padding: 0;
  }
.dibs main[data-app-surface='elevated'] > [data-route-content='true'] {
    padding: var(--tile-gutter);
  }
/* Entity table pages: the data surface bleeds full-width to the frame (only an 8px
     gap below the floating breadcrumb tile), so the table reads as a data surface, not
     a card-with-gutter. */
.dibs main[data-app-surface='elevated'] > [data-route-content='true']:has(.entity-ws-page-root) {
    padding: var(--tile-gutter) 0 0;
  }
/* Markets split views — full-width data surface below the breadcrumb tile. */
.dibs main[data-app-surface='elevated'] > [data-route-content='true']:has([data-testid='markets-view-workspace']) {
    padding: var(--tile-gutter) 0 0;
  }
/* (e) Whole-panel tile — Overview SnapPanel ([data-snap-panel], title already
     outside via the component) AND generic dashboard panels under an app surface.
     Flat ledger panels ([data-snap-panel-flat]) are excluded — overview uses
     hairline section dividers, not floating tiles. The entity data surface
     (.entity-ws-surface) is EXCLUDED — it's a flat full-bleed data surface
     (Koyfin-style), not a floating card (see .entity-ws-surface below). */
.dibs [data-security-surface='elevated'] [data-snap-panel]:not([data-snap-panel-flat]),
  .dibs [data-app-surface='elevated'] [data-dt-panel='true']:not(.entity-ws-surface):not([data-dt-panel-ledger='true']):not([data-dt-panel-split='true']) {
    border-radius: var(--tile-radius);
    background-color: var(--tile-fill);
    border: var(--tile-border);
    box-shadow: var(--tile-highlight);
  }
/* (g) Title-outside ledger on app elevated — news feed etc. Header floats above;
     body is a flat borderless data surface (no outer tile frame). */
.dibs [data-app-surface='elevated'] [data-dt-panel='true'][data-dt-panel-ledger='true'] {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
  }
.dibs [data-app-surface='elevated'] [data-dt-panel='true'][data-dt-panel-ledger='true'] > [data-dt-panel-header='true'] {
    background: transparent;
    border: 0;
    margin-bottom: var(--tile-title-gap);
    padding: 0 2px;
    min-height: 0;
  }
.dibs [data-app-surface='elevated'] [data-dt-panel='true'][data-dt-panel-ledger='true'] > :not([data-dt-panel-header='true']) {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
    overflow: hidden;
    min-height: 0;
  }
/* (h) Title-outside body-split on app elevated — Markets split views (WEI, sectors, …).
     Header floats above; only the body is the bordered tile (mirrors security rule f). */
.dibs [data-app-surface='elevated'] [data-dt-panel='true'][data-dt-panel-split='true'] {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
  }
.dibs [data-app-surface='elevated'] [data-dt-panel='true'][data-dt-panel-split='true'] > [data-dt-panel-header='true'] {
    background: transparent;
    border: 0;
    margin-bottom: var(--tile-title-gap);
    padding: 0 2px;
    min-height: 0;
  }
.dibs [data-app-surface='elevated'] [data-dt-panel='true'][data-dt-panel-split='true'] > :not([data-dt-panel-header='true']) {
    background-color: var(--tile-fill);
    border: var(--tile-border);
    border-radius: var(--tile-radius);
    box-shadow: var(--tile-highlight);
    overflow: hidden;
    min-height: 0;
  }
.dibs [data-app-surface='elevated'] [data-dt-panel='true'][data-dt-panel-split='true'][data-dt-panel-flush='true'] > :not([data-dt-panel-header='true']) {
    padding: 0;
  }
/* (f) Title-OUTSIDE body-split tile — security LedgerPanels ([data-dt-panel] but NOT
     [data-snap-panel]: Earnings / Financials / Estimates). Panel chrome dissolves; the
     header floats above on the screen; the BODY becomes the tile. */
.dibs [data-security-surface='elevated'] [data-dt-panel='true']:not([data-snap-panel]) {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
  }
.dibs [data-security-surface='elevated'] [data-dt-panel='true']:not([data-snap-panel]) > [data-dt-panel-header='true'] {
    background: transparent;
    border: 0;
    margin-bottom: var(--tile-title-gap);
    padding: 0 2px;
    min-height: 0;
  }
.dibs [data-security-surface='elevated'] [data-dt-panel='true']:not([data-snap-panel]) > :not([data-dt-panel-header='true']) {
    background-color: var(--tile-fill);
    border: var(--tile-border);
    border-radius: var(--tile-radius);
    box-shadow: var(--tile-highlight);
    padding: var(--tile-body-pad);
    overflow: hidden;
    min-height: 0;
  }
.dibs [data-security-surface='elevated'] [data-dt-panel='true'][data-dt-panel-flush='true']:not([data-snap-panel]) > :not([data-dt-panel-header='true']) {
    padding: 0;
  }
.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: 8px;
  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 — floating panel mirroring the left rail (gutter + transparent
     aside so the dark canvas shows around it). */
.dibs aside[aria-label='Market alerts and notifications'] {
  min-height: 0px;
  overflow: hidden;
  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);
    padding: var(--shell-panel-gutter);
}
/* Main workspace — flush with chrome; unified paper tone. Rounded ONLY at the
     top-left so the content reads as a panel tucked under the dark topbar + rail,
     whose tone (.dt-app-shell bg) shows through the notch. overflow-hidden clips
     the in-page sidebar/table to the same corner; the shell stays anchored at the
     rail boundary when the in-page sidebar collapses. */
.light.dibs .dt-workspace-cell > .dt-workspace-shell,
  .dark.dibs .dt-workspace-cell > .dt-workspace-shell {
  min-height: 0px;
  overflow: hidden;
  border-width: 0px;
  background-color: hsl(var(--workspace));
    border-radius: 6px 0 0 0;
    box-shadow: none !important;
}
.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;
}
/* Entity workspace tables — square top edge (no floating-card radius on the grid). */
.dibs .entity-ws-page-root [data-dt-panel='true']:not(.entity-ws-panel) {
    border-radius: 0;
    border: 0;
    box-shadow: none;
  }
.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);
}
/* ── Entity workspace (Watchlist / Screener / Portfolio) now flows through the
     SAME unified surface rules as security/app pages — its <main> carries
     data-shell-surface + data-app-surface (set by ContentArea). So the breadcrumb
     tile comes from rule (c) (IDENTICAL panel to Overview, no :has()), the screen
     from (a), the frame from (b), the route gutter from (d). Only the content
     surface + the Portfolio sub-cards need explicit tile rules here, because the
     generic [data-dt-panel] rule (e) ties on specificity with the base
     .entity-ws-surface reset. See design/tileSurface.js. ── */
/* Content (toolbar + table) → a flat DATA SURFACE that fills the area (Koyfin-style),
     NOT a floating card: no card radius/shadow/gutter, it bleeds full-width to the frame
     and the empty space below the rows reads as a normal grid. Only the breadcrumb above
     stays a floating tile. (User: "die Tabelle in so einem riesigen Panel ist es nicht".) */
.dibs .entity-ws-surface {
    background: var(--tile-fill);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: hidden;
  }
/* Entity hub (Watchlist / Screener / Portfolio list) — flat data surface, no card frame. */
.dibs .entity-ws-hub,
  .dibs .entity-ws-hub .entity-ws-hub-grid {
    background: transparent;
    border: 0;
    box-shadow: none;
  }
.dibs .entity-ws-hub .entity-ws-hub-table {
    background: transparent;
  }
.dibs .entity-ws-hub .entity-ws-hub-table thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: var(--terminal-table-header-bg-opaque, hsl(var(--card)));
  }
/* Portfolio exposure split-grid cards → tile optik (smaller radius for sub-cards). */
.dibs .entity-ws-panel {
    border-radius: var(--tile-radius-sm);
    border: var(--tile-border);
    box-shadow: var(--tile-highlight);
  }
.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(--card));
  }
.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;
}
/* Nav geometry + hover + active are all mode-constant now (the chrome is dark
     in both modes): the base .dt-sidebar-nav rules govern, height comes from the
     JS ITEM_H token, so the sidebar looks identical regardless of theme. */
.dt-sidebar-nav {
  margin-left: 0px;
  margin-right: 0px;
  border-radius: 10px;
}
.dibs [data-security-surface='flat'] :is(.dt-sidebar-nav, .rounded-sm)[class~='bg-card']:not([data-dt-panel='true']):not(:has(> [data-dt-panel-header='true'])) {
  box-shadow: none;
  border: 0;
  border-radius: 0;
}
.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: 8px;
}
/* Groups are separated by spacing only (Attio-style) — no divider lines. */
[data-sidebar=group]:not(:first-child) {
  margin-top: 0.75rem;
}
/* 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: 8px;
  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;
}
.dibs main[data-shell-surface='elevated'] > div.dt-sidebar-footer-icon-well:first-child {
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: hidden;
  }
.dibs main[data-shell-surface='elevated'] > div.dt-sidebar-footer-icon-well:first-child .entity-ws-titlebar {
    background: transparent;
    border-bottom-color: transparent;
  }
.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);
}
/* Group label — larger, Title-case, brighter (Attio-style group rows) rather
     than tiny uppercase micro-labels. */
.dt-sidebar-section-label {
  margin-left: 0px;
  margin-right: 0px;
  margin-bottom: 0.125rem;
  margin-top: 0px;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  font-size: 13px;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0em;
  color: hsl(var(--sidebar-foreground) / 0.65);
}
.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);
}
/* Account menu — profile dropdown (tile-aligned with breadcrumb menus) */
.dibs .dt-account-menu {
    border: var(--tile-border) !important;
    border-radius: var(--tile-radius-sm) !important;
    background: var(--tile-fill) !important;
    color: hsl(var(--foreground)) !important;
    box-shadow: var(--tile-highlight), 0 10px 28px -12px hsl(0 0% 0% / 0.55) !important;
  }
.light.dibs .dt-account-menu {
    box-shadow: var(--tile-highlight), 0 10px 28px -12px hsl(var(--foreground) / 0.12) !important;
  }
.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(--brand-500));
  }
.dt-account-menu-item-logout[data-highlighted]::before,
  .dt-account-menu-item-logout:focus-visible::before {
    background: hsl(var(--negative) / 0.85);
  }
/* Breadcrumb view switcher (Markets / World Equity Indices ▾, …) */
.dibs .dt-breadcrumb-menu {
    border: var(--tile-border) !important;
    border-radius: var(--tile-radius-sm) !important;
    background: var(--tile-fill) !important;
    color: hsl(var(--foreground)) !important;
    box-shadow: var(--tile-highlight), 0 10px 28px -12px hsl(0 0% 0% / 0.55) !important;
  }
.dibs .dt-breadcrumb-menu--grouped {
    padding: 8px !important;
  }
.dibs .dt-breadcrumb-menu--compact {
    padding: 6px !important;
  }
.dibs .dt-breadcrumb-menu-item[data-highlighted]::before,
  .dibs .dt-breadcrumb-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.45);
  }
.light.dibs .dt-breadcrumb-menu {
    box-shadow: var(--tile-highlight), 0 10px 28px -12px hsl(var(--foreground) / 0.12) !important;
  }
/* 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;
}
.dibs main[data-shell-surface='elevated'] > div.dt-settings-tab:first-child {
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: hidden;
  }
.dibs main[data-shell-surface='elevated'] > div.dt-settings-tab:first-child .entity-ws-titlebar {
    background: transparent;
    border-bottom-color: transparent;
  }
.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: 10px;
    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: 0;
  border-radius: 0;
}
.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);
  }
/** Gentle settle when workspace route content remounts (ContentArea coarse key
      changes on section switch). Opacity-only and starting from 0.6 — a fade
      from blank (opacity 0) + slide read as a full page reload; this reads as a
      soft refresh of already-present chrome. */
.route-content-enter {
    animation: dt-route-content-enter 140ms ease-out;
  }
@keyframes dt-route-content-enter {
    from {
      opacity: 0.6;
    }
    to {
      opacity: 1;
    }
  }
/** Page-level entrance for marketing + auth routes (document scroll), which
      otherwise hard-cut on navigation. Keyed by pathname in RouteViewport so the
      animation re-triggers on every route change. */
.route-page-enter {
    animation: dt-route-page-enter 300ms cubic-bezier(0.22, 1, 0.36, 1);
  }
@keyframes dt-route-page-enter {
    from {
      opacity: 0;
      transform: translate3d(0, 10px, 0);
    }
    to {
      opacity: 1;
      transform: translate3d(0, 0, 0);
    }
  }
/* Plot fill lives on the canvas; wrapper stays transparent */
.dibs-chart-engine {
    background-color: transparent;
  }
/* Rail icon stroke is set per-icon via SHELL_RAIL_ICON_STROKE — no global
     stroke-width override here (the old --icon-stroke 2.75 rule made rails look
     too heavy and ignored component props). */
/* Global search — immersive window over the terminal */
body:has([data-global-search-dialog='true']) [data-radix-dialog-overlay] {
    background: hsl(0 0% 0% / 0.78);
    backdrop-filter: blur(3px);
  }
[data-global-search-dialog='true'] [cmdk-list],
  [data-global-search-page='true'] [cmdk-list] {
    max-height: none;
    flex: 1 1 0%;
    min-height: 0;
  }
.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-x-0 {
  left: 0px;
  right: 0px;
}
.inset-x-1\.5 {
  left: 0.375rem;
  right: 0.375rem;
}
.inset-x-3 {
  left: 0.75rem;
  right: 0.75rem;
}
.inset-y-0 {
  top: 0px;
  bottom: 0px;
}
.-left-12 {
  left: -3rem;
}
.-left-\[21px\] {
  left: -21px;
}
.-right-0\.5 {
  right: -0.125rem;
}
.-right-1 {
  right: -0.25rem;
}
.-top-0\.5 {
  top: -0.125rem;
}
.-top-1 {
  top: -0.25rem;
}
.bottom-0 {
  bottom: 0px;
}
.bottom-1 {
  bottom: 0.25rem;
}
.bottom-12 {
  bottom: 3rem;
}
.bottom-14 {
  bottom: 3.5rem;
}
.bottom-2 {
  bottom: 0.5rem;
}
.bottom-4 {
  bottom: 1rem;
}
.bottom-6 {
  bottom: 1.5rem;
}
.bottom-full {
  bottom: 100%;
}
.left-0 {
  left: 0px;
}
.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-6 {
  left: 1.5rem;
}
.left-\[50\%\] {
  left: 50%;
}
.left-full {
  left: 100%;
}
.right-0 {
  right: 0px;
}
.right-0\.5 {
  right: 0.125rem;
}
.right-1 {
  right: 0.25rem;
}
.right-1\.5 {
  right: 0.375rem;
}
.right-2 {
  right: 0.5rem;
}
.right-3 {
  right: 0.75rem;
}
.right-4 {
  right: 1rem;
}
.right-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-6 {
  top: 1.5rem;
}
.top-8 {
  top: 2rem;
}
.top-\[-2px\] {
  top: -2px;
}
.top-\[30\%\] {
  top: 30%;
}
.top-\[50\%\] {
  top: 50%;
}
.top-\[6px\] {
  top: 6px;
}
.top-\[71\%\] {
  top: 71%;
}
.top-\[max\(1rem\2c 2\.5vh\)\] {
  top: max(1rem, 2.5vh);
}
.top-auto {
  top: auto;
}
.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-\[0\] {
  z-index: 0;
}
.z-\[1000\] {
  z-index: 1000;
}
.z-\[100\] {
  z-index: 100;
}
.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-\[300\] {
  z-index: 300;
}
.z-\[3\] {
  z-index: 3;
}
.z-\[400\] {
  z-index: 400;
}
.z-\[49\] {
  z-index: 49;
}
.z-\[4\] {
  z-index: 4;
}
.z-\[500\] {
  z-index: 500;
}
.z-\[5\] {
  z-index: 5;
}
.z-\[60\] {
  z-index: 60;
}
.z-\[6\] {
  z-index: 6;
}
.z-\[70\] {
  z-index: 70;
}
.z-\[7\] {
  z-index: 7;
}
.z-\[99999\] {
  z-index: 99999;
}
.z-\[9999\] {
  z-index: 9999;
}
.order-1 {
  order: 1;
}
.order-2 {
  order: 2;
}
.col-span-12 {
  grid-column: span 12 / span 12;
}
.col-span-2 {
  grid-column: span 2 / span 2;
}
.col-span-6 {
  grid-column: span 6 / span 6;
}
.col-span-full {
  grid-column: 1 / -1;
}
.m-0 {
  margin: 0px;
}
.m-1 {
  margin: 0.25rem;
}
.-mx-1 {
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}
.-mx-4 {
  margin-left: -1rem;
  margin-right: -1rem;
}
.-my-1 {
  margin-top: -0.25rem;
  margin-bottom: -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-2\.5 {
  margin-left: 0.625rem;
  margin-right: 0.625rem;
}
.mx-3 {
  margin-left: 0.75rem;
  margin-right: 0.75rem;
}
.mx-3\.5 {
  margin-left: 0.875rem;
  margin-right: 0.875rem;
}
.mx-\[0\.42em\] {
  margin-left: 0.42em;
  margin-right: 0.42em;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.mx-px {
  margin-left: 1px;
  margin-right: 1px;
}
.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;
}
.-mb-4 {
  margin-bottom: -1rem;
}
.-mt-0\.5 {
  margin-top: -0.125rem;
}
.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-10 {
  margin-left: 2.5rem;
}
.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;
}
.mr-auto {
  margin-right: auto;
}
.mt-0 {
  margin-top: 0px;
}
.mt-0\.5 {
  margin-top: 0.125rem;
}
.mt-1 {
  margin-top: 0.25rem;
}
.mt-1\.5 {
  margin-top: 0.375rem;
}
.mt-10 {
  margin-top: 2.5rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-2\.5 {
  margin-top: 0.625rem;
}
.mt-3 {
  margin-top: 0.75rem;
}
.mt-3\.5 {
  margin-top: 0.875rem;
}
.mt-4 {
  margin-top: 1rem;
}
.mt-5 {
  margin-top: 1.25rem;
}
.mt-6 {
  margin-top: 1.5rem;
}
.mt-8 {
  margin-top: 2rem;
}
.mt-\[18px\] {
  margin-top: 18px;
}
.mt-\[3px\] {
  margin-top: 3px;
}
.mt-\[5px\] {
  margin-top: 5px;
}
.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;
}
.table-cell {
  display: table-cell;
}
.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-3\.5 {
  width: 0.875rem !important;
  height: 0.875rem !important;
}
.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-\[11px\] {
  width: 11px;
  height: 11px;
}
.size-\[12px\] {
  width: 12px;
  height: 12px;
}
.size-\[13px\] {
  width: 13px;
  height: 13px;
}
.size-\[14px\] {
  width: 14px;
  height: 14px;
}
.size-\[18px\] {
  width: 18px;
  height: 18px;
}
.size-\[3\.25rem\] {
  width: 3.25rem;
  height: 3.25rem;
}
.size-\[3px\] {
  width: 3px;
  height: 3px;
}
.size-\[9px\] {
  width: 9px;
  height: 9px;
}
.size-full {
  width: 100%;
  height: 100%;
}
.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-36 {
  height: 9rem;
}
.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-\[0\.72em\] {
  height: 0.72em;
}
.h-\[120px\] {
  height: 120px;
}
.h-\[140px\] {
  height: 140px;
}
.h-\[14px\] {
  height: 14px;
}
.h-\[150px\] {
  height: 150px;
}
.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-\[260px\] {
  height: 260px;
}
.h-\[280px\] {
  height: 280px;
}
.h-\[2px\] {
  height: 2px;
}
.h-\[300px\] {
  height: 300px;
}
.h-\[30px\] {
  height: 30px;
}
.h-\[320px\] {
  height: 320px;
}
.h-\[34px\] {
  height: 34px;
}
.h-\[360px\] {
  height: 360px;
}
.h-\[38px\] {
  height: 38px;
}
.h-\[3px\] {
  height: 3px;
}
.h-\[400px\] {
  height: 400px;
}
.h-\[420px\] {
  height: 420px;
}
.h-\[42px\] {
  height: 42px;
}
.h-\[440px\] {
  height: 440px;
}
.h-\[54px\] {
  height: 54px;
}
.h-\[5px\] {
  height: 5px;
}
.h-\[60px\] {
  height: 60px;
}
.h-\[6px\] {
  height: 6px;
}
.h-\[70vh\] {
  height: 70vh;
}
.h-\[72px\] {
  height: 72px;
}
.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\(78vh\2c 760px\)\] {
  height: min(78vh, 760px);
}
.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-\[min\(92vh\2c 900px\)\] {
  height: min(92vh, 900px);
}
.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-24 {
  max-height: 6rem;
}
.max-h-28 {
  max-height: 7rem;
}
.max-h-40 {
  max-height: 10rem;
}
.max-h-44 {
  max-height: 11rem;
}
.max-h-48 {
  max-height: 12rem;
}
.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-72 {
  max-height: 18rem;
}
.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-\[112px\] {
  max-height: 112px;
}
.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-\[180px\] {
  max-height: 180px;
}
.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-\[420px\] {
  max-height: 420px;
}
.max-h-\[460px\] {
  max-height: 460px;
}
.max-h-\[55vh\] {
  max-height: 55vh;
}
.max-h-\[60\%\] {
  max-height: 60%;
}
.max-h-\[60vh\] {
  max-height: 60vh;
}
.max-h-\[640px\] {
  max-height: 640px;
}
.max-h-\[72px\] {
  max-height: 72px;
}
.max-h-\[72vh\] {
  max-height: 72vh;
}
.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-\[88vh\] {
  max-height: 88vh;
}
.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\(460px\2c 60vh\)\] {
  max-height: min(460px, 60vh);
}
.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\(70vh\2c 420px\)\] {
  max-height: min(70vh, 420px);
}
.max-h-\[min\(70vh\2c 520px\)\] {
  max-height: min(70vh, 520px);
}
.max-h-\[min\(82vh\2c 520px\)\] {
  max-height: min(82vh, 520px);
}
.max-h-\[min\(82vh\2c 680px\)\] {
  max-height: min(82vh, 680px);
}
.max-h-\[min\(88vh\2c 680px\)\] {
  max-height: min(88vh, 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-full {
  max-height: 100%;
}
.max-h-none {
  max-height: none;
}
.max-h-screen {
  max-height: 100vh;
}
.\!min-h-\[28px\] {
  min-height: 28px !important;
}
.\!min-h-\[44px\] {
  min-height: 44px !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-6 {
  min-height: 1.5rem;
}
.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-\[2\.5rem\] {
  min-height: 2.5rem;
}
.min-h-\[2\.75rem\] {
  min-height: 2.75rem;
}
.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-\[260px\] {
  min-height: 260px;
}
.min-h-\[280px\] {
  min-height: 280px;
}
.min-h-\[28px\] {
  min-height: 28px;
}
.min-h-\[3\.25rem\] {
  min-height: 3.25rem;
}
.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-\[40vh\] {
  min-height: 40vh;
}
.min-h-\[420px\] {
  min-height: 420px;
}
.min-h-\[44px\] {
  min-height: 44px;
}
.min-h-\[480px\] {
  min-height: 480px;
}
.min-h-\[48px\] {
  min-height: 48px;
}
.min-h-\[50vh\] {
  min-height: 50vh;
}
.min-h-\[520px\] {
  min-height: 520px;
}
.min-h-\[52px\] {
  min-height: 52px;
}
.min-h-\[54px\] {
  min-height: 54px;
}
.min-h-\[66px\] {
  min-height: 66px;
}
.min-h-\[72px\] {
  min-height: 72px;
}
.min-h-\[8\.5rem\] {
  min-height: 8.5rem;
}
.min-h-\[80px\] {
  min-height: 80px;
}
.min-h-\[88px\] {
  min-height: 88px;
}
.min-h-dvh {
  min-height: 100dvh;
}
.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-1\/3 {
  width: 33.333333%;
}
.w-10 {
  width: 2.5rem;
}
.w-11 {
  width: 2.75rem;
}
.w-12 {
  width: 3rem;
}
.w-14 {
  width: 3.5rem;
}
.w-16 {
  width: 4rem;
}
.w-2 {
  width: 0.5rem;
}
.w-2\.5 {
  width: 0.625rem;
}
.w-20 {
  width: 5rem;
}
.w-24 {
  width: 6rem;
}
.w-28 {
  width: 7rem;
}
.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-5\/6 {
  width: 83.333333%;
}
.w-52 {
  width: 13rem;
}
.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-80 {
  width: 20rem;
}
.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-\[15px\] {
  width: 15px;
}
.w-\[160px\] {
  width: 160px;
}
.w-\[168px\] {
  width: 168px;
}
.w-\[170px\] {
  width: 170px;
}
.w-\[180px\] {
  width: 180px;
}
.w-\[18px\] {
  width: 18px;
}
.w-\[1px\] {
  width: 1px;
}
.w-\[200px\] {
  width: 200px;
}
.w-\[210px\] {
  width: 210px;
}
.w-\[212px\] {
  width: 212px;
}
.w-\[220px\] {
  width: 220px;
}
.w-\[228px\] {
  width: 228px;
}
.w-\[240px\] {
  width: 240px;
}
.w-\[248px\] {
  width: 248px;
}
.w-\[260px\] {
  width: 260px;
}
.w-\[264px\] {
  width: 264px;
}
.w-\[26rem\] {
  width: 26rem;
}
.w-\[280px\] {
  width: 280px;
}
.w-\[2px\] {
  width: 2px;
}
.w-\[300px\] {
  width: 300px;
}
.w-\[30px\] {
  width: 30px;
}
.w-\[320px\] {
  width: 320px;
}
.w-\[360px\] {
  width: 360px;
}
.w-\[38px\] {
  width: 38px;
}
.w-\[3px\] {
  width: 3px;
}
.w-\[4\.5rem\] {
  width: 4.5rem;
}
.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-\[58px\] {
  width: 58px;
}
.w-\[60px\] {
  width: 60px;
}
.w-\[62px\] {
  width: 62px;
}
.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-\[78\%\] {
  width: 78%;
}
.w-\[80px\] {
  width: 80px;
}
.w-\[85\%\] {
  width: 85%;
}
.w-\[88px\] {
  width: 88px;
}
.w-\[92\%\] {
  width: 92%;
}
.w-\[96px\] {
  width: 96px;
}
.w-\[calc\(100\%-0\.75rem\)\] {
  width: calc(100% - 0.75rem);
}
.w-\[calc\(100vw-1\.5rem\)\] {
  width: calc(100vw - 1.5rem);
}
.w-\[clamp\(280px\2c 24vw\2c 360px\)\] {
  width: clamp(280px, 24vw, 360px);
}
.w-\[clamp\(340px\2c 30vw\2c 440px\)\] {
  width: clamp(340px, 30vw, 440px);
}
.w-\[min\(100\%\2c 280px\)\] {
  width: min(100%, 280px);
}
.w-\[min\(100\%\2c 320px\)\] {
  width: min(100%, 320px);
}
.w-\[min\(10rem\2c 22vw\)\] {
  width: min(10rem, 22vw);
}
.w-\[min\(1180px\2c 96vw\)\] {
  width: min(1180px, 96vw);
}
.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\(17rem\2c 92vw\)\] {
  width: min(17rem, 92vw);
}
.w-\[min\(240px\2c 34vw\)\] {
  width: min(240px, 34vw);
}
.w-\[min\(280px\2c 36vw\)\] {
  width: min(280px, 36vw);
}
.w-\[min\(280px\2c calc\(100vw-1\.5rem\)\)\] {
  width: min(280px, calc(100vw - 1.5rem));
}
.w-\[min\(320px\2c calc\(100vw-var\(--right-sidebar-width\)-28px\)\)\] {
  width: min(320px, calc(100vw - var(--right-sidebar-width) - 28px));
}
.w-\[min\(340px\2c calc\(100vw-var\(--right-sidebar-width\)-28px\)\)\] {
  width: min(340px, calc(100vw - var(--right-sidebar-width) - 28px));
}
.w-\[min\(360px\2c calc\(100vw-24px\)\)\] {
  width: min(360px, calc(100vw - 24px));
}
.w-\[min\(380px\2c 38vw\)\] {
  width: min(380px, 38vw);
}
.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\(420px\2c calc\(100vw-var\(--right-sidebar-width\)-28px\)\)\] {
  width: min(420px, calc(100vw - var(--right-sidebar-width) - 28px));
}
.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\(760px\2c calc\(100vw-32px\)\)\] {
  width: min(760px, calc(100vw - 32px));
}
.w-\[min\(920px\2c 92vw\)\] {
  width: min(920px, 92vw);
}
.w-\[min\(920px\2c calc\(100vw-2rem\)\)\] {
  width: min(920px, calc(100vw - 2rem));
}
.w-\[min\(920px\2c calc\(100vw-48px\)\)\] {
  width: min(920px, calc(100vw - 48px));
}
.w-\[min\(92vw\2c 360px\)\] {
  width: min(92vw, 360px);
}
.w-\[min\(96vw\2c 560px\)\] {
  width: min(96vw, 560px);
}
.w-\[var\(--radix-dropdown-menu-trigger-width\)\] {
  width: var(--radix-dropdown-menu-trigger-width);
}
.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-3\.5 {
  min-width: 0.875rem;
}
.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-\[10rem\] {
  min-width: 10rem;
}
.min-w-\[1100px\] {
  min-width: 1100px;
}
.min-w-\[110px\] {
  min-width: 110px;
}
.min-w-\[120px\] {
  min-width: 120px;
}
.min-w-\[128px\] {
  min-width: 128px;
}
.min-w-\[12rem\] {
  min-width: 12rem;
}
.min-w-\[140px\] {
  min-width: 140px;
}
.min-w-\[148px\] {
  min-width: 148px;
}
.min-w-\[150px\] {
  min-width: 150px;
}
.min-w-\[152px\] {
  min-width: 152px;
}
.min-w-\[160px\] {
  min-width: 160px;
}
.min-w-\[180px\] {
  min-width: 180px;
}
.min-w-\[184px\] {
  min-width: 184px;
}
.min-w-\[2\.75rem\] {
  min-width: 2.75rem;
}
.min-w-\[200px\] {
  min-width: 200px;
}
.min-w-\[20px\] {
  min-width: 20px;
}
.min-w-\[20rem\] {
  min-width: 20rem;
}
.min-w-\[212px\] {
  min-width: 212px;
}
.min-w-\[220px\] {
  min-width: 220px;
}
.min-w-\[22rem\] {
  min-width: 22rem;
}
.min-w-\[240px\] {
  min-width: 240px;
}
.min-w-\[250px\] {
  min-width: 250px;
}
.min-w-\[260px\] {
  min-width: 260px;
}
.min-w-\[280px\] {
  min-width: 280px;
}
.min-w-\[3\.5rem\] {
  min-width: 3.5rem;
}
.min-w-\[3\.625rem\] {
  min-width: 3.625rem;
}
.min-w-\[320px\] {
  min-width: 320px;
}
.min-w-\[420px\] {
  min-width: 420px;
}
.min-w-\[5\.5rem\] {
  min-width: 5.5rem;
}
.min-w-\[50px\] {
  min-width: 50px;
}
.min-w-\[52px\] {
  min-width: 52px;
}
.min-w-\[60px\] {
  min-width: 60px;
}
.min-w-\[720px\] {
  min-width: 720px;
}
.min-w-\[72px\] {
  min-width: 72px;
}
.min-w-\[80px\] {
  min-width: 80px;
}
.min-w-\[88px\] {
  min-width: 88px;
}
.min-w-\[8rem\] {
  min-width: 8rem;
}
.min-w-\[90px\] {
  min-width: 90px;
}
.min-w-\[var\(--radix-select-trigger-width\)\] {
  min-width: var(--radix-select-trigger-width);
}
.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-\[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-\[11rem\] {
  max-width: 11rem;
}
.max-w-\[1200px\] {
  max-width: 1200px;
}
.max-w-\[120px\] {
  max-width: 120px;
}
.max-w-\[1280px\] {
  max-width: 1280px;
}
.max-w-\[12rem\] {
  max-width: 12rem;
}
.max-w-\[140px\] {
  max-width: 140px;
}
.max-w-\[142px\] {
  max-width: 142px;
}
.max-w-\[150px\] {
  max-width: 150px;
}
.max-w-\[160px\] {
  max-width: 160px;
}
.max-w-\[180px\] {
  max-width: 180px;
}
.max-w-\[18rem\] {
  max-width: 18rem;
}
.max-w-\[2\.75rem\] {
  max-width: 2.75rem;
}
.max-w-\[200px\] {
  max-width: 200px;
}
.max-w-\[220px\] {
  max-width: 220px;
}
.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-\[40\%\] {
  max-width: 40%;
}
.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-\[520px\] {
  max-width: 520px;
}
.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-\[720px\] {
  max-width: 720px;
}
.max-w-\[72px\] {
  max-width: 72px;
}
.max-w-\[82\%\] {
  max-width: 82%;
}
.max-w-\[85\%\] {
  max-width: 85%;
}
.max-w-\[88\%\] {
  max-width: 88%;
}
.max-w-\[88px\] {
  max-width: 88px;
}
.max-w-\[9\.5rem\] {
  max-width: 9.5rem;
}
.max-w-\[90\%\] {
  max-width: 90%;
}
.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\(18rem\2c 38vw\)\] {
  max-width: min(18rem, 38vw);
}
.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\(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-full {
  max-width: 100%;
}
.max-w-lg {
  max-width: 32rem;
}
.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-\[clamp\(280px\2c 24vw\2c 360px\)\] {
  flex-basis: clamp(280px, 24vw, 360px);
}
.table-fixed {
  table-layout: fixed;
}
.caption-bottom {
  caption-side: bottom;
}
.border-collapse {
  border-collapse: collapse;
}
.border-separate {
  border-collapse: separate;
}
.border-spacing-0 {
  --tw-border-spacing-x: 0px;
  --tw-border-spacing-y: 0px;
  border-spacing: var(--tw-border-spacing-x) var(--tw-border-spacing-y);
}
.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-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 {
  --tw-translate-x: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-x-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-y-full {
  --tw-translate-y: -100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-\[-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-4 {
  --tw-translate-y: 1rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-\[-1px\] {
  --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));
}
.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-90 {
  --tw-rotate: 90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-100 {
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-110 {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-90 {
  --tw-scale-x: .9;
  --tw-scale-y: .9;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-95 {
  --tw-scale-x: .95;
  --tw-scale-y: .95;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.\!transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
}
.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));
}
.animate-\[blink_1s_step-end_infinite\] {
  animation: blink 1s step-end infinite;
}
.animate-\[bounce-dots_1\.4s_ease-in-out_infinite\] {
  animation: bounce-dots 1.4s ease-in-out infinite;
}
.animate-\[dt-typing_1s_infinite\] {
  animation: dt-typing 1s infinite;
}
.animate-\[loading-dots_1\.4s_infinite_0\.2s\] {
  animation: loading-dots 1.4s infinite 0.2s;
}
.animate-\[loading-dots_1\.4s_infinite_0\.4s\] {
  animation: loading-dots 1.4s infinite 0.4s;
}
.animate-\[loading-dots_1\.4s_infinite_0\.6s\] {
  animation: loading-dots 1.4s infinite 0.6s;
}
.animate-\[pulse-dot_1\.2s_ease-in-out_infinite\] {
  animation: pulse-dot 1.2s ease-in-out infinite;
}
.animate-\[shimmer_4s_infinite_linear\] {
  animation: shimmer 4s infinite linear;
}
.animate-\[spinner-fade_1\.2s_linear_infinite\] {
  animation: spinner-fade 1.2s linear infinite;
}
.animate-\[text-blink_2s_ease-in-out_infinite\] {
  animation: text-blink 2s ease-in-out infinite;
}
.animate-\[thin-pulse_1\.5s_ease-in-out_infinite\] {
  animation: thin-pulse 1.5s ease-in-out infinite;
}
.animate-\[wave-bars_1\.2s_ease-in-out_infinite\] {
  animation: wave-bars 1.2s ease-in-out infinite;
}
.animate-\[wave_1s_ease-in-out_infinite\] {
  animation: wave 1s ease-in-out infinite;
}
@keyframes pulse {

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

  to {
    transform: rotate(360deg);
  }
}
.animate-spin {
  animation: spin 1s linear infinite;
}
.cursor-col-resize {
  cursor: col-resize;
}
.cursor-crosshair {
  cursor: crosshair;
}
.cursor-default {
  cursor: default;
}
.cursor-ew-resize {
  cursor: ew-resize;
}
.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;
}
.select-all {
  -webkit-user-select: all;
     -moz-user-select: all;
          user-select: all;
}
.resize-none {
  resize: none;
}
.resize-y {
  resize: vertical;
}
.resize {
  resize: both;
}
.snap-x {
  scroll-snap-type: x var(--tw-scroll-snap-strictness);
}
.snap-start {
  scroll-snap-align: start;
}
.scroll-mt-2 {
  scroll-margin-top: 0.5rem;
}
.scroll-mt-20 {
  scroll-margin-top: 5rem;
}
.scroll-mt-4 {
  scroll-margin-top: 1rem;
}
.list-disc {
  list-style-type: disc;
}
.list-none {
  list-style-type: none;
}
.auto-rows-fr {
  grid-auto-rows: minmax(0, 1fr);
}
.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-\[1fr_280px\] {
  grid-template-columns: 1fr 280px;
}
.grid-cols-\[1fr_90px_90px_90px\] {
  grid-template-columns: 1fr 90px 90px 90px;
}
.grid-cols-\[1fr_repeat\(3\2c 48px\)\] {
  grid-template-columns: 1fr repeat(3,48px);
}
.grid-cols-\[4\.5rem_1fr\] {
  grid-template-columns: 4.5rem 1fr;
}
.grid-cols-\[64px_56px\] {
  grid-template-columns: 64px 56px;
}
.grid-cols-\[96px_1fr_72px\] {
  grid-template-columns: 96px 1fr 72px;
}
.grid-cols-\[auto_1fr\] {
  grid-template-columns: auto 1fr;
}
.grid-cols-\[auto_auto\] {
  grid-template-columns: auto auto;
}
.grid-cols-\[auto_minmax\(0\2c 1fr\)_auto\] {
  grid-template-columns: auto minmax(0,1fr) 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\)_auto_auto\] {
  grid-template-columns: minmax(0,1fr) auto auto;
}
.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-\[0fr\] {
  grid-template-rows: 0fr;
}
.grid-rows-\[1fr\] {
  grid-template-rows: 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;
}
.gap-0 {
  gap: 0px;
}
.gap-0\.5 {
  gap: 0.125rem;
}
.gap-1 {
  gap: 0.25rem;
}
.gap-1\.5 {
  gap: 0.375rem;
}
.gap-11 {
  gap: 2.75rem;
}
.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-\[10px\] {
  gap: 10px;
}
.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-1\.5 {
  -moz-column-gap: 0.375rem;
       column-gap: 0.375rem;
}
.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 {
  white-space: pre;
}
.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-none {
  border-radius: 0px !important;
}
.rounded {
  border-radius: 6px;
}
.rounded-2xl {
  border-radius: 14px;
}
.rounded-3xl {
  border-radius: 16px;
}
.rounded-\[10px\] {
  border-radius: 10px;
}
.rounded-\[12px\] {
  border-radius: 12px;
}
.rounded-\[14px\] {
  border-radius: 14px;
}
.rounded-\[2px\] {
  border-radius: 2px;
}
.rounded-\[3px\] {
  border-radius: 3px;
}
.rounded-\[4px\] {
  border-radius: 4px;
}
.rounded-\[5px\] {
  border-radius: 5px;
}
.rounded-\[6px\] {
  border-radius: 6px;
}
.rounded-\[8px\] {
  border-radius: 8px;
}
.rounded-\[inherit\] {
  border-radius: inherit;
}
.rounded-\[var\(--shell-screen-radius\2c 6px\)\] {
  border-radius: var(--shell-screen-radius,6px);
}
.rounded-\[var\(--tile-radius-sm\2c 10px\)\] {
  border-radius: var(--tile-radius-sm,10px);
}
.rounded-full {
  border-radius: 9999px;
}
.rounded-lg {
  border-radius: 10px;
}
.rounded-md {
  border-radius: 8px;
}
.rounded-none {
  border-radius: 0px;
}
.rounded-sm {
  border-radius: 4px;
}
.rounded-xl {
  border-radius: 12px;
}
.rounded-b-\[inherit\] {
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
}
.rounded-b-md {
  border-bottom-right-radius: 8px;
  border-bottom-left-radius: 8px;
}
.rounded-l-md {
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
}
.rounded-l-none {
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}
.rounded-l-sm {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.rounded-r-md {
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
}
.rounded-r-none {
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
}
.rounded-r-sm {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.rounded-t {
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
}
.rounded-t-\[inherit\] {
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}
.rounded-t-none {
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
}
.rounded-tl-\[var\(--shell-screen-radius\2c 6px\)\] {
  border-top-left-radius: var(--shell-screen-radius,6px);
}
.rounded-tl-none {
  border-top-left-radius: 0px;
}
.rounded-tr-\[var\(--shell-screen-radius\2c 6px\)\] {
  border-top-right-radius: var(--shell-screen-radius,6px);
}
.rounded-tr-none {
  border-top-right-radius: 0px;
}
.\!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-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-b-\[3px\] {
  border-bottom-width: 3px;
}
.border-l {
  border-left-width: 1px;
}
.border-l-2 {
  border-left-width: 2px;
}
.border-l-\[3px\] {
  border-left-width: 3px;
}
.border-r {
  border-right-width: 1px;
}
.border-t {
  border-top-width: 1px;
}
.border-t-0 {
  border-top-width: 0px;
}
.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-\[hsl\(217_91\%_52\%\/0\.5\)\] {
  border-color: hsl(217 91% 52%/0.5);
}
.border-\[hsl\(217_91\%_52\%\/0\.55\)\] {
  border-color: hsl(217 91% 52%/0.55);
}
.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\(--neg-500\)\/0\.4\)\] {
  border-color: hsl(var(--neg-500)/0.4);
}
.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\(--pos-500\)\/0\.4\)\] {
  border-color: hsl(var(--pos-500)/0.4);
}
.border-\[hsl\(var\(--positive\)\/0\.30\)\] {
  border-color: hsl(var(--positive)/0.30);
}
.border-\[hsl\(var\(--primary\)\)\] {
  border-color: hsl(var(--primary));
}
.border-\[hsl\(var\(--shell-chrome-border\)\)\] {
  border-color: hsl(var(--shell-chrome-border));
}
.border-\[var\(--color-border\)\] {
  border-color: var(--color-border);
}
.border-accent {
  border-color: hsl(var(--accent));
}
.border-amber-500\/30 {
  border-color: rgb(245 158 11 / 0.3);
}
.border-black\/20 {
  border-color: rgb(0 0 0 / 0.2);
}
.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\/35 {
  border-color: hsl(var(--border) / 0.35);
}
.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-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 {
  --tw-border-opacity: 1;
  border-color: rgb(16 185 129 / var(--tw-border-opacity, 1));
}
.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\/20 {
  border-color: hsl(var(--foreground) / 0.2);
}
.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-muted-foreground\/40 {
  border-color: hsl(var(--muted-foreground) / 0.4);
}
.border-negative {
  border-color: hsl(var(--negative));
}
.border-negative\/25 {
  border-color: hsl(var(--negative) / 0.25);
}
.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\/25 {
  border-color: hsl(var(--positive) / 0.25);
}
.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-foreground\/25 {
  border-color: hsl(var(--primary-foreground) / 0.25);
}
.border-primary\/20 {
  border-color: hsl(var(--primary) / 0.2);
}
.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-primary\/60 {
  border-color: hsl(var(--primary) / 0.6);
}
.border-primary\/70 {
  border-color: hsl(var(--primary) / 0.7);
}
.border-sidebar-border {
  border-color: hsl(var(--sidebar-border));
}
.border-sidebar-border\/50 {
  border-color: hsl(var(--sidebar-border) / 0.5);
}
.border-success\/30 {
  border-color: hsl(var(--success) / 0.3);
}
.border-transparent {
  border-color: transparent;
}
.border-warning\/30 {
  border-color: hsl(var(--warning) / 0.3);
}
.border-warning\/40 {
  border-color: hsl(var(--warning) / 0.4);
}
.border-white\/10 {
  border-color: rgb(255 255 255 / 0.1);
}
.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-\[hsl\(0_0\%_100\%\/0\.08\)\] {
  border-bottom-color: hsl(0 0% 100%/0.08);
}
.border-b-primary {
  border-bottom-color: hsl(var(--primary));
}
.border-b-transparent {
  border-bottom-color: transparent;
}
.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-accent {
  background-color: hsl(var(--accent)) !important;
}
.\!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-transparent {
  background-color: transparent !important;
}
.bg-\[\#101329\]\/\[0\.03\] {
  background-color: rgb(16 19 41 / 0.03);
}
.bg-\[\#202020\] {
  --tw-bg-opacity: 1;
  background-color: rgb(32 32 32 / var(--tw-bg-opacity, 1));
}
.bg-\[\#8b8f97\] {
  --tw-bg-opacity: 1;
  background-color: rgb(139 143 151 / var(--tw-bg-opacity, 1));
}
.bg-\[hsl\(217_91\%_60\%\)\] {
  --tw-bg-opacity: 1;
  background-color: hsl(217 91% 60% / var(--tw-bg-opacity, 1));
}
.bg-\[hsl\(217_91\%_60\%\/0\.14\)\] {
  background-color: hsl(217 91% 60%/0.14);
}
.bg-\[hsl\(217_91\%_60\%\/0\.16\)\] {
  background-color: hsl(217 91% 60%/0.16);
}
.bg-\[hsl\(222_47\%_11\%\/0\.06\)\] {
  background-color: hsl(222 47% 11%/0.06);
}
.bg-\[hsl\(222_47\%_11\%\/0\.08\)\] {
  background-color: hsl(222 47% 11%/0.08);
}
.bg-\[hsl\(222_47\%_11\%\/0\.15\)\] {
  background-color: hsl(222 47% 11%/0.15);
}
.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\(--brand-300\)\)\] {
  background-color: hsl(var(--brand-300));
}
.bg-\[hsl\(var\(--card\)\)\] {
  background-color: hsl(var(--card));
}
.bg-\[hsl\(var\(--chart-1\)\)\] {
  background-color: hsl(var(--chart-1));
}
.bg-\[hsl\(var\(--chart-11\)\/0\.15\)\] {
  background-color: hsl(var(--chart-11)/0.15);
}
.bg-\[hsl\(var\(--chart-2\)\)\] {
  background-color: hsl(var(--chart-2));
}
.bg-\[hsl\(var\(--chart-2\)\/0\.15\)\] {
  background-color: hsl(var(--chart-2)/0.15);
}
.bg-\[hsl\(var\(--chart-3\)\)\] {
  background-color: hsl(var(--chart-3));
}
.bg-\[hsl\(var\(--chart-3\)\/0\.15\)\] {
  background-color: hsl(var(--chart-3)/0.15);
}
.bg-\[hsl\(var\(--chart-4\)\/0\.15\)\] {
  background-color: hsl(var(--chart-4)/0.15);
}
.bg-\[hsl\(var\(--chart-5\)\/0\.15\)\] {
  background-color: hsl(var(--chart-5)/0.15);
}
.bg-\[hsl\(var\(--chart-6\)\/0\.15\)\] {
  background-color: hsl(var(--chart-6)/0.15);
}
.bg-\[hsl\(var\(--foreground\)\/0\.04\)\] {
  background-color: hsl(var(--foreground)/0.04);
}
.bg-\[hsl\(var\(--muted\)\)\] {
  background-color: hsl(var(--muted));
}
.bg-\[hsl\(var\(--neg-500\)\)\] {
  background-color: hsl(var(--neg-500));
}
.bg-\[hsl\(var\(--neg-500\)\/0\.1\)\] {
  background-color: hsl(var(--neg-500)/0.1);
}
.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\)\)\]\/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\.10\)\] {
  background-color: hsl(var(--negative)/0.10);
}
.bg-\[hsl\(var\(--pos-500\)\/0\.1\)\] {
  background-color: hsl(var(--pos-500)/0.1);
}
.bg-\[hsl\(var\(--positive\)\)\] {
  background-color: hsl(var(--positive));
}
.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\)\/0\.06\)\] {
  background-color: hsl(var(--primary)/0.06);
}
.bg-\[hsl\(var\(--primary\)\/0\.85\)\] {
  background-color: hsl(var(--primary)/0.85);
}
.bg-\[hsl\(var\(--shell-chrome\)\)\] {
  background-color: hsl(var(--shell-chrome));
}
.bg-\[hsl\(var\(--shell-chrome-foreground\)\/0\.06\)\] {
  background-color: hsl(var(--shell-chrome-foreground)/0.06);
}
.bg-\[hsl\(var\(--shell-chrome-foreground\)\/0\.12\)\] {
  background-color: hsl(var(--shell-chrome-foreground)/0.12);
}
.bg-\[hsl\(var\(--shell-chrome-foreground\)\/0\.2\)\] {
  background-color: hsl(var(--shell-chrome-foreground)/0.2);
}
.bg-\[hsl\(var\(--sidebar-rail-active-bg\)\)\] {
  background-color: hsl(var(--sidebar-rail-active-bg));
}
.bg-\[hsl\(var\(--workspace\)\)\] {
  background-color: hsl(var(--workspace));
}
.bg-\[var\(--color-accent\)\] {
  background-color: var(--color-accent);
}
.bg-\[var\(--color-chart-canvas\)\] {
  background-color: var(--color-chart-canvas);
}
.bg-\[var\(--color-panel\)\] {
  background-color: var(--color-panel);
}
.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 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}
.bg-amber-500\/10 {
  background-color: rgb(245 158 11 / 0.1);
}
.bg-amber-500\/15 {
  background-color: rgb(245 158 11 / 0.15);
}
.bg-amber-500\/5 {
  background-color: rgb(245 158 11 / 0.05);
}
.bg-amber-500\/70 {
  background-color: rgb(245 158 11 / 0.7);
}
.bg-background {
  background-color: hsl(var(--background));
}
.bg-background\/40 {
  background-color: hsl(var(--background) / 0.4);
}
.bg-background\/50 {
  background-color: hsl(var(--background) / 0.5);
}
.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\/90 {
  background-color: hsl(var(--background) / 0.9);
}
.bg-background\/95 {
  background-color: hsl(var(--background) / 0.95);
}
.bg-black\/20 {
  background-color: rgb(0 0 0 / 0.2);
}
.bg-black\/30 {
  background-color: rgb(0 0 0 / 0.3);
}
.bg-black\/40 {
  background-color: rgb(0 0 0 / 0.4);
}
.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\/30 {
  background-color: hsl(var(--border) / 0.3);
}
.bg-border\/35 {
  background-color: hsl(var(--border) / 0.35);
}
.bg-border\/40 {
  background-color: hsl(var(--border) / 0.4);
}
.bg-border\/50 {
  background-color: hsl(var(--border) / 0.5);
}
.bg-border\/55 {
  background-color: hsl(var(--border) / 0.55);
}
.bg-border\/60 {
  background-color: hsl(var(--border) / 0.6);
}
.bg-border\/70 {
  background-color: hsl(var(--border) / 0.7);
}
.bg-card {
  background-color: hsl(var(--card));
}
.bg-card\/40 {
  background-color: hsl(var(--card) / 0.4);
}
.bg-card\/50 {
  background-color: hsl(var(--card) / 0.5);
}
.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-1\/15 {
  background-color: hsl(var(--chart-1) / 0.15);
}
.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-4\/15 {
  background-color: hsl(var(--chart-4) / 0.15);
}
.bg-chart-5\/15 {
  background-color: hsl(var(--chart-5) / 0.15);
}
.bg-chart-6\/15 {
  background-color: hsl(var(--chart-6) / 0.15);
}
.bg-current {
  background-color: currentColor;
}
.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 {
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
}
.bg-emerald-500\/15 {
  background-color: rgb(16 185 129 / 0.15);
}
.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\/25 {
  background-color: hsl(var(--foreground) / 0.25);
}
.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\.10\] {
  background-color: hsl(var(--foreground) / 0.10);
}
.bg-foreground\/\[0\.12\] {
  background-color: hsl(var(--foreground) / 0.12);
}
.bg-muted {
  background-color: hsl(var(--muted));
}
.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\/50 {
  background-color: hsl(var(--muted-foreground) / 0.5);
}
.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\/45 {
  background-color: hsl(var(--muted) / 0.45);
}
.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\/70 {
  background-color: hsl(var(--negative) / 0.7);
}
.bg-negative\/75 {
  background-color: hsl(var(--negative) / 0.75);
}
.bg-negative\/90 {
  background-color: hsl(var(--negative) / 0.9);
}
.bg-negative\/\[0\.07\] {
  background-color: hsl(var(--negative) / 0.07);
}
.bg-negative\/\[0\.08\] {
  background-color: hsl(var(--negative) / 0.08);
}
.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-positive\/\[0\.07\] {
  background-color: hsl(var(--positive) / 0.07);
}
.bg-positive\/\[0\.08\] {
  background-color: hsl(var(--positive) / 0.08);
}
.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\/85 {
  background-color: hsl(var(--primary) / 0.85);
}
.bg-primary\/90 {
  background-color: hsl(var(--primary) / 0.9);
}
.bg-primary\/\[0\.04\] {
  background-color: hsl(var(--primary) / 0.04);
}
.bg-primary\/\[0\.06\] {
  background-color: hsl(var(--primary) / 0.06);
}
.bg-primary\/\[0\.07\] {
  background-color: hsl(var(--primary) / 0.07);
}
.bg-primary\/\[0\.08\] {
  background-color: hsl(var(--primary) / 0.08);
}
.bg-red-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.bg-red-500\/10 {
  background-color: rgb(239 68 68 / 0.1);
}
.bg-red-500\/15 {
  background-color: rgb(239 68 68 / 0.15);
}
.bg-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\/60 {
  background-color: hsl(var(--sidebar-accent) / 0.6);
}
.bg-sidebar-border {
  background-color: hsl(var(--sidebar-border));
}
.bg-sidebar-border\/60 {
  background-color: hsl(var(--sidebar-border) / 0.6);
}
.bg-sidebar-foreground\/\[0\.07\] {
  background-color: hsl(var(--sidebar-foreground) / 0.07);
}
.bg-sky-500\/70 {
  background-color: rgb(14 165 233 / 0.7);
}
.bg-success\/15 {
  background-color: hsl(var(--success) / 0.15);
}
.bg-success\/\[0\.08\] {
  background-color: hsl(var(--success) / 0.08);
}
.bg-transparent {
  background-color: transparent;
}
.bg-violet-500\/70 {
  background-color: rgb(139 92 246 / 0.7);
}
.bg-warning\/10 {
  background-color: hsl(var(--warning) / 0.1);
}
.bg-warning\/\[0\.08\] {
  background-color: hsl(var(--warning) / 0.08);
}
.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\/40 {
  background-color: rgb(255 255 255 / 0.4);
}
.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-\[linear-gradient\(to_right\2c hsl\(var\(--muted-foreground\)\)_40\%\2c hsl\(var\(--foreground\)\)_60\%\2c hsl\(var\(--muted-foreground\)\)_80\%\)\] {
  background-image: linear-gradient(to right,hsl(var(--muted-foreground)) 40%,hsl(var(--foreground)) 60%,hsl(var(--muted-foreground)) 80%);
}
.bg-\[radial-gradient\(ellipse_at_top\2c hsl\(var\(--muted\)\/0\.35\)\2c transparent_60\%\)\] {
  background-image: radial-gradient(ellipse at top,hsl(var(--muted)/0.35),transparent 60%);
}
.bg-gradient-to-b {
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}
.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.bg-gradient-to-t {
  background-image: linear-gradient(to top, var(--tw-gradient-stops));
}
.from-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-muted\/20 {
  --tw-gradient-from: hsl(var(--muted) / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--muted) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-muted\/50 {
  --tw-gradient-from: hsl(var(--muted) / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--muted) / 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-primary\/15 {
  --tw-gradient-from: hsl(var(--primary) / 0.15) 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-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);
}
.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-muted\/0 {
  --tw-gradient-to: hsl(var(--muted) / 0) var(--tw-gradient-to-position);
}
.to-pink-50\/40 {
  --tw-gradient-to: rgb(253 242 248 / 0.4) var(--tw-gradient-to-position);
}
.to-primary\/\[0\.04\] {
  --tw-gradient-to: hsl(var(--primary) / 0.04) 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);
}
.bg-\[length\:200\%_auto\] {
  background-size: 200% auto;
}
.bg-clip-text {
  -webkit-background-clip: text;
          background-clip: text;
}
.fill-current {
  fill: currentColor;
}
.fill-primary {
  fill: hsl(var(--primary));
}
.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 !important;
}
.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-\[1px\] {
  padding: 1px;
}
.p-\[2px\] {
  padding: 2px;
}
.p-\[3px_4px\] {
  padding: 3px 4px;
}
.p-\[6px_4px\] {
  padding: 6px 4px;
}
.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);
}
.px-px {
  padding-left: 1px;
  padding-right: 1px;
}
.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-\[11px\] {
  padding-top: 11px;
  padding-bottom: 11px;
}
.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-\[4px\] {
  padding-top: 4px;
  padding-bottom: 4px;
}
.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-16 {
  padding-bottom: 4rem;
}
.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-\[10vh\] {
  padding-bottom: 10vh;
}
.pb-\[18px\] {
  padding-bottom: 18px;
}
.pb-\[3px\] {
  padding-bottom: 3px;
}
.pb-\[60px\] {
  padding-bottom: 60px;
}
.pe-1 {
  padding-inline-end: 0.25rem;
}
.pe-2 {
  padding-inline-end: 0.5rem;
}
.pl-0\.5 {
  padding-left: 0.125rem;
}
.pl-1 {
  padding-left: 0.25rem;
}
.pl-1\.5 {
  padding-left: 0.375rem;
}
.pl-10 {
  padding-left: 2.5rem;
}
.pl-12 {
  padding-left: 3rem;
}
.pl-2 {
  padding-left: 0.5rem;
}
.pl-2\.5 {
  padding-left: 0.625rem;
}
.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-\[21px\] {
  padding-left: 21px;
}
.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-12 {
  padding-right: 3rem;
}
.pr-14 {
  padding-right: 3.5rem;
}
.pr-2 {
  padding-right: 0.5rem;
}
.pr-2\.5 {
  padding-right: 0.625rem;
}
.pr-3 {
  padding-right: 0.75rem;
}
.pr-3\.5 {
  padding-right: 0.875rem;
}
.pr-6 {
  padding-right: 1.5rem;
}
.pr-7 {
  padding-right: 1.75rem;
}
.pr-8 {
  padding-right: 2rem;
}
.pr-9 {
  padding-right: 2.25rem;
}
.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-\[10px\] {
  padding-top: 10px;
}
.pt-\[10vh\] {
  padding-top: 10vh;
}
.pt-\[3px\] {
  padding-top: 3px;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.align-baseline {
  vertical-align: baseline;
}
.align-top {
  vertical-align: top;
}
.align-middle {
  vertical-align: middle;
}
.align-text-bottom {
  vertical-align: text-bottom;
}
.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\.46em\] {
  font-size: 0.46em;
}
.text-\[0\.82em\] {
  font-size: 0.82em;
}
.text-\[0\.8rem\] {
  font-size: 0.8rem;
}
.text-\[1\.375rem\] {
  font-size: 1.375rem;
}
.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-\[12px\] {
  font-size: 12px;
}
.text-\[13px\] {
  font-size: 13px;
}
.text-\[14\.5px\] {
  font-size: 14.5px;
}
.text-\[14px\] {
  font-size: 14px;
}
.text-\[15px\] {
  font-size: 15px;
}
.text-\[16px\] {
  font-size: 16px;
}
.text-\[17px\] {
  font-size: 17px;
}
.text-\[28px\] {
  font-size: 28px;
}
.text-\[32px\] {
  font-size: 32px;
}
.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-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\.1\] {
  line-height: 1.1;
}
.leading-\[1\.35\] {
  line-height: 1.35;
}
.leading-\[1\.45\] {
  line-height: 1.45;
}
.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-\[1\.7\] {
  line-height: 1.7;
}
.leading-\[14px\] {
  line-height: 14px;
}
.leading-\[15px\] {
  line-height: 15px;
}
.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\.011em\] {
  letter-spacing: -0.011em;
}
.tracking-\[-0\.014em\] {
  letter-spacing: -0.014em;
}
.tracking-\[-0\.01em\] {
  letter-spacing: -0.01em;
}
.tracking-\[-0\.02em\] {
  letter-spacing: -0.02em;
}
.tracking-\[-0\.03em\] {
  letter-spacing: -0.03em;
}
.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\.13em\] {
  letter-spacing: 0.13em;
}
.tracking-\[0\.14em\] {
  letter-spacing: 0.14em;
}
.tracking-\[0\.15em\] {
  letter-spacing: 0.15em;
}
.tracking-\[0\.1em\] {
  letter-spacing: 0.1em;
}
.tracking-\[0\.2em\] {
  letter-spacing: 0.2em;
}
.tracking-\[0\.3em\] {
  letter-spacing: 0.3em;
}
.tracking-\[0\.3px\] {
  letter-spacing: 0.3px;
}
.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-\[\#101329\] {
  --tw-text-opacity: 1;
  color: rgb(16 19 41 / var(--tw-text-opacity, 1));
}
.text-\[\#101329\]\/55 {
  color: rgb(16 19 41 / 0.55);
}
.text-\[hsl\(217_91\%_48\%\)\] {
  --tw-text-opacity: 1;
  color: hsl(217 91% 48% / var(--tw-text-opacity, 1));
}
.text-\[hsl\(222_47\%_11\%\)\] {
  --tw-text-opacity: 1;
  color: hsl(222 47% 11% / var(--tw-text-opacity, 1));
}
.text-\[hsl\(222_47\%_11\%\/0\.45\)\] {
  color: hsl(222 47% 11%/0.45);
}
.text-\[hsl\(222_47\%_11\%\/0\.5\)\] {
  color: hsl(222 47% 11%/0.5);
}
.text-\[hsl\(222_47\%_11\%\/0\.7\)\] {
  color: hsl(222 47% 11%/0.7);
}
.text-\[hsl\(222_47\%_11\%\/0\.75\)\] {
  color: hsl(222 47% 11%/0.75);
}
.text-\[hsl\(var\(--brand\)\)\] {
  color: hsl(var(--brand));
}
.text-\[hsl\(var\(--chart-1\)\)\] {
  color: hsl(var(--chart-1));
}
.text-\[hsl\(var\(--chart-11\)\)\] {
  color: hsl(var(--chart-11));
}
.text-\[hsl\(var\(--chart-2\)\)\] {
  color: hsl(var(--chart-2));
}
.text-\[hsl\(var\(--chart-3\)\)\] {
  color: hsl(var(--chart-3));
}
.text-\[hsl\(var\(--chart-4\)\)\] {
  color: hsl(var(--chart-4));
}
.text-\[hsl\(var\(--chart-5\)\)\] {
  color: hsl(var(--chart-5));
}
.text-\[hsl\(var\(--chart-6\)\)\] {
  color: hsl(var(--chart-6));
}
.text-\[hsl\(var\(--foreground\)\)\] {
  color: hsl(var(--foreground));
}
.text-\[hsl\(var\(--neg-500\)\)\] {
  color: hsl(var(--neg-500));
}
.text-\[hsl\(var\(--negative\)\)\] {
  color: hsl(var(--negative));
}
.text-\[hsl\(var\(--negative\)\)\]\/70 {
  color: hsl(var(--negative) / 0.7);
}
.text-\[hsl\(var\(--pos-500\)\)\] {
  color: hsl(var(--pos-500));
}
.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-\[hsl\(var\(--shell-chrome-foreground\)\)\] {
  color: hsl(var(--shell-chrome-foreground));
}
.text-\[hsl\(var\(--shell-chrome-foreground\)\/0\.35\)\] {
  color: hsl(var(--shell-chrome-foreground)/0.35);
}
.text-\[hsl\(var\(--shell-chrome-foreground\)\/0\.45\)\] {
  color: hsl(var(--shell-chrome-foreground)/0.45);
}
.text-\[hsl\(var\(--shell-chrome-foreground\)\/0\.5\)\] {
  color: hsl(var(--shell-chrome-foreground)/0.5);
}
.text-\[hsl\(var\(--shell-chrome-foreground\)\/0\.55\)\] {
  color: hsl(var(--shell-chrome-foreground)/0.55);
}
.text-\[hsl\(var\(--shell-chrome-foreground\)\/0\.6\)\] {
  color: hsl(var(--shell-chrome-foreground)/0.6);
}
.text-\[hsl\(var\(--shell-chrome-foreground\)\/0\.65\)\] {
  color: hsl(var(--shell-chrome-foreground)/0.65);
}
.text-\[hsl\(var\(--shell-chrome-foreground\)\/0\.78\)\] {
  color: hsl(var(--shell-chrome-foreground)/0.78);
}
.text-\[hsl\(var\(--shell-chrome-foreground\)\/0\.85\)\] {
  color: hsl(var(--shell-chrome-foreground)/0.85);
}
.text-\[hsl\(var\(--sidebar-rail-active-icon\)\)\] {
  color: hsl(var(--sidebar-rail-active-icon));
}
.text-\[hsl\(var\(--sidebar-rail-icon\)\)\] {
  color: hsl(var(--sidebar-rail-icon));
}
.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\)\] {
  color: var(--color-text);
}
.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-400 {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.text-amber-500 {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.text-amber-600 {
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}
.text-amber-700 {
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}
.text-background {
  color: hsl(var(--background));
}
.text-black {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
.text-black\/55 {
  color: rgb(0 0 0 / 0.55);
}
.text-blue-400 {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}
.text-border {
  color: hsl(var(--border));
}
.text-card-foreground {
  color: hsl(var(--card-foreground));
}
.text-chart-1 {
  color: hsl(var(--chart-1));
}
.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-chart-6 {
  color: hsl(var(--chart-6));
}
.text-current {
  color: currentColor;
}
.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-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\/35 {
  color: hsl(var(--foreground) / 0.35);
}
.text-foreground\/40 {
  color: hsl(var(--foreground) / 0.4);
}
.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\/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-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\/75 {
  color: hsl(var(--positive) / 0.75);
}
.text-primary {
  color: hsl(var(--primary));
}
.text-primary-foreground {
  color: hsl(var(--primary-foreground));
}
.text-primary\/40 {
  color: hsl(var(--primary) / 0.4);
}
.text-primary\/70 {
  color: hsl(var(--primary) / 0.7);
}
.text-primary\/80 {
  color: hsl(var(--primary) / 0.8);
}
.text-primary\/90 {
  color: hsl(var(--primary) / 0.9);
}
.text-red-500 {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.text-red-600 {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.text-secondary-foreground {
  color: hsl(var(--secondary-foreground));
}
.text-sidebar-foreground {
  color: hsl(var(--sidebar-foreground));
}
.text-sidebar-foreground\/35 {
  color: hsl(var(--sidebar-foreground) / 0.35);
}
.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\/65 {
  color: hsl(var(--sidebar-foreground) / 0.65);
}
.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\/90 {
  color: hsl(var(--sidebar-foreground) / 0.9);
}
.text-success {
  color: hsl(var(--success));
}
.text-transparent {
  color: transparent;
}
.text-warning {
  color: hsl(var(--warning));
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.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\/65 {
  color: rgb(255 255 255 / 0.65);
}
.text-white\/70 {
  color: rgb(255 255 255 / 0.7);
}
.text-yellow-400 {
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / 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));
}
.decoration-foreground\/25 {
  text-decoration-color: hsl(var(--foreground) / 0.25);
}
.decoration-foreground\/30 {
  text-decoration-color: hsl(var(--foreground) / 0.3);
}
.decoration-red-500\/50 {
  text-decoration-color: rgb(239 68 68 / 0.5);
}
.decoration-dotted {
  text-decoration-style: dotted;
}
.underline-offset-2 {
  text-underline-offset: 2px;
}
.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-20 {
  opacity: 0.2;
}
.opacity-30 {
  opacity: 0.3;
}
.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-90 {
  opacity: 0.9;
}
.opacity-95 {
  opacity: 0.95;
}
.\!shadow-none {
  --tw-shadow: 0 0 #0000 !important;
  --tw-shadow-colored: 0 0 #0000 !important;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
}
.\!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-\[-10px_0_28px_-18px_rgba\(0\2c 0\2c 0\2c 0\.30\)\] {
  --tw-shadow: -10px 0 28px -18px rgba(0,0,0,0.30);
  --tw-shadow-colored: -10px 0 28px -18px 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_10px_28px_-8px_rgba\(0\2c 0\2c 0\2c 0\.6\)\2c inset_0_1px_0_hsl\(0_0\%_100\%\/0\.05\)\] {
  --tw-shadow: 0 10px 28px -8px rgba(0,0,0,0.6),inset 0 1px 0 hsl(0 0% 100%/0.05);
  --tw-shadow-colored: 0 10px 28px -8px var(--tw-shadow-color), inset 0 1px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_12px_40px_-12px_rgba\(15\2c 23\2c 42\2c 0\.35\)\2c 0_4px_12px_-4px_rgba\(15\2c 23\2c 42\2c 0\.12\)\] {
  --tw-shadow: 0 12px 40px -12px rgba(15,23,42,0.35),0 4px 12px -4px rgba(15,23,42,0.12);
  --tw-shadow-colored: 0 12px 40px -12px var(--tw-shadow-color), 0 4px 12px -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_12px_40px_-16px_hsl\(220_24\%_22\%\/0\.28\)\2c 0_2px_8px_-2px_hsl\(220_24\%_22\%\/0\.10\)\] {
  --tw-shadow: 0 12px 40px -16px hsl(220 24% 22%/0.28),0 2px 8px -2px hsl(220 24% 22%/0.10);
  --tw-shadow-colored: 0 12px 40px -16px var(--tw-shadow-color), 0 2px 8px -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_18px_40px_-16px_rgba\(0\2c 0\2c 0\2c 0\.55\)\] {
  --tw-shadow: 0 18px 40px -16px rgba(0,0,0,0.55);
  --tw-shadow-colored: 0 18px 40px -16px 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\(220_20\%_20\%\/0\.04\)\] {
  --tw-shadow: 0 1px 2px hsl(220 20% 20%/0.04);
  --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_hsl\(220_24\%_28\%\/0\.05\)\] {
  --tw-shadow: 0 1px 2px hsl(220 24% 28%/0.05);
  --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_hsl\(220_24\%_28\%\/0\.06\)\2c 0_12px_28px_-12px_hsl\(220_24\%_28\%\/0\.20\)\] {
  --tw-shadow: 0 1px 2px hsl(220 24% 28%/0.06),0 12px 28px -12px hsl(220 24% 28%/0.20);
  --tw-shadow-colored: 0 1px 2px var(--tw-shadow-color), 0 12px 28px -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_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_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_24px_50px_-12px_rgba\(0\2c 0\2c 0\2c 0\.6\)\] {
  --tw-shadow: 0 24px 50px -12px rgba(0,0,0,0.6);
  --tw-shadow-colored: 0 24px 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_24px_60px_-20px_hsl\(var\(--foreground\)\/0\.22\)\] {
  --tw-shadow: 0 24px 60px -20px hsl(var(--foreground)/0.22);
  --tw-shadow-colored: 0 24px 60px -20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_2px_18px_-8px_hsl\(var\(--foreground\)\/0\.18\)\] {
  --tw-shadow: 0 2px 18px -8px hsl(var(--foreground)/0.18);
  --tw-shadow-colored: 0 2px 18px -8px 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-\[0_8px_28px_-14px_hsl\(220_24\%_22\%\/0\.22\)\] {
  --tw-shadow: 0 8px 28px -14px hsl(220 24% 22%/0.22);
  --tw-shadow-colored: 0 8px 28px -14px 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\.55\)\] {
  --tw-shadow: inset 0 0 0 1px hsl(var(--border)/0.55);
  --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_1px_0_hsl\(0_0\%_100\%\/0\.55\)\] {
  --tw-shadow: inset 0 1px 0 hsl(0 0% 100%/0.55);
  --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\(--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\(--background\)\/0\.55\)\2c 0_1px_2px_hsl\(var\(--foreground\)\/0\.03\)\] {
  --tw-shadow: inset 0 1px 0 hsl(var(--background)/0.55),0 1px 2px hsl(var(--foreground)/0.03);
  --tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color), 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-\[inset_0_1px_0_hsl\(var\(--background\)\/0\.55\)\] {
  --tw-shadow: inset 0 1px 0 hsl(var(--background)/0.55);
  --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_2px_hsl\(var\(--foreground\)\/0\.025\)\] {
  --tw-shadow: inset 0 1px 2px hsl(var(--foreground)/0.025);
  --tw-shadow-colored: inset 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-inner {
  --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg {
  --tw-shadow: 0 10px 15px 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;
}
.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\(217_91\%_52\%\/0\.25\)\] {
  --tw-ring-color: hsl(217 91% 52%/0.25);
}
.ring-\[hsl\(var\(--negative\)\)\] {
  --tw-ring-color: hsl(var(--negative));
}
.ring-accent {
  --tw-ring-color: hsl(var(--accent));
}
.ring-black\/5 {
  --tw-ring-color: rgb(0 0 0 / 0.05);
}
.ring-border {
  --tw-ring-color: hsl(var(--border));
}
.ring-border\/40 {
  --tw-ring-color: hsl(var(--border) / 0.4);
}
.ring-border\/45 {
  --tw-ring-color: hsl(var(--border) / 0.45);
}
.ring-border\/50 {
  --tw-ring-color: hsl(var(--border) / 0.5);
}
.ring-border\/55 {
  --tw-ring-color: hsl(var(--border) / 0.55);
}
.ring-border\/60 {
  --tw-ring-color: hsl(var(--border) / 0.6);
}
.ring-card {
  --tw-ring-color: hsl(var(--card));
}
.ring-chart-3\/20 {
  --tw-ring-color: hsl(var(--chart-3) / 0.2);
}
.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-negative\/20 {
  --tw-ring-color: hsl(var(--negative) / 0.2);
}
.ring-positive\/20 {
  --tw-ring-color: hsl(var(--positive) / 0.2);
}
.ring-primary\/15 {
  --tw-ring-color: hsl(var(--primary) / 0.15);
}
.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-ring {
  --tw-ring-color: hsl(var(--sidebar-ring));
}
.ring-white\/\[0\.04\] {
  --tw-ring-color: rgb(255 255 255 / 0.04);
}
.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);
}
.drop-shadow-sm {
  --tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / 0.05));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.grayscale {
  --tw-grayscale: grayscale(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.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-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 background-color\2c box-shadow\] {
  transition-property: border-color,background-color,box-shadow;
  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 transform\] {
  transition-property: color,transform;
  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-\[grid-template-rows\] {
  transition-property: grid-template-rows;
  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-\[max-height\] {
  transition-property: max-height;
  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-150 {
  transition-duration: 150ms;
}
.duration-200 {
  transition-duration: 200ms;
}
.duration-250 {
  transition-duration: 250ms;
}
.duration-300 {
  transition-duration: 300ms;
}
.duration-500 {
  transition-duration: 500ms;
}
.duration-700 {
  transition-duration: 700ms;
}
.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-linear {
  transition-timing-function: linear;
}
.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
@keyframes enter {

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

  to {
    opacity: var(--tw-exit-opacity, 1);
    transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));
  }
}
.animate-in {
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}
.fade-in {
  --tw-enter-opacity: 0;
}
.fade-in-0 {
  --tw-enter-opacity: 0;
}
.fade-in-80 {
  --tw-enter-opacity: 0.8;
}
.fade-out {
  --tw-exit-opacity: 0;
}
.zoom-in-95 {
  --tw-enter-scale: .95;
}
.slide-in-from-bottom-4 {
  --tw-enter-translate-y: 1rem;
}
.duration-100 {
  animation-duration: 100ms;
}
.duration-150 {
  animation-duration: 150ms;
}
.duration-200 {
  animation-duration: 200ms;
}
.duration-250 {
  animation-duration: 250ms;
}
.duration-300 {
  animation-duration: 300ms;
}
.duration-500 {
  animation-duration: 500ms;
}
.duration-700 {
  animation-duration: 700ms;
}
.ease-in-out {
  animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-linear {
  animation-timing-function: linear;
}
.ease-out {
  animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.\!running {
  animation-play-state: running !important;
}
.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;
}
.\[flex\:0_0_0px\] {
  flex: 0 0 0px;
}
.\[flex\:1_1_0\%\] {
  flex: 1 1 0%;
}
.\[font-size\:1\.35em\] {
  font-size: 1.35em;
}
.\[scrollbar-color\:hsl\(var\(--foreground\)\/0\.1\)_transparent\] {
  scrollbar-color: hsl(var(--foreground)/0.1) transparent;
}
.\[scrollbar-gutter\:stable\] {
  scrollbar-gutter: stable;
}
.\[scrollbar-width\:none\] {
  scrollbar-width: none;
}
.\[writing-mode\:vertical-rl\] {
  writing-mode: vertical-rl;
}

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

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

/* NB: intentionally no custom `@keyframes pulse` here. A custom pulse would
   shadow Tailwind's built-in one (same name, defined later in the cascade) and
   every `animate-pulse` — including the Skeleton primitive — would inherit an
   aggressive opacity+scale throb instead of the calm opacity 1↔.5 fade. Leave
   skeletons on Tailwind's pulse. */

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

/* Prompt Kit text-shimmer loader — sweeps the gradient highlight across the text. */
@keyframes shimmer {
  to { background-position: -200% center; }
}

/* ── 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; }

/* Skeleton build-up — a staggered fade+lift (drive the delay inline per row) so a
   loading workspace assembles piece-by-piece instead of flashing in at once. */
@keyframes dt-skel-rise {
  from { opacity: 0; transform: translate3d(0, 6px, 0); }
  to   { opacity: 1; transform: translate3d(0, 0, 0); }
}
.dt-skel-rise { animation: dt-skel-rise 380ms cubic-bezier(0.22, 1, 0.36, 1) both; }
@media (prefers-reduced-motion: reduce) {
  .dt-skel-rise { animation: none; }
}

/* ── 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: 8px;
  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: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  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: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  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: 0 !important;
  border-radius: 0 !important;
}

/* ── Brand loader — the dibs mark IS the loader (DibsLoader.jsx): a brand-blue
   shimmer sweeps diagonally through the mark, no ring. Painted via a CSS mask
   so the sweep takes theme colours (visible on light AND dark surfaces); the
   caption stays screen-reader-only. ── */
@keyframes dt-brand-shimmer {
  0%   { background-position: 170% 0; }
  100% { background-position: -70% 0; }
}
@keyframes dt-brand-fade {
  0%, 100% { opacity: 0.45; }
  50%      { opacity: 0.9; }
}
/* Agent "typing" dots (ui/loader.tsx TypingLoader → animate-[dt-typing_…]).
   Namespaced so it can't shadow anything the way a bare `typing` would. */
@keyframes dt-typing {
  0%, 60%, 100% { opacity: 0.25; transform: translateY(0); }
  30%           { opacity: 1;    transform: translateY(-2px); }
}
.dt-brand-mark {
  display: block;
  -webkit-mask: url('/dibs-mark-tight.png') center / contain no-repeat;
  mask: url('/dibs-mark-tight.png') center / contain no-repeat;
  background-image: linear-gradient(
    105deg,
    hsl(var(--muted-foreground)) 0%,
    hsl(var(--muted-foreground)) 38%,
    hsl(var(--primary)) 50%,
    hsl(var(--muted-foreground)) 62%,
    hsl(var(--muted-foreground)) 100%
  );
  background-size: 260% 100%;
  background-repeat: no-repeat;
  animation: dt-brand-shimmer 1.5s ease-in-out infinite;
}
/* Inline / on-fill variant (buttons, chips, next to text): ride on currentColor
   with a calm opacity fade so the loader stays legible on ANY surface — white on
   a primary button, dark on a light row — where the grey→blue sweep would wash
   out. At small sizes a pulse also reads more clearly than a diagonal sweep. */
.dt-brand-mark--inline {
  background-image: none;
  background-color: currentColor;
  animation: dt-brand-fade 1.2s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  /* No travelling sweep under reduced motion — a calm opacity fade instead. */
  .dt-brand-mark {
    background-image: none;
    background-color: hsl(var(--muted-foreground));
    animation: dt-brand-fade 2.4s ease-in-out infinite;
  }
  .route-content-enter,
  .route-page-enter {
    animation: none;
  }
}

/* ── Dashboard widget tiles ────────────────────────────────────────────────
   Quiet off-white board; tiles lift as white cards with clear border + shadow. */
.dibs .dt-widget-card {
  background: hsl(0 0% 100%) !important;
  border: 1px solid hsl(220 14% 88%) !important;
  border-radius: 12px !important;
  box-shadow:
    0 1px 2px hsl(220 20% 20% / 0.04),
    0 6px 16px -8px hsl(220 24% 28% / 0.14) !important;
}
.dibs .dt-widget-card > .dt-widget-card-header {
  background: transparent !important;
  border-bottom: none !important;
}
/* Tabbed chrome matches single-tile headers — no muted strip, no divider line. */
.dibs .dt-widget-card > .dt-widget-card-header--tabs {
  background: transparent !important;
  border-bottom: none !important;
  gap: 0 !important;
}
.dibs .dt-widget-card .dt-widget-tab {
  position: relative;
  display: inline-flex;
  align-items: center;
  height: 32px;
  margin: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  color: hsl(var(--muted-foreground));
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.01em;
  transition: color 120ms ease;
}
.dibs .dt-widget-card .dt-widget-tab:hover {
  color: hsl(var(--foreground));
  background: transparent;
}
.dibs .dt-widget-card .dt-widget-tab.is-active {
  z-index: 1;
  margin-bottom: 0;
  padding-bottom: 0;
  border: none;
  background: transparent;
  color: hsl(var(--foreground));
  box-shadow: none;
}
.dibs .dt-widget-card .dt-widget-tab.is-active::after {
  content: '';
  position: absolute;
  left: 8px;
  right: 8px;
  bottom: 2px;
  height: 1.5px;
  border-radius: 1px;
  background: hsl(var(--foreground) / 0.55);
}

/* Dashboard + Inbox boards: pure white canvas in light theme. */
.dibs.light [data-testid='dashboard-workspace'],
.dibs.light [data-testid='inbox-page'] {
  background: hsl(0 0% 100%) !important;
}
.dibs.light [data-testid='dashboard-workspace'] .dt-widget-card {
  border-color: hsl(220 14% 88%) !important;
}
.dibs:not(.light) [data-testid='dashboard-workspace'],
.dibs:not(.light) [data-testid='inbox-page'] {
  background: hsl(var(--background)) !important;
}
.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:not(.light) [data-snapshot-overview] table tbody .hover\:text-positive:hovertd {
    color: hsl(var(--positive));
  }
.dibs:not(.light) [data-snapshot-overview] table tbody .hover\:\!text-negative:hovertd {
    color: hsl(var(--negative)) !important;
  }
.dibs:not(.light) [data-snapshot-overview] table tbody .hover\:text-negative:hovertd {
    color: hsl(var(--negative));
  }
.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 .disabled\:hover\:text-muted-foreground:hover:disabledtd {
    font-size: var(--snap-overview-label-size);
    font-weight: 400;
    font-variant-numeric: normal;
    color: hsl(var(--muted-foreground));
  }
.dt-sidebar-security-symbol .disabled\:hover\:text-muted-foreground:hover:disabled {
    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);
  }
@media (min-width: 768px) {
  .dibs main[data-shell-surface='elevated'] > div.md\:shrink-0:first-child {
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: hidden;
  }
  .dibs main[data-shell-surface='elevated'] > div.md\:shrink-0:first-child .entity-ws-titlebar {
    background: transparent;
    border-bottom-color: transparent;
  }
}
@media (min-width: 1024px) {
  .dibs main[data-shell-surface='elevated'] > div.lg\:shrink-0:first-child {
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: hidden;
  }
  .dibs main[data-shell-surface='elevated'] > div.lg\:shrink-0:first-child .entity-ws-titlebar {
    background: transparent;
    border-bottom-color: transparent;
  }
}
.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));
  }
.dibs main[data-shell-surface='elevated'] > .\[\&\>svg\]\:shrink-0>svgdiv:first-child {
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: hidden;
  }
.dibs main[data-shell-surface='elevated'] > .\[\&\>svg\]\:shrink-0>svgdiv:first-child .entity-ws-titlebar {
    background: transparent;
    border-bottom-color: transparent;
  }
.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 .\[\&_svg\]\:text-muted-foreground svgtd {
    font-size: var(--snap-overview-label-size);
    font-weight: 400;
    font-variant-numeric: normal;
    color: hsl(var(--muted-foreground));
  }
.dibs main[data-shell-surface='elevated'] > .\[\&_svg\]\:shrink-0 svgdiv:first-child {
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: hidden;
  }
.dibs main[data-shell-surface='elevated'] > .\[\&_svg\]\:shrink-0 svgdiv:first-child .entity-ws-titlebar {
    background: transparent;
    border-bottom-color: transparent;
  }
.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\:font-normal::-moz-placeholder {
  font-weight: 400;
}
.placeholder\:font-normal::placeholder {
  font-weight: 400;
}
.placeholder\:tracking-normal::-moz-placeholder {
  letter-spacing: 0em;
}
.placeholder\:tracking-normal::placeholder {
  letter-spacing: 0em;
}
.placeholder\:text-\[hsl\(222_47\%_11\%\/0\.45\)\]::-moz-placeholder {
  color: hsl(222 47% 11%/0.45);
}
.placeholder\:text-\[hsl\(222_47\%_11\%\/0\.45\)\]::placeholder {
  color: hsl(222 47% 11%/0.45);
}
.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-sidebar-foreground\/40::-moz-placeholder {
  color: hsl(var(--sidebar-foreground) / 0.4);
}
.placeholder\:text-sidebar-foreground\/40::placeholder {
  color: hsl(var(--sidebar-foreground) / 0.4);
}
.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\:border-t-0:first-child {
  border-top-width: 0px;
}
.first\:pt-0:first-child {
  padding-top: 0px;
}
.first\:pt-0\.5:first-child {
  padding-top: 0.125rem;
}
.first\:pt-1:first-child {
  padding-top: 0.25rem;
}
.last\:mt-0:last-child {
  margin-top: 0px;
}
.last\:border-0:last-child {
  border-width: 0px;
}
.last\:border-b-0:last-child {
  border-bottom-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:focus-within {
  border-color: hsl(var(--border));
}
.focus-within\:border-primary:focus-within {
  border-color: hsl(var(--primary));
}
.focus-within\:border-primary\/45:focus-within {
  border-color: hsl(var(--primary) / 0.45);
}
.focus-within\:border-primary\/50:focus-within {
  border-color: hsl(var(--primary) / 0.5);
}
.focus-within\:border-primary\/60:focus-within {
  border-color: hsl(var(--primary) / 0.6);
}
.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_0_0_3px_hsl\(var\(--foreground\)\/0\.04\)\]:focus-within {
  --tw-shadow: 0 0 0 3px hsl(var(--foreground)/0.04);
  --tw-shadow-colored: 0 0 0 3px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.focus-within\:shadow-\[0_2px_8px_rgba\(15\2c 23\2c 42\2c 0\.12\)\2c 0_12px_30px_rgba\(15\2c 23\2c 42\2c 0\.1\)\]:focus-within {
  --tw-shadow: 0 2px 8px rgba(15,23,42,0.12),0 12px 30px rgba(15,23,42,0.1);
  --tw-shadow-colored: 0 2px 8px var(--tw-shadow-color), 0 12px 30px 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\:shadow-\[0_4px_24px_-8px_hsl\(var\(--primary\)\/0\.35\)\]:focus-within {
  --tw-shadow: 0 4px 24px -8px hsl(var(--primary)/0.35);
  --tw-shadow-colored: 0 4px 24px -8px 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\:shadow-md:focus-within {
  --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);
}
.focus-within\:ring-1:focus-within {
  --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-within\:ring-2:focus-within {
  --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-within\:ring-foreground\/\[0\.1\]:focus-within {
  --tw-ring-color: hsl(var(--foreground) / 0.1);
}
.focus-within\:ring-primary\/15:focus-within {
  --tw-ring-color: hsl(var(--primary) / 0.15);
}
.focus-within\:ring-primary\/20:focus-within {
  --tw-ring-color: hsl(var(--primary) / 0.2);
}
.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\:-translate-y-px:hover {
  --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));
}
.hover\:scale-105:hover {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\: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\:scale-\[1\.03\]:hover {
  --tw-scale-x: 1.03;
  --tw-scale-y: 1.03;
  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-\[hsl\(var\(--chart-11\)\/0\.4\)\]:hover {
  border-color: hsl(var(--chart-11)/0.4);
}
.hover\:border-\[hsl\(var\(--chart-3\)\/0\.4\)\]:hover {
  border-color: hsl(var(--chart-3)/0.4);
}
.hover\:border-\[hsl\(var\(--chart-4\)\/0\.4\)\]:hover {
  border-color: hsl(var(--chart-4)/0.4);
}
.hover\:border-\[hsl\(var\(--primary\)\/0\.42\)\]:hover {
  border-color: hsl(var(--primary)/0.42);
}
.hover\:border-border:hover {
  border-color: hsl(var(--border));
}
.hover\:border-border\/45:hover {
  border-color: hsl(var(--border) / 0.45);
}
.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-destructive\/40:hover {
  border-color: hsl(var(--destructive) / 0.4);
}
.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-primary:hover {
  border-color: hsl(var(--primary));
}
.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\/45:hover {
  border-color: hsl(var(--primary) / 0.45);
}
.hover\:border-primary\/50:hover {
  border-color: hsl(var(--primary) / 0.5);
}
.hover\:border-primary\/60:hover {
  border-color: hsl(var(--primary) / 0.6);
}
.hover\:border-ring:hover {
  border-color: hsl(var(--ring));
}
.hover\:border-white\/20:hover {
  border-color: rgb(255 255 255 / 0.2);
}
.hover\:\!bg-accent:hover {
  background-color: hsl(var(--accent)) !important;
}
.hover\:\!bg-background:hover {
  background-color: hsl(var(--background)) !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-\[\#262626\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(38 38 38 / 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\(217_91\%_52\%\/0\.18\)\]:hover {
  background-color: hsl(217 91% 52%/0.18);
}
.hover\:bg-\[hsl\(222_47\%_11\%\/0\.06\)\]:hover {
  background-color: hsl(222 47% 11%/0.06);
}
.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-\[hsl\(var\(--negative\)\)\]\/10:hover {
  background-color: hsl(var(--negative) / 0.1);
}
.hover\:bg-\[hsl\(var\(--primary\)\/0\.025\)\]:hover {
  background-color: hsl(var(--primary)/0.025);
}
.hover\:bg-\[hsl\(var\(--primary\)\/0\.11\)\]:hover {
  background-color: hsl(var(--primary)/0.11);
}
.hover\:bg-\[hsl\(var\(--shell-chrome-foreground\)\/0\.08\)\]:hover {
  background-color: hsl(var(--shell-chrome-foreground)/0.08);
}
.hover\:bg-\[hsl\(var\(--shell-chrome-foreground\)\/0\.12\)\]:hover {
  background-color: hsl(var(--shell-chrome-foreground)/0.12);
}
.hover\:bg-\[var\(--color-accent\)\]:hover {
  background-color: var(--color-accent);
}
.hover\:bg-accent:hover {
  background-color: hsl(var(--accent));
}
.hover\:bg-accent\/20:hover {
  background-color: hsl(var(--accent) / 0.2);
}
.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\/55:hover {
  background-color: hsl(var(--accent) / 0.55);
}
.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\/80:hover {
  background-color: hsl(var(--background) / 0.8);
}
.hover\:bg-background\/90:hover {
  background-color: hsl(var(--background) / 0.9);
}
.hover\:bg-black\/10:hover {
  background-color: rgb(0 0 0 / 0.1);
}
.hover\:bg-black\/30:hover {
  background-color: rgb(0 0 0 / 0.3);
}
.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-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\/25:hover {
  background-color: hsl(var(--primary) / 0.25);
}
.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\.04\]:hover {
  background-color: hsl(var(--primary) / 0.04);
}
.hover\:bg-primary\/\[0\.05\]:hover {
  background-color: hsl(var(--primary) / 0.05);
}
.hover\:bg-primary\/\[0\.06\]:hover {
  background-color: hsl(var(--primary) / 0.06);
}
.hover\:bg-primary\/\[0\.12\]:hover {
  background-color: hsl(var(--primary) / 0.12);
}
.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-sidebar-foreground\/10:hover {
  background-color: hsl(var(--sidebar-foreground) / 0.1);
}
.hover\:bg-sidebar-foreground\/\[0\.05\]:hover {
  background-color: hsl(var(--sidebar-foreground) / 0.05);
}
.hover\:bg-sidebar-foreground\/\[0\.06\]:hover {
  background-color: hsl(var(--sidebar-foreground) / 0.06);
}
.hover\:bg-success\/20:hover {
  background-color: hsl(var(--success) / 0.2);
}
.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-negative:hover {
  color: hsl(var(--negative)) !important;
}
.hover\:text-\[\#101329\]:hover {
  --tw-text-opacity: 1;
  color: rgb(16 19 41 / var(--tw-text-opacity, 1));
}
.hover\:text-\[hsl\(222_47\%_11\%\)\]:hover {
  --tw-text-opacity: 1;
  color: hsl(222 47% 11% / var(--tw-text-opacity, 1));
}
.hover\:text-\[hsl\(var\(--negative\)\)\]:hover {
  color: hsl(var(--negative));
}
.hover\:text-\[hsl\(var\(--shell-chrome-foreground\)\)\]:hover {
  color: hsl(var(--shell-chrome-foreground));
}
.hover\:text-\[hsl\(var\(--sidebar-rail-active-icon\)\)\]:hover {
  color: hsl(var(--sidebar-rail-active-icon));
}
.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-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-primary\/90:hover {
  color: hsl(var(--primary) / 0.9);
}
.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\/90:hover {
  color: hsl(var(--sidebar-foreground) / 0.9);
}
.hover\:text-success:hover {
  color: hsl(var(--success));
}
.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.hover\:underline:hover {
  text-decoration-line: underline;
}
.hover\:no-underline:hover {
  text-decoration-line: none;
}
.hover\:decoration-primary:hover {
  text-decoration-color: hsl(var(--primary));
}
.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-\[0_12px_30px_-12px_hsl\(var\(--primary\)\/0\.45\)\]:hover {
  --tw-shadow: 0 12px 30px -12px hsl(var(--primary)/0.45);
  --tw-shadow-colored: 0 12px 30px -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);
}
.hover\:shadow-\[0_6px_16px_-10px_hsl\(var\(--foreground\)\/0\.25\)\]:hover {
  --tw-shadow: 0 6px 16px -10px hsl(var(--foreground)/0.25);
  --tw-shadow-colored: 0 6px 16px -10px 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-\[0_8px_20px_-10px_hsl\(220_24\%_28\%\/0\.35\)\]:hover {
  --tw-shadow: 0 8px 20px -10px hsl(220 24% 28%/0.35);
  --tw-shadow-colored: 0 8px 20px -10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-lg:hover {
  --tw-shadow: 0 10px 15px 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);
}
.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-105:hover {
  --tw-brightness: brightness(1.05);
  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\:border-border:focus {
  border-color: hsl(var(--border));
}
.focus\:border-foreground\/40:focus {
  border-color: hsl(var(--foreground) / 0.4);
}
.focus\:border-primary:focus {
  border-color: hsl(var(--primary));
}
.focus\:border-primary\/60:focus {
  border-color: hsl(var(--primary) / 0.6);
}
.focus\:bg-\[hsl\(var\(--negative\)\/0\.08\)\]:focus {
  background-color: hsl(var(--negative)/0.08);
}
.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\.06\]:focus {
  background-color: hsl(var(--foreground) / 0.06);
}
.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\:shadow-\[0_0_0_3px_hsl\(var\(--foreground\)\/0\.04\)\]:focus {
  --tw-shadow: 0 0 0 3px hsl(var(--foreground)/0.04);
  --tw-shadow-colored: 0 0 0 3px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus\:ring-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-2:focus {
  --tw-ring-offset-width: 2px;
}
.focus-visible\:border-\[hsl\(var\(--brand\)\)\]:focus-visible {
  border-color: hsl(var(--brand));
}
.focus-visible\:border-border:focus-visible {
  border-color: hsl(var(--border));
}
.focus-visible\:border-border\/80:focus-visible {
  border-color: hsl(var(--border) / 0.8);
}
.focus-visible\:border-primary:focus-visible {
  border-color: hsl(var(--primary));
}
.focus-visible\:bg-background:focus-visible {
  background-color: hsl(var(--background));
}
.focus-visible\:bg-primary\/25:focus-visible {
  background-color: hsl(var(--primary) / 0.25);
}
.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-negative:focus-visible {
  --tw-ring-color: hsl(var(--negative));
}
.focus-visible\:ring-primary\/20:focus-visible {
  --tw-ring-color: hsl(var(--primary) / 0.2);
}
.focus-visible\:ring-primary\/30:focus-visible {
  --tw-ring-color: hsl(var(--primary) / 0.3);
}
.focus-visible\:ring-primary\/35:focus-visible {
  --tw-ring-color: hsl(var(--primary) / 0.35);
}
.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\/25:focus-visible {
  --tw-ring-color: hsl(var(--ring) / 0.25);
}
.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-sidebar-ring:focus-visible {
  --tw-ring-color: hsl(var(--sidebar-ring));
}
.focus-visible\:ring-sidebar-ring\/55:focus-visible {
  --tw-ring-color: hsl(var(--sidebar-ring) / 0.55);
}
.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\:scale-\[0\.98\]:active {
  --tw-scale-x: 0.98;
  --tw-scale-y: 0.98;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:bg-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-default:disabled {
  cursor: default;
}
.disabled\:cursor-not-allowed:disabled {
  cursor: not-allowed;
}
.disabled\:opacity-100:disabled {
  opacity: 1;
}
.disabled\:opacity-30:disabled {
  opacity: 0.3;
}
.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;
}
.disabled\:hover\:bg-card:hover:disabled {
  background-color: hsl(var(--card));
}
.disabled\:hover\:bg-transparent:hover:disabled {
  background-color: transparent;
}
.disabled\:hover\:text-muted-foreground:hover:disabled {
  color: hsl(var(--muted-foreground));
}
.group:focus-within .group-focus-within\:text-primary {
  color: hsl(var(--primary));
}
.group\/atbl:focus-within .group-focus-within\/atbl\:opacity-100 {
  opacity: 1;
}
.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\/rail:hover .group-hover\/rail\:flex {
  display: flex;
}
.group:hover .group-hover\:-translate-x-0\.5 {
  --tw-translate-x: -0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:-translate-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 {
  --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: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\:border-primary\/30 {
  border-color: hsl(var(--primary) / 0.3);
}
.group:hover .group-hover\:border-primary\/40 {
  border-color: hsl(var(--primary) / 0.4);
}
.group\/row:hover .group-hover\/row\:bg-muted\/30 {
  background-color: hsl(var(--muted) / 0.3);
}
.group\/row:hover .group-hover\/row\:bg-muted\/50 {
  background-color: hsl(var(--muted) / 0.5);
}
.group:hover .group-hover\:bg-\[hsl\(var\(--brand-600\)\)\] {
  background-color: hsl(var(--brand-600));
}
.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 {
  background-color: hsl(var(--primary));
}
.group:hover .group-hover\:bg-primary\/10 {
  background-color: hsl(var(--primary) / 0.1);
}
.group:hover .group-hover\:bg-primary\/50 {
  background-color: hsl(var(--primary) / 0.5);
}
.group:hover .group-hover\:bg-primary\/\[0\.12\] {
  background-color: hsl(var(--primary) / 0.12);
}
.group:hover .group-hover\:bg-white\/15 {
  background-color: rgb(255 255 255 / 0.15);
}
.group:hover .group-hover\: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);
}
.group:hover .group-hover\:to-primary {
  --tw-gradient-to: hsl(var(--primary)) var(--tw-gradient-to-position);
}
.group\/menu-item:hover .group-hover\/menu-item\:text-sidebar-foreground {
  color: hsl(var(--sidebar-foreground));
}
.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-foreground {
  color: hsl(var(--foreground));
}
.group:hover .group-hover\:text-primary {
  color: hsl(var(--primary));
}
.group:hover .group-hover\:text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:underline {
  text-decoration-line: underline;
}
.group\/atbl:hover .group-hover\/atbl\:opacity-100 {
  opacity: 1;
}
.group\/folder:hover .group-hover\/folder\:opacity-100 {
  opacity: 1;
}
.group\/layer:hover .group-hover\/layer\:opacity-100 {
  opacity: 1;
}
.group\/menu-item:hover .group-hover\/menu-item\:opacity-100 {
  opacity: 1;
}
.group\/row:hover .group-hover\/row\:opacity-100 {
  opacity: 1;
}
.group\/tab:hover .group-hover\/tab\:opacity-60 {
  opacity: 0.6;
}
.group\/toast:hover .group-hover\/toast\:opacity-100 {
  opacity: 1;
}
.group\/tpl:hover .group-hover\/tpl\:opacity-100 {
  opacity: 1;
}
.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}
.group:hover .group-hover\:opacity-70 {
  opacity: 0.7;
}
.group:hover .group-hover\:opacity-80 {
  opacity: 0.8;
}
.group:hover .group-hover\:ring-primary\/30 {
  --tw-ring-color: hsl(var(--primary) / 0.3);
}
.group:hover .group-hover\:ring-primary\/50 {
  --tw-ring-color: hsl(var(--primary) / 0.5);
}
.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.destructive .group-\[\.destructive\]\:text-error\/70 {
  color: hsl(var(--error) / 0.7);
}
.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-error:hover {
  color: hsl(var(--error));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus {
  --tw-ring-color: hsl(var(--destructive));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-error:focus {
  --tw-ring-color: hsl(var(--error));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-error:focus {
  --tw-ring-offset-color: hsl(var(--error));
}
.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-\[\>\[data-slot\=field\]\]\:w-full:has(>[data-slot=field]) {
  width: 100%;
}
.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\=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: 8px;
}
.has-\[\>\[data-slot\=field\]\]\:border:has(>[data-slot=field]) {
  border-width: 1px;
}
.has-\[\[data-variant\=inset\]\]\:bg-sidebar:has([data-variant=inset]) {
  background-color: hsl(var(--sidebar-background));
}
.group\/field:has([data-orientation=horizontal]) .group-has-\[\[data-orientation\=horizontal\]\]\/field\:text-balance {
  text-wrap: balance;
}
.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-\[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));
}
.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: 8px;
}
.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: 8px;
}
.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\/45[data-state="open"] {
  border-color: hsl(var(--border) / 0.45);
}
.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\=open\]\:border-primary\/40[data-state="open"] {
  border-color: hsl(var(--primary) / 0.4);
}
.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\.08\)\][data-highlighted] {
  background-color: hsl(var(--negative)/0.08);
}
.data-\[highlighted\]\:bg-accent[data-highlighted] {
  background-color: hsl(var(--accent));
}
.data-\[highlighted\]\:bg-foreground\/\[0\.06\][data-highlighted] {
  background-color: hsl(var(--foreground) / 0.06);
}
.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-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\=indeterminate\]\:bg-primary[data-state="indeterminate"] {
  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\=on\]\:bg-primary\/15[data-state="on"] {
  background-color: hsl(var(--primary) / 0.15);
}
.data-\[state\=open\]\:bg-accent[data-state="open"] {
  background-color: hsl(var(--accent));
}
.data-\[state\=open\]\:bg-accent\/60[data-state="open"] {
  background-color: hsl(var(--accent) / 0.6);
}
.data-\[state\=open\]\:bg-background[data-state="open"] {
  background-color: hsl(var(--background));
}
.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\.06\][data-state="open"] {
  background-color: hsl(var(--foreground) / 0.06);
}
.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-muted\/50[data-state="open"] {
  background-color: hsl(var(--muted) / 0.5);
}
.data-\[state\=open\]\:bg-primary\/10[data-state="open"] {
  background-color: hsl(var(--primary) / 0.1);
}
.data-\[state\=open\]\:bg-primary\/\[0\.12\][data-state="open"] {
  background-color: hsl(var(--primary) / 0.12);
}
.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-foreground\/20[data-state="unchecked"] {
  background-color: hsl(var(--foreground) / 0.2);
}
.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-\[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-\[state\=open\]\:font-semibold[data-state="open"] {
  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\=indeterminate\]\:text-primary-foreground[data-state="indeterminate"] {
  color: hsl(var(--primary-foreground));
}
.data-\[state\=on\]\:text-accent-foreground[data-state="on"] {
  color: hsl(var(--accent-foreground));
}
.data-\[state\=on\]\:text-primary[data-state="on"] {
  color: hsl(var(--primary));
}
.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-\[state\=open\]\:text-primary-foreground[data-state="open"] {
  color: hsl(var(--primary-foreground));
}
.data-\[state\=open\]\:text-sidebar-foreground[data-state="open"] {
  color: hsl(var(--sidebar-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-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-\[inset_0_0_0_1px_hsl\(var\(--border\)\)\][data-state="open"] {
  --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\=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\=active\]\:ring-1[data-state="active"] {
  --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-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\=active\]\:ring-primary\/20[data-state="active"] {
  --tw-ring-color: hsl(var(--primary) / 0.2);
}
.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-300[data-state="closed"] {
  transition-duration: 300ms;
}
.data-\[state\=open\]\:duration-500[data-state="open"] {
  transition-duration: 500ms;
}
.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\=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-\[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-\[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\=open\]\:fade-in-0[data-state="open"] {
  --tw-enter-opacity: 0;
}
.data-\[state\=closed\]\:zoom-out-100[data-state="closed"] {
  --tw-exit-scale: 1;
}
.data-\[state\=closed\]\:zoom-out-95[data-state="closed"] {
  --tw-exit-scale: .95;
}
.data-\[state\=open\]\:zoom-in-100[data-state="open"] {
  --tw-enter-scale: 1;
}
.data-\[state\=open\]\:zoom-in-95[data-state="open"] {
  --tw-enter-scale: .95;
}
.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-\[1\%\][data-state="closed"] {
  --tw-exit-translate-y: -1%;
}
.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-bottom-4[data-state="open"] {
  --tw-enter-translate-y: 1rem;
}
.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-\[2\%\][data-state="open"] {
  --tw-enter-translate-y: -2%;
}
.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state="open"] {
  --tw-enter-translate-y: -48%;
}
.data-\[state\=open\]\:slide-in-from-top-full[data-state="open"] {
  --tw-enter-translate-y: -100%;
}
.data-\[state\=closed\]\:duration-300[data-state="closed"] {
  animation-duration: 300ms;
}
.data-\[state\=open\]\:duration-500[data-state="open"] {
  animation-duration: 500ms;
}
.data-\[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\=on\]\:hover\:bg-primary\/90:hover[data-state="on"] {
  background-color: hsl(var(--primary) / 0.9);
}
.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));
}
.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: 10px;
}
.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[data-state="open"] .group-data-\[state\=open\]\:opacity-100 {
  opacity: 1;
}
.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));
}
@media (prefers-reduced-motion: reduce) {

  .motion-reduce\:transition-none {
    transition-property: none;
  }
}
.dark\:bg-foreground\/\[0\.07\]:is(.dark *) {
  background-color: hsl(var(--foreground) / 0.07);
}
.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-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / 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-amber-500:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / 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-red-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.dark\:hover\:bg-foreground\/\[0\.05\]:hover:is(.dark *) {
  background-color: hsl(var(--foreground) / 0.05);
}
.dark\:hover\:bg-white\/10:hover:is(.dark *) {
  background-color: rgb(255 255 255 / 0.1);
}
@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\:mt-0 {
    margin-top: 0px;
  }

  .sm\:block {
    display: block;
  }

  .sm\:inline {
    display: inline;
  }

  .sm\:flex {
    display: flex;
  }

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

  .sm\:table-cell {
    display: table-cell;
  }

  .sm\:hidden {
    display: none;
  }

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

  .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\: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-\[14px\] {
    border-radius: 14px;
  }

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

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

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

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

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

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

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

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

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

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

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

  .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\:table-cell {
    display: table-cell;
  }

  .md\:hidden {
    display: none;
  }

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

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

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

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

  .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\:truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

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

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

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

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

  .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: 12px;
  }

  .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\:sticky {
    position: sticky;
  }

  .lg\:top-4 {
    top: 1rem;
  }

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

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

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

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

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

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

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

  .lg\:inline {
    display: inline;
  }

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

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

  .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\.55fr_1fr\] {
    grid-template-columns: 1.55fr 1fr;
  }

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

  .lg\:grid-cols-\[260px_minmax\(0\2c 1fr\)\] {
    grid-template-columns: 260px 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\(0\2c 1fr\)_336px\] {
    grid-template-columns: minmax(0,1fr) 336px;
  }

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

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

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

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

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

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

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

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

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

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

  .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\: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\:overflow-hidden {
    overflow: hidden;
  }
}
@media (min-width: 1536px) {

  .\32xl\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.\[\&\:\:-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: 8px;
  border-bottom-left-radius: 8px;
}
.\[\&\: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\(\.watchlist-dock\)\]\:flex:has(.watchlist-dock) {
  display: flex;
}
.\[\&\:has\(\.watchlist-dock\)\]\:min-h-0:has(.watchlist-dock) {
  min-height: 0px;
}
.\[\&\:has\(\.watchlist-dock\)\]\:flex-col:has(.watchlist-dock) {
  flex-direction: column;
}
.\[\&\:has\(\.watchlist-dock\)\]\:overflow-hidden:has(.watchlist-dock) {
  overflow: hidden;
}
.\[\&\: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: 8px;
  border-bottom-right-radius: 8px;
}
.\[\&\:not\(\:empty\)\]\:before\:hidden:not(:empty)::before {
  content: var(--tw-content);
  display: none;
}
.\[\&\>\*\]\:min-h-0>* {
  min-height: 0px;
}
.\[\&\>\*\]\:w-full>* {
  width: 100%;
}
.\[\&\>\*\]\:min-w-0>* {
  min-width: 0px;
}
.\[\&\>\.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;
}
.\[\&\>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;
}
.\[\&\>section\:first-of-type\]\:pt-4>section:first-of-type {
  padding-top: 1rem;
}
.\[\&\>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\]\:h-4>span {
  height: 1rem;
}
.\[\&\>span\]\:w-3\.5>span {
  width: 0.875rem;
}
.\[\&\>span\]\:w-4>span {
  width: 1rem;
}
.\[\&\>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));
}
.\[\&\>span\]\:data-\[state\=checked\]\:translate-x-4[data-state="checked"]>span {
  --tw-translate-x: 1rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[state\=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\]\:size-3\.5>svg {
  width: 0.875rem;
  height: 0.875rem;
}
.\[\&\>svg\]\:size-4>svg {
  width: 1rem;
  height: 1rem;
}
.\[\&\>svg\]\:h-3>svg {
  height: 0.75rem;
}
.\[\&\>svg\]\:h-4>svg {
  height: 1rem;
}
.\[\&\>svg\]\:w-3>svg {
  width: 0.75rem;
}
.\[\&\>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-destructive>svg {
  color: hsl(var(--destructive));
}
.\[\&\>svg\]\:text-muted-foreground>svg {
  color: hsl(var(--muted-foreground));
}
.\[\&\>svg\]\:text-sidebar-accent-foreground>svg {
  color: hsl(var(--sidebar-accent-foreground));
}
.\[\&\>svg\]\:text-success>svg {
  color: hsl(var(--success));
}
.\[\&\>svg\]\:text-warning>svg {
  color: hsl(var(--warning));
}
.\[\&\>svg\]\:opacity-40>svg {
  opacity: 0.4;
}
.\[\&\>svg\]\:opacity-60>svg {
  opacity: 0.6;
}
.\[\&\>tr\]\:last\:border-b-0:last-child>tr {
  border-bottom-width: 0px;
}
.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\]\]\:px-3 [cmdk-group-heading] {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.\[\&_\[cmdk-group-heading\]\]\:px-4 [cmdk-group-heading] {
  padding-left: 1rem;
  padding-right: 1rem;
}
.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading] {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
.\[\&_\[cmdk-group-heading\]\]\:pb-1\.5 [cmdk-group-heading] {
  padding-bottom: 0.375rem;
}
.\[\&_\[cmdk-group-heading\]\]\:pt-3 [cmdk-group-heading] {
  padding-top: 0.75rem;
}
.\[\&_\[cmdk-group-heading\]\]\:text-\[10px\] [cmdk-group-heading] {
  font-size: 10px;
}
.\[\&_\[cmdk-group-heading\]\]\:text-\[11px\] [cmdk-group-heading] {
  font-size: 11px;
}
.\[\&_\[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\]\]\:font-semibold [cmdk-group-heading] {
  font-weight: 600;
}
.\[\&_\[cmdk-group-heading\]\]\:uppercase [cmdk-group-heading] {
  text-transform: uppercase;
}
.\[\&_\[cmdk-group-heading\]\]\:tracking-wider [cmdk-group-heading] {
  letter-spacing: 0.05em;
}
.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading] {
  color: hsl(var(--muted-foreground));
}
.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground\/70 [cmdk-group-heading] {
  color: hsl(var(--muted-foreground) / 0.7);
}
.\[\&_\[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-group\]\]\:px-3 [cmdk-group] {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.\[\&_\[cmdk-input-wrapper\]\]\:h-14 [cmdk-input-wrapper] {
  height: 3.5rem;
}
.\[\&_\[cmdk-input-wrapper\]\]\:border-b [cmdk-input-wrapper] {
  border-bottom-width: 1px;
}
.\[\&_\[cmdk-input-wrapper\]\]\:border-border\/50 [cmdk-input-wrapper] {
  border-color: hsl(var(--border) / 0.5);
}
.\[\&_\[cmdk-input-wrapper\]\]\:px-5 [cmdk-input-wrapper] {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.\[\&_\[cmdk-input-wrapper\]_svg\]\:size-5 [cmdk-input-wrapper] svg {
  width: 1.25rem;
  height: 1.25rem;
}
.\[\&_\[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-wrapper\]_svg\]\:opacity-45 [cmdk-input-wrapper] svg {
  opacity: 0.45;
}
.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input] {
  height: 3rem;
}
.\[\&_\[cmdk-input\]\]\:text-\[15px\] [cmdk-input] {
  font-size: 15px;
}
.\[\&_\[cmdk-input\]\]\:placeholder\:text-muted-foreground\/70 [cmdk-input]::-moz-placeholder {
  color: hsl(var(--muted-foreground) / 0.7);
}
.\[\&_\[cmdk-input\]\]\:placeholder\:text-muted-foreground\/70 [cmdk-input]::placeholder {
  color: hsl(var(--muted-foreground) / 0.7);
}
.\[\&_\[cmdk-item\]\[data-selected\=true\]\]\:bg-accent\/70 [cmdk-item][data-selected=true] {
  background-color: hsl(var(--accent) / 0.7);
}
.\[\&_\[cmdk-item\]\]\:mx-2 [cmdk-item] {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.\[\&_\[cmdk-item\]\]\:gap-3 [cmdk-item] {
  gap: 0.75rem;
}
.\[\&_\[cmdk-item\]\]\:rounded-lg [cmdk-item] {
  border-radius: 10px;
}
.\[\&_\[cmdk-item\]\]\:rounded-md [cmdk-item] {
  border-radius: 8px;
}
.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item] {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.\[\&_\[cmdk-item\]\]\:px-3 [cmdk-item] {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.\[\&_\[cmdk-item\]\]\:py-2\.5 [cmdk-item] {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}
.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item] {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.\[\&_\[cmdk-item\]\]\:text-sm [cmdk-item] {
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
}
.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg {
  height: 1.25rem;
}
.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg {
  width: 1.25rem;
}
.\[\&_\[cmdk-list\]\]\:max-h-none [cmdk-list] {
  max-height: none;
}
.\[\&_\[cmdk-list\]\]\:min-h-0 [cmdk-list] {
  min-height: 0px;
}
.\[\&_\[cmdk-list\]\]\:flex-1 [cmdk-list] {
  flex: 1 1 0%;
}
.\[\&_\[data-agent-panel\]\]\:rounded-none [data-agent-panel] {
  border-radius: 0px;
}
.\[\&_\[data-agent-panel\]\]\:bg-card [data-agent-panel] {
  background-color: hsl(var(--card));
}
.\[\&_\[data-dt-table-toolbar\]\]\:\!border-0 [data-dt-table-toolbar] {
  border-width: 0px !important;
}
.\[\&_\[data-dt-table-toolbar\]\]\:\!bg-transparent [data-dt-table-toolbar] {
  background-color: transparent !important;
}
.\[\&_\[data-dt-table-toolbar\]\]\:\!px-0 [data-dt-table-toolbar] {
  padding-left: 0px !important;
  padding-right: 0px !important;
}
.\[\&_\[data-sidebar\=content\]\]\:gap-2 [data-sidebar=content] {
  gap: 0.5rem;
}
.\[\&_\[data-sidebar\=menu\]\]\:gap-0\.5 [data-sidebar=menu] {
  gap: 0.125rem;
}
.\[\&_canvas\]\:pointer-events-none canvas {
  pointer-events: none;
}
.\[\&_mark\.cited-passage\]\:text-foreground mark.cited-passage {
  color: hsl(var(--foreground));
}
.\[\&_mark\.cited-passage\]\:ring-1 mark.cited-passage {
  --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);
}
.\[\&_mark\.cited-passage\]\:ring-primary\/50 mark.cited-passage {
  --tw-ring-color: hsl(var(--primary) / 0.5);
}
.\[\&_mark\.is-active-hit\]\:bg-amber-400 mark.is-active-hit {
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
}
.\[\&_mark\.is-active-hit\]\:text-foreground mark.is-active-hit {
  color: hsl(var(--foreground));
}
.\[\&_mark\]\:rounded-\[2px\] mark {
  border-radius: 2px;
}
.\[\&_mark\]\:bg-highlight mark {
  background-color: hsl(var(--highlight));
}
.\[\&_mark\]\:bg-primary\/20 mark {
  background-color: hsl(var(--primary) / 0.2);
}
.\[\&_mark\]\:px-0\.5 mark {
  padding-left: 0.125rem;
  padding-right: 0.125rem;
}
.\[\&_mark\]\:py-px mark {
  padding-top: 1px;
  padding-bottom: 1px;
}
.\[\&_mark\]\:text-foreground mark {
  color: hsl(var(--foreground));
}
.\[\&_mark\]\:text-highlight-foreground mark {
  color: hsl(var(--highlight-foreground));
}
.\[\&_p\]\:mb-\[1\.05em\] p {
  margin-bottom: 1.05em;
}
.\[\&_p\]\:leading-relaxed p {
  line-height: 1.625;
}
.\[\&_p\]\:last\:mb-0:last-child p {
  margin-bottom: 0px;
}
.\[\&_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\]\:relative svg {
  position: relative;
}
.\[\&_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-\[16px\] svg {
  width: 16px;
  height: 16px;
}
.\[\&_svg\]\:size-\[18px\] svg {
  width: 18px;
  height: 18px;
}
.\[\&_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-foreground svg {
  color: hsl(var(--foreground));
}
.\[\&_svg\]\:text-foreground\/55 svg {
  color: hsl(var(--foreground) / 0.55);
}
.\[\&_svg\]\:text-foreground\/80 svg {
  color: hsl(var(--foreground) / 0.8);
}
.\[\&_svg\]\:text-muted-foreground svg {
  color: hsl(var(--muted-foreground));
}
.\[\&_svg\]\:text-muted-foreground\/60 svg {
  color: hsl(var(--muted-foreground) / 0.6);
}
.\[\&_svg\]\:text-muted-foreground\/70 svg {
  color: hsl(var(--muted-foreground) / 0.7);
}
.\[\&_svg\]\:text-muted-foreground\/80 svg {
  color: hsl(var(--muted-foreground) / 0.8);
}
.\[\&_svg\]\:text-muted-foreground\/85 svg {
  color: hsl(var(--muted-foreground) / 0.85);
}
.\[\&_svg\]\:text-primary svg {
  color: hsl(var(--primary));
}
.\[\&_svg\]\:text-primary-foreground svg {
  color: hsl(var(--primary-foreground));
}
.\[\&_svg\]\:opacity-70 svg {
  opacity: 0.7;
}
.\[\&_svg\]\:opacity-80 svg {
  opacity: 0.8;
}
.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\/85 svg:focus {
  color: hsl(var(--foreground) / 0.85);
}
.data-\[highlighted\]\:\[\&_svg\]\:text-\[hsl\(var\(--negative\)\)\] svg[data-highlighted] {
  color: hsl(var(--negative));
}
.data-\[highlighted\]\:\[\&_svg\]\:text-foreground\/85 svg[data-highlighted] {
  color: hsl(var(--foreground) / 0.85);
}
.data-\[state\=open\]\:\[\&_svg\]\:text-foreground svg[data-state="open"] {
  color: hsl(var(--foreground));
}
.data-\[state\=open\]\:\[\&_svg\]\:opacity-90 svg[data-state="open"] {
  opacity: 0.9;
}
.\[\&_tr\:last-child\]\:border-0 tr:last-child {
  border-width: 0px;
}
.\[\&_tr\]\:border-b tr {
  border-bottom-width: 1px;
}
[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2 {
  right: -0.5rem;
}
[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize {
  cursor: e-resize;
}
[data-side=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-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:has(.auth-page--coreon),
html.auth-active,
html.auth-active body,
html.auth-active #root {
  height: auto !important;
  min-height: 100%;
  overflow-x: hidden !important;
  overscroll-behavior: auto;
}

@media (min-width: 768px) {
  html:has(.auth-page--coreon),
  html:has(.auth-page--coreon) body {
    height: 100dvh !important;
    min-height: 100dvh !important;
    overflow: hidden !important;
  }
}

html:has(.auth-page--coreon) body {
  overflow-y: auto !important;
}

@media (min-width: 768px) {
  html:has(.auth-page--coreon) body {
    overflow: hidden !important;
  }
}

html:has(.auth-page--coreon) #root > *,
html.auth-active.landing-active #root > * {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  height: auto !important;
  flex: none !important;
  overflow: visible !important;
}

@media (min-width: 768px) {
  html:has(.auth-page--coreon) #root > * {
    height: 100dvh !important;
    min-height: 100dvh !important;
    overflow: hidden !important;
  }
}

.auth-page__column {
  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;

  /* Scoped brand tokens. The auth page is standalone (no app shell), so we
     scope the single light palette here. Values aligned with globals.css. */
  --background: 0 0% 100%;              /* white #FFFFFF */
  --foreground: 233 44% 11%;            /* navy ink #101329 */
  --card: 0 0% 100%;
  --card-foreground: 233 44% 11%;
  --popover: 0 0% 100%;
  --popover-foreground: 233 44% 11%;
  --primary: 224 100% 58%;               /* brand blue #2962FF */
  --primary-foreground: 0 0% 100%;
  --secondary: 96 8% 96%;
  --secondary-foreground: 233 44% 11%;
  --muted: 96 8% 96%;
  --muted-foreground: 233 12% 42%;
  --accent: 224 90% 80%;
  --accent-foreground: 233 44% 11%;
  --destructive: 358 64% 48%;
  --destructive-foreground: 0 0% 100%;
  --border: 96 12% 78%;
  --input: 96 8% 96%;
  --ring: 224 100% 58%;

  color-scheme: light;
  background: #FFFFFF;
  color: #101329;
}

.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 — invert so it reads as dark ink on ice. */
  filter: invert(1);
}

.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: 480px;
  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: #101329;
}

.auth-page .auth-google-shell {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  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(0, 64, 255, 0.08), transparent 60%),
    linear-gradient(180deg, #FFFFFF 0%, #F5F6F4 50%, #D6DCD2 100%);
}

.auth-page .auth-quote-shell::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 1px;
  background: rgba(4, 8, 15, 0.06);
  z-index: 20;
}

/* ── Coreon auth (login, register, 2FA, etc.) ─────────────────────────────── */
.auth-page.auth-page--coreon.landing-page.mk-page--coreon {
  /* Electric-blue brand panel matching the landing's split band, with the
     same brand blue for buttons, focus rings and inline links. */
  --coreon-blue: 224 100% 58%;
  --coreon-blue-deep: 224 100% 58%;
  --primary: 224 100% 58%;
  --primary-foreground: 0 0% 100%;
  --font-landing: 'Satoshi', 'Geist', ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  position: relative;
  min-height: 100vh;
  min-height: 100dvh;
  height: 100dvh;
  overflow: hidden;
  /* AlphaSense-style: white canvas; a white form column (left) sits beside a
     dark-navy promo panel (right). */
  background: #ffffff !important;
  color: #101329;
  font-family: var(--font-landing);
  font-feature-settings: normal;
  -webkit-font-smoothing: antialiased;
}

@media (max-width: 767px) {
  .auth-page.auth-page--coreon.landing-page.mk-page--coreon {
    height: auto;
    overflow: visible;
  }
}

.auth-page.auth-page--coreon.landing-page.mk-page--coreon::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background: #ffffff;
}

/* chart-grid bars motif along the bottom of the blue panel (mirrors the
   landing's split band) */
.auth-page--coreon .auth-quote-shell::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 30%;
  background:
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.34) 0 1px, transparent 1px 34px),
    linear-gradient(to top, rgba(255, 255, 255, 0.10), transparent 70%);
  -webkit-mask-image: linear-gradient(to top, #000 55%, transparent);
          mask-image: linear-gradient(to top, #000 55%, transparent);
  pointer-events: none;
}

.auth-page.auth-page--coreon.landing-page.mk-page--coreon > * {
  position: relative;
  z-index: 1;
}

.auth-page--coreon {
  background: transparent;
}

.auth-page--coreon.auth-page {
  color: #101329;
}

.auth-page--coreon .auth-page__split {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 100dvh;
  height: 100%;
  width: 100%;
  overflow: hidden;
}

@media (min-width: 768px) {
  .auth-page--coreon .auth-page__split {
    flex-direction: row-reverse;
    min-height: 0;
    height: 100%;
  }
}

.auth-page--coreon .auth-page__form-header {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 1rem clamp(1.5rem, 4vw, 2.5rem) 0.25rem;
  background: #ffffff;
  box-sizing: border-box;
}

.auth-page--coreon .auth-page__form-header-inner {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  max-width: 480px;
}

.auth-page--coreon .auth-page__form-header .auth-page__home-link {
  display: inline-flex;
  align-items: center;
  font-size: 13px;
  font-weight: 500;
  color: hsl(233 44% 11% / 0.55);
  text-decoration: none;
  transition: color 0.15s ease;
  white-space: nowrap;
}

.auth-page--coreon .auth-page__form-header .auth-page__home-link:hover {
  color: #101329;
}

.auth-page--coreon .auth-form-divider {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  margin: 1.25rem 0;
  color: hsl(233 44% 11% / 0.42);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.auth-page--coreon .auth-form-divider::before,
.auth-page--coreon .auth-form-divider::after {
  content: '';
  flex: 1 1 auto;
  height: 1px;
  background: hsl(233 44% 11% / 0.1);
}

.auth-page--coreon .auth-quote-shell {
  display: none;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background: transparent;
  border-right: 1px solid hsl(0 0% 100% / 0.1);
}

@media (min-width: 768px) {
  .auth-page--coreon .auth-quote-shell {
    display: flex;
    flex: 0 0 50%;
    width: 50%;
    max-width: 50%;
    flex-direction: column;
    justify-content: center;
  }
}

.auth-page--coreon .auth-page__column--form {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background: #ffffff;
  color: #101329;
}

@media (min-width: 768px) {
  .auth-page--coreon .auth-page__column--form {
    flex: 0 0 50%;
    width: 50%;
    max-width: 50%;
    height: 100dvh;
    min-height: 100dvh;
    border-left: none;
    border-top-left-radius: 1.25rem;
    box-shadow: -1px 0 0 hsl(233 44% 11% / 0.06);
  }
}

.auth-page--coreon .auth-page__form-scroll {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.auth-page--coreon .auth-page__form-scroll::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.auth-page--coreon .auth-page__form-inner {
  margin-inline: auto;
  display: flex;
  width: 100%;
  max-width: 480px;
  flex-direction: column;
  flex-shrink: 0;
  padding: 0.5rem clamp(1.5rem, 4vw, 2.5rem) clamp(1.75rem, 3vw, 2.25rem);
  box-sizing: border-box;
}

.auth-page--coreon .mk-auth-card {
  width: 100%;
}

/* Clean grotesk form title (AlphaSense-style), scoped to the auth form heading
   so the shared `type-title` utility (used throughout the terminal app) is
   left untouched. */
.auth-page--coreon .auth-page__form-inner h1,
.auth-page--coreon .mk-auth-card h2 {
  font-family: var(--font-landing);
  font-weight: 600;
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.2;
  letter-spacing: -0.02em;
  text-transform: none;
  color: #101329;
  -webkit-font-smoothing: antialiased;
}

.auth-page--coreon .auth-page__column,
.auth-page--coreon .auth-quote-shell {
  min-height: 0 !important;
}

.auth-page--coreon .auth-quote-shell {
  height: auto;
}

@media (min-width: 768px) {
  .auth-page--coreon .auth-quote-shell {
    height: 100%;
  }
}

.auth-page--coreon .auth-quote-shell {
  background: transparent;
}

.auth-page--coreon .auth-quote-shell::before {
  display: none;
}

.auth-page--coreon .auth-quote-shell blockquote {
  color: #ffffff !important;
  font-size: clamp(1.25rem, 1.7vw, 1.625rem);
  line-height: 1.4;
}

.auth-page--coreon .auth-quote__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: clamp(2rem, 4vw, 3rem);
  padding: clamp(2rem, 4vw, 3rem) clamp(2rem, 5vw, 4rem);
}

.auth-page--coreon .auth-quote__body {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  max-width: 36rem;
}

.auth-page--coreon .auth-quote__icon {
  width: 2.5rem;
  height: 2.5rem;
  color: hsl(0 0% 100% / 0.32);
}

.auth-page--coreon .auth-quote__text {
  margin: 0;
  font-size: clamp(1.25rem, 1.7vw, 1.625rem);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -0.02em;
  color: rgba(255, 255, 255, 0.92);
}

/* Coverage stats row anchoring the panel (mirrors the landing's stats band). */
.auth-page--coreon .auth-quote__stats {
  display: flex;
  gap: clamp(1.75rem, 3vw, 3rem);
  max-width: 36rem;
  margin-top: clamp(0.5rem, 1.5vw, 1rem);
  padding-top: clamp(1.25rem, 2vw, 1.75rem);
  border-top: 1px solid hsl(0 0% 100% / 0.12);
}
.auth-page--coreon .auth-quote__stat-value {
  display: block;
  font-size: clamp(1.125rem, 1.5vw, 1.5rem);
  font-weight: 500;
  letter-spacing: -0.02em;
  color: #ffffff;
}
.auth-page--coreon .auth-quote__stat-label {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.75rem;
  line-height: 1.35;
  color: hsl(0 0% 100% / 0.5);
}

.auth-page--coreon .auth-quote__attribution {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  max-width: 36rem;
}

.auth-page--coreon .auth-quote__avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 9999px;
  border: 1px solid hsl(0 0% 100% / 0.24);
  background: linear-gradient(180deg, hsl(0 0% 100% / 0.16), hsl(0 0% 100% / 0.08));
  box-shadow:
    0 0 0 1px hsl(0 0% 100% / 0.05),
    0 6px 18px -10px hsl(228 80% 8% / 0.55);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #ffffff;
}

.auth-page--coreon .auth-quote__name {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: hsl(0 0% 100% / 0.75);
}

.auth-page--coreon .auth-quote__role-inline {
  color: hsl(0 0% 100% / 0.45);
  font-weight: 400;
}

.auth-page--coreon .auth-quote__role {
  margin: 0.125rem 0 0;
  font-size: 0.8125rem;
  line-height: 1.35;
  letter-spacing: -0.01em;
  color: hsl(0 0% 100% / 0.58);
}

.auth-page--coreon .auth-quote-shell p {
  color: hsl(0 0% 100% / 0.62) !important;
}

.auth-page--coreon .auth-quote-shell .text-primary {
  color: hsl(220 90% 88% / 0.9) !important;
}

.auth-page--coreon .auth-page__features {
  display: none;
  background: transparent;
}

@media (min-width: 768px) {
  .auth-page--coreon .auth-page__features {
    display: flex;
    flex: 0 0 50%;
    width: 50%;
    max-width: 50%;
    flex-direction: column;
    justify-content: space-between;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    padding: 2.5rem;
    border-right: 1px solid hsl(0 0% 100% / 0.1);
  }
}

.auth-page--coreon .mk-auth-card,
.auth-page--coreon .mk-auth-heading,
.auth-page--coreon .auth-google-shell {
  font-family: var(--font-landing);
}

.auth-page--coreon .auth-brand-mark {
  filter: none;
}

/* Brand wordmark in the top-left of the blue quote panel (AlphaSense pattern). */
.auth-page--coreon .auth-quote-shell { position: relative; }
.auth-page--coreon .auth-quote__brand {
  position: absolute;
  top: clamp(1.75rem, 4vw, 3rem);
  left: clamp(2rem, 5vw, 4rem);
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-family: var(--font-landing);
  font-weight: 600;
  font-size: 1.125rem;
  letter-spacing: -0.01em;
  color: #ffffff;
}
.auth-page--coreon .auth-quote__mark {
  height: 32px;
  width: 32px;
  border-radius: 7px;
  -o-object-fit: cover;
     object-fit: cover;
}
/* Match the nav lockup: pull the wordmark toward the mark to absorb the PNG's
   transparent padding. */
.auth-page--coreon .auth-quote__wordmark {
  margin-left: -6px;
  font-size: 1.25rem;
}
.auth-page--coreon .auth-quote__brand .text-muted-foreground {
  color: hsl(0 0% 100% / 0.7) !important;
}
@media (max-width: 767px) {
  .auth-page--coreon .auth-quote__brand { position: static; display: block; margin-bottom: 1.5rem; }
}

/* Crisper form fields + electric-blue focus (AlphaSense). */
.auth-page--coreon .auth-page__form-inner input {
  border-color: rgba(16, 19, 41, 0.18);
}
.auth-page--coreon .auth-page__form-inner input:focus,
.auth-page--coreon .auth-page__form-inner input:focus-visible {
  border-color: hsl(var(--primary));
  box-shadow: 0 0 0 3px hsl(var(--primary) / 0.15);
  outline: none;
}

/* ── AlphaSense-style promo panel: dark navy + blue blueprint grid + product ── */
.auth-page--coreon .auth-quote-shell {
  background: #0a0e27 !important;
  overflow: hidden;
}
.auth-page--coreon .auth-quote-shell::after { display: none; } /* drop old chart-grid motif */
.auth-promo__grid {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: 0.55;
  background-image:
    linear-gradient(rgba(41, 98, 255, 0.35) 1px, transparent 1px),
    linear-gradient(90deg, rgba(41, 98, 255, 0.35) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: radial-gradient(120% 95% at 82% 8%, #000 28%, transparent 78%);
  mask-image: radial-gradient(120% 95% at 82% 8%, #000 28%, transparent 78%);
}
.auth-promo {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 22px;
  width: 100%;
  height: 100%;
  padding: clamp(3rem, 6vw, 5rem) clamp(2rem, 4vw, 3.5rem);
  box-sizing: border-box;
}
.auth-promo__h {
  margin: 0;
  font-family: var(--font-landing);
  font-weight: 600;
  font-size: clamp(1.9rem, 2.7vw, 2.9rem);
  line-height: 1.08;
  letter-spacing: -0.025em;
  color: #ffffff;
  max-width: 15ch;
}
.auth-promo__sub {
  margin: 0;
  font-size: clamp(0.95rem, 1.05vw, 1.075rem);
  line-height: 1.5;
  color: hsl(0 0% 100% / 0.64);
  max-width: 44ch;
}
.auth-promo__shot {
  margin: 1.25rem 0 0;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid hsl(0 0% 100% / 0.12);
  box-shadow: 0 30px 70px -30px rgba(0, 0, 0, 0.7);
  max-width: 540px;
}
.auth-promo__shot img { display: block; width: 100%; height: auto; }
/* form column now sits on the left (row-reverse) — round/shadow its right edge */
@media (min-width: 768px) {
  .auth-page--coreon .auth-page__column--form {
    border-top-left-radius: 0;
    border-top-right-radius: 1.25rem;
    box-shadow: 1px 0 0 hsl(233 44% 11% / 0.06);
  }
}
/* ════════════════════════════════════════════════════════════════════════════
   landing.css — Coreon layout, Devin-style Inter typography on marketing pages
   ════════════════════════════════════════════════════════════════════════════ */

/* ── App-Scroll-Override (terminal app sets html overflow:hidden) ─────────── */
html.landing-active,
html.landing-active body,
html.landing-active #root {
  height: auto;
  min-height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: auto;
}
html.landing-active #root { display: block; }
html.landing-active:not(.auth-active) #root > * {
  height: auto !important;
  min-height: 0 !important;
  flex: none !important;
  overflow: visible !important;
  overscroll-behavior: auto !important;
}

/* ── Page Wrapper ─────────────────────────────────────────────────────────── */
.landing-page,
.mk-page {
  position: relative;
  width: 100%;
  isolation: isolate;
  --font-landing: 'Inter', ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  --font-pixel: 'Press Start 2P', ui-monospace, monospace;
  background: hsl(var(--background));
  color: hsl(var(--foreground));
  font-family: var(--font-landing);
  font-feature-settings: normal;
  font-variation-settings: 'opsz' 32;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Subtle dot grid — Coreon landing only */
.landing-page.mk-page--coreon {
  --coreon-blue: 224 72% 32%;        /* #16368c — canvas navy, same hue as accent #2962FF */
  --coreon-blue-deep: 224 80% 22%;   /* #0b2365 — deepest canvas / footer */
  --font-pixel: 'Press Start 2P', ui-monospace, monospace;
  background: hsl(var(--coreon-blue-deep));
  color: #ffffff;
}
.landing-page.mk-page--coreon::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-color: hsl(var(--coreon-blue));
  background-image: radial-gradient(circle, hsl(220 90% 88% / 0.28) 1px, transparent 1px);
  background-size: 24px 24px;
}
.landing-page.mk-page--coreon > * {
  position: relative;
  z-index: 1;
}

.mk-container {
  margin-inline: auto;
  width: 100%;
  max-width: 1240px;
  padding-inline: 1.5rem;
  box-sizing: border-box;
}
@media (min-width: 1024px) {
  .mk-container { padding-inline: 2.5rem; }
}

/* ── Display Typo — Devin-style: Inter Semi-Bold, tight tracking ──────────── */
.mk-display-h1 {
  font-weight: 600;
  font-size: clamp(40px, 7.2vw, 88px);
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: hsl(var(--foreground));
  margin: 0;
}
/* Section headlines adopt the hero's 8-bit display face. Press Start 2P has no
   internal leading and a large visual body, so sizes drop and line-height grows
   vs. the old Inter treatment to stay legible across multi-line headings. */
.mk-display-h2 {
  font-family: var(--font-pixel);
  font-weight: 400;
  font-size: clamp(20px, 2.7vw, 34px);
  line-height: 1.5;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: hsl(var(--foreground));
  margin: 0;
  -webkit-font-smoothing: none;
  -moz-osx-font-smoothing: grayscale;
}

/* Small pixel label that ties each section back to the hero wordmark. */
.mk-eyebrow {
  display: inline-block;
  font-family: var(--font-pixel);
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: hsl(var(--highlight));
  margin-bottom: 1.5rem;
  -webkit-font-smoothing: none;
  -moz-osx-font-smoothing: grayscale;
}

.mk-lede {
  margin-top: 1.25rem;
  max-width: 56ch;
  font-size: 1.0625rem;
  line-height: 1.55;
  letter-spacing: -0.02em;
  color: hsl(var(--foreground) / 0.55);
}

.mk-section {
  padding-block: clamp(72px, 11vw, 144px);
  border-top: 1px solid hsl(var(--foreground) / 0.06);
}

/* ── Button-System (Koyfin: simple 5-6px radius rectangle) ────────────────── */
.mk-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  border-radius: 6px;
  font-weight: 500;
  letter-spacing: -0.005em;
  text-decoration: none;
  cursor: pointer;
  border: 1px solid transparent;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
  white-space: nowrap;
  font-family: inherit;
}
.mk-btn--sm { height: 36px; padding: 0 18px; font-size: 0.875rem; }
.mk-btn--lg { height: 52px; padding: 0 28px; font-size: 1rem; }

/* primary = royal-blue brand button, matching the login "Sign in" CTA */
.mk-btn--primary {
  background: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
  box-shadow: 0 4px 16px -4px hsl(var(--primary) / 0.5);
}
.mk-btn--primary:hover { background: hsl(var(--primary) / 0.9); }

/* invert = CTA inside accent bands — same royal-blue brand button */
.mk-btn--invert {
  background: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
  box-shadow: 0 4px 16px -4px hsl(var(--primary) / 0.5);
}
.mk-btn--invert:hover { background: hsl(var(--primary) / 0.9); }

.mk-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

/* ── Link with arrow (Koyfin "Find out more →") ───────────────────────────── */
.mk-link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.9375rem;
  font-weight: 500;
  color: hsl(var(--foreground));
  text-decoration: none;
  margin-top: 1rem;
  position: relative;
  padding-bottom: 2px;
  border-bottom: 1px solid hsl(var(--foreground) / 0.25);
  transition: border-color 0.15s ease;
}
.mk-link-arrow::after {
  content: '→';
  font-size: 1em;
  transform: translateX(0);
  transition: transform 0.2s ease;
}
.mk-link-arrow:hover { border-color: hsl(var(--foreground)); }
.mk-link-arrow:hover::after { transform: translateX(3px); }

.mk-link-underline {
  font-size: 1rem;
  font-weight: 500;
  color: hsl(var(--foreground));
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
}

/* ════════════════════════════════════════════════════════════════════════════
   ACCESS BANNER (rare)
   ════════════════════════════════════════════════════════════════════════════ */
.mk-access-banner {
  background: rgba(245, 158, 11, 0.12);
  color: #fbbf24;
  padding: 0.75rem 0;
  text-align: center;
  font-size: 0.875rem;
  border-bottom: 1px solid rgba(245, 158, 11, 0.28);
}

/* ════════════════════════════════════════════════════════════════════════════
   TOP NAV — Logo + Nav links left · Auth buttons right
   ════════════════════════════════════════════════════════════════════════════ */
.mk-topnav {
  position: sticky;
  top: 0;
  z-index: 50;
  background: hsl(var(--background) / 0.78);
  backdrop-filter: saturate(140%) blur(10px);
  -webkit-backdrop-filter: saturate(140%) blur(10px);
}
.mk-topnav--pill {
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.mk-topnav__inner {
  margin-inline: auto;
  max-width: 1400px;
  height: 64px;
  padding: 0 1.5rem;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 1.5rem;
}
.mk-topnav--pill .mk-topnav__inner {
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.mk-topnav__left {
  display: flex;
  align-items: center;
  gap: clamp(1rem, 2.5vw, 1.75rem);
  min-width: 0;
}
@media (min-width: 1024px) { .mk-topnav__inner { padding: 0 2.5rem; } }
@media (max-width: 899px) {
  .mk-topnav--pill .mk-topnav__inner {
    display: grid;
    grid-template-columns: 1fr auto;
  }
  .mk-topnav__left {
    gap: 0;
  }
}

.mk-topnav__brand {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: -0.03em;
  color: hsl(var(--foreground));
  text-decoration: none;
}
.mk-topnav--pill .mk-topnav__brand {
  flex-shrink: 0;
  gap: 0.75rem;
}
.mk-topnav--pill .mk-topnav__wordmark {
  font-size: 1.3125rem;
  font-weight: 600;
  letter-spacing: -0.03em;
  color: hsl(var(--foreground));
}
.mk-topnav--pill .mk-topnav__wordmark .text-muted-foreground {
  color: hsl(0 0% 100% / 0.52);
}
.mk-topnav--pill .mk-topnav__mark {
  height: 44px;
  width: 44px;
  border-radius: 10px;
}
.mk-topnav--pill .product-beta-badge {
  padding: 0.125rem 0.375rem;
  font-size: 0.5625rem;
  letter-spacing: 0.1em;
  line-height: 1.1;
}

/* Beta badge — readable on Coreon blue canvas */
.landing-page.mk-page--coreon .product-beta-badge,
.auth-page--coreon .product-beta-badge {
  border-color: hsl(0 0% 100% / 0.38) !important;
  background-color: hsl(0 0% 100% / 0.16) !important;
  color: #ffffff !important;
  box-shadow:
    0 0 0 1px hsl(0 0% 100% / 0.06),
    0 1px 6px -2px hsl(224 80% 10% / 0.35);
}

/* Nav link bar — sits beside the logo */
.mk-topnav__pill-nav {
  display: none;
  align-items: center;
  gap: 0.15rem;
  padding: 0.25rem;
  border-radius: 10px;
  background: hsl(0 0% 0% / 0.92);
  border: 1px solid hsl(var(--foreground) / 0.07);
}
@media (min-width: 900px) {
  .mk-topnav__pill-nav { display: flex; }
}

.mk-topnav__pill-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.45rem 0.9rem;
  border-radius: 7px;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: hsl(var(--foreground) / 0.58);
  text-decoration: none;
  transition: color 0.15s ease, background 0.15s ease;
  white-space: nowrap;
}
.mk-topnav__pill-link:hover {
  color: hsl(var(--foreground) / 0.88);
}
.mk-topnav__pill-link--active {
  background: #ffffff;
  color: hsl(224 52% 14%);
}
.mk-topnav__pill-link--active:hover {
  color: hsl(224 52% 14%);
}

.mk-topnav__mark {
  height: 36px;
  width: 36px;
  border-radius: 9px;
  -o-object-fit: cover;
     object-fit: cover;
}

.mk-topnav__center {
  display: none;
  align-items: center;
  gap: 2.25rem;
  justify-self: center;
}
@media (min-width: 900px) { .mk-topnav__center { display: flex; } }

.mk-topnav__link {
  font-size: 0.9375rem;
  font-weight: 500;
  color: hsl(var(--foreground) / 0.62);
  text-decoration: none;
  transition: color 0.15s ease;
}
.mk-topnav__link:hover { color: hsl(var(--foreground)); }

.mk-topnav__right {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  flex-shrink: 0;
  margin-left: auto;
}
.mk-topnav__signin {
  font-size: 0.9375rem;
  font-weight: 500;
  color: hsl(var(--foreground) / 0.78);
  text-decoration: none;
  padding: 0 0.25rem;
}
.mk-topnav__signin:hover { color: hsl(var(--foreground)); }

/* Pill auth buttons (Coreon-style) */
.mk-topnav__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  padding: 0 1.2rem;
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  text-decoration: none;
  white-space: nowrap;
  border: 1px solid transparent;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.mk-topnav__btn--login {
  background: hsl(0 0% 0% / 0.92);
  color: hsl(var(--foreground) / 0.92);
  border-color: hsl(var(--foreground) / 0.07);
}
.mk-topnav__btn--login:hover {
  background: hsl(0 0% 0%);
  color: #ffffff;
}
.mk-topnav__btn--cta {
  background: #ffffff;
  color: hsl(224 52% 10%);
}
.mk-topnav__btn--cta:hover {
  background: hsl(0 0% 94%);
}
@media (max-width: 480px) {
  .mk-topnav__btn {
    height: 36px;
    padding: 0 0.9rem;
    font-size: 0.8125rem;
  }
}

/* ════════════════════════════════════════════════════════════════════════════
   HERO — centered headline, single CTA, dashboard shot below
   ════════════════════════════════════════════════════════════════════════════ */
.mk-hero {
  position: relative;
  isolation: isolate;
  padding-top: clamp(64px, 9vw, 120px);
  padding-bottom: 0;
  overflow: hidden;
}
/* Text-only hero (no product screenshot yet): needs its own bottom breathing room
   so the value props don't butt straight up against the CTA. */
.mk-hero--text {
  padding-bottom: clamp(72px, 10vw, 132px);
}
.mk-hero__inner {
  margin-inline: auto;
  max-width: 920px;
  padding-inline: 1.5rem;
  text-align: center;
}
/* Small, confident "open beta" kicker above the headline — honest status framing
   that reuses the primary-tinted Beta-badge look instead of an "under construction" sign. */
.mk-hero__kicker {
  display: inline-block;
  margin-bottom: 1.5rem;
  padding: 0.3rem 0.7rem;
  border-radius: 999px;
  border: 1px solid hsl(var(--primary) / 0.3);
  background: hsl(var(--primary) / 0.1);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: hsl(var(--primary));
}
.mk-hero__eyebrow {
  display: block;
  max-width: 52rem;
  margin-inline: auto;
  margin-bottom: 1.75rem;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  font-size: clamp(16px, 1.55vw, 19px);
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: -0.01em;
  color: hsl(var(--foreground) / 0.72);
  text-wrap: balance;
}
.mk-hero__h1 {
  font-weight: 500;
  font-size: clamp(40px, 7vw, 84px);
  line-height: 1.04;
  letter-spacing: -0.028em;
  color: hsl(var(--foreground));
  margin: 0;
  text-wrap: balance;
}
.mk-hero__h1-muted { color: hsl(var(--foreground) / 0.45); }

.mk-hero__sub {
  margin: 1.75rem auto 0;
  max-width: 36rem;
  font-size: clamp(15px, 1.4vw, 18px);
  line-height: 1.55;
  color: hsl(var(--foreground) / 0.6);
}
.mk-hero__cta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem 1.5rem;
  margin-top: 2.5rem;
}
/* Secondary "Sign in" link beside the primary CTA — for returning users. */
.mk-hero__signin {
  font-size: 0.9375rem;
  font-weight: 500;
  color: hsl(var(--foreground) / 0.7);
  text-decoration: none;
  transition: color 0.15s ease;
}
.mk-hero__signin:hover { color: hsl(var(--foreground)); }
.mk-hero__trust {
  margin: 1.5rem auto 0;
  font-size: 0.8125rem;
  color: hsl(var(--foreground) / 0.42);
}

.mk-hero__shot {
  margin-top: clamp(64px, 8vw, 112px);
  padding-inline: 1.5rem;
  padding-bottom: clamp(48px, 7vw, 88px);
}
.mk-hero__shot-frame {
  margin-inline: auto;
  max-width: 1180px;
  border-radius: 14px;
  border: 1px solid hsl(var(--foreground) / 0.12);
  overflow: hidden;
  background: #06080d;
  box-shadow:
    0 28px 80px -16px rgba(0, 0, 0, 0.75),
    0 0 0 1px hsl(var(--foreground) / 0.08),
    0 0 120px -16px hsl(var(--primary) / 0.28);
}
.mk-hero__shot-img {
  display: block;
  width: 100%;
  height: auto;
}

/* ── Coreon hero layout ───────────────────────────────────────────────────── */
.mk-hero--coreon {
  min-height: clamp(480px, 78vh, 820px);
  padding: clamp(1rem, 3vw, 2rem) 0 clamp(3rem, 8vw, 5.5rem);
  display: flex;
  flex-direction: column;
}
.mk-hero__layout {
  position: relative;
  flex: 1;
  margin-inline: auto;
  width: 100%;
  max-width: 1400px;
  padding-inline: clamp(1.5rem, 4vw, 2.5rem);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: inherit;
}
/* Decorative sweeping arc (Coreon hero) — a thin quarter-circle stroke that
   curves down from the upper-right, drawn behind the copy. */
.mk-hero__arc {
  position: absolute;
  top: clamp(-9rem, -6vw, -4rem);
  right: clamp(28%, 38vw, 46%);
  width: clamp(28rem, 46vw, 46rem);
  height: clamp(28rem, 46vw, 46rem);
  border-right: 1px solid hsl(220 90% 88% / 0.22);
  border-bottom: 1px solid hsl(220 90% 88% / 0.22);
  border-bottom-right-radius: 100%;
  pointer-events: none;
  z-index: 0;
}
/* Intro block — body copy + Learn More, anchored to the upper-left below the nav. */
.mk-hero__intro {
  position: relative;
  z-index: 1;
  max-width: 26rem;
  margin-top: clamp(2.5rem, 10vh, 7rem);
}
.mk-hero__tagline {
  position: absolute;
  top: clamp(9rem, 36vh, 22rem);
  right: clamp(1.5rem, 4vw, 2.5rem);
  margin: 0;
  max-width: 12rem;
  font-size: clamp(0.625rem, 1vw, 0.75rem);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: hsl(0 0% 100% / 0.55);
  text-align: right;
  z-index: 1;
}
.mk-hero__main {
  max-width: min(72rem, 100%);
}
.mk-hero__display {
  position: relative;
  z-index: 1;
  margin: clamp(2rem, 6vh, 4rem) 0 0;
  color: #ffffff;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.1em 0.4em;
}
.mk-hero__display-pixel {
  font-family: var(--font-pixel);
  font-weight: 400;
  font-size: clamp(2.75rem, 11vw, 9rem);
  line-height: 1.02;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #ffffff;
  -webkit-font-smoothing: none;
  -moz-osx-font-smoothing: grayscale;
}
.mk-hero__display-sans {
  font-family: var(--font-landing);
  font-weight: 500;
  font-size: clamp(1.75rem, 6.5vw, 5.5rem);
  line-height: 1;
  letter-spacing: -0.035em;
  color: #ffffff;
  margin-bottom: 0.08em;
}
.mk-hero__display-line {
  display: block;
  font-weight: 600;
  font-size: clamp(2.75rem, 6.8vw, 5.5rem);
  line-height: 1.06;
  letter-spacing: -0.035em;
  text-wrap: balance;
}
.mk-hero__display-line--muted {
  color: hsl(0 0% 100% / 0.48);
}
.mk-hero__lede {
  margin: clamp(1.25rem, 2.5vw, 1.75rem) 0 0;
  max-width: 36rem;
  font-size: clamp(0.9375rem, 1.5vw, 1.0625rem);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: -0.02em;
  color: hsl(0 0% 100% / 0.62);
}
.mk-hero__learn-more {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1.75rem;
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: #ffffff;
  text-decoration: none;
  transition: opacity 0.15s ease;
}
.mk-hero__learn-more:hover {
  opacity: 0.75;
}
.mk-hero__learn-more span {
  display: inline-block;
  transition: transform 0.2s ease;
}
.mk-hero__learn-more:hover span {
  transform: translateX(3px);
}
@media (max-width: 768px) {
  .mk-hero__arc { display: none; }
  .mk-hero__intro {
    margin-top: clamp(1.5rem, 6vh, 3rem);
  }
  .mk-hero__tagline {
    position: static;
    align-self: flex-end;
    max-width: none;
    margin: 1.5rem 0;
    text-align: right;
  }
  .mk-hero__display-pixel {
    font-size: clamp(1.4rem, 9.5vw, 3rem);
    letter-spacing: 0;
    line-height: 1.12;
  }
  .mk-hero__display-sans {
    font-size: clamp(1.2rem, 6.5vw, 2.25rem);
    margin-bottom: 0.1em;
  }
  .mk-hero__display-line {
    font-size: clamp(2.25rem, 9.5vw, 3rem);
    line-height: 1.08;
  }
}

/* ════════════════════════════════════════════════════════════════════════════
   VALUE PROPS — 3 columns, icon stack + headline + body
   ════════════════════════════════════════════════════════════════════════════ */
.mk-values__head {
  text-align: center;
  max-width: 28ch;
  margin: 0 auto clamp(48px, 7vw, 96px);
}
.mk-values__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
}
@media (min-width: 768px) {
  .mk-values__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem;
  }
}
.mk-value { text-align: left; }
/* Precise, restrained icon tile — crisp instrument, not a neon badge. */
.mk-value__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.875rem;
  height: 2.875rem;
  margin-bottom: 1.5rem;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.025));
  color: rgba(255, 255, 255, 0.88);
  box-shadow: 0 2px 8px -4px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.mk-value:hover .mk-value__icon {
  transform: translateY(-2px);
  border-color: rgba(255, 255, 255, 0.24);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.04));
  color: #ffffff;
}
.mk-value__icon svg {
  width: 1.375rem;
  height: 1.375rem;
  display: block;
  flex-shrink: 0;
}
.mk-value__title {
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.2;
  margin: 0 0 0.875rem;
  color: hsl(var(--foreground));
}
.mk-value__desc {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.55;
  letter-spacing: -0.02em;
  color: hsl(var(--foreground) / 0.55);
  max-width: 36ch;
}

/* ── Coreon page: values + footer on blue canvas ─────────────────────────── */
.landing-page.mk-page--coreon .mk-section {
  border-top-color: hsl(0 0% 100% / 0.1);
}
.landing-page.mk-page--coreon .mk-values__head {
  text-align: left;
  margin-inline: 0;
  max-width: 20ch;
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.12;
  color: #ffffff;
}
.landing-page.mk-page--coreon .mk-value {
  padding: 1.75rem;
  border-radius: 20px;
  border: 1px solid hsl(0 0% 100% / 0.1);
  background: hsl(0 0% 0% / 0.22);
  transition: border-color 0.2s ease, background 0.2s ease;
}
.landing-page.mk-page--coreon .mk-value:hover {
  border-color: hsl(0 0% 100% / 0.2);
  background: hsl(0 0% 0% / 0.32);
}
.landing-page.mk-page--coreon .mk-value__icon {
  border-radius: 12px;
  border-color: hsl(0 0% 100% / 0.14);
  background: hsl(0 0% 100% / 0.06);
}
.landing-page.mk-page--coreon .mk-value__title {
  color: #ffffff;
}
.landing-page.mk-page--coreon .mk-value__desc {
  color: hsl(0 0% 100% / 0.62);
}
.landing-page.mk-page--coreon .landing-footer {
  border-top-color: hsl(0 0% 100% / 0.1);
  background: transparent;
}
.landing-page.mk-page--coreon .landing-footer__tagline,
.landing-page.mk-page--coreon .landing-footer__link,
.landing-page.mk-page--coreon .landing-footer__copyright {
  color: hsl(0 0% 100% / 0.5);
}
.landing-page.mk-page--coreon .landing-footer__link:hover,
.landing-page.mk-page--coreon .landing-footer__logo:hover {
  color: #ffffff;
}
.landing-page.mk-page--coreon .landing-footer__heading {
  color: hsl(0 0% 100% / 0.38);
}
.landing-page.mk-page--coreon .landing-footer__bar {
  border-top-color: hsl(0 0% 100% / 0.08);
}
.landing-page.mk-page--coreon .landing-wordmark__text {
  color: hsl(0 0% 100% / 0.05);
}
.landing-page.mk-page--coreon [data-reveal].is-revealed {
  opacity: 1;
  transform: none;
}

/* Coreon: marketing subpages */
.landing-page.mk-page--coreon .mk-persona-hero__bg {
  display: none;
}
.landing-page.mk-page--coreon .mk-persona-hero__eyebrow {
  color: hsl(220 90% 88% / 0.85);
}
.landing-page.mk-page--coreon .mk-persona-hero__h1 {
  font-weight: 400;
  letter-spacing: 0.01em;
  color: #ffffff;
}
.landing-page.mk-page--coreon .mk-persona-hero__sub {
  color: hsl(0 0% 100% / 0.62);
}
.landing-page.mk-page--coreon .mk-eyebrow {
  color: hsl(220 90% 88% / 0.8);
}
/* alpha subpages adopt the new landing eyebrow: ink, Inter (not blue pixel) */
.landing-page.mk-page--alpha .mk-eyebrow,
.landing-page.mk-page--alpha .mk-persona-hero__eyebrow,
.landing-page.mk-page--alpha .mk-hero__eyebrow {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #0c0f18;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  -webkit-font-smoothing: antialiased;
}
.landing-page.mk-page--coreon .mk-display-h2,
.landing-page.mk-page--coreon .mk-lede {
  color: hsl(0 0% 100% / 0.88);
}
.landing-page.mk-page--coreon .mk-lede {
  color: hsl(0 0% 100% / 0.58);
}
.landing-page.mk-page--coreon .mk-band--light {
  background: hsl(0 0% 0% / 0.22);
  border-top: 1px solid hsl(0 0% 100% / 0.1);
  border-bottom: 1px solid hsl(0 0% 100% / 0.1);
}
.landing-page.mk-page--coreon .mk-closing__head,
.landing-page.mk-page--coreon .mk-closing__sub {
  color: #ffffff;
}
.landing-page.mk-page--coreon .mk-closing__sub {
  color: hsl(0 0% 100% / 0.62);
}
.landing-page.mk-page--coreon .mk-feat-nav {
  background: hsl(0 0% 0% / 0.35);
  border-color: hsl(0 0% 100% / 0.1);
  backdrop-filter: blur(12px);
}
.landing-page.mk-page--coreon .mk-feat-nav__tab {
  color: hsl(0 0% 100% / 0.55);
}
.landing-page.mk-page--coreon .mk-feat-nav__tab.is-active {
  color: #ffffff;
  background: hsl(0 0% 100% / 0.1);
}
.landing-page.mk-page--coreon .mk-feat-body,
.landing-page.mk-page--coreon .mk-contact,
.landing-page.mk-page--coreon .mk-mini,
.landing-page.mk-page--coreon .mk-prows,
.landing-page.mk-page--coreon .mk-stats,
.landing-page.mk-page--coreon .mk-cmp-body {
  color: #ffffff;
}
.landing-page.mk-page--coreon .mk-contact__form,
.landing-page.mk-page--coreon .mk-mini__card,
.landing-page.mk-page--coreon .mk-feat-cat {
  background: hsl(0 0% 0% / 0.22);
  border-color: hsl(0 0% 100% / 0.1);
}
.landing-page.mk-page--coreon .mk-contact__label,
.landing-page.mk-page--coreon .mk-contact__input,
.landing-page.mk-page--coreon .mk-contact__textarea {
  color: #ffffff;
}
.landing-page.mk-page--coreon .mk-contact__input,
.landing-page.mk-page--coreon .mk-contact__textarea {
  background: hsl(0 0% 0% / 0.25);
  border-color: hsl(0 0% 100% / 0.14);
}
.landing-page.mk-page--coreon .mk-btn--primary {
  border-radius: 8px;
}
.landing-page.mk-page--coreon .mk-btn--ghost {
  border-radius: 8px;
  color: #ffffff;
  border-color: hsl(0 0% 100% / 0.2);
}

/* ════════════════════════════════════════════════════════════════════════════
   BAND (accent surfaces) — subtle brand-gradient panels echoing the login quote
   column, used for visual rhythm between the flat #0a0a0e sections.
   ════════════════════════════════════════════════════════════════════════════ */
.mk-band {
  position: relative;
}
.mk-band--light {
  /* Neutral elevated slate surface — depth from value, not hue. */
  background: var(--surface-1);
  color: #ffffff;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    inset 0 -1px 0 rgba(0, 0, 0, 0.4);
}
.mk-band--light .mk-display-h2 { color: #ffffff; }
.mk-band--light .mk-eyebrow { color: hsl(var(--highlight)); }
.mk-band--light .mk-lede { color: rgba(255, 255, 255, 0.62); }
.mk-band--light .mk-link-underline { color: #ffffff; }

/* ════════════════════════════════════════════════════════════════════════════
   AI BAND
   ════════════════════════════════════════════════════════════════════════════ */
.mk-ai { padding-block: clamp(80px, 11vw, 140px); }
.mk-ai__inner {
  text-align: center;
  max-width: 760px;
}
.mk-ai__head { margin: 0 auto; text-wrap: balance; }
.mk-ai__sub {
  margin: 1.25rem auto 2.5rem;
  font-size: 1.0625rem;
  color: rgba(255, 255, 255, 0.62);
}
.mk-ai__pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}
.mk-pill {
  display: inline-flex;
  align-items: center;
  height: 44px;
  padding: 0 22px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
  color: #ffffff;
  font-size: 0.9375rem;
  font-weight: 500;
  text-decoration: none;
  transition: border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
.mk-pill:hover {
  border-color: rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.12);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.28);
}
button.mk-pill {
  cursor: pointer;
  font-family: inherit;
  line-height: 1.2;
}
.mk-ai__hint {
  margin: 1rem auto 0;
  max-width: 520px;
  font-size: 0.875rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.55);
}

/* ════════════════════════════════════════════════════════════════════════════
   USE CASES
   ════════════════════════════════════════════════════════════════════════════ */
.mk-usecases__head {
  max-width: 620px;
  margin-bottom: clamp(48px, 6vw, 80px);
}
.mk-usecases__sub {
  font-size: clamp(24px, 2.6vw, 32px);
  font-weight: 500;
  letter-spacing: -0.018em;
  color: hsl(var(--foreground));
  margin: 0 0 2.5rem;
}
.mk-usecases__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
}
@media (min-width: 768px) {
  .mk-usecases__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.75rem;
  }
}
.mk-usecase { display: flex; flex-direction: column; }
/* Neutral panel carrying the persona motif — no decorative hue, depth from value. */
.mk-usecase__photo {
  aspect-ratio: 4 / 3;
  width: 100%;
  border-radius: 10px;
  margin-bottom: 1.5rem;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(165deg, #16171c 0%, #101116 100%);
}
/* Subtle neutral tile the persona icon sits on. */
.mk-usecase__photo::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 44%;
  height: 62%;
  transform: translate(-50%, -50%);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
/* Fine grid texture over the whole frame. */
.mk-usecase__photo::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
  background-size: 24px 24px;
  opacity: 0.4;
}
/* Persona icon — the focal motif (Advisors=Users, Research=Microscope, Investors=Candles) */
.mk-usecase__glyph {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mk-usecase__glyph svg {
  width: 3.5rem;
  height: 3.5rem;
  color: rgba(255, 255, 255, 0.82);
}
.mk-usecase__title {
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: -0.015em;
  margin: 0 0 0.75rem;
  color: hsl(var(--foreground));
}
.mk-usecase__desc {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: hsl(var(--foreground) / 0.55);
}

/* visual offset (Koyfin staggers the cards) */
@media (min-width: 768px) {
  .mk-usecase--1 { margin-top: 4rem; }
  .mk-usecase--2 { margin-top: 8rem; }
}

/* ════════════════════════════════════════════════════════════════════════════
   COVERAGE TABS
   ════════════════════════════════════════════════════════════════════════════ */
.mk-coverage__head {
  max-width: 720px;
  margin-bottom: clamp(48px, 6vw, 80px);
}
.mk-coverage__tabs-wrap {
  position: relative;
  margin-bottom: 2.5rem;
}
.mk-coverage__tabs-wrap.is-scrollable-left .mk-coverage__tabs {
  padding-left: 2.25rem;
}
.mk-coverage__tabs-wrap.is-scrollable-right .mk-coverage__tabs {
  padding-right: 2.25rem;
}
.mk-coverage__scroll-btn {
  position: absolute;
  top: 0;
  bottom: 1px;
  z-index: 2;
  display: flex;
  width: 2.25rem;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  color: hsl(var(--foreground) / 0.55);
  cursor: pointer;
  transition: color 0.15s ease, opacity 0.15s ease;
}
.mk-coverage__scroll-btn:hover:not(:disabled) {
  color: hsl(var(--foreground));
}
.mk-coverage__scroll-btn:disabled {
  opacity: 0;
  pointer-events: none;
}
.mk-coverage__scroll-btn--prev {
  left: 0;
  background: linear-gradient(
    to right,
    hsl(var(--background)) 45%,
    hsl(var(--background) / 0)
  );
}
.mk-coverage__scroll-btn--next {
  right: 0;
  background: linear-gradient(
    to left,
    hsl(var(--background)) 45%,
    hsl(var(--background) / 0)
  );
}
.mk-coverage__tabs {
  display: flex;
  gap: 0.25rem;
  overflow-x: auto;
  border-bottom: 1px solid hsl(var(--foreground) / 0.08);
  margin-bottom: 0;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.mk-coverage__tabs::-webkit-scrollbar { display: none; }
.mk-coverage__tab {
  flex-shrink: 0;
  background: transparent;
  border: none;
  cursor: pointer;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 500;
  color: hsl(var(--foreground) / 0.45);
  padding: 0.75rem 1.25rem;
  margin-bottom: -1px;
  border-bottom: 2px solid transparent;
  transition: color 0.15s ease, border-color 0.15s ease;
  letter-spacing: -0.01em;
}
.mk-coverage__tab:hover { color: hsl(var(--foreground) / 0.75); }
.mk-coverage__tab.is-active {
  color: hsl(var(--foreground));
  border-bottom-color: hsl(var(--foreground));
}

.mk-coverage__panel {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: center;
}
@media (min-width: 900px) {
  .mk-coverage__panel {
    grid-template-columns: 1.4fr 1fr;
    gap: 4rem;
  }
}
.mk-coverage__shot {
  border-radius: 12px;
  overflow: hidden;
  background: #06080d;
  border: 1px solid hsl(var(--foreground) / 0.08);
  box-shadow: 0 24px 60px -20px rgba(0, 0, 0, 0.6);
}
.mk-coverage__shot-img {
  display: block;
  width: 100%;
  height: auto;
}
.mk-coverage__title {
  font-size: clamp(20px, 2.2vw, 28px);
  font-weight: 500;
  letter-spacing: -0.018em;
  margin: 0 0 1rem;
  color: hsl(var(--foreground));
  line-height: 1.25;
}
.mk-coverage__desc {
  margin: 0;
  font-size: 1rem;
  line-height: 1.6;
  color: hsl(var(--foreground) / 0.6);
}

/* ════════════════════════════════════════════════════════════════════════════
   MISSION (light band, eyebrow left / quote right Koyfin-style)
   ════════════════════════════════════════════════════════════════════════════ */
.mk-mission { padding-block: clamp(80px, 11vw, 140px); }
.mk-mission__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: start;
}
@media (min-width: 900px) {
  .mk-mission__inner {
    grid-template-columns: 160px 1fr;
    gap: 4rem;
  }
}
.mk-mission .mk-eyebrow { margin-bottom: 0; padding-top: 1.25rem; }
.mk-mission__quote {
  font-size: clamp(22px, 3vw, 40px);
  line-height: 1.45;
  letter-spacing: 0.01em;
  max-width: 26ch;
  text-wrap: balance;
}
.mk-mission__body { display: flex; flex-direction: column; gap: 2rem; align-items: flex-start; }

/* ════════════════════════════════════════════════════════════════════════════
   FEATURES — alternating
   ════════════════════════════════════════════════════════════════════════════ */
.mk-features__head {
  max-width: 720px;
  margin-bottom: clamp(64px, 8vw, 112px);
}
.mk-features__list {
  display: flex;
  flex-direction: column;
  gap: clamp(64px, 9vw, 128px);
}
.mk-feature {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: center;
}
@media (min-width: 900px) {
  .mk-feature {
    grid-template-columns: 1.25fr 1fr;
    gap: 5rem;
  }
  .mk-feature--reverse .mk-feature__shot { order: 2; }
  .mk-feature--reverse .mk-feature__copy { order: 1; }
}
.mk-feature__shot {
  border-radius: 12px;
  overflow: hidden;
  background: #06080d;
  border: 1px solid hsl(var(--foreground) / 0.08);
  box-shadow: 0 24px 60px -20px rgba(0, 0, 0, 0.6);
}
.mk-feature__img {
  display: block;
  width: 100%;
  height: auto;
}
.mk-feature__title {
  font-size: clamp(26px, 2.8vw, 36px);
  font-weight: 500;
  letter-spacing: -0.02em;
  margin: 0 0 1.25rem;
  color: hsl(var(--foreground));
  line-height: 1.18;
}
.mk-feature__lede {
  font-size: 1.0625rem;
  line-height: 1.6;
  color: hsl(var(--foreground) / 0.6);
  margin: 0 0 1.75rem;
  max-width: 40ch;
}
.mk-feature__bullets {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.mk-feature__bullets li {
  position: relative;
  padding-left: 1.5rem;
  font-size: 0.9375rem;
  color: hsl(var(--foreground) / 0.75);
}
.mk-feature__bullets li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: hsl(var(--foreground) / 0.35);
}

/* ════════════════════════════════════════════════════════════════════════════
   TESTIMONIALS
   ════════════════════════════════════════════════════════════════════════════ */
.mk-testimonials__head {
  max-width: 680px;
  margin-bottom: clamp(48px, 6vw, 80px);
}
.mk-testimonials__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.75rem;
}
@media (min-width: 768px) {
  .mk-testimonials__grid { grid-template-columns: repeat(3, 1fr); }
}
.mk-testi {
  position: relative;
  overflow: hidden;
  border: 1px solid hsl(var(--foreground) / 0.08);
  border-radius: 14px;
  padding: 2rem 1.75rem 1.75rem;
  background: hsl(var(--foreground) / 0.025);
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.mk-testi:hover {
  transform: translateY(-3px);
  border-color: hsl(var(--foreground) / 0.16);
  box-shadow: 0 18px 44px -18px rgba(0, 0, 0, 0.6);
}
.mk-testi > * { position: relative; z-index: 1; }
/* Quote mark — neutral, restrained. */
.mk-testi__mark {
  width: 1.625rem;
  height: 1.625rem;
  color: hsl(var(--foreground) / 0.4);
  margin-bottom: -0.25rem;
}
.mk-testi__text {
  margin: 0;
  font-size: 1rem;
  line-height: 1.6;
  color: hsl(var(--foreground) / 0.85);
  font-weight: 400;
}
.mk-testi__cite {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: auto;
  padding-top: 1.25rem;
  border-top: 1px solid hsl(var(--foreground) / 0.06);
}
.mk-testi__avatar {
  flex-shrink: 0;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: hsl(var(--foreground) / 0.8);
  background: hsl(var(--foreground) / 0.06);
  border: 1px solid hsl(var(--foreground) / 0.12);
}
.mk-testi__cite-text {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}
.mk-testi__name {
  font-size: 0.9375rem;
  font-weight: 500;
  color: hsl(var(--foreground));
  letter-spacing: -0.015em;
}
.mk-testi__context {
  font-size: 0.8125rem;
  color: hsl(var(--foreground) / 0.45);
}

/* ════════════════════════════════════════════════════════════════════════════
   CLOSING CTA (light band)
   ════════════════════════════════════════════════════════════════════════════ */
.mk-closing { padding-block: clamp(80px, 10vw, 128px); }
.mk-closing__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: center;
}
@media (min-width: 900px) {
  .mk-closing__inner {
    grid-template-columns: 1.4fr 1fr;
    gap: 4rem;
  }
}
.mk-closing__head {
  font-size: clamp(36px, 5vw, 64px);
  font-weight: 500;
  letter-spacing: -0.024em;
  line-height: 1.08;
  max-width: 14ch;
  text-wrap: balance;
}
.mk-closing__right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
}
@media (min-width: 900px) {
  .mk-closing__right { align-items: flex-end; }
}
.mk-closing__sub {
  margin: 0;
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.62);
  max-width: 32ch;
}
@media (min-width: 900px) {
  .mk-closing__sub { text-align: right; }
}

/* ════════════════════════════════════════════════════════════════════════════
   LANDING FOOTER (keep existing layout, applied here too)
   ════════════════════════════════════════════════════════════════════════════ */
.landing-footer {
  box-sizing: border-box;
  width: 100%;
  border-top: 1px solid hsl(var(--foreground) / 0.06);
  background: hsl(var(--background));
}
.landing-footer__inner {
  margin-inline: auto;
  width: 100%;
  max-width: 1500px;
  padding: 3.5rem 1.5rem 2.5rem;
}
@media (min-width: 1024px) {
  .landing-footer__inner { padding: 4rem 2.5rem 2.75rem; }
}
.landing-footer__main { display: grid; gap: 2.5rem 2rem; }
@media (min-width: 768px) {
  .landing-footer__main {
    grid-template-columns: minmax(0, 240px) 1fr;
    gap: 3rem 4rem;
    align-items: start;
  }
}
@media (min-width: 1024px) {
  .landing-footer__main { gap: 3rem 6rem; }
}
.landing-footer__brand {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}
.landing-footer__logo {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: hsl(var(--foreground));
  text-decoration: none;
  transition: opacity 0.15s ease;
}
.landing-footer__logo:hover { opacity: 0.85; }
.landing-footer__tagline {
  margin: 0;
  max-width: 16rem;
  font-size: 0.8125rem;
  line-height: 1.55;
  color: hsl(var(--foreground) / 0.4);
}
.landing-footer__nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem 1.5rem;
}
@media (min-width: 640px) {
  .landing-footer__nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2rem 2.5rem;
  }
}
@media (min-width: 1024px) {
  .landing-footer__nav { gap: 2rem 3.5rem; justify-items: start; }
}
.landing-footer__heading {
  margin: 0 0 1rem;
  font-family: var(--font-mono);
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: hsl(var(--foreground) / 0.38);
}
.landing-footer__links {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.landing-footer__link {
  font-size: 0.875rem;
  line-height: 1.4;
  color: hsl(var(--foreground) / 0.52);
  text-decoration: none;
  transition: color 0.15s ease;
}
.landing-footer__link:hover { color: hsl(var(--foreground)); }
.landing-footer__disclaimer {
  margin: 2.75rem 0 0;
  padding-top: 2rem;
  border-top: 1px solid hsl(var(--foreground) / 0.06);
  max-width: 52rem;
  font-size: 0.6875rem;
  line-height: 1.65;
  color: hsl(var(--foreground) / 0.28);
}
.landing-footer__bar {
  margin-top: 1.75rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.25rem;
}
@media (min-width: 640px) {
  .landing-footer__bar {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
  }
}
.landing-footer__copyright {
  margin: 0;
  font-size: 0.75rem;
  line-height: 1.5;
  color: hsl(var(--foreground) / 0.35);
}
.landing-footer__actions { display: flex; align-items: center; gap: 0.5rem; }
.landing-footer__lang {
  display: inline-flex;
  align-items: center;
  gap: 0.125rem;
  padding: 0.25rem 0.5rem;
  border-radius: 9999px;
  border: 1px solid hsl(var(--foreground) / 0.08);
  background: hsl(var(--foreground) / 0.03);
}
.landing-footer__lang-sep {
  color: hsl(var(--foreground) / 0.2);
  font-size: 0.75rem;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.landing-footer__lang-btn {
  height: auto !important;
  min-height: 0;
  padding: 0.25rem 0.375rem !important;
  font-size: 0.6875rem !important;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: hsl(var(--foreground) / 0.4) !important;
  background: transparent !important;
}
.landing-footer__lang-btn:hover { color: hsl(var(--foreground) / 0.75) !important; }
.landing-footer__lang-btn--active { color: hsl(var(--foreground)) !important; }
.landing-footer__social {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 9999px;
  border: 1px solid hsl(var(--foreground) / 0.08);
  background: hsl(var(--foreground) / 0.03);
  color: hsl(var(--foreground) / 0.45);
  transition: color 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}
.landing-footer__social:hover {
  color: hsl(var(--foreground));
  background: hsl(var(--foreground) / 0.06);
  border-color: hsl(var(--foreground) / 0.14);
}

/* ════════════════════════════════════════════════════════════════════════════
   MEGA WORDMARK (kept)
   ════════════════════════════════════════════════════════════════════════════ */
.landing-wordmark {
  position: relative;
  width: 100%;
  padding: 5rem 1rem 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.landing-wordmark__text {
  font-weight: 700;
  font-size: clamp(40px, 13.5vw, 230px);
  line-height: 1;
  letter-spacing: -0.05em;
  white-space: nowrap;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: none;
  color: hsl(var(--foreground) / 0.06);
}

/* ════════════════════════════════════════════════════════════════════════════
   SCROLL REVEAL
   ════════════════════════════════════════════════════════════════════════════ */
[data-reveal] {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity 0.72s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.72s cubic-bezier(0.22, 1, 0.36, 1);
}
[data-reveal].is-revealed {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  [data-reveal] {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* ════════════════════════════════════════════════════════════════════════════
   LANDING PAGE — DARK (matches the login / auth screens, #0a0a0e)
   The base .mk-* stylesheet was authored for a dark canvas and reads everything
   through shadcn tokens. This single token block flips the whole marketing site
   to the login palette: near-black bg, white text, brand blue (#2962FF).
   The former white accent bands (.mk-band--light) become a subtle brand-gradient
   panel (see base rule). Scoped to .landing-page so the app theme is untouched.
   ════════════════════════════════════════════════════════════════════════════ */

.landing-page {
  /* Full dark shadcn tokens — mirror auth.css but dark so hsl(var(--…)) flows dark. */
  --background: 240 14% 5%;          /* #0a0a0e — login canvas */
  --foreground: 0 0% 100%;
  --card: 240 14% 5%;
  --card-foreground: 0 0% 100%;
  --popover: 240 14% 7%;
  --popover-foreground: 0 0% 100%;
  --primary: 224 100% 58%;            /* #2962FF — brand button/fill */
  --primary-foreground: 0 0% 100%;
  --link: 224 100% 73%;              /* #7f9fff — lighter periwinkle for accent text/links */
  /* ── "Desk" palette — each colour has a job. Finance semantics + amber highlight. ── */
  --up: 146 61% 47%;                 /* #2ec16b — gains / up / "yes" */
  --down: 2 84% 62%;                 /* #f0524d — losses / down / "no" */
  --highlight: 36 64% 49%;           /* #cd8d2d — deeper bronze-gold accent (off AlphaSense neon): eyebrows, featured labels */
  --surface-1: #15171c;              /* elevated band / card */
  --surface-2: #1d2026;              /* deeper tile / nested surface */
  --secondary: 240 10% 12%;
  --secondary-foreground: 0 0% 100%;
  --muted: 240 10% 12%;
  --muted-foreground: 0 0% 65%;
  --accent: 240 10% 14%;
  --accent-foreground: 0 0% 100%;
  --destructive: 0 72% 51%;
  --destructive-foreground: 0 0% 100%;
  --border: 240 6% 16%;
  --input: 240 6% 16%;
  --ring: 224 100% 58%;
  color-scheme: dark;
  background: #0a0a0e;
  color: #ffffff;
}

/* Login / register split — light branded quote column (pre-Coreon marketing only). */
.landing-page:not(.auth-page--coreon) .auth-quote-shell,
.auth-page:not(.auth-page--coreon) .auth-quote-shell {
  background:
    radial-gradient(120% 85% at 50% -5%, rgba(161, 198, 234, 0.55), transparent 60%),
    linear-gradient(180deg, #BBD1EA 0%, #DAE3E5 50%, #E9EEF0 100%);
}

/* Hairline divider between the form column and the quote panel. */
.landing-page:not(.auth-page--coreon) .auth-quote-shell::before,
.auth-page:not(.auth-page--coreon) .auth-quote-shell::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 1px;
  background: rgba(4, 8, 15, 0.06);
  z-index: 20;
}

/* Auth forms — Geist medium (legacy .landing-page alias; canonical styles in auth.css). */
.landing-page .mk-auth-card,
.auth-page .mk-auth-card {
  font-family: var(--font-sans);
  font-feature-settings: 'ss01', 'cv11';
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.landing-page:not(.auth-page--coreon) .mk-auth-heading,
.auth-page:not(.auth-page--coreon) .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;
}

/* The marketing site is dark end-to-end (see token block above): the base .mk-*
   styles already resolve to the login palette — #0a0a0e surfaces via
   hsl(var(--background)), white text/hairlines via hsl(var(--foreground)/.x),
   royal-blue brand via hsl(var(--primary)). Accent bands, shot frames, buttons,
   topnav, footer, link-arrow, wordmark and pills need no per-rule override here;
   the former light-inversion layer was removed.

   DISCIPLINED ACCENT: blue is reserved for CTAs, links and active/featured states.
   Decorative eyebrows / step numbers are neutral muted-white so the page reads
   institutional, not blue-drenched. Real links keep the lighter periwinkle. */
.landing-page .mk-persona-hero__eyebrow,
.landing-page .mk-cmp-hero__eyebrow,
.landing-page .mk-story__eyebrow,
.landing-page .mk-prow__eyebrow,
.landing-page .mk-step__num { color: hsl(var(--highlight)); }
.landing-page .mk-contact__channel-link { color: hsl(var(--link)); }

/* ════════════════════════════════════════════════════════════════════════════
   PERSONA PAGE — Hero with thinner H1 + 2 CTAs
   ════════════════════════════════════════════════════════════════════════════ */
.mk-persona-hero {
  position: relative;
  isolation: isolate;
  padding-top: clamp(64px, 9vw, 120px);
  padding-bottom: clamp(48px, 7vw, 88px);
  overflow: hidden;
}
.mk-persona-hero__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(ellipse 60% 45% at 50% 0%, hsl(var(--primary) / 0.14) 0%, transparent 65%);
}
.mk-persona-hero__inner {
  margin-inline: auto;
  max-width: 960px;
  padding-inline: 1.5rem;
  text-align: center;
}
.mk-persona-hero__eyebrow {
  display: inline-block;
  font-family: var(--font-pixel);
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: hsl(var(--primary));
  margin-bottom: 1.5rem;
  -webkit-font-smoothing: none;
  -moz-osx-font-smoothing: grayscale;
}
.mk-persona-hero__h1 {
  font-family: var(--font-pixel);
  font-weight: 400;
  font-size: clamp(26px, 4vw, 48px);
  line-height: 1.4;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  margin: 0;
  text-wrap: balance;
  color: hsl(var(--foreground));
  -webkit-font-smoothing: none;
  -moz-osx-font-smoothing: grayscale;
}
.mk-persona-hero__sub {
  margin: 1.5rem auto 0;
  max-width: 620px;
  font-size: clamp(15px, 1.4vw, 18px);
  line-height: 1.6;
  color: hsl(var(--foreground) / 0.6);
}
.mk-persona-hero__cta-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.875rem;
  margin-top: 2.25rem;
  flex-wrap: wrap;
}
.mk-btn--ghost {
  background: transparent;
  color: hsl(var(--foreground));
  border: 1px solid hsl(var(--foreground) / 0.18);
}
.mk-btn--ghost:hover {
  background: hsl(var(--foreground) / 0.05);
  border-color: hsl(var(--foreground) / 0.32);
}

/* ════════════════════════════════════════════════════════════════════════════
   FEATURE-TAB STRIP — 5 snapshot tabs near top of persona pages
   ════════════════════════════════════════════════════════════════════════════ */
.mk-feature-tabs {
  padding-block: clamp(48px, 6vw, 80px);
  border-top: 1px solid hsl(var(--foreground) / 0.06);
}
.mk-feature-tabs__strip {
  display: flex;
  gap: 0.5rem;
  overflow-x: auto;
  margin-bottom: 2rem;
  padding-bottom: 2px;
  border-bottom: 1px solid hsl(var(--foreground) / 0.08);
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.mk-feature-tabs__strip::-webkit-scrollbar { display: none; }
.mk-feature-tabs__tab {
  flex-shrink: 0;
  background: transparent;
  border: none;
  cursor: pointer;
  font-family: inherit;
  font-size: 0.9375rem;
  font-weight: 500;
  color: hsl(var(--foreground) / 0.5);
  padding: 0.625rem 1.125rem;
  margin-bottom: -1px;
  border-bottom: 2px solid transparent;
  transition: color 0.15s ease, border-color 0.15s ease;
  letter-spacing: -0.01em;
}
.mk-feature-tabs__tab:hover { color: hsl(var(--foreground) / 0.78); }
.mk-feature-tabs__tab.is-active {
  color: hsl(var(--foreground));
  border-bottom-color: hsl(var(--foreground));
}
.mk-feature-tabs__shot {
  border-radius: 12px;
  overflow: hidden;
  background: #06080d;
  border: 1px solid hsl(var(--foreground) / 0.08);
  box-shadow: 0 24px 60px -20px rgba(0, 0, 0, 0.6);
}
.mk-feature-tabs__shot img {
  display: block;
  width: 100%;
  height: auto;
}

/* ════════════════════════════════════════════════════════════════════════════
   MINI 3-COL GRID — "Everything in one place" inside persona page
   ════════════════════════════════════════════════════════════════════════════ */
.mk-mini {
  padding-block: clamp(72px, 9vw, 112px);
  border-top: 1px solid hsl(var(--foreground) / 0.06);
}
.mk-mini__head {
  max-width: 720px;
  margin-bottom: clamp(40px, 5vw, 64px);
}
.mk-mini__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media (min-width: 768px) {
  .mk-mini__grid { grid-template-columns: repeat(3, 1fr); gap: 2rem; }
}
.mk-mini__card {
  padding: 1.5rem 0;
  border-top: 1px solid hsl(var(--foreground) / 0.1);
}
.mk-mini__card h3 {
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: -0.015em;
  margin: 0 0 0.75rem;
  color: hsl(var(--foreground));
}
.mk-mini__card p {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: hsl(var(--foreground) / 0.55);
}

/* ════════════════════════════════════════════════════════════════════════════
   DARK TESTIMONIAL — full-bleed darker band with quote + cite
   ════════════════════════════════════════════════════════════════════════════ */
.mk-dark-testi {
  padding-block: clamp(80px, 11vw, 140px);
  border-top: 1px solid hsl(var(--foreground) / 0.06);
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.18) 0%, transparent 100%);
}
.mk-dark-testi__inner {
  max-width: 920px;
  margin: 0 auto;
  text-align: center;
}
.mk-dark-testi__quote {
  font-size: clamp(24px, 3vw, 38px);
  line-height: 1.32;
  letter-spacing: -0.02em;
  font-weight: 500;
  color: hsl(var(--foreground) / 0.92);
  margin: 0;
  text-wrap: balance;
}
.mk-dark-testi__cite {
  margin-top: 2rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  align-items: center;
}
.mk-dark-testi__name {
  font-size: 0.9375rem;
  font-weight: 500;
  color: hsl(var(--foreground));
}
.mk-dark-testi__role {
  font-size: 0.8125rem;
  color: hsl(var(--foreground) / 0.5);
}

/* ════════════════════════════════════════════════════════════════════════════
   PERSONA FEATURE ROWS — alternating, denser than landing's feature list
   ════════════════════════════════════════════════════════════════════════════ */
.mk-prows {
  padding-block: clamp(64px, 9vw, 128px);
  border-top: 1px solid hsl(var(--foreground) / 0.06);
}
.mk-prows__head {
  max-width: 720px;
  margin-bottom: clamp(48px, 6vw, 80px);
}
.mk-prows__list {
  display: flex;
  flex-direction: column;
  gap: clamp(48px, 7vw, 96px);
}
.mk-prow {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: center;
}
@media (min-width: 900px) {
  .mk-prow {
    grid-template-columns: 1.2fr 1fr;
    gap: 4.5rem;
  }
  .mk-prow--reverse .mk-prow__shot { order: 2; }
  .mk-prow--reverse .mk-prow__copy { order: 1; }
}
.mk-prow__shot {
  border-radius: 12px;
  overflow: hidden;
  background: #06080d;
  border: 1px solid hsl(var(--foreground) / 0.08);
  box-shadow: 0 20px 48px -16px rgba(0, 0, 0, 0.55);
}
.mk-prow__shot img {
  display: block;
  width: 100%;
  height: auto;
}
.mk-prow__eyebrow {
  display: inline-block;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: hsl(var(--primary) / 0.85);
  margin-bottom: 0.875rem;
}
.mk-prow__title {
  font-size: clamp(22px, 2.5vw, 32px);
  font-weight: 500;
  letter-spacing: -0.02em;
  margin: 0 0 1rem;
  line-height: 1.18;
  color: hsl(var(--foreground));
}
.mk-prow__desc {
  margin: 0;
  font-size: 1rem;
  line-height: 1.6;
  color: hsl(var(--foreground) / 0.6);
  max-width: 44ch;
}

/* ════════════════════════════════════════════════════════════════════════════
   STATS BAND — "Simple by design. Powerful by necessity."
   ════════════════════════════════════════════════════════════════════════════ */
.mk-stats {
  padding-block: clamp(80px, 10vw, 128px);
  border-top: 1px solid hsl(var(--foreground) / 0.06);
}
.mk-stats__head {
  max-width: 760px;
  margin-bottom: clamp(48px, 6vw, 72px);
}
.mk-stats__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem 1.5rem;
}
@media (min-width: 768px) {
  .mk-stats__grid { grid-template-columns: repeat(4, 1fr); gap: 2rem; }
}
.mk-stat {
  border-top: 1px solid hsl(var(--foreground) / 0.12);
  padding-top: 1.25rem;
}
.mk-stat__value {
  font-family: var(--font-mono);
  font-size: clamp(28px, 3.4vw, 42px);
  font-weight: 500;
  letter-spacing: -0.025em;
  color: hsl(var(--foreground));
  line-height: 1;
}
.mk-stat__label {
  margin-top: 0.625rem;
  font-size: 0.8125rem;
  color: hsl(var(--foreground) / 0.5);
  line-height: 1.4;
}

/* ════════════════════════════════════════════════════════════════════════════
   PLANS COMPARISON — sticky header, grouped feature matrix
   ════════════════════════════════════════════════════════════════════════════ */
.mk-cmp-hero {
  padding-block: clamp(64px, 8vw, 96px);
  text-align: center;
}
.mk-cmp-hero__inner {
  max-width: 720px;
  margin: 0 auto;
  padding-inline: 1.5rem;
}
.mk-cmp-hero__eyebrow {
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 500;
  color: hsl(var(--primary));
  margin-bottom: 1rem;
}
.mk-cmp-hero__h1 {
  font-weight: 500;
  font-size: clamp(36px, 5vw, 60px);
  line-height: 1.06;
  letter-spacing: -0.025em;
  margin: 0;
  color: hsl(var(--foreground));
}
.mk-cmp-hero__sub {
  margin: 1.25rem auto 2rem;
  max-width: 520px;
  font-size: 1.0625rem;
  line-height: 1.55;
  color: hsl(var(--foreground) / 0.58);
}

.mk-cmp-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.3rem;
  border-radius: 999px;
  border: 1px solid hsl(var(--foreground) / 0.12);
  background: hsl(var(--foreground) / 0.03);
}
.mk-cmp-toggle__opt {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  height: 34px;
  padding: 0 1rem;
  border-radius: 999px;
  border: none;
  background: transparent;
  color: hsl(var(--foreground) / 0.6);
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.mk-cmp-toggle__opt:hover { color: hsl(var(--foreground) / 0.85); }
.mk-cmp-toggle__opt.is-active {
  background: hsl(var(--foreground));
  color: hsl(var(--background));
}
.mk-cmp-toggle__save {
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: hsl(var(--primary));
  background: hsl(var(--primary) / 0.16);
  padding: 0.15rem 0.4rem;
  border-radius: 999px;
}
.mk-cmp-toggle__opt.is-active .mk-cmp-toggle__save {
  background: hsl(var(--background));
  color: hsl(var(--foreground));
}

.mk-cmp {
  padding-bottom: clamp(64px, 8vw, 112px);
}
.mk-cmp__shell {
  border: 1px solid hsl(var(--foreground) / 0.08);
  border-radius: 14px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.025) 0%, transparent 60%),
    hsl(var(--background));
}
/* sticky tier header */
.mk-cmp__head {
  position: sticky;
  top: 64px;
  z-index: 5;
  display: grid;
  grid-template-columns: minmax(180px, 1.5fr) repeat(3, minmax(140px, 1fr));
  background: hsl(var(--background) / 0.92);
  backdrop-filter: saturate(140%) blur(10px);
  -webkit-backdrop-filter: saturate(140%) blur(10px);
  border-bottom: 1px solid hsl(var(--foreground) / 0.12);
}
@media (min-width: 768px) {
  .mk-cmp__head {
    grid-template-columns: minmax(260px, 1.6fr) repeat(3, minmax(180px, 1fr));
  }
}
.mk-cmp__head-cell {
  padding: 1.5rem 1.25rem 1.25rem;
  border-left: 1px solid hsl(var(--foreground) / 0.06);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: center;
  text-align: center;
}
.mk-cmp__head-cell--label { border-left: none; }
.mk-cmp__head-cell.is-featured {
  background: hsl(var(--primary) / 0.06);
  box-shadow: inset 0 -2px 0 hsl(var(--primary) / 0.5);
}
.mk-cmp__plan-name {
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: hsl(var(--foreground) / 0.55);
}
.mk-cmp__plan-price {
  display: flex;
  align-items: baseline;
  gap: 0.25rem;
  margin-top: 0.25rem;
}
.mk-cmp__price-val {
  font-family: var(--font-mono);
  font-size: 1.75rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: hsl(var(--foreground));
  line-height: 1;
}
.mk-cmp__price-cadence {
  font-size: 0.75rem;
  color: hsl(var(--foreground) / 0.45);
}
.mk-cmp__plan-desc {
  margin: 0;
  font-size: 0.75rem;
  line-height: 1.4;
  color: hsl(var(--foreground) / 0.5);
  min-height: 2.5em;
}
.mk-cmp__plan-cta {
  margin-top: 0.75rem;
  align-self: stretch;
}

/* groups & rows */
.mk-cmp__group {
  border-top: 1px solid hsl(var(--foreground) / 0.06);
}
.mk-cmp__group:first-of-type { border-top: none; }
.mk-cmp__group-head {
  padding: 1.25rem 1.25rem 0.875rem;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: hsl(var(--foreground) / 0.5);
  background: hsl(var(--foreground) / 0.03);
  border-bottom: 1px solid hsl(var(--foreground) / 0.06);
}
.mk-cmp__row {
  display: grid;
  grid-template-columns: minmax(180px, 1.5fr) repeat(3, minmax(140px, 1fr));
  align-items: center;
  border-bottom: 1px solid hsl(var(--foreground) / 0.04);
}
@media (min-width: 768px) {
  .mk-cmp__row {
    grid-template-columns: minmax(260px, 1.6fr) repeat(3, minmax(180px, 1fr));
  }
}
.mk-cmp__row:last-child { border-bottom: none; }
.mk-cmp__row:hover { background: hsl(var(--foreground) / 0.015); }
.mk-cmp__row-label {
  padding: 0.875rem 1.25rem;
  font-size: 0.875rem;
  color: hsl(var(--foreground) / 0.78);
  line-height: 1.4;
}
.mk-cmp__row-cell {
  padding: 0.875rem 1.25rem;
  text-align: center;
  border-left: 1px solid hsl(var(--foreground) / 0.04);
  font-size: 0.875rem;
  color: hsl(var(--foreground) / 0.75);
  font-family: var(--font-mono);
}
.mk-cmp__row-cell.is-featured {
  background: hsl(var(--primary) / 0.04);
  box-shadow: inset 1px 0 0 hsl(var(--primary) / 0.12), inset -1px 0 0 hsl(var(--primary) / 0.12);
}
.mk-cmp-cell {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.mk-cmp-cell--yes {
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 999px;
  background: hsl(var(--primary) / 0.16);
  color: hsl(var(--primary));
}
.mk-cmp-cell--no { color: hsl(var(--foreground) / 0.2); }
.mk-cmp-cell--partial { color: hsl(var(--foreground) / 0.45); }
.mk-cmp-cell--text { font-variant-numeric: tabular-nums; }

.mk-cmp__footnote {
  margin: 1.5rem auto 0;
  max-width: 720px;
  text-align: center;
  font-size: 0.75rem;
  color: hsl(var(--foreground) / 0.4);
}

/* ════════════════════════════════════════════════════════════════════════════
   STUDENTS PAGE
   ════════════════════════════════════════════════════════════════════════════ */
.mk-students__trust {
  margin: 1.5rem auto 0;
  font-size: 0.8125rem;
  color: hsl(var(--foreground) / 0.42);
}
.mk-students-grid__head {
  max-width: 720px;
  margin-bottom: clamp(48px, 6vw, 72px);
}
.mk-students-grid__cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 768px) {
  .mk-students-grid__cards { grid-template-columns: repeat(3, 1fr); gap: 1.75rem; }
}
.mk-students-card {
  border: 1px solid hsl(var(--foreground) / 0.08);
  border-radius: 14px;
  padding: 1.75rem;
  background: hsl(var(--foreground) / 0.02);
}
.mk-students-card__title {
  margin: 0 0 1.25rem;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: -0.015em;
  color: hsl(var(--foreground));
}
.mk-students-card__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.mk-students-card__list li {
  position: relative;
  padding-left: 1.5rem;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: hsl(var(--foreground) / 0.75);
}
.mk-students-card__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: hsl(var(--primary));
}

/* Steps */
.mk-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 768px) {
  .mk-steps { grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
}
.mk-step {
  border-top: 1px solid hsl(var(--foreground) / 0.1);
  padding-top: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.mk-step__num {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: hsl(var(--primary));
}
.mk-step__icon {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: hsl(var(--primary) / 0.12);
  color: hsl(var(--primary));
}
.mk-step__title {
  margin: 0;
  font-size: 1.0625rem;
  font-weight: 500;
  letter-spacing: -0.015em;
  color: hsl(var(--foreground));
}
.mk-step__desc {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: hsl(var(--foreground) / 0.6);
}

/* Perks (light band) */
.mk-students-perks { padding-block: clamp(80px, 10vw, 128px); }
.mk-students-perks__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.875rem;
}
@media (min-width: 640px) { .mk-students-perks__list { grid-template-columns: repeat(2, 1fr); } }
.mk-students-perks__item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.875rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 0.9375rem;
  color: rgba(255, 255, 255, 0.78);
}
.mk-students-perks__item::before {
  content: '✓';
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: hsl(var(--primary) / 0.16);
  color: hsl(var(--link));
  font-size: 12px;
  font-weight: 600;
}

/* Students FAQ */
.mk-students-faq__inner { max-width: 880px; }
.mk-faq-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.mk-faq-item {
  border: 1px solid hsl(var(--foreground) / 0.08);
  border-radius: 12px;
  background: hsl(var(--foreground) / 0.02);
  overflow: hidden;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.mk-faq-item.is-open {
  border-color: hsl(var(--primary) / 0.32);
  background: hsl(var(--primary) / 0.04);
}
.mk-faq-item__trigger {
  display: flex;
  align-items: center;
  gap: 1rem;
  width: 100%;
  padding: 1rem 1.25rem;
  background: transparent;
  border: none;
  cursor: pointer;
  font-family: inherit;
  text-align: left;
  color: hsl(var(--foreground));
}
.mk-faq-item__index {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.1em;
  color: hsl(var(--foreground) / 0.4);
  flex-shrink: 0;
}
.mk-faq-item__q {
  flex: 1;
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: -0.01em;
}
.mk-faq-item__chev {
  flex-shrink: 0;
  font-size: 1.25rem;
  color: hsl(var(--foreground) / 0.45);
  width: 1.5rem;
  text-align: center;
  line-height: 1;
}
.mk-faq-item__a {
  padding: 0 1.25rem 1.25rem calc(1.25rem + 0.6875rem + 1rem);
  font-size: 0.9375rem;
  line-height: 1.6;
  color: hsl(var(--foreground) / 0.62);
}

/* ════════════════════════════════════════════════════════════════════════════
   ABOUT US PAGE
   ════════════════════════════════════════════════════════════════════════════ */
.mk-about-story__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  max-width: 880px;
}
@media (min-width: 768px) {
  .mk-about-story__grid { grid-template-columns: repeat(2, 1fr); gap: 2rem 3rem; }
}
.mk-about-story__p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.7;
  color: hsl(var(--foreground) / 0.72);
}
.mk-about-values__desc {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.6;
  color: hsl(var(--foreground) / 0.6);
}

/* Team */
.mk-team__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.75rem 1rem;
}
@media (min-width: 768px) { .mk-team__grid { grid-template-columns: repeat(4, 1fr); gap: 2rem; } }
.mk-team__member {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}
.mk-team__photo {
  aspect-ratio: 4 / 5;
  width: 100%;
  border-radius: 12px;
  position: relative;
  overflow: hidden;
}
.mk-team__photo::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
  background-size: 22px 22px;
  opacity: 0.5;
}
.mk-team__name {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: -0.015em;
  color: hsl(var(--foreground));
}
.mk-team__role {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: hsl(var(--foreground) / 0.5);
}

/* ════════════════════════════════════════════════════════════════════════════
   CUSTOMER STORIES PAGE
   ════════════════════════════════════════════════════════════════════════════ */
.mk-stories__list {
  display: flex;
  flex-direction: column;
  gap: clamp(48px, 6vw, 80px);
}
.mk-story {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: center;
  border: 1px solid hsl(var(--foreground) / 0.08);
  border-radius: 18px;
  padding: 2rem;
  background: hsl(var(--foreground) / 0.02);
}
@media (min-width: 900px) {
  .mk-story {
    grid-template-columns: minmax(300px, 0.7fr) 1fr;
    gap: 3rem;
    padding: 2.5rem;
  }
}
.mk-story:nth-child(even) {
  /* alternate orientation for visual rhythm */
}
@media (min-width: 900px) {
  .mk-story:nth-child(even) .mk-story__photo { order: 2; }
  .mk-story:nth-child(even) .mk-story__body { order: 1; }
}
.mk-story__photo {
  aspect-ratio: 4 / 5;
  width: 100%;
  border-radius: 12px;
  position: relative;
  overflow: hidden;
  max-height: 400px;
}
.mk-story__photo::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
  background-size: 22px 22px;
  opacity: 0.6;
}
.mk-story__body {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.mk-story__eyebrow {
  display: inline-block;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: hsl(var(--primary));
  margin: 0;
}
.mk-story__quote {
  margin: 0;
  font-size: clamp(18px, 1.7vw, 22px);
  line-height: 1.5;
  letter-spacing: -0.015em;
  color: hsl(var(--foreground) / 0.88);
  font-weight: 400;
}
.mk-story__cite {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid hsl(var(--foreground) / 0.08);
}
.mk-story__name {
  font-size: 0.9375rem;
  font-weight: 500;
  color: hsl(var(--foreground));
}
.mk-story__role {
  font-size: 0.8125rem;
  color: hsl(var(--foreground) / 0.5);
}
.mk-story__metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  padding: 1rem 0;
  border-top: 1px solid hsl(var(--foreground) / 0.08);
  border-bottom: 1px solid hsl(var(--foreground) / 0.08);
}
.mk-story__metric-value {
  font-family: var(--font-mono);
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 500;
  letter-spacing: -0.02em;
  color: hsl(var(--foreground));
  line-height: 1;
}
.mk-story__metric-label {
  margin-top: 0.375rem;
  font-size: 0.75rem;
  color: hsl(var(--foreground) / 0.5);
  line-height: 1.35;
}

/* ════════════════════════════════════════════════════════════════════════════
   CONTACT PAGE
   ════════════════════════════════════════════════════════════════════════════ */
.mk-contact__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
}
@media (min-width: 900px) {
  .mk-contact__grid { grid-template-columns: 1.4fr 1fr; gap: 4rem; align-items: start; }
}
.mk-contact__form {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.mk-contact__row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
@media (min-width: 640px) {
  .mk-contact__row { grid-template-columns: 1fr 1fr; }
}
.mk-contact__field {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.mk-contact__label {
  font-size: 0.8125rem;
  font-weight: 500;
  color: hsl(var(--foreground) / 0.62);
  letter-spacing: -0.005em;
}
.mk-contact__input {
  width: 100%;
  padding: 0.75rem 0.875rem;
  font-family: inherit;
  font-size: 0.9375rem;
  line-height: 1.4;
  background: hsl(var(--foreground) / 0.03);
  border: 1px solid hsl(var(--foreground) / 0.12);
  border-radius: 8px;
  color: hsl(var(--foreground));
  outline: none;
  box-sizing: border-box;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.mk-contact__input::-moz-placeholder { color: hsl(var(--foreground) / 0.3); }
.mk-contact__input::placeholder { color: hsl(var(--foreground) / 0.3); }
.mk-contact__input:focus {
  border-color: hsl(var(--primary));
  background: hsl(var(--foreground) / 0.05);
}
.mk-contact__input--area {
  resize: vertical;
  min-height: 140px;
}
.mk-contact__submit {
  align-self: flex-start;
  margin-top: 0.5rem;
  min-width: 200px;
}
.mk-contact__error {
  font-size: 0.875rem;
  color: #f87171;
  background: rgba(239, 68, 68, 0.08);
  border: 1px solid rgba(239, 68, 68, 0.25);
  border-radius: 8px;
  padding: 0.75rem 0.875rem;
}
.mk-contact__success {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  padding: 2rem 0;
  color: hsl(var(--foreground));
}
.mk-contact__success h2 {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: -0.018em;
}
.mk-contact__success p {
  margin: 0;
  font-size: 1rem;
  color: hsl(var(--foreground) / 0.65);
  line-height: 1.5;
}

/* Right info column */
.mk-contact__info {
  position: relative;
  padding: 2rem;
  border: 1px solid hsl(var(--foreground) / 0.08);
  border-radius: 14px;
  background: hsl(var(--foreground) / 0.02);
}
@media (min-width: 900px) {
  .mk-contact__info { padding: 2.25rem; }
}
.mk-contact__info-title {
  margin: 0 0 0.5rem;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: -0.018em;
  color: hsl(var(--foreground));
}
.mk-contact__info-sub {
  margin: 0 0 1.75rem;
  font-size: 0.9375rem;
  color: hsl(var(--foreground) / 0.55);
  line-height: 1.5;
}
.mk-contact__channels {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.mk-contact__channel {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  padding-top: 1.25rem;
  border-top: 1px solid hsl(var(--foreground) / 0.06);
}
.mk-contact__channel:first-child {
  padding-top: 0;
  border-top: none;
}
.mk-contact__channel-icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9px;
  background: hsl(var(--foreground) / 0.06);
  color: hsl(var(--foreground) / 0.8);
}
.mk-contact__channel-body {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.mk-contact__channel-title {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: -0.015em;
  color: hsl(var(--foreground));
}
.mk-contact__channel-desc {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: hsl(var(--foreground) / 0.55);
}
.mk-contact__channel-link {
  display: inline-block;
  margin-top: 0.25rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: hsl(var(--primary));
  text-decoration: none;
}
.mk-contact__channel-link:hover { text-decoration: underline; }
.mk-contact__response {
  margin: 1.75rem 0 0;
  padding-top: 1.25rem;
  border-top: 1px solid hsl(var(--foreground) / 0.06);
  font-size: 0.75rem;
  color: hsl(var(--foreground) / 0.42);
  line-height: 1.5;
}

/* ════════════════════════════════════════════════════════════════════════════
   PRICING PAGE (Koyfin-style)
   ════════════════════════════════════════════════════════════════════════════ */
.mk-pricing__toggle {
  margin-top: 2.25rem;
}
.mk-pricing-tiers {
  padding-block: clamp(48px, 7vw, 96px);
}
.mk-pricing-tiers__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
@media (min-width: 900px) {
  .mk-pricing-tiers__grid { grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
}
.mk-tier {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 2.25rem 2rem 2rem;
  border: 1px solid hsl(var(--foreground) / 0.1);
  border-radius: 16px;
  background: hsl(var(--foreground) / 0.02);
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.mk-tier:hover {
  border-color: hsl(var(--foreground) / 0.18);
  transform: translateY(-2px);
}
.mk-tier--featured {
  border-color: hsl(var(--primary) / 0.5);
  background:
    linear-gradient(180deg, hsl(var(--primary) / 0.05) 0%, transparent 60%),
    hsl(var(--foreground) / 0.02);
  box-shadow:
    0 0 0 1px hsl(var(--primary) / 0.18),
    0 24px 60px -20px hsl(var(--primary) / 0.2);
}
.mk-tier__badge {
  position: absolute;
  top: -0.7rem;
  left: 50%;
  transform: translateX(-50%);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: hsl(var(--background));
  background: hsl(var(--primary));
  padding: 0.375rem 0.875rem;
  border-radius: 999px;
}
.mk-tier__name {
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: hsl(var(--foreground) / 0.55);
}
.mk-tier__price {
  display: flex;
  align-items: baseline;
  gap: 0.375rem;
  margin-top: 0.875rem;
}
.mk-tier__price-val {
  font-family: var(--font-mono);
  font-size: 2.75rem;
  font-weight: 500;
  letter-spacing: -0.025em;
  color: hsl(var(--foreground));
  line-height: 1;
}
.mk-tier__price-cadence {
  font-size: 0.875rem;
  color: hsl(var(--foreground) / 0.5);
}
.mk-tier__cadence-note {
  margin: 0.5rem 0 0;
  font-size: 0.75rem;
  color: hsl(var(--foreground) / 0.45);
}
.mk-tier__desc {
  margin: 1rem 0 1.75rem;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: hsl(var(--foreground) / 0.65);
  min-height: 2.8em;
}
.mk-tier__cta {
  width: 100%;
}
.mk-tier__features {
  list-style: none;
  margin: 2rem 0 0;
  padding: 1.75rem 0 0;
  border-top: 1px solid hsl(var(--foreground) / 0.08);
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.mk-tier__feat {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: hsl(var(--foreground) / 0.78);
}
.mk-tier__feat-icon {
  flex-shrink: 0;
  margin-top: 0.18em;
  color: hsl(var(--primary));
}
.mk-tier--featured .mk-tier__feat-icon { color: hsl(var(--primary)); }
.mk-tier__feat--missing {
  color: hsl(var(--foreground) / 0.32);
  text-decoration: line-through;
  text-decoration-color: hsl(var(--foreground) / 0.2);
}
.mk-tier__feat--missing .mk-tier__feat-icon { color: hsl(var(--foreground) / 0.28); }

.mk-pricing__compare-link {
  margin-top: 2.5rem;
  text-align: center;
}

/* Pricing student callout band */
.mk-pricing-students {
  padding-block: clamp(64px, 8vw, 96px);
}
.mk-pricing-students__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: center;
}
@media (min-width: 900px) {
  .mk-pricing-students__inner {
    grid-template-columns: 1fr auto;
    gap: 3rem;
  }
}
.mk-pricing-students__head {
  margin: 0.5rem 0 0.625rem;
  font-size: clamp(28px, 3.4vw, 42px);
}
.mk-pricing-students__sub {
  margin: 0;
  font-size: 1rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.62);
  max-width: 44ch;
}

/* ════════════════════════════════════════════════════════════════════════════
   FEATURES PAGE
   ════════════════════════════════════════════════════════════════════════════ */
.mk-feat-nav {
  position: sticky;
  top: 64px;
  z-index: 30;
  background: hsl(var(--background) / 0.9);
  backdrop-filter: saturate(140%) blur(10px);
  -webkit-backdrop-filter: saturate(140%) blur(10px);
  border-bottom: 1px solid hsl(var(--foreground) / 0.08);
}
.mk-feat-nav__inner {
  margin-inline: auto;
  max-width: 1240px;
  padding: 0 1.5rem;
  display: flex;
  align-items: center;
  gap: 0;
  overflow-x: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.mk-feat-nav__inner::-webkit-scrollbar { display: none; }
@media (min-width: 1024px) {
  .mk-feat-nav__inner { padding: 0 2.5rem; }
}
.mk-feat-nav__tab {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  flex-shrink: 0;
  height: 52px;
  padding: 0 1.25rem;
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  font-family: inherit;
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  color: hsl(var(--foreground) / 0.5);
  transition: color 0.15s ease, border-color 0.15s ease;
  white-space: nowrap;
}
.mk-feat-nav__tab:hover { color: hsl(var(--foreground) / 0.78); }
.mk-feat-nav__tab.is-active {
  color: hsl(var(--foreground));
  border-bottom-color: hsl(var(--primary));
}
.mk-feat-nav__sym {
  color: hsl(var(--primary));
  font-size: 0.8rem;
}

.mk-feat-body {
  padding-block: clamp(72px, 9vw, 128px);
}
.mk-feat-cat {
  padding-top: clamp(64px, 8vw, 112px);
  scroll-margin-top: 130px;
}
.mk-feat-cat:first-child { padding-top: 0; }
.mk-feat-cat__head {
  padding-bottom: 1rem;
  margin-bottom: clamp(48px, 6vw, 80px);
  border-bottom: 1px solid hsl(var(--foreground) / 0.08);
}
.mk-feat-cat__crumb {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.625rem;
}
.mk-feat-cat__sym { color: hsl(var(--primary)); font-size: 0.8125rem; }
.mk-feat-cat__label {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: hsl(var(--primary));
}
.mk-feat-cat__title {
  margin: 0 0 0.875rem;
  font-size: clamp(28px, 3.4vw, 42px);
  font-weight: 500;
  letter-spacing: -0.022em;
  line-height: 1.15;
  color: hsl(var(--foreground));
  max-width: 22ch;
}
.mk-feat-cat__desc {
  margin: 0;
  font-size: 1.0625rem;
  line-height: 1.6;
  color: hsl(var(--foreground) / 0.6);
  max-width: 56ch;
}
.mk-feat-cat__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 640px) {
  .mk-feat-cat__grid { grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }
}
.mk-feat-card {
  padding: 1.5rem 1.75rem;
  border: 1px solid hsl(var(--foreground) / 0.08);
  border-radius: 12px;
  background: hsl(var(--foreground) / 0.02);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.mk-feat-card:hover {
  border-color: hsl(var(--foreground) / 0.16);
  box-shadow: 0 0 32px -8px hsl(var(--primary) / 0.16);
}
.mk-feat-card h3 {
  margin: 0 0 0.625rem;
  font-size: 1.0625rem;
  font-weight: 500;
  letter-spacing: -0.015em;
  color: hsl(var(--foreground));
}
.mk-feat-card p {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.55;
  color: hsl(var(--foreground) / 0.62);
}

/* ════════════════════════════════════════════════════════════════════════════
   CHANGELOG PAGE
   ════════════════════════════════════════════════════════════════════════════ */
.mk-changelog__inner { max-width: 880px; margin: 0 auto; }
.mk-changelog__list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.mk-changelog__release {
  border: 1px solid hsl(var(--foreground) / 0.08);
  border-radius: 14px;
  background: hsl(var(--foreground) / 0.02);
  padding: 1.5rem 1.75rem 1.625rem;
  transition: border-color 0.15s ease;
}
.mk-changelog__release:hover { border-color: hsl(var(--foreground) / 0.16); }
.mk-changelog__head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.625rem;
  flex-wrap: wrap;
}
.mk-changelog__ver {
  font-family: var(--font-mono);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: hsl(var(--foreground));
}
.mk-changelog__ver.is-latest { color: hsl(var(--primary)); }
.mk-changelog__date {
  font-size: 0.8125rem;
  color: hsl(var(--foreground) / 0.45);
  font-family: var(--font-mono);
}
.mk-changelog__latest-pill {
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: hsl(var(--primary));
  background: hsl(var(--primary) / 0.14);
  border: 1px solid hsl(var(--primary) / 0.32);
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
}
.mk-changelog__title {
  margin: 0 0 0.875rem;
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  color: hsl(var(--foreground) / 0.88);
}
.mk-changelog__entries {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.mk-changelog__entry {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
}
.mk-cl-badge {
  flex-shrink: 0;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.2rem 0.45rem;
  border-radius: 6px;
  margin-top: 0.15em;
}
.mk-cl-badge--new { color: hsl(var(--primary)); background: hsl(var(--primary) / 0.14); }
.mk-cl-badge--improved { color: hsl(var(--primary)); background: hsl(var(--primary) / 0.14); }
.mk-cl-badge--fix { color: #f59e0b; background: rgba(245, 158, 11, 0.14); }
.mk-changelog__text {
  font-size: 0.9375rem;
  line-height: 1.55;
  color: hsl(var(--foreground) / 0.7);
}

/* ════════════════════════════════════════════════════════════════════════════
   LEGAL PAGES (Impressum / Privacy / Terms)
   ════════════════════════════════════════════════════════════════════════════ */
.mk-legal__inner { max-width: 820px; margin: 0 auto; }
.mk-legal__tabs {
  display: flex;
  gap: 0;
  border-bottom: 1px solid hsl(var(--foreground) / 0.08);
  margin-bottom: 3rem;
}
.mk-legal__tab {
  padding: 0.75rem 1.25rem;
  font-size: 0.9375rem;
  font-weight: 500;
  color: hsl(var(--foreground) / 0.5);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color 0.15s ease, border-color 0.15s ease;
}
.mk-legal__tab:hover { color: hsl(var(--foreground) / 0.78); }
.mk-legal__tab.is-active {
  color: hsl(var(--foreground));
  border-bottom-color: hsl(var(--primary));
}
.mk-legal__article {
  font-size: 0.9375rem;
  line-height: 1.7;
  color: hsl(var(--foreground) / 0.78);
}
.mk-legal__article h2 {
  margin: 2.5rem 0 0.5rem;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: -0.015em;
  color: hsl(var(--foreground));
}
.mk-legal__article h2:first-child { margin-top: 0; }
.mk-legal__article p { margin: 0 0 0.875rem; }
.mk-legal__article a { color: hsl(var(--primary)); text-decoration: none; }
.mk-legal__article a:hover { text-decoration: underline; }
.mk-legal__article em { color: hsl(var(--foreground) / 0.55); font-style: italic; }

/* ════════════════════════════════════════════════════════════════════════════
   STUDENTS — VERIFY FORM
   ════════════════════════════════════════════════════════════════════════════ */
.mk-students-verify__inner { max-width: 880px; margin: 0 auto; }
.mk-students-verify__form {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding: 2rem;
  border: 1px solid hsl(var(--foreground) / 0.1);
  border-radius: 14px;
  background: hsl(var(--foreground) / 0.02);
}
@media (min-width: 768px) {
  .mk-students-verify__form { padding: 2.5rem; }
}
.mk-verify-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  margin-top: 0.5rem;
  padding: 0.25rem 0.625rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: -0.005em;
  width: -moz-fit-content;
  width: fit-content;
}
.mk-verify-pill.is-fast {
  color: hsl(var(--primary));
  background: hsl(var(--primary) / 0.14);
  border: 1px solid hsl(var(--primary) / 0.28);
}
.mk-verify-pill.is-manual {
  color: #f59e0b;
  background: rgba(245, 158, 11, 0.12);
  border: 1px solid rgba(245, 158, 11, 0.28);
}
.mk-students-verify__hint {
  font-size: 0.75rem;
  color: hsl(var(--foreground) / 0.45);
  margin-top: 0.375rem;
}
.mk-students-verify__submit {
  align-self: flex-start;
  margin-top: 0.5rem;
  min-width: 240px;
}
.mk-students-verify__legal {
  margin: 0.5rem 0 0;
  font-size: 0.75rem;
  line-height: 1.55;
  color: hsl(var(--foreground) / 0.42);
}
.mk-students-verify__success {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  padding: 2rem;
  border: 1px solid hsl(var(--primary) / 0.32);
  border-radius: 14px;
  background:
    linear-gradient(180deg, hsl(var(--primary) / 0.06) 0%, transparent 60%),
    hsl(var(--foreground) / 0.02);
  color: hsl(var(--foreground));
}
.mk-students-verify__success > svg { color: hsl(var(--primary)); }
.mk-students-verify__success h3 {
  margin: 0;
  font-size: 1.375rem;
  font-weight: 500;
  letter-spacing: -0.018em;
}
.mk-students-verify__success p {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.6;
  color: hsl(var(--foreground) / 0.7);
  max-width: 56ch;
}

/* ════════════════════════════════════════════════════════════════════════════
   COMPARE PAGES
   ════════════════════════════════════════════════════════════════════════════ */
.mk-cmp-vs {
  color: hsl(var(--foreground) / 0.35);
  font-weight: 400;
  font-style: italic;
}

/* Compare Index */
.mk-cmp-index__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
@media (min-width: 640px) { .mk-cmp-index__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .mk-cmp-index__grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; } }
.mk-cmp-index__card {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.75rem 2rem;
  border: 1px solid hsl(var(--foreground) / 0.1);
  border-radius: 14px;
  background: hsl(var(--foreground) / 0.02);
  text-decoration: none;
  color: hsl(var(--foreground));
  transition: border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}
.mk-cmp-index__card:hover {
  border-color: hsl(var(--primary) / 0.4);
  transform: translateY(-2px);
  box-shadow: 0 12px 32px -16px hsl(var(--primary) / 0.32);
}
.mk-cmp-index__brand {
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: -0.018em;
}
.mk-cmp-index__tag {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: hsl(var(--foreground) / 0.55);
}
.mk-cmp-index__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: hsl(var(--primary));
}

/* Verdict 2-col */
.mk-verdict__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 900px) { .mk-verdict__grid { grid-template-columns: 1fr 1fr; gap: 2rem; } }
.mk-verdict__card {
  padding: 2rem 2.25rem;
  border: 1px solid hsl(var(--foreground) / 0.1);
  border-radius: 14px;
  background: hsl(var(--foreground) / 0.02);
}
.mk-verdict__card--us {
  border-color: hsl(var(--primary) / 0.4);
  background:
    linear-gradient(180deg, hsl(var(--primary) / 0.06) 0%, transparent 60%),
    hsl(var(--foreground) / 0.02);
  box-shadow: 0 0 0 1px hsl(var(--primary) / 0.2);
}
.mk-verdict__brand {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: hsl(var(--foreground) / 0.55);
  margin-bottom: 0.625rem;
}
.mk-verdict__card--us .mk-verdict__brand { color: hsl(var(--primary)); }
.mk-verdict__card h3 {
  margin: 0 0 1.25rem;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: -0.018em;
  color: hsl(var(--foreground));
}
.mk-verdict__card ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.mk-verdict__card li {
  position: relative;
  padding-left: 1.5rem;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: hsl(var(--foreground) / 0.78);
}
.mk-verdict__card li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: hsl(var(--foreground) / 0.45);
}
.mk-verdict__card--us li::before { background: hsl(var(--primary)); }

/* Compare matrix — dark elevated table on the accent band (matches login surfaces) */
.mk-cmp-matrix { padding-block: clamp(72px, 9vw, 128px); }
.mk-cmp-matrix__shell {
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.02);
}
.mk-cmp-matrix__head {
  display: grid;
  grid-template-columns: minmax(200px, 1.5fr) repeat(2, minmax(140px, 1fr));
  background: rgba(255, 255, 255, 0.03);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
@media (min-width: 768px) {
  .mk-cmp-matrix__head { grid-template-columns: minmax(280px, 1.6fr) repeat(2, minmax(180px, 1fr)); }
}
.mk-cmp-matrix__head-cell {
  padding: 1.25rem;
  text-align: center;
  border-left: 1px solid rgba(255, 255, 255, 0.06);
}
.mk-cmp-matrix__head-cell--label { border-left: none; }
.mk-cmp-matrix__head-cell.is-featured {
  background: hsl(var(--primary) / 0.10);
  box-shadow: inset 0 -2px 0 hsl(var(--primary) / 0.6);
}
.mk-cmp-matrix__brand {
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.7);
}
.mk-cmp-matrix__head-cell.is-featured .mk-cmp-matrix__brand { color: hsl(var(--link)); }
.mk-cmp-matrix__group { border-top: 1px solid rgba(255, 255, 255, 0.08); }
.mk-cmp-matrix__group:first-of-type { border-top: none; }
.mk-cmp-matrix__group-head {
  padding: 1rem 1.25rem 0.75rem;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
  background: rgba(255, 255, 255, 0.03);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.mk-cmp-matrix__row {
  display: grid;
  grid-template-columns: minmax(200px, 1.5fr) repeat(2, minmax(140px, 1fr));
  align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
@media (min-width: 768px) {
  .mk-cmp-matrix__row { grid-template-columns: minmax(280px, 1.6fr) repeat(2, minmax(180px, 1fr)); }
}
.mk-cmp-matrix__row:last-child { border-bottom: none; }
.mk-cmp-matrix__row-label {
  padding: 0.875rem 1.25rem;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.4;
}
.mk-cmp-matrix__row-cell {
  padding: 0.875rem 1.25rem;
  text-align: center;
  border-left: 1px solid rgba(255, 255, 255, 0.05);
  font-family: var(--font-mono);
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.75);
}
.mk-cmp-matrix__row-cell.is-featured {
  background: hsl(var(--primary) / 0.06);
  box-shadow: inset 1px 0 0 hsl(var(--primary) / 0.18), inset -1px 0 0 hsl(var(--primary) / 0.18);
}
.mk-cmp-matrix__footnote {
  margin: 1.5rem auto 0;
  max-width: 720px;
  text-align: center;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.4);
}
/* Cell glyph colors on the dark matrix */
.mk-cmp-matrix .mk-cmp-cell--yes { background: hsl(var(--up) / 0.16); color: hsl(var(--up)); }
.mk-cmp-matrix .mk-cmp-cell--no { color: hsl(var(--down) / 0.85); opacity: 1; }
.mk-cmp-matrix .mk-cmp-cell--partial { color: hsl(var(--highlight)); }
.mk-cmp-matrix .mk-cmp-cell--text { color: rgba(255, 255, 255, 0.8); }

/* Compare matrix on the light alpha band — the base is dark-theme (white text /
   white borders), which was invisible on white. Flip everything to ink/lines. */
.mk-page--alpha .mk-cmp-matrix__head-cell { color: var(--alpha-ink); border-left-color: var(--alpha-line); }
.mk-page--alpha .mk-cmp-matrix__brand { color: var(--alpha-muted); }
.mk-page--alpha .mk-cmp-matrix__head-cell.is-featured { background: rgba(41, 98, 255, 0.06); box-shadow: inset 0 -2px 0 var(--alpha-blue); }
.mk-page--alpha .mk-cmp-matrix__head-cell.is-featured .mk-cmp-matrix__brand { color: var(--alpha-blue); }
.mk-page--alpha .mk-cmp-matrix__group { border-top-color: var(--alpha-line); }
.mk-page--alpha .mk-cmp-matrix__group-head { color: var(--alpha-muted); background: rgba(12, 15, 24, 0.03); border-bottom-color: var(--alpha-line); }
.mk-page--alpha .mk-cmp-matrix__row { border-bottom-color: var(--alpha-line); }
.mk-page--alpha .mk-cmp-matrix__row-label { color: var(--alpha-ink); }
.mk-page--alpha .mk-cmp-matrix__row-cell { color: var(--alpha-muted); border-left-color: var(--alpha-line); }
.mk-page--alpha .mk-cmp-matrix__row-cell.is-featured { background: rgba(41, 98, 255, 0.05); box-shadow: inset 1px 0 0 rgba(41, 98, 255, 0.18), inset -1px 0 0 rgba(41, 98, 255, 0.18); }
.mk-page--alpha .mk-cmp-matrix__footnote { color: var(--alpha-muted); }
.mk-page--alpha .mk-cmp-matrix .mk-cmp-cell--text { color: var(--alpha-ink); }

/* Compare pricing */
.mk-cmp-pricing__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
@media (min-width: 768px) { .mk-cmp-pricing__grid { grid-template-columns: 1fr 1fr; gap: 1.5rem; } }
.mk-cmp-pricing__card {
  padding: 2rem 2.25rem;
  border: 1px solid hsl(var(--foreground) / 0.1);
  border-radius: 14px;
  background: hsl(var(--foreground) / 0.02);
}
.mk-cmp-pricing__card.is-featured {
  border-color: hsl(var(--primary) / 0.4);
  background:
    linear-gradient(180deg, hsl(var(--primary) / 0.06) 0%, transparent 60%),
    hsl(var(--foreground) / 0.02);
}
.mk-cmp-pricing__brand {
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: hsl(var(--foreground) / 0.55);
  margin-bottom: 0.625rem;
}
.mk-cmp-pricing__card.is-featured .mk-cmp-pricing__brand { color: hsl(var(--primary)); }
.mk-cmp-pricing__price {
  font-family: var(--font-mono);
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: -0.025em;
  color: hsl(var(--foreground));
  line-height: 1;
  margin-bottom: 0.5rem;
}
.mk-cmp-pricing__cadence {
  font-size: 0.8125rem;
  color: hsl(var(--foreground) / 0.55);
  margin-bottom: 1.5rem;
}
.mk-cmp-pricing__card ul {
  list-style: none;
  margin: 0;
  padding: 1.25rem 0 0;
  border-top: 1px solid hsl(var(--foreground) / 0.08);
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.mk-cmp-pricing__card li {
  position: relative;
  padding-left: 1.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: hsl(var(--foreground) / 0.75);
}
.mk-cmp-pricing__card li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: hsl(var(--foreground) / 0.45);
}

/* Compare wins */
.mk-cmp-wins__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
@media (min-width: 900px) { .mk-cmp-wins__grid { grid-template-columns: repeat(3, 1fr); gap: 1.5rem; } }
.mk-cmp-win {
  padding: 2rem;
  border: 1px solid hsl(var(--primary) / 0.32);
  border-radius: 14px;
  background:
    linear-gradient(180deg, hsl(var(--primary) / 0.06) 0%, transparent 70%),
    hsl(var(--foreground) / 0.02);
}
.mk-cmp-win__icon {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9px;
  background: hsl(var(--primary) / 0.16);
  color: hsl(var(--primary));
  margin-bottom: 1.25rem;
}
.mk-cmp-win h3 {
  margin: 0 0 0.75rem;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: -0.015em;
  color: hsl(var(--foreground));
}
.mk-cmp-win p {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: hsl(var(--foreground) / 0.68);
}

/* Compare losses */
.mk-cmp-losses__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
@media (min-width: 768px) { .mk-cmp-losses__grid { grid-template-columns: 1fr 1fr; gap: 1.5rem; } }
.mk-cmp-loss {
  padding: 1.75rem 2rem;
  border: 1px solid hsl(var(--foreground) / 0.1);
  border-radius: 14px;
  background: hsl(var(--foreground) / 0.02);
}
.mk-cmp-loss h3 {
  margin: 0 0 0.75rem;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: -0.015em;
  color: hsl(var(--foreground));
}
.mk-cmp-loss p {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: hsl(var(--foreground) / 0.62);
}

/* ════════════════════════════════════════════════════════════════════════════
   ALPHASENSE-STYLE LIGHT THEME (mk-page--alpha)
   White canvas · electric-blue (#0040FF) + yellow (#FFFF52) accents · Inter
   grotesk headlines (black with blue emphasis). Overrides the dark Coreon skin.
   ════════════════════════════════════════════════════════════════════════════ */
.landing-page.mk-page--alpha {
  --alpha-blue: #2962FF;
  --alpha-blue-hover: #1f4fd6;
  --alpha-yellow: #ffff52;
  --alpha-ink: #0c0f18;
  --alpha-muted: #5a5a5a;
  --alpha-surface: #f4f5f7;
  --alpha-line: #e6e7eb;
  /* Re-point the shared theme tokens to the light palette so the ~260 base
     rules that read hsl(var(--foreground)) / var(--primary) render ink-on-white
     automatically, instead of inheriting the app's dark-theme tokens. */
  --foreground: 0 0% 11%;
  --background: 0 0% 100%;
  --primary: 227 100% 50%;
  --primary-foreground: 0 0% 100%;
  --highlight: 227 100% 50%;
  background: #ffffff;
  color: var(--alpha-ink);
}
.landing-page.mk-page--alpha::before { display: none; }

/* ── Typography ───────────────────────────────────────────────────────────── */
.mk-page--alpha .mk-display-h1,
.mk-page--alpha .mk-display-h2 {
  font-family: var(--font-landing);
  font-weight: 600;
  text-transform: none;
  letter-spacing: -0.03em;
  color: var(--alpha-ink);
  -webkit-font-smoothing: antialiased;
}
/* Koyfin/About scale — oversized left section headers */
.mk-page--alpha .mk-display-h2 { font-size: clamp(30px, 4.8vw, 60px); line-height: 1.02; }
.mk-page--alpha .mk-eyebrow {
  font-family: var(--font-landing);
  font-weight: 600;
  font-size: 0.8125rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--alpha-blue);
  -webkit-font-smoothing: antialiased;
}
.mk-page--alpha .mk-lede,
.mk-page--alpha .mk-hero__lede { color: var(--alpha-muted); }

/* ── Top nav — plain inline links (AlphaSense), no pill/box ────────────────── */
.mk-page--alpha .mk-topnav__pill-nav {
  background: transparent;
  box-shadow: none;
  border: none;
  padding: 0;
  gap: 0.25rem;
}
.mk-page--alpha .mk-topnav__pill-link {
  color: rgba(29, 29, 29, 0.66);
  font-weight: 500;
}
.mk-page--alpha .mk-topnav__pill-link:hover { color: var(--alpha-blue); background: transparent; }
.mk-page--alpha .mk-topnav__pill-link--active {
  background: transparent;
  color: var(--alpha-ink);
  font-weight: 600;
}
.mk-page--alpha .mk-topnav__wordmark,
.mk-page--alpha .mk-topnav__wordmark * { color: var(--alpha-ink) !important; }
.mk-page--alpha .mk-topnav__btn--login { background: transparent; color: var(--alpha-ink); border: 1px solid transparent; }
.mk-page--alpha .mk-topnav__btn--login:hover { color: var(--alpha-blue); background: transparent; }
.mk-page--alpha .mk-topnav__btn--cta { background: var(--alpha-blue); color: #fff; }
.mk-page--alpha .mk-topnav__btn--cta:hover { background: var(--alpha-blue-hover); }
.mk-page--alpha .product-beta-badge {
  background-color: rgba(0, 64, 255, 0.08) !important;
  border-color: rgba(0, 64, 255, 0.25) !important;
  color: var(--alpha-blue) !important;
}
/* Brand mark ships as a white glyph (for the dark app chrome); darken it to ink
   on the light landing canvas, and size it to match the auth lockup. */
.mk-page--alpha .mk-topnav__mark { filter: brightness(0); height: 32px; width: 32px; }
/* Pull the wordmark toward the mark — the PNG carries transparent padding, so the
   default flex gap reads as too wide. Leaves the OPEN BETA badge gap untouched. */
.mk-page--alpha .mk-topnav__wordmark { margin-left: -6px; }

/* ── Hero ─────────────────────────────────────────────────────────────────── */
.mk-hero--alpha { min-height: 0; padding: 0; overflow: visible; display: block; }
.alpha-hero {
  max-width: 1240px;
  margin-inline: auto;
  padding: clamp(44px, 7vw, 96px) clamp(1.5rem, 4vw, 2.5rem) clamp(32px, 4vw, 52px);
}
.alpha-hero__title {
  margin: 0;
  font-family: var(--font-landing);
  font-weight: 500;
  font-size: clamp(40px, 6.4vw, 82px);
  line-height: 1.03;
  letter-spacing: -0.032em;
  max-width: 17ch;
  text-wrap: balance;
}
.alpha-hero__title-ink { color: var(--alpha-ink); }
.alpha-hero__title-blue { color: var(--alpha-blue); }
.alpha-hero__lede {
  margin: clamp(1.5rem, 3vw, 2rem) 0 0;
  max-width: 48ch;
  font-size: clamp(16px, 1.4vw, 19px);
  line-height: 1.6;
  color: var(--alpha-muted);
}
.alpha-hero__cta-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem 1.75rem;
  margin-top: clamp(2rem, 4vw, 2.75rem);
}
.alpha-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  height: 52px;
  padding: 0 26px;
  border-radius: 10px;
  font-family: var(--font-landing);
  font-weight: 600;
  font-size: 1rem;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: background 0.15s ease, transform 0.15s ease;
}
.alpha-btn--primary { background: var(--alpha-blue); color: #fff; }
.alpha-btn--primary:hover { background: var(--alpha-blue-hover); }
.alpha-hero__tour {
  font-family: var(--font-landing);
  font-weight: 600;
  font-size: 1rem;
  color: var(--alpha-ink);
  text-decoration: none;
  border-bottom: 2px solid var(--alpha-blue);
  padding-bottom: 3px;
  transition: color 0.15s ease;
}
.alpha-hero__tour:hover { color: var(--alpha-blue); }

/* ── Hero split band: blue copy panel + dark product panel (AlphaSense) ────── */
.alpha-heroband {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  min-height: clamp(340px, 36vw, 460px);
}
.alpha-heroband__copy {
  background: var(--alpha-blue);
  color: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: clamp(1.5rem, 3vw, 2.25rem);
  padding-block: clamp(2.5rem, 4vw, 3.5rem);
  padding-inline-end: clamp(2rem, 4vw, 3rem);
  /* Align the copy with the headline's left edge while the panel bleeds to the screen edge. */
  padding-inline-start: max(clamp(1.5rem, 4vw, 2.5rem), calc((100vw - 1240px) / 2 + clamp(1.5rem, 4vw, 2.5rem)));
}
.alpha-heroband__lede {
  margin: 0;
  max-width: 32ch;
  font-size: clamp(17px, 1.5vw, 21px);
  line-height: 1.5;
  font-weight: 400;
}
.alpha-heroband__cta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem 1.75rem;
}
.alpha-btn--light { background: #ffffff; color: var(--alpha-ink); }
.alpha-btn--light:hover { background: #eef0f5; }
.alpha-heroband__tour {
  font-family: var(--font-landing);
  font-weight: 600;
  font-size: 1rem;
  color: #ffffff;
  text-decoration: none;
  border-bottom: 2px solid rgba(255, 255, 255, 0.55);
  padding-bottom: 3px;
  transition: border-color 0.15s ease;
}
.alpha-heroband__tour:hover { border-bottom-color: #ffffff; }
.alpha-heroband__visual {
  position: relative;
  overflow: hidden;
  background: #0a0e1a;
  min-height: 300px;
}
.alpha-heroband__img {
  position: absolute;
  top: 50%;
  left: clamp(1.5rem, 3vw, 2.75rem);
  transform: translateY(-50%);
  width: 132%;
  max-width: none;
  height: auto;
  border-radius: 12px 0 0 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 24px 70px -20px rgba(0, 0, 0, 0.6);
}
@media (max-width: 860px) {
  .alpha-heroband { grid-template-columns: 1fr; }
  .alpha-heroband__copy {
    padding-inline: clamp(1.5rem, 6vw, 2.5rem);
  }
  .alpha-heroband__visual { min-height: 260px; }
  .alpha-heroband__img { width: 120%; left: clamp(1.25rem, 5vw, 2rem); }
}

/* ── Buttons inside sections / bands ──────────────────────────────────────── */
.mk-page--alpha .mk-btn--primary,
.mk-page--alpha .mk-btn--invert { background: var(--alpha-blue); color: #fff; }
.mk-page--alpha .mk-btn--primary:hover,
.mk-page--alpha .mk-btn--invert:hover { background: var(--alpha-blue-hover); }
.mk-page--alpha .mk-link-arrow { color: var(--alpha-blue); border-color: transparent; }
.mk-page--alpha .mk-link-arrow:hover { border-color: var(--alpha-blue); }
.mk-page--alpha .mk-link-underline { color: var(--alpha-ink); border-bottom-color: var(--alpha-blue); }

/* ── Values ───────────────────────────────────────────────────────────────── */
.mk-page--alpha .mk-value { background: #fff; }
.mk-page--alpha .mk-value__icon {
  background: var(--alpha-surface);
  border: 1px solid var(--alpha-line);
  color: var(--alpha-blue);
}
.mk-page--alpha .mk-value__title { color: var(--alpha-ink); }
.mk-page--alpha .mk-value__desc { color: var(--alpha-muted); }

/* ── Use cases ────────────────────────────────────────────────────────────── */
.mk-page--alpha .mk-usecases__sub { color: var(--alpha-ink); }
.mk-page--alpha .mk-usecase { background: transparent; }
.mk-page--alpha .mk-usecase__photo {
  background: var(--alpha-surface);
  border: 1px solid var(--alpha-line);
}
.mk-page--alpha .mk-usecase__glyph { color: var(--alpha-blue); }
.mk-page--alpha .mk-usecase__title { color: var(--alpha-ink); }
.mk-page--alpha .mk-usecase__desc { color: var(--alpha-muted); }

/* ── Coverage ─────────────────────────────────────────────────────────────── */
.mk-page--alpha .mk-coverage__title { color: var(--alpha-ink); }
.mk-page--alpha .mk-coverage__desc { color: var(--alpha-muted); }
.mk-page--alpha .mk-coverage__shot {
  background: var(--alpha-surface);
  border: 1px solid var(--alpha-line);
  border-radius: 14px;
  padding: 14px;
}
.mk-page--alpha .mk-feat-nav,
.mk-page--alpha .mk-tabstrip { background: transparent; border-color: var(--alpha-line); }
.mk-page--alpha .mk-feat-nav__tab,
.mk-page--alpha .mk-tabstrip__tab { color: var(--alpha-muted); }
.mk-page--alpha .mk-feat-nav__tab--active,
.mk-page--alpha .mk-tabstrip__tab--active { color: var(--alpha-ink); border-color: var(--alpha-blue); }

/* ── Features (alternating) ───────────────────────────────────────────────── */
.mk-page--alpha .mk-feature__title { color: var(--alpha-ink); }
.mk-page--alpha .mk-feature__lede { color: var(--alpha-muted); }
.mk-page--alpha .mk-feature__bullets { color: var(--alpha-muted); }
.mk-page--alpha .mk-feature__shot {
  background: var(--alpha-surface);
  border: 1px solid var(--alpha-line);
  border-radius: 14px;
  padding: 12px;
}

/* ── Bands (mission / closing / ai) — light surfaces ──────────────────────── */
.mk-page--alpha .mk-band--light {
  background: var(--alpha-surface);
  border-top: 1px solid var(--alpha-line);
  border-bottom: 1px solid var(--alpha-line);
}
.mk-page--alpha .mk-mission__quote,
.mk-page--alpha .mk-closing__head { color: var(--alpha-ink); }
.mk-page--alpha .mk-closing__sub { color: var(--alpha-muted); }
.mk-page--alpha .mk-ai__head { color: var(--alpha-ink); }
.mk-page--alpha .mk-ai__sub { color: var(--alpha-muted); }
.mk-page--alpha .mk-pill {
  background: #fff;
  border: 1px solid var(--alpha-line);
  color: var(--alpha-ink);
}
.mk-page--alpha .mk-pill:hover { border-color: var(--alpha-blue); color: var(--alpha-blue); }

/* ── Testimonials ─────────────────────────────────────────────────────────── */
.mk-page--alpha .mk-testi {
  background: #fff;
  border: 1px solid var(--alpha-line);
}
.mk-page--alpha .mk-testi__mark { color: var(--alpha-blue); }
.mk-page--alpha .mk-testi__text { color: var(--alpha-ink); }
.mk-page--alpha .mk-testi__name { color: var(--alpha-ink); }
.mk-page--alpha .mk-testi__context { color: var(--alpha-muted); }
.mk-page--alpha .mk-testi__avatar { background: var(--alpha-surface); color: var(--alpha-blue); }

/* ── Wordmark watermark (footer) ──────────────────────────────────────────── */
.mk-page--alpha .landing-wordmark__text { color: rgba(29, 29, 29, 0.05); }

/* ── Subpage persona hero (About / Features / Personas / Compare) ─────────── */
.mk-page--alpha .mk-persona-hero__eyebrow {
  font-family: var(--font-landing);
  font-weight: 600;
  font-size: 0.8125rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--alpha-blue);
  -webkit-font-smoothing: antialiased;
}
.mk-page--alpha .mk-persona-hero__h1 {
  font-family: var(--font-landing);
  font-weight: 600;
  font-size: clamp(40px, 6.4vw, 82px);
  line-height: 1.0;
  letter-spacing: -0.035em;
  text-transform: none;
  color: var(--alpha-ink);
  -webkit-font-smoothing: antialiased;
}
.mk-page--alpha .mk-persona-hero__sub { color: var(--alpha-muted); }
.mk-page--alpha .mk-persona-hero__bg {
  background: radial-gradient(ellipse 60% 45% at 50% 0%, rgba(0, 64, 255, 0.07) 0%, transparent 65%);
}

/* ── Generic subpage surfaces: cards, grids, dividers ─────────────────────── */
.mk-page--alpha .mk-students-card,
.mk-page--alpha .mk-team__member,
.mk-page--alpha .mk-compare-card,
.mk-page--alpha .mk-stories-card,
.mk-page--alpha .mk-about-values__item,
.mk-page--alpha .mk-faq__item,
.mk-page--alpha .mk-pricing-card {
  background: #fff;
  border: 1px solid var(--alpha-line);
}
.mk-page--alpha .mk-students-card__title,
.mk-page--alpha .mk-team__name,
.mk-page--alpha .mk-about-story__p,
.mk-page--alpha .mk-faq__q { color: var(--alpha-ink); }
.mk-page--alpha .mk-about-values__desc,
.mk-page--alpha .mk-team__role,
.mk-page--alpha .mk-faq__a,
.mk-page--alpha .mk-stories-card__excerpt { color: var(--alpha-muted); }
.mk-page--alpha .mk-team__photo,
.mk-page--alpha .mk-stories-card__media { background: var(--alpha-surface); }

/* ── Contact page ─────────────────────────────────────────────────────────── */
.mk-page--alpha .mk-contact-card,
.mk-page--alpha .mk-contact__panel,
.mk-page--alpha .mk-contact-form {
  background: #fff;
  border: 1px solid var(--alpha-line);
}
.mk-page--alpha .mk-contact-form input,
.mk-page--alpha .mk-contact-form textarea,
.mk-page--alpha .mk-contact-form select {
  background: #fff;
  border: 1px solid var(--alpha-line);
  color: var(--alpha-ink);
}
.mk-page--alpha .mk-contact-channel__label { color: var(--alpha-ink); }
.mk-page--alpha .mk-contact-channel__value { color: var(--alpha-muted); }

/* ── Stats / trust strip (under hero) ─────────────────────────────────────── */
.mk-page--alpha .alpha-stats {
  border-top: 1px solid var(--alpha-line);
  border-bottom: 1px solid var(--alpha-line);
  background: var(--alpha-surface);
}
.alpha-stats__inner {
  max-width: 1240px;
  margin-inline: auto;
  padding: clamp(2.5rem, 5vw, 4rem) clamp(1.5rem, 4vw, 2.5rem);
}
.alpha-stats__label {
  text-align: center;
  margin: 0 0 clamp(1.75rem, 3vw, 2.5rem);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--alpha-muted);
}
.alpha-stats__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.25rem 1.5rem;
}
@media (min-width: 768px) {
  .alpha-stats__grid { grid-template-columns: repeat(4, 1fr); }
}
.alpha-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
  text-align: center;
}
.alpha-stat__value {
  font-family: var(--font-landing);
  font-size: clamp(28px, 3.2vw, 40px);
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--alpha-ink);
}
.alpha-stat__label {
  font-size: 0.9375rem;
  line-height: 1.4;
  color: var(--alpha-muted);
}

/* ── Use-case cards: small icon tile instead of empty photo box ───────────── */
.mk-page--alpha .mk-usecase__photo {
  aspect-ratio: auto;
  width: 56px;
  height: 56px;
  border-radius: 14px;
  margin-bottom: 1.25rem;
  background: rgba(0, 64, 255, 0.07);
  border: 1px solid rgba(0, 64, 255, 0.18);
}
.mk-page--alpha .mk-usecase__glyph svg { width: 26px; height: 26px; }

/* ── Numbered feature steps (01–04) with sticky product visual (AlphaSense) ── */
.mk-page--alpha .alpha-steps__layout {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
}
.mk-page--alpha .alpha-steps__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.mk-page--alpha .alpha-step {
  display: grid;
  grid-template-columns: 2.75rem 1fr;
  gap: 0.75rem;
  padding: clamp(1.75rem, 3.5vw, 3rem) 0;
  border-top: 1px solid var(--alpha-line);
}
.mk-page--alpha .alpha-step:first-child { border-top: none; padding-top: 0; }
.mk-page--alpha .alpha-step__num {
  font-family: var(--font-landing);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--alpha-blue);
  padding-top: 0.5rem;
}
.mk-page--alpha .alpha-step__title {
  margin: 0 0 0.75rem;
  font-family: var(--font-landing);
  font-size: clamp(22px, 2.3vw, 32px);
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 1.15;
  color: var(--alpha-ink);
}
.mk-page--alpha .alpha-step__lede {
  margin: 0 0 1rem;
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--alpha-muted);
}
.mk-page--alpha .alpha-step__bullets {
  margin: 0;
  padding-left: 1.1rem;
  color: var(--alpha-muted);
  font-size: 0.9375rem;
}
.mk-page--alpha .alpha-step__bullets li { margin-bottom: 0.4rem; }
.mk-page--alpha .alpha-steps__visual {
  position: sticky;
  top: 96px;
  background: var(--alpha-surface);
  border: 1px solid var(--alpha-line);
  border-radius: 16px;
  padding: 16px;
  overflow: hidden;
}
.mk-page--alpha .alpha-steps__img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
}
@media (max-width: 900px) {
  .mk-page--alpha .alpha-steps__layout { grid-template-columns: 1fr; }
  .mk-page--alpha .alpha-steps__visual { position: static; order: -1; margin-bottom: 1.5rem; }
}

/* ── Closing CTA — left-aligned with blue accent word (AlphaSense) ─────────── */
.mk-page--alpha .mk-closing__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(1.25rem, 2.5vw, 1.75rem);
  text-align: left;
}
.mk-page--alpha .mk-closing__head {
  max-width: 18ch;
  font-size: clamp(32px, 4.4vw, 60px);
  line-height: 1.05;
}
.alpha-closing__blue { color: var(--alpha-blue); }
.mk-page--alpha .mk-closing__right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
  max-width: 46ch;
}
.mk-page--alpha .mk-closing__sub { text-align: left; margin-inline: 0; }

/* ── Two-column solutions/capabilities list (AlphaSense AS-02 pattern) ─────── */
.mk-page--alpha .alpha-solutions__head {
  max-width: 20ch;
  margin: 0.75rem 0 clamp(2rem, 4vw, 3.25rem);
}
.mk-page--alpha .alpha-solutions__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  -moz-column-gap: clamp(2.5rem, 6vw, 6rem);
       column-gap: clamp(2.5rem, 6vw, 6rem);
}
@media (min-width: 768px) {
  .mk-page--alpha .alpha-solutions__list { grid-template-columns: 1fr 1fr; }
}
.mk-page--alpha .alpha-solutions__item {
  font-family: var(--font-landing);
  font-size: clamp(18px, 1.7vw, 24px);
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--alpha-ink);
  padding: clamp(0.9rem, 1.5vw, 1.35rem) 0;
  border-bottom: 1px solid var(--alpha-line);
  transition: color 0.15s ease;
}
.mk-page--alpha .alpha-solutions__item:hover { color: var(--alpha-blue); }

/* ═══════════════════════════════════════════════════════════════════════════
   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%);
}

/* ── 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;
  /* Collapsed to 0 width so it reserves NO leading space — otherwise a
     left-aligned header label sits ~16px right of its data cells. It expands
     on hover/focus-within only. */
  width: 0;
  margin-right: 0;
  overflow: hidden;
  color: hsl(var(--muted-foreground) / 0.55);
  opacity: 0;
  cursor: grab;
  touch-action: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: width 0.12s ease, margin-right 0.12s ease, opacity 0.12s ease;
}

.terminal-table th[data-reorderable='true']:hover .terminal-table-header-grip,
.terminal-table th[data-reorderable='true']:focus-within .terminal-table-header-grip,
.terminal-table th[data-reorderable='true'][data-drag-source='true'] .terminal-table-header-grip {
  width: 14px;
  margin-right: 2px;
  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;
}

body[data-column-reorder-active='true'] {
  cursor: grabbing !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);
}

/* Per-row expandable detail panel (fiscal.ai-style drill-down). Full-width row
   rendered beneath the expanded data row; content styles itself, this just sets
   a quiet recessed surface + hairline so it reads as attached to its row. */
.terminal-table .unified-row-detail > td {
  padding: 0;
  background: hsl(var(--muted) / 0.18);
  border-bottom: 1px solid var(--terminal-table-hairline);
  box-shadow: inset 2px 0 0 hsl(var(--primary) / 0.55);
}

/* ── 4b. Excel-style cell selection (useCellSelection.js) ─────────────────
   Painted imperatively via data attributes so the memoized rows never
   re-render on selection changes. The focus cell gets an inset ring; a
   short-lived data-cell-copied flash acknowledges Ctrl+C. */
.unified-table-container td[data-cell-sel] {
  background-color: hsl(var(--primary) / 0.08) !important;
  background-clip: padding-box;
}

.unified-table-container td[data-cell-focus] {
  box-shadow: inset 0 0 0 1.5px hsl(var(--primary) / 0.9);
}

.unified-table-container td[data-cell-copied] {
  background-color: hsl(var(--primary) / 0.22) !important;
  transition: background-color 120ms ease-out;
}

/* Open cell editor (Enter/F2/typing): stronger ring, raised above neighbours. */
.unified-table-container td[data-cell-editing] {
  box-shadow: inset 0 0 0 2px hsl(var(--primary));
  background-color: hsl(var(--background)) !important;
  z-index: 5;
}

/* Fill-handle drag preview (useCellSelection fill section). */
.unified-table-container td[data-cell-fill] {
  background-color: hsl(var(--primary) / 0.05) !important;
  box-shadow: inset 0 0 0 1px hsl(var(--primary) / 0.55);
}

/* Excel-style status bar: Avg / Sum / Count of the selection, pinned to the
   container's bottom-right (positioned imperatively in content coords). */
.unified-selection-statusbar {
  position: absolute;
  z-index: 30;
  padding: 3px 10px;
  border: 1px solid hsl(var(--border));
  border-radius: 4px;
  background: hsl(var(--popover) / 0.95);
  color: hsl(var(--muted-foreground));
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  white-space: pre;
  pointer-events: none;
}

/* The draggable fill handle at the selection's bottom-right corner. */
.unified-cell-fill-handle {
  position: absolute;
  width: 7px;
  height: 7px;
  background: hsl(var(--primary));
  border: 1px solid hsl(var(--background));
  cursor: crosshair;
  z-index: 30;
}

/* ── 4b. Excel chrome: row-number gutter, column letters, formula bar ─────── */

/* Row-number gutter — reads as part of the frame (header tint), not the data. */
.terminal-table--entity tbody td.rownum-cell {
  background: var(--terminal-table-header-bg-opaque) !important;
  border-right: 1px solid var(--terminal-table-pin-edge);
  color: hsl(var(--muted-foreground));
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.rownum-cell__num {
  display: block;
  font-size: 10.5px;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  text-align: center;
}

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

/* Excel darkens the row header of selected rows. */
.unified-table-wrapper--koyfin .terminal-table--entity .unified-row[data-state='selected'] > td.rownum-cell {
  background: var(--terminal-table-pin-bg-selected) !important;
  box-shadow: inset 2px 0 0 hsl(var(--primary));
  color: hsl(var(--foreground));
}

/* Header cell over the gutter: the whole cell is the select-all corner. */
.terminal-table--entity thead th[data-column-id='_dt_rownum'] {
  cursor: pointer;
}

.rownum-corner-btn {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 14px;
  border: 0;
  background: transparent;
  cursor: pointer;
}

/* Column-letter band (A / B / C …) above the header row. */
.terminal-table--entity thead th.letter-th {
  background: var(--terminal-table-header-bg-opaque) !important;
  border-bottom: 1px solid var(--terminal-table-hairline);
  color: hsl(var(--muted-foreground) / 0.85);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-align: center;
  text-transform: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  vertical-align: middle;
}

.terminal-table--entity thead th.letter-th[data-column-letter='true']:hover {
  background: var(--terminal-table-pin-header-bg) !important;
  color: hsl(var(--foreground) / 0.85);
}

/* Excel's select-all corner: a small wedge in the bottom-right of the cell. */
.letter-th__corner-mark {
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-bottom: 7px solid hsl(var(--muted-foreground) / 0.55);
  vertical-align: bottom;
}

.terminal-table--entity thead th.letter-th--corner:hover .letter-th__corner-mark {
  border-bottom-color: hsl(var(--primary));
}

/* Formula bar: name box (C4) + fx + the focused cell's raw value. */
.unified-formula-bar {
  display: flex;
  align-items: center;
  gap: 0;
  flex: none;
  border: 1px solid var(--terminal-table-hairline);
  border-bottom: 0;
  background: var(--terminal-table-row-bg);
  font-size: var(--text-xs);
}

.unified-formula-bar__name {
  flex: none;
  width: 64px;
  padding: 4px 8px;
  border-right: 1px solid var(--terminal-table-hairline);
  color: hsl(var(--foreground) / 0.9);
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  text-align: center;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.unified-formula-bar__fx {
  flex: none;
  padding: 4px 8px;
  border-right: 1px solid var(--terminal-table-hairline);
  color: hsl(var(--muted-foreground));
  font-family: var(--font-serif, Georgia, serif);
  font-style: italic;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.unified-formula-bar__input {
  flex: 1;
  min-width: 0;
  padding: 4px 10px;
  border: 0;
  outline: none;
  background: transparent;
  color: hsl(var(--foreground));
  font: inherit;
}

.unified-formula-bar__input:-moz-read-only {
  color: hsl(var(--foreground) / 0.75);
}

.unified-formula-bar__input:read-only {
  color: hsl(var(--foreground) / 0.75);
}

.unified-formula-bar__input:disabled {
  color: hsl(var(--muted-foreground) / 0.6);
}

/* ── 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);
  min-height: var(--terminal-table-header-height, 32px);
  border-right: none;
  /* Header labels wrap instead of truncating so they stay fully readable; the
     row auto-grows to fit. See TableHeader.jsx (label uses whitespace-normal). */
  white-space: normal;
  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;
}

/* Full-width colSpan cells (group headers, loading/empty states, row-detail
   panels) hold a sticky viewport-width wrapper that keeps their content on
   screen during horizontal scrolling. `overflow: hidden` on the td would make
   the td itself the wrapper's clipping scrollport and disable the sticky
   behavior entirely, so these cells must stay `overflow: visible`. */
.terminal-table tbody td.unified-cell--fullspan,
.unified-table-wrapper--koyfin .terminal-table--entity tbody td.unified-cell--fullspan {
  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;
}

/* 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 {
  /* ── Spacing scale — φ progression (ratio ≈ 1.618), base 4px ──
     Unique to this file (not in globals.css). Used by .symbol-link and other
     legacy component styles below. */
  --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;

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

::-moz-selection {
  background: hsl(var(--accent) / 0.85);
  color: hsl(var(--accent-foreground));
}

::selection {
  background: hsl(var(--accent) / 0.85);
  color: hsl(var(--accent-foreground));
}


/* ═══════════════════════════════════════════════════════════════════════════
   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: hsl(220 16% 22% / 0.22); border-radius: 100px; }
::-webkit-scrollbar-thumb:hover { background: hsl(220 16% 22% / 0.34); }
::-webkit-scrollbar-corner { background: transparent; }

/* Sidebar scrollbar — native scroll on nav viewport */
.sidebar-scroll-viewport {
  scrollbar-width: thin;
  scrollbar-color: hsl(220 16% 22% / 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: hsl(220 16% 22% / 0.25);
  border-radius: 100px;
}
.sidebar-scroll-viewport::-webkit-scrollbar-thumb:hover {
  background: hsl(220 16% 22% / 0.40);
}

/* Sidebar scrollbar — legacy root hook (other ScrollArea usages) */
.sidebar-scroll {
  scrollbar-width: thin;
  scrollbar-color: hsl(220 16% 22% / 0.25) transparent;
}
.sidebar-scroll::-webkit-scrollbar {
  width: 6px;
}
.sidebar-scroll::-webkit-scrollbar-track {
  background: transparent;
}
.sidebar-scroll::-webkit-scrollbar-thumb {
  background: hsl(220 16% 22% / 0.25);
  border-radius: 100px;
}
.sidebar-scroll::-webkit-scrollbar-thumb:hover {
  background: hsl(220 16% 22% / 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.75rem;
  border-bottom: 1px solid hsl(var(--foreground) / 0.08);
  position: relative;
  z-index: 1;
  background: hsl(var(--card));
  padding: 0 0.75rem;
  min-height: 2.5rem;
}

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

.workspace-tab {
  display: inline-flex;
  max-width: 12.5rem;
  align-items: center;
  gap: 0.25rem;
  border-bottom: 0;
  height: 1.75rem;
  padding: 0 0.625rem;
  font-size: var(--text-xs);
  font-weight: 500;
  line-height: 1;
  color: hsl(var(--muted-foreground));
  transition: color 0.12s ease, background-color 0.12s ease;
}

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

.workspace-tab--active {
  border-radius: 0.375rem;
  background: hsl(var(--primary) / 0.12);
  color: hsl(var(--foreground));
  box-shadow: inset 0 0 0 1px hsl(var(--primary) / 0.2);
}

.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: color-mix(in srgb, var(--terminal-table-header-bg-opaque) 88%, transparent);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-top: 1px solid var(--terminal-table-header-line);
  border-bottom: 1px solid var(--terminal-table-header-line);
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  min-height: 48px;
  font-size: var(--text-xs);
  font-weight: 500;
  color: hsl(var(--foreground));
}

/* Ownership tab — the integrated insider/trade tables are deliberately borderless
   (TABLE_SHELL_INTEGRATED) and sit flush. Drop the toolbar band's header-line
   framing so the toggle ("Show former insiders") floats above the grid instead of
   reading as a boxed-in toolbar with a stray top/bottom Rand. */
[data-dt-workspace-profile='ownership'] .workspace-table-toolbar {
  border-top: 0;
  border-bottom: 0;
  background: transparent;
}

/* 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: 500;
}

.workspace-toolbar-btn:hover,
.workspace-toolbar-btn[data-state='open'] {
  color: hsl(var(--foreground));
}

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

.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 hsl(var(--ring) / 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: hsl(var(--accent) / 0.40);
  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: 10px;
  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 hsl(0 0% 0% / 0.48),
    0 2px 8px hsl(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 hsl(0 0% 0% / 0.48),
    0 2px 8px hsl(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: 184px;
  border-radius: calc(var(--ticker-preview-radius) - 4px);
  background: hsl(var(--muted) / 0.12);
}

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

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

/* Metric hover preview — Koyfin-style crosshair only (no duplicate pills/tooltips) */
.metric-preview-popover {
  --ticker-preview-radius: 8px;
}

.metric-preview-popover__header {
  border-bottom: 1px solid hsl(var(--border) / 0.55);
}

/* Match instrument header chips (Chart, Alerts, …) — override light ghost chip wash */
.dibs .metric-preview-popover .metric-preview-popover__open.entity-ws-page-action-chip,
.light.dibs .metric-preview-popover .metric-preview-popover__open.entity-ws-page-action-chip {
  border-radius: 6px;
  border-color: hsl(var(--brand-500));
  background: hsl(var(--brand-500));
  color: hsl(0 0% 100%);
  box-shadow: none;
}

.dibs .metric-preview-popover .metric-preview-popover__open.entity-ws-page-action-chip:hover,
.light.dibs .metric-preview-popover .metric-preview-popover__open.entity-ws-page-action-chip:hover {
  border-color: hsl(var(--brand-600));
  background: hsl(var(--brand-600));
  color: hsl(0 0% 100%);
}

.dibs .metric-preview-popover .metric-preview-popover__open.entity-ws-page-action-chip svg {
  color: hsl(0 0% 100%);
  opacity: 0.92;
}

.metric-preview-popover__chart {
  background: hsl(var(--muted) / 0.08);
}

.metric-preview-popover__chart .tv-lightweight-charts {
  border-radius: calc(var(--ticker-preview-radius) - 2px);
}

/* 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;
}

/* Agent composer — Devin-style workspace input */
.agent-composer textarea,
.agent-composer-textarea {
  color: hsl(var(--foreground));
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
}

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

.agent-composer textarea::placeholder,
.agent-composer-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; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   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; }
}

/* ── 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

   The pre-OpenBB --color-* bridge vars now live in globals.css (single source
   of truth). This file only retains the --space-* spacing scale and legacy
   component styles (scrollbar, workspace chrome, symbol-link, ticker-preview)
   that reference semantic tokens via hsl(var(--*)).
   ═══════════════════════════════════════════════════════════════════════════ */
