@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Plus+Jakarta+Sans:wght@300;400;500;600&display=swap";/* Custom scanner container */
.barcode-scanner-modal {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: rgba(6, 6, 6, 0.95);
  backdrop-filter: blur(8px);
  padding: 1rem;
}

/* Viewfinder styling */
.scanner-viewfinder {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  max-width: 320px;
  overflow: hidden;
  border-radius: 0.75rem;
  border: 1px solid rgba(197, 160, 89, 0.2);
  background-color: #000;
}

/* The actual HTML5 Qrcode container */
#root .scanner-video-container {
  width: 100%;
  height: 100%;
}

#root .scanner-video-container video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Viewfinder Target Area */
.scanner-target {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 260px;
  height: 120px;
  border: 1px solid rgba(197, 160, 89, 0.4);
  border-radius: 0.5rem;
  box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.6);
  pointer-events: none;
}

/* Corners for targeting */
.scanner-corner {
  position: absolute;
  width: 12px;
  height: 12px;
  border-color: var(--q-brand-gold, #c5a059);
  border-style: solid;
  pointer-events: none;
}

.scanner-corner-tl {
  top: -1px;
  left: -1px;
  border-width: 2px 0 0 2px;
  border-top-left-radius: 4px;
}

.scanner-corner-tr {
  top: -1px;
  right: -1px;
  border-width: 2px 2px 0 0;
  border-top-right-radius: 4px;
}

.scanner-corner-bl {
  bottom: -1px;
  left: -1px;
  border-width: 0 0 2px 2px;
  border-bottom-left-radius: 4px;
}

.scanner-corner-br {
  bottom: -1px;
  right: -1px;
  border-width: 0 2px 2px 0;
  border-bottom-right-radius: 4px;
}

/* Laser scan line animation */
.scanner-laser {
  position: absolute;
  left: 4px;
  right: 4px;
  height: 2px;
  background-color: #ef4444;
  box-shadow: 0 0 8px rgba(239, 68, 68, 0.8);
  animation: scan-laser 2s ease-in-out infinite;
  pointer-events: none;
}

@keyframes scan-laser {
  0% {
    top: 4px;
  }
  50% {
    top: calc(100% - 6px);
  }
  100% {
    top: 4px;
  }
}
/* @qiiqa/bob-ui main entry point */

/* 1. Base styles (lowest priority) */

/* CSS Variables for Qiiqa UI - Compact 3/4 Scale */

:root {
  /* Colors */
  --q-primary: #2563eb;
  --q-primary-dark: #1e3a8a;
  --q-primary-hover: #1d4ed8;
  --q-primary-muted: color-mix(in srgb, var(--q-primary) 15%, transparent);
  /* use OKHSLA to brighten the primary color */
  --q-primary-dim: #1d4ed8;
  /* use OKHSLA to darken the primary color */

  --q-secondary: #64748b;
  --q-secondary-hover: #64748b;
  /* use OKHSLA to brighten the secondary color */
  --q-secondary-dim: #64748b;
  /* use OKHSLA to darken the secondary color */

  --q-danger: #ef4444;
  --q-success: #22c55e;
  --q-warning: #f59e0b;

  /* Backgrounds */
  --q-bg-base: #ffffff;
  --q-bg-hover: #f8fafc;
  --q-bg-dropdown: #ffffff;
  --q-surface: var(--q-bg-base);

  /* Borders */
  --q-border-color: #cbd5e1;
  --q-border-radius: 0.25rem;
  /* 4px at 16px base, scaled from 6px */

  /* Typography - Scaled to 3/4 */
  --q-font-family: "Inter", system-ui, -apple-system, sans-serif;
  --q-font-size-base: 10.5px;
  /* 14px * 0.75 */
  --q-font-size-sm: 9px;
  /* 12px * 0.75 */

  /* Semantic Text Colors */
  --q-text-base: #0f172a;
  --q-text-edit: #f5f5f5;
  /* Smoke White */
  --q-text-readonly: #94a3b8;
  /* Light Gray */
  --q-text-muted: #64748b;
  --q-darktxt: #222;
  
  /* Typography Tokens */
  --q-font-size-heading: 1.875rem;
  --q-color-heading: var(--q-text-base);
  --q-font-size-label: var(--q-font-size-sm);
  --q-color-label: var(--q-text-base);
  --q-font-size-text: var(--q-font-size-base);
  --q-color-text: var(--q-text-base);

  /* Typography Component Specific Variables */
  --bob-heading-color: var(--q-color-heading, var(--q-text-base));
  --bob-heading-font-size: var(--q-font-size-heading, 1.875rem);
  --bob-heading-margin-bottom: var(--q-gap-base);

  --bob-label-color: var(--q-color-label, var(--q-text-base));
  --bob-label-font-size: var(--q-font-size-label, var(--q-font-size-sm));
  --bob-label-font-weight: 600;
  --bob-label-margin-bottom: calc(var(--q-gap-base) / 2);

  --bob-description-color: var(--q-color-text, var(--q-text-muted));
  --bob-description-font-size: var(--q-font-size-text, var(--q-font-size-sm));
  --bob-description-margin-top: calc(var(--q-gap-base) / 2);

  --bob-validation-color: var(--q-danger);
  --bob-validation-font-size: var(--q-font-size-sm);
  --bob-validation-margin-top: calc(var(--q-gap-base) / 2);

  /* Button Text Colors - default to white for contrast against standard bright colors */
  --q-primary-text: #ffffff;
  --q-secondary-text: #ffffff;
  --q-danger-text: #ffffff;
  --q-success-text: #ffffff;

  /* Text on dark / layout-mode backgrounds */
  --q-text-on-dark: #ffffff;

  /* Primary colour at reduced opacity — used for selections and drag overlays */
  --q-primary-alpha-15: color-mix(in srgb, var(--q-primary) 15%, transparent);
  --q-primary-alpha-20: color-mix(in srgb, var(--q-primary) 20%, transparent);
  --q-primary-alpha-50: color-mix(in srgb, var(--q-primary) 50%, transparent);
  --q-primary-alpha-inset: color-mix(in srgb,
      var(--q-primary) 10%,
      transparent);

  /* Dim overlay (drag handle background) */
  --q-overlay-bg: rgba(0, 0, 0, 0.05);

  /* Shadows */
  --q-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1);
  --q-shadow-container: 0 0.25rem 1.5rem rgba(0, 0, 0, 0.4);
  --q-shadow-primary-inset: inset 0 0 10px var(--q-primary-alpha-inset);

  /* Sunken / tinted content area background */
  --q-bg-sunken: color-mix(in srgb, var(--q-bg-base) 95%, black);

  /* Spacing (Margin, Gap, Padding) - Scaled to 3/4 */
  --q-spacer: 0.75rem;
  /* 1rem * 0.75 */
  --q-gap-base: 0.375rem;
  /* 0.5rem * 0.75 */
  --q-padding-base: 0.5625rem;
  /* 0.75rem * 0.75 */
  --q-margin-base: 0.75rem;
  /* 1rem * 0.75 */

  /* Component Specific Tokens - Scaled */
  --q-input-height: 1.6875rem;
  /* 2.25rem * 0.75 */
  --q-control-gap: clamp(0.25rem, 1vw, 0.375rem);
  /* dynamic: ~4px-6px */

  /* Standard Icon Styles for inputs - Scaled */
  --q-icon-size: clamp(0.625rem, 1.5vw, 0.75rem);
  /* dynamic: ~10px-12px */
  --q-icon-color: var(--q-secondary);
  --q-icon-hover-color: var(--q-primary);

  /* Responsive Breakpoints — use these as reference values in media query comments */
  /* Note: CSS custom properties cannot currently be used inside @media rules directly. */
  /* small  = max-width: 768px  */
  /* medium = max-width: 1024px */
  --q-mobile-breakpoint: 768px;
  --q-tablet-breakpoint: 1024px;

  /* Button Sizing */
  --bob-btn-size-medium: var(--q-input-height);
  --bob-btn-size-small: calc(var(--bob-btn-size-medium) * 0.75);
  --bob-btn-size-large: calc(var(--bob-btn-size-medium) * 1.2);
  --q-btn-disabled-opacity: 0.5;
  --q-btn-loading-opacity: 0.7;

  /* Validation Icons */
  --bob-icon-val-success: "\f00c";
  --bob-icon-val-failure: "\f00d";
  --bob-color-val-success: var(--q-success);
  --bob-color-val-failure: var(--q-danger);

  /* App Layout Layout Heights */
  --q-appbar-height: 48px; /* Base height for standard BobAppBar */
  --q-toast-top-offset: calc(var(--q-appbar-height) + 40px); /* Pushed lower so toasts never appear behind the appbar */
}

/* Responsive Utilities and Breakpoints for Bob UI */

/* Define fluid spacing and containers */

:root {
  /* Fluid scaling factors */
  --bob-fluid-base: clamp(1rem, 0.8rem + 1vw, 1.25rem);
  --bob-fluid-padding: clamp(0.5rem, 0.4rem + 0.5vw, 0.75rem);
  --bob-screen-min: 320px;
  --bob-screen-max: 1440px;
}

/* responsive containers */

.bob-container-fluid {
  width: 100%;
  padding-inline: var(--q-padding-base);
  margin-inline: auto;
  max-width: var(--bob-screen-max);
}

/* Mobile-first Media Queries */

/* Tablet and up (768px+) */

@media screen and (min-width: 768px) {
  :root {
    --q-padding-base: 1rem;
    --q-gap-base: 0.5rem;
  }
}

/* Desktop and up (1024px+) */

@media screen and (min-width: 1024px) {
  :root {
    --q-padding-base: 1.5rem;
    --q-gap-base: 0.75rem;
  }
}

/* Orientation helpers if needed */

@media screen and (orientation: landscape) and (max-height: 500px) {
  .bob-hide-on-short-landscape {
    display: none !important;
  }
}

/* CSS Reset for Qiiqa UI */

*,
*::before,
*::after {
  box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

ul[role="list"],
ol[role="list"] {
  list-style: none;
}

/* Accessibility Focus Ring for Tabbing */

*:focus-visible {
  outline: 1.5px solid var(--q-primary);
  outline-offset: 2px;
}

html:focus-within {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
  font-family: var(--q-font-family);
  font-size: var(--q-font-size-base);
  background-color: var(--q-bg-base);
  color: var(--q-text-base);
  transition:
    background-color 0.3s ease,
    color 0.3s ease,
    border-color 0.3s ease;
}

.container,
.q-input-wrapper,
.btn,
.q-select-wrapper {
  transition:
    background-color 0.3s ease,
    color 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease;
}

input,
button,
textarea,
select {
  font: inherit;
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }

  html body *,
  html body *::before,
  html body *::after {
    animation-duration: 0.01ms;
    animation-iteration-count: 1;
    transition-duration: 0.01ms;
    scroll-behavior: auto;
  }
}

/* Typography for Qiiqa UI */

h1,
h2,
h3,
h4,
.h1,
.h2,
.h3,
.h4 {
  font-family: var(--q-font-family);
  font-weight: 600;
  line-height: 1.25;
  /* margin-bottom: var(--q-gap-base); */
}

h1,
.h1 {
  font-size: var(--bob-heading-font-size);
}

h2,
.h2 {
  font-size: 1.5rem;
}

h3,
.h3 {
  font-size: 1.25rem;
}

h4,
.h4 {
  font-size: 1.125rem;
}

.text-sm {
  font-size: var(--q-font-size-sm);
}

.text-bold {
  font-weight: 600;
}

.text-secondary {
  color: var(--q-secondary);
}

/* Typography components */

.bob-heading {
  color: var(--bob-heading-color);
  margin-bottom: var(--bob-heading-margin-bottom);
  font-family: var(--q-font-family);
  font-weight: 600;
  line-height: 1.25;
}

.bob-heading-1 { font-size: var(--bob-heading-font-size); }

.bob-heading-2 { font-size: calc(var(--q-font-size-heading, 1.875rem) * 0.8); }

.bob-heading-3 { font-size: calc(var(--q-font-size-heading, 1.875rem) * 0.67); }

.bob-heading-4 { font-size: calc(var(--q-font-size-heading, 1.875rem) * 0.6); }

.bob-heading-5 { font-size: calc(var(--q-font-size-heading, 1.875rem) * 0.53); }

.bob-heading-6 { font-size: calc(var(--q-font-size-heading, 1.875rem) * 0.47); }

.bob-label {
  display: block;
  color: var(--q-color-label, var(--bob-label-color, var(--q-text-base)));
  font-size: var(--q-font-size-label, var(--bob-label-font-size, 0.9rem));
  font-weight: var(--bob-label-font-weight);
  margin-bottom: var(--bob-label-margin-bottom);
}

.bob-label-required::after {
  content: ' *';
  color: var(--q-danger);
}

.bob-description {
  display: block;
  color: var(--q-color-text, var(--bob-description-color, var(--q-text-muted)));
  font-size: var(--q-font-size-text, var(--bob-description-font-size, 0.95rem));
  margin-top: var(--bob-description-margin-top);
}

.bob-validation {
  display: block;
  color: var(--bob-validation-color);
  font-size: var(--bob-validation-font-size);
  margin-top: var(--bob-validation-margin-top);
  margin-bottom: 0;
}

.bob-validation-panel {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: var(--bob-validation-font-size);
  margin-top: var(--bob-validation-margin-top);
  color: var(--q-text-base);
}

.bob-validation-icon {
  font-size: 1.1em;
}

.bob-validation-icon::before {
  content: var(--bob-icon-content);
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}

.bob-validation-icon.success {
  color: var(--bob-color-val-success);
}

.bob-validation-icon.failure {
  color: var(--bob-color-val-failure);
}

mark {
  background-color: var(--q-primary-dark, var(--q-primary));
  color: var(--q-text-on-dark, #fff);
  padding: 0 0.2em;
  border-radius: 2px;
}

/* 2. Layout */

/* Layout for Qiiqa UI */

.q-container {
    display: grid;
    gap: var(--q-gap-base);
    padding: var(--q-padding-base);
}

.q-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: var(--q-gap-base);
}

/* Base utility for vertical expansion */

.q-expand-vertical {
    height: 100%;
    align-self: stretch;
}

.q-dashboard-container {
    padding: var(--q-spacing-xl, 2rem);
    padding-bottom: calc(var(--q-spacing-xl, 2rem) * 2);
    max-width: 75rem;
    margin: 0 auto;
}

.q-dashboard-panel {
    margin-top: calc(var(--q-spacing-xl, 2rem) * 1.5);
    padding: var(--q-spacing-xl, 2rem);
    border-radius: 1rem;
    background-color: var(--q-bg-sunken);
    border: 1px solid var(--q-border-color);
    box-shadow: var(--q-shadow-sm);
}

.q-dashboard-content {
    /* Slot for content within a panel or container */
    margin-top: var(--q-spacing-base, 1rem);
}

.q-dashboard-actions {
    display: flex;
    gap: var(--q-gap-small, 0.5rem);
}

.q-dashboard-filter {
    min-width: 9.375rem;
}

.q-dashboard-filters {
    display: flex;
    gap: var(--q-gap-medium, 0.75rem);
    align-items: center;
}

/* src/css/bob-react-layout.css */

.bob-react-form {
  display: flex;
  flex-direction: column;
  gap: var(--q-spacer, 16px);
  width: 100%;
  min-height: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.bob-react-page {
  display: grid;
  column-gap: var(--q-spacer);
  row-gap: 0;
  grid-auto-rows: 1px; /* 1px height baseline for pixel-perfect Masonry */
  align-content: start;
  align-items: stretch;
  width: 100%;
  box-sizing: border-box;
}

/* Panel header and caption */

.bob-react-panel-header {
  margin: 0 0 var(--q-spacer) 0;
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 24px;
  width: 100%;
}

.bob-react-panel-caption {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--bob-heading-color);
}

/* Layout-mode controls inside the panel header */

.bob-react-panel-design-controls {
  display: flex;
  align-items: center;
  margin-right: clamp(4px, 1vw, 12px);
  gap: var(--q-control-gap);
}

.bob-react-panel-drag-handle {
  cursor: grab;
  color: var(--q-icon-color);
}

.bob-react-panel-resize-controls {
  display: flex;
  gap: 4px;
  align-items: center;
}

.bob-react-panel-resize-btn {
  background: var(--q-bg-hover);
  border: 1px solid var(--q-border-color);
  border-radius: 4px;
  width: clamp(16px, 2vw, 20px);
  height: clamp(16px, 2vw, 20px);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.bob-react-panel-span-label {
  font-size: 0.75rem;
  color: var(--q-text-muted);
  padding: 0 4px;
  user-select: none;
}

/* Fields layout row used in layout-fields mode */

.bob-react-panel-fields-row {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(var(--panel-columns, 12), 1fr);
  width: 100%;
}

/* Panel is just a nested grid container that spans columns itself */

.bob-react-panel {
  display: grid;
  flex-grow: 1;
  gap: 0;
  align-content: start;
  align-items: start;
  position: relative;
  padding: var(--q-spacer);
  border: 1px solid var(--q-border-color);
  border-radius: var(--q-border-radius);
  background: var(--q-bg-base);
  box-shadow: var(--q-shadow-sm);
  width: 100%;
  min-width: 0;
  grid-column: span var(--bob-col-span, 12);
}

.bob-react-panel-layout-mode {
  border: 2px solid var(--q-primary);
  background-color: var(--q-primary-dark);
  color: var(--q-text-on-dark);
  padding-bottom: 40px;
  /* Space for dropping at bottom */
}

.bob-react-panel-layout-mode .bob-react-panel-caption {
  color: var(--q-text-on-dark);
}

.bob-react-panel-row-controls {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  z-index: 30;
  background: var(--q-bg-base);
  border: 1px solid var(--q-primary);
  border-radius: 4px;
  padding: 1px;
  box-shadow: var(--q-shadow-sm);
}

.bob-react-item-row-controls {
  position: absolute;
  top: 4px;
  right: 4px;
  display: flex;
  align-items: center;
  z-index: 30;
  background: var(--q-bg-base);
  border: 1px solid var(--q-primary);
  border-radius: 4px;
  padding: 1px;
  box-shadow: var(--q-shadow-sm);
}

.bob-react-panel.bob-react-panel-dragover {
  background-color: var(--q-bg-hover);
  box-shadow: var(--q-shadow-primary-inset);
  border-color: var(--q-primary);
}

div.bob-react-item {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  /* gap: var(--q-control-gap, 4px); */
  margin-bottom: 8px; /* Standardize vertical field distance */
  position: relative;
  width: 100%;
  min-width: 0;
  min-height: 0;
  align-self: stretch;
  padding: 0; /* Rely on container padding for edges */
  grid-column: span var(--bob-col-span, 6);
  gap: 2px; /* Standardize 2px gap from caption to field */
}

.bob-react-item-expand-vertical {
  align-self: stretch;
  height: 100%;
}

.bob-react-item-caption {
  font-size: var(--q-font-size-base);
  font-weight: 500;
  color: var(--q-color-label, var(--q-text-muted));
  margin-bottom: 0; /* Use container gap: 2px instead */
  word-break: break-word;
}

.bob-react-item-horizontal {
  display: grid;
  align-items: center;
  gap: var(--q-spacer, 12px);
  width: 100%;
}

.bob-react-item-horizontal-caption {
  font-size: var(--q-font-size-base);
  font-weight: 500;
  color: var(--q-color-label, var(--q-text-base));
  word-break: break-word;
}

.bob-react-item-horizontal-content {
  min-width: 0;
}

.bob-react-item-row-btn {
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0 4px;
  font-size: 12px;
  font-weight: bold;
  color: var(--q-primary);
}

/* GapDropZone: 20px gap before, between and after each BobItem in layout mode */

.bob-react-panel .bob-react-gap-zone {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 100%;
  min-height: 30px;
  background: var(--q-bg-sunken, #f8fafc);
  border-left: 1px dashed var(--q-border-color);
  border-right: 1px dashed var(--q-border-color);
  transition: all 0.15s ease;
  flex-shrink: 0;
  cursor: cell;
  /* Don't participate in grid spanning */
  grid-column: unset;
}

.bob-react-gap-zone.start {
  border-radius: 4px 0 0 4px;
}

.bob-react-gap-zone.end {
  border-radius: 0 4px 4px 0;
}

.bob-react-panel .bob-react-gap-zone.bob-react-gap-zone-active {
  background-color: rgba(59, 130, 246, 0.4) !important;
  box-shadow: inset 0 0 0 2px var(--q-primary, #3b82f6) !important;
  border-radius: 4px !important;
  border-style: solid !important;
  border-color: var(--q-primary, #3b82f6) !important;
  z-index: 25 !important;
}

.bob-react-gap-controls {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  background: var(--q-bg-base);
  border: 1px solid var(--q-primary);
  border-radius: 4px;
  padding: 1px;
  box-shadow: var(--q-shadow-sm);
  z-index: 20;
  pointer-events: all;
}

.bob-react-gap-btn {
  background: transparent;
  color: var(--q-primary);
  border: none;
  width: 14px;
  height: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  font-size: 11px;
  font-weight: bold;
  border-radius: 2px;
  transition: background 0.1s;
}

.bob-react-gap-btn:hover {
  background: var(--q-bg-hover);
}

.bob-react-gap-span-label {
  font-size: 0.55rem;
  color: var(--q-text-muted);
  padding: 0;
  user-select: none;
  text-align: center;
  font-weight: 700;
  min-width: 12px;
  line-height: 1;
}

.bob-react-item-selected .bob-react-overlay {
  background-color: var(--q-primary-alpha-15);
  /* light primary blue */
  border: 2px solid var(--q-primary);
}

.bob-react-item-selected .bob-react-overlay::after {
  content: "SELECTED";
  background: var(--q-primary-dark);
}

/* Tab Strip — scroller wrapper handles scrolling so the inner strip is never an overflow container */

.bob-react-tab-strip-scroller {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  /* Hide scrollbar for a clean look */
  scrollbar-width: none;
  margin-bottom: 16px;
  margin-left: 3px;
}

.bob-react-tab-strip-scroller::-webkit-scrollbar {
  display: none;
}

/* Inner strip — stays exactly as originally defined, no overflow changes */

.bob-react-tab-strip {
  display: flex;
  gap: var(--q-control-gap);
  flex-wrap: nowrap;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  margin-top: 4px;
  margin-left: 4px;
}

.bob-react-tab {
  padding: clamp(4px, 1vh, 8px) clamp(8px, 2vw, 16px);
  border: 1px solid transparent;
  border-bottom: none;
  cursor: pointer;
  font-weight: 500;
  color: var(--q-text-muted);
  transition: all 0.2s;
  margin-bottom: -1px;
  /* Overlap border */
  border-radius: 6px 6px 0 0;
  background: transparent;
  /* Prevent tabs from shrinking when the strip is wider than the scroller */
  flex-shrink: 0;
}

.bob-react-tab:hover {
  color: var(--q-primary) !important;
  background: var(--q-bg-hover) !important;
}

.bob-react-tab-active {
  background: var(--q-bg-base);
  color: var(--q-color-heading, var(--q-primary));
  border-color: var(--q-border-color);
  border-bottom: 2px solid var(--q-color-heading, var(--q-primary));
  z-index: 10;
}

/* Theme Variant Rules for Tabs */

.theme-variant-clean button.bob-react-tab {
  border-color: transparent;
}

.theme-variant-clean button.bob-react-tab-active {
  border-color: transparent !important;
  border-bottom: none !important;
}

/* Overlays / Resizing placeholders */

.bob-react-overlay {
  position: absolute;
  inset: 4px;
  background-color: var(--q-overlay-bg);
  /* very light */
  z-index: 10;
  cursor: move;
  border-radius: 4px;
  border: 1px dashed var(--q-primary);
  display: flex;
  align-items: center;
  justify-content: center;
}

.bob-react-overlay::after {
  content: "DRAG";
  font-size: 0.75rem;
  color: var(--q-bg-base);
  background: var(--q-primary);
  padding: 2px 6px;
  border-radius: 4px;
}

/* Drop Indicators */

.bob-react-drop-indicator {
  position: absolute;
  background: var(--q-primary);
  z-index: 50;
  pointer-events: none;
}

.bob-react-drop-indicator.left {
  left: 0px;
  top: 0;
  bottom: 0;
  width: 4px;
  border-radius: 2px;
}

.bob-react-drop-indicator.right {
  right: 0px;
  top: 0;
  bottom: 0;
  width: 4px;
  border-radius: 2px;
}

.bob-react-drop-indicator.top {
  top: 0px;
  left: 0;
  right: 0;
  height: 4px;
  border-radius: 2px;
}

.bob-react-drop-indicator.bottom {
  bottom: 0px;
  left: 0;
  right: 0;
  height: 4px;
  border-radius: 2px;
}

/* Compact Layouts */

.bob-react-panel.bob-react-panel-compact {
  padding: 8px;
  gap: 4px;
}

.bob-react-panel.bob-react-panel-compact .bob-react-panel-header {
  margin-bottom: 8px;
}

.bob-react-panel.bob-react-panel-compact .bob-react-panel-caption {
  font-size: 0.9rem;
}

.bob-react-panel.bob-react-panel-compact .bob-react-item {
  padding: 4px 4px 4px 0;
}

/* Responsiveness config component */

.bob-react-responsiveness {
  position: relative;
  display: flex;
  align-items: center;
}

.bob-react-responsiveness-display {
  display: flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  font-size: 12px;
  padding: 4px 8px;
  border-radius: 4px;
  border: 1px solid var(--q-border-color);
  background: var(--q-bg-base);
  color: var(--q-text-base);
}

.bob-react-responsiveness-display span:first-child {
  font-weight: 600;
}

.bob-react-responsiveness-display span:nth-child(2) {
  opacity: 0.6;
}

.bob-react-responsiveness-display i {
  font-size: 10px;
  margin-left: 2px;
}

.bob-react-responsiveness-popup {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 1000;
  background-color: var(--q-bg-sunken);
  border: 1px solid var(--q-border-color);
  border-radius: 12px;
  box-shadow:
    0 20px 25px -5px rgba(0, 0, 0, 0.1),
    0 10px 10px -5px rgba(0, 0, 0, 0.04);
  padding: 12px;
  width: min(280px, 90vw);
}

.bob-react-responsiveness-popup-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

.bob-react-responsiveness-popup-header span {
  font-weight: 600;
  font-size: 16px;
  color: var(--q-text-base);
}

.bob-react-responsiveness-popup-close-btn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  color: var(--q-text-muted);
  font-size: 18px;
}

.bob-react-responsiveness-panel {
  border: 1px solid var(--q-border-color);
  background: var(--q-bg-base);
  box-shadow: none;
  margin-bottom: 4px;
}

/* .bob-react-responsiveness-panel.resp-panel-active {
  border: 1px solid var(--q-primary);
  box-shadow: inset 0 0 0 1px var(--q-primary);
} */

.bob-react-responsiveness-input {
  width: 100%;
  padding: 2px 4px;
  font-size: 11px;
  border: 1px solid var(--q-border-color);
  border-radius: 4px;
  background-color: var(--q-bg-sunken);
  color: var(--q-primary);
}

/* Added for BobLayoutTabPage */

.bob-react-tab-page-active {
  display: block;
}

.bob-react-tab-page-hidden {
  display: none;
}

/* Drag handle color mapping */

.bob-react-tab-drag-handle {
  margin-right: 8px;
  cursor: grab;
  color: var(--q-text-muted, #94a3b8);
}

/* Added for BobLayoutGapDropZone */

.bob-react-gap-btn-newline {
  margin-top: 2px;
  color: var(--q-text-muted, #94a3b8);
}

.bob-react-gap-btn-newline[data-newline="true"] {
  color: var(--q-primary, #2563eb);
}

/* Added for Layout Items and Grids */

.bob-react-item-design-fields {
  flex: 1 1 0;
  min-width: 0;
}

[data-bob-col-span="1"] {
  grid-column: span 1;
}

[data-bob-newline="true"][data-bob-col-span="1"] {
  grid-column: 1 / span 1;
}

[data-bob-col-span="2"] {
  grid-column: span 2;
}

[data-bob-newline="true"][data-bob-col-span="2"] {
  grid-column: 1 / span 2;
}

[data-bob-col-span="3"] {
  grid-column: span 3;
}

[data-bob-newline="true"][data-bob-col-span="3"] {
  grid-column: 1 / span 3;
}

[data-bob-col-span="4"] {
  grid-column: span 4;
}

[data-bob-newline="true"][data-bob-col-span="4"] {
  grid-column: 1 / span 4;
}

[data-bob-col-span="5"] {
  grid-column: span 5;
}

[data-bob-newline="true"][data-bob-col-span="5"] {
  grid-column: 1 / span 5;
}

[data-bob-col-span="6"] {
  grid-column: span 6;
}

[data-bob-newline="true"][data-bob-col-span="6"] {
  grid-column: 1 / span 6;
}

[data-bob-col-span="7"] {
  grid-column: span 7;
}

[data-bob-newline="true"][data-bob-col-span="7"] {
  grid-column: 1 / span 7;
}

[data-bob-col-span="8"] {
  grid-column: span 8;
}

[data-bob-newline="true"][data-bob-col-span="8"] {
  grid-column: 1 / span 8;
}

[data-bob-col-span="9"] {
  grid-column: span 9;
}

[data-bob-newline="true"][data-bob-col-span="9"] {
  grid-column: 1 / span 9;
}

[data-bob-col-span="10"] {
  grid-column: span 10;
}

[data-bob-newline="true"][data-bob-col-span="10"] {
  grid-column: 1 / span 10;
}

[data-bob-col-span="11"] {
  grid-column: span 11;
}

[data-bob-newline="true"][data-bob-col-span="11"] {
  grid-column: 1 / span 11;
}

[data-bob-col-span="12"] {
  grid-column: span 12;
}

[data-bob-newline="true"][data-bob-col-span="12"] {
  grid-column: 1 / span 12;
}

[data-bob-col-span="13"] {
  grid-column: span 13;
}

[data-bob-newline="true"][data-bob-col-span="13"] {
  grid-column: 1 / span 13;
}

[data-bob-col-span="14"] {
  grid-column: span 14;
}

[data-bob-newline="true"][data-bob-col-span="14"] {
  grid-column: 1 / span 14;
}

[data-bob-col-span="15"] {
  grid-column: span 15;
}

[data-bob-newline="true"][data-bob-col-span="15"] {
  grid-column: 1 / span 15;
}

[data-bob-col-span="16"] {
  grid-column: span 16;
}

[data-bob-newline="true"][data-bob-col-span="16"] {
  grid-column: 1 / span 16;
}

[data-bob-col-span="17"] {
  grid-column: span 17;
}

[data-bob-newline="true"][data-bob-col-span="17"] {
  grid-column: 1 / span 17;
}

[data-bob-col-span="18"] {
  grid-column: span 18;
}

[data-bob-newline="true"][data-bob-col-span="18"] {
  grid-column: 1 / span 18;
}

[data-bob-col-span="19"] {
  grid-column: span 19;
}

[data-bob-newline="true"][data-bob-col-span="19"] {
  grid-column: 1 / span 19;
}

[data-bob-col-span="20"] {
  grid-column: span 20;
}

[data-bob-newline="true"][data-bob-col-span="20"] {
  grid-column: 1 / span 20;
}

[data-bob-col-span="21"] {
  grid-column: span 21;
}

[data-bob-newline="true"][data-bob-col-span="21"] {
  grid-column: 1 / span 21;
}

[data-bob-col-span="22"] {
  grid-column: span 22;
}

[data-bob-newline="true"][data-bob-col-span="22"] {
  grid-column: 1 / span 22;
}

[data-bob-col-span="23"] {
  grid-column: span 23;
}

[data-bob-newline="true"][data-bob-col-span="23"] {
  grid-column: 1 / span 23;
}

[data-bob-col-span="24"] {
  grid-column: span 24;
}

[data-bob-newline="true"][data-bob-col-span="24"] {
  grid-column: 1 / span 24;
}

[data-bob-row-span="1"] {
  grid-row: span 1;
}

[data-bob-row-span="2"] {
  grid-row: span 2;
}

[data-bob-row-span="3"] {
  grid-row: span 3;
}

[data-bob-row-span="4"] {
  grid-row: span 4;
}

[data-bob-row-span="5"] {
  grid-row: span 5;
}

[data-bob-row-span="6"] {
  grid-row: span 6;
}

[data-bob-row-span="7"] {
  grid-row: span 7;
}

[data-bob-row-span="8"] {
  grid-row: span 8;
}

[data-bob-row-span="9"] {
  grid-row: span 9;
}

[data-bob-row-span="10"] {
  grid-row: span 10;
}

[data-bob-row-span="11"] {
  grid-row: span 11;
}

[data-bob-row-span="12"] {
  grid-row: span 12;
}

.bob-react-item-horizontal {
  grid-template-columns: var(--bob-label-width, min(120px, 30vw)) 1fr;
}

[data-bob-page-cols] {
  display: grid;
  gap: 0 var(--q-spacer, 16px); /* Use horizontal gap only; vertical managed by item margin */
  grid-template-columns: repeat(var(--panel-columns, 1), minmax(0, 1fr));
  max-width: 100%;
}

.bob-react-page-dynamic[data-bob-page-cols] {
  grid-template-columns: repeat(var(--panel-columns, 1), minmax(0, var(--bob-page-col-width, 450px)));
}

.bob-react-page-dynamic {
  --bob-page-col-width: 450px;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

[data-bob-page-cols="1"] {
  --panel-columns: 1;
}

[data-bob-page-cols="2"] {
  --panel-columns: 2;
}

[data-bob-page-cols="3"] {
  --panel-columns: 3;
}

[data-bob-page-cols="4"] {
  --panel-columns: 4;
}

[data-bob-page-cols="5"] {
  --panel-columns: 5;
}

[data-bob-page-cols="6"] {
  --panel-columns: 6;
}

[data-bob-page-cols="7"] {
  --panel-columns: 7;
}

[data-bob-page-cols="8"] {
  --panel-columns: 8;
}

[data-bob-page-cols="9"] {
  --panel-columns: 9;
}

[data-bob-page-cols="10"] {
  --panel-columns: 10;
}

[data-bob-page-cols="11"] {
  --panel-columns: 11;
}

[data-bob-page-cols="12"] {
  --panel-columns: 12;
}

[data-bob-page-cols="13"] {
  --panel-columns: 13;
}

[data-bob-page-cols="14"] {
  --panel-columns: 14;
}

[data-bob-page-cols="15"] {
  --panel-columns: 15;
}

[data-bob-page-cols="16"] {
  --panel-columns: 16;
}

[data-bob-page-cols="17"] {
  --panel-columns: 17;
}

[data-bob-page-cols="18"] {
  --panel-columns: 18;
}

[data-bob-page-cols="19"] {
  --panel-columns: 19;
}

[data-bob-page-cols="20"] {
  --panel-columns: 20;
}

[data-bob-page-cols="21"] {
  --panel-columns: 21;
}

[data-bob-page-cols="22"] {
  --panel-columns: 22;
}

[data-bob-page-cols="23"] {
  --panel-columns: 23;
}

[data-bob-page-cols="24"] {
  --panel-columns: 24;
}

.bob-react-panel-dragging {
  opacity: 0.5;
  z-index: 100;
}

.bob-react-item-dragging {
  opacity: 0.4;
  z-index: 100;
}

.bob-react-item-no-pointer {
  pointer-events: none;
}

.bob-react-panel-base {
  flex: 1;
  width: 100%;
  box-sizing: border-box;
}

.bob-react-panel-pair {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  min-width: 0;
  box-sizing: border-box;
}

/* Fix for BobLayoutItem overlay overlapping on the left due to padding-left: 0 */

.bob-react-item .bob-react-overlay {
  left: -4px;
}

/* Mobile Responsiveness */

@media (max-width: 480px) {
  [data-bob-page-cols="2"],
  [data-bob-page-cols="3"],
  [data-bob-page-cols="4"],
  [data-bob-page-cols="5"],
  [data-bob-page-cols="6"],
  [data-bob-page-cols="7"],
  [data-bob-page-cols="8"],
  [data-bob-page-cols="9"],
  [data-bob-page-cols="10"],
  [data-bob-page-cols="11"],
  /* data-bob-page-cols="12" intentional omission here to allow grid fields side-by-side */
  [data-bob-page-cols="13"],
  [data-bob-page-cols="14"],
  [data-bob-page-cols="15"],
  [data-bob-page-cols="16"] {
    grid-template-columns: 1fr !important;
  }

  .bob-react-item {
    padding: var(--q-gap-base) !important;
  }

  /* Horizontal label items stack on mobile */
  .bob-react-item-horizontal {
    grid-template-columns: 1fr !important;
    gap: 4px;
  }

  .bob-react-item-horizontal-content {
    width: 100%;
  }

  /* Tab strip — ensure it's scrollable and has better touch targets */
  .bob-react-tab-strip-scroller {
    margin-bottom: 8px;
  }

  .bob-react-tab {
    padding: 10px 16px; /* Slightly taller for touch */
  }
}

.bob-area-zone-title {
  color: var(--q-text-edit, var(--q-text-base));
}

/* 3. Components */

/* Component Base Styles for @qiiqa/bob-ui */

/* Standard Button Class */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.3rem 0.363281235rem;
  font-size: var(--q-font-size-text, 0.875rem);
  font-weight: 500;
  border-radius: var(--q-border-radius);
  border: 1px solid var(--q-border-color);
  background-color: transparent;
  cursor: pointer;
  transition: all 0.2s;
  color: var(--q-text-base);
  outline: none;
  gap: var(--q-gap-base);
  min-height: var(--bob-btn-size-medium);
  height: auto;
  white-space: nowrap;
  text-align: center;
}

.btn span {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}

html body .btn i,
html body .btn span,
html body .btn .fa-solid,
html body .btn .fa-regular,
html body .btn .q-icon {
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}

/* Icons often look slightly smaller than text of the same font size.
   We boost them to 1.1em to match perceived text height. */

html body .btn i:not(.bob-validation-icon),
html body .btn .fa-solid:not(.bob-validation-icon),
html body .btn .fa-regular:not(.bob-validation-icon),
html body .btn .q-icon:not(.bob-validation-icon) {
  font-size: 1.1em;
}

.btn:hover {
  background-color: var(--q-bg-hover);
  border-color: var(--q-primary);
}

.btn:focus-visible {
  outline: none;
  border-color: var(--q-primary);
  box-shadow: 0 0 0 1px var(--q-primary);
}

.btn:active,
.btn.active,
.btn.btn-active {
  color: var(--q-primary);
  background: var(--q-bg-base);
  border-color: var(--q-border-color);
  position: relative;
}

.btn:active::after,
.btn.active::after,
.btn.btn-active::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0.5rem;
  right: 0.5rem;
  height: 0.125rem;
  background-color: var(--q-primary);
  border-radius: 0.125rem 0.125rem 0 0;
}

.btn:disabled:not(.btn-loading) {
  opacity: var(--q-btn-disabled-opacity, 0.5);
  cursor: not-allowed;
}

.btn.btn-loading {
  opacity: var(--q-btn-loading-opacity, 0.7);
  cursor: default;
}

/* Button Group */

.btn-group {
  display: inline-flex;
  gap: var(--q-control-gap);
  /* flex-wrap: wrap; */
  margin-top: 3px;
  margin-bottom: 3px;
}

@media (max-width: 768px) {
  .btn-group.responsive {
    flex-direction: column;
    width: 100%;
  }
  .btn-group.responsive button.btn {
    border: 1px solid var(--q-border-color);
  }
}

/* Size Modifiers */

.btn-small {
  min-height: var(--bob-btn-size-small);
  font-size: var(--q-font-size-sm);
  padding: 0 0.5rem; /* Reduced padding */
}

.btn-medium {
  min-height: var(--bob-btn-size-medium);
}

button.btn.btn-large {
  min-height: var(--bob-btn-size-large);
  font-size: calc(var(--q-font-size-base) * 1.25);
  padding: 0 1.25rem;
  border: 1px solid var(--q-border-color);
}

/* Icon Button Base */

.btn-icon {
  padding: 0;
  width: var(--bob-btn-size-medium);
  height: var(--bob-btn-size-medium);
  border-radius: var(--q-border-radius);
  border: none !important;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: transparent;
  flex-shrink: 0;
}

button.btn-icon:not(.active):not(.btn-active):not(.btn-is-primary) {
  background-color: var(--q-icon-btn-bg, transparent);
  color: var(
    --q-icon-btn-color,
    var(--q-icon-color-unselected, var(--q-icon-color))
  );
}

button.btn-icon.btn-is-primary {
  color: var(--q-primary);
  background-color: transparent;
}

button.btn-icon.active,
button.btn-icon.btn-active {
  color: var(--q-primary);
  background-color: var(--q-bg-hover);
}

/* Success and Danger icon buttons SHOULD remain solid blocks */

button.btn-icon.btn-danger,
button.btn-icon.btn-is-primary.btn-danger {
  color: var(--q-danger-text, #ffffff);
  background-color: var(--q-danger);
  border: none !important;
}

button.btn-icon.btn-success,
button.btn-icon.btn-is-primary.btn-success {
  color: var(--q-success-text, #ffffff);
  background-color: var(--q-success);
  border: none !important;
}

/* Icon Button Size Overrides */

.btn-icon.btn-small {
  width: var(--bob-btn-size-small);
  height: var(--bob-btn-size-small);
}

.btn-icon.btn-large {
  width: var(--bob-btn-size-large);
  height: var(--bob-btn-size-large);
}

/* Variants - Using higher specificity to ensure theme colors take precedence over structural styles */

button.btn.btn-primary,
button.btn.btn-is-primary {
  background-color: var(--q-primary);
  border: 1px solid var(--q-primary);
  color: var(--q-primary-text);
}

button.btn.btn-primary i,
button.btn.btn-primary span,
button.btn.btn-primary .fa-solid,
button.btn.btn-primary .fa-regular,
button.btn.btn-is-primary i,
button.btn.btn-is-primary span,
button.btn.btn-is-primary .fa-solid,
button.btn.btn-is-primary .fa-regular {
  color: inherit;
}

button.btn.btn-primary:hover,
button.btn.btn-is-primary:hover {
  background-color: var(--q-primary-hover);
  border-color: var(--q-primary);
  opacity: 0.9;
}

button.btn.btn-secondary {
  background-color: var(--q-secondary);
  border: 1px solid var(--q-secondary);
  color: var(--q-secondary-text);
}

button.btn.btn-secondary i,
button.btn.btn-secondary .fa-solid,
button.btn.btn-secondary .fa-regular {
  color: inherit;
}

button.btn.btn-secondary:hover {
  background-color: var(--q-secondary-hover, var(--q-secondary));
  opacity: 0.9;
}

button.btn.btn-danger {
  background-color: var(--q-danger);
  border: 1px solid var(--q-danger);
  color: var(--q-danger-text);
}

button.btn.btn-danger:hover {
  opacity: 0.9;
  background-color: var(--q-danger);
}

button.btn.btn-success {
  background-color: var(--q-success);
  border: 1px solid var(--q-success);
  color: var(--q-success-text);
}

button.btn.btn-success:hover {
  opacity: 0.9;
  background-color: var(--q-success);
}

/* Ghost Variant */

button.btn.btn-ghost {
  background-color: transparent;
  border-color: transparent;
  color: var(--q-text-muted);
}

button.btn.btn-ghost:hover {
  background-color: var(--q-bg-hover);
  color: var(--q-text);
}

/* Ensure icon buttons with variants have transparent backgrounds by default to avoid color clashes */

/* EXCEPT for Success and Danger which should show their background as per Phase 7 */

.btn-icon.btn-secondary {
  background-color: transparent;
  border-color: var(--q-border-color);
}

/* Icon button primary/secondary color defaults */

button.btn-icon.btn-primary:not(.active):not(.btn-active),
button.btn-icon.btn-is-primary:not(.active):not(.btn-active) {
  color: var(--q-primary);
}

button.btn-icon.btn-secondary:not(.active):not(.btn-active) {
  color: var(--q-secondary, var(--q-text-muted));
}

.btn-icon.btn-primary:hover,
.btn-icon.btn-is-primary:hover,
.btn-icon.btn-secondary:hover {
  background-color: var(--q-primary);
  color: var(--q-bg-base);
  border-color: var(--q-primary);
}

.btn-icon.btn-primary:hover *,
.btn-icon.btn-is-primary:hover *,
.btn-icon.btn-secondary:hover * {
  color: inherit;
}

button.btn-icon.btn-danger:hover {
  background-color: var(--q-danger);
  opacity: 0.9;
  border-color: var(--q-danger);
}

button.btn-icon.btn-success:hover {
  background-color: var(--q-success);
  opacity: 0.9;
  border-color: var(--q-success);
}

/* Theme Variant Rules */

.theme-variant-clean
  .btn:not(.btn-success):not(.btn-danger):not(.btn-is-primary):not(
    .btn-active
  ):not(.active) {
  border-color: transparent;
  background-color: transparent;
}

.theme-variant-clean
  .btn:not(.btn-success):not(.btn-danger):not(.btn-is-primary):not(
    .btn-active
  ):not(.active).btn-secondary {
  color: var(--q-secondary);
}

.theme-variant-clean
  .btn:not(.btn-success):not(.btn-danger):not(.btn-is-primary):not(
    .btn-active
  ):not(.active).btn-primary {
  color: var(--q-primary);
}

.theme-variant-clean
  .btn-icon:not(.btn-is-primary):not(.btn-active):not(.active) {
  border-color: transparent;
  background-color: transparent;
}

/* Ensure btn-is-primary overrides ANY other variant class (e.g. secondary) if they happen to both be present */

/* Use button tag to increase specificity and avoid !important */

button.btn.btn-is-primary,
button.btn-icon.btn-is-primary {
  background-color: var(--q-primary);
  border-color: var(--q-primary);
  color: var(--q-primary-text, var(--q-bg-base));
}

button.btn.btn-is-primary:hover,
button.btn-icon.btn-is-primary:hover {
  background-color: var(--q-primary-hover);
  border-color: var(--q-primary);
  opacity: 0.9;
}

/* Utilities */

.q-btn-ghost-padding-0 {
  padding: 0;
}

/* Input Styles for @qiiqa/bob-ui */

.q-input-wrapper {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
  border: 1px solid var(--q-border-color);
  border-radius: var(--q-border-radius);
  background-color: var(--q-bg-base);
  height: var(--q-input-height);
  transition:
    border-color 0.2s,
    box-shadow 0.2s,
    background-color 0.2s;
}

.q-input-wrapper:focus-within {
  border-color: var(--q-primary);
  outline: none;
  box-shadow: 0 0 0 1px var(--q-primary);
}

.q-input {
  flex: 1;
  border: none;
  background: transparent;
  padding: 0 var(--q-padding-base);
  height: 100%;
  width: 100%;
  min-width: 0;
  outline: none;
  color: var(--q-text-edit);
  /* Default to dark gray/black fallback */
  font-size: var(--q-font-size-text, 0.875rem);
}

.q-input:focus-visible {
  outline: none;
}

input::placeholder,
textarea::placeholder,
.q-input::placeholder,
.q-currency-input::placeholder,
.q-input-wrapper textarea.q-input::placeholder,
.q-input-wrapper .q-input::placeholder {
  color: var(--q-text-placeholder, var(--q-text-readonly));
  opacity: 1;
}

/* Light theme: always use dark text regardless of any inherited or inline CSS variable values. */

.theme-light .q-input-wrapper .q-input,
.theme-light input,
.theme-light textarea {
  color: var(--q-text-edit);
}

.theme-light .q-currency-wrapper .q-currency-input {
  color: var(--q-text-edit);
}

/* Placeholder defaults per theme class.
   The VariantDesigner overrides these via its injected <style> tag when a custom color is chosen. */

.theme-light .q-input::placeholder,
.theme-light input::placeholder,
.theme-light textarea::placeholder,
.theme-light .q-currency-input::placeholder {
  color: var(--q-text-readonly);
}

.theme-dark .q-input::placeholder,
.theme-dark input::placeholder,
.theme-dark textarea::placeholder,
.theme-dark .q-currency-input::placeholder {
  color: var(--q-text-readonly);
}

/* ReadOnly & Disabled States */

div.q-input-wrapper.q-readonly,
div.q-input-wrapper.q-disabled {
  /* background-color: transparent;
  border-style: dotted; */
  border-color: var(--q-border-color);
}

div.q-input-wrapper.q-readonly .q-input,
div.q-input-wrapper.q-readonly .q-input[readonly] {
  color: var(--q-text-edit);
  opacity: 0.85;
}

.q-input:disabled,
.q-input[readonly] {
  cursor: default;
  background: transparent;
}

.q-input:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

/* Standard Right Icon for inputs (F4/Popup indicator) */

.q-input-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--q-input-height);
  height: 100%;
  cursor: pointer;
  color: var(--q-icon-color);
  transition: color 0.2s;
  border-left: 1px solid var(--q-border-color);
}

.q-input-icon:hover {
  color: var(--q-icon-hover-color);
  background-color: var(--q-bg-hover);
}

/* Multiline/Memo variant */

.q-input-wrapper.multiline {
  height: auto;
  min-height: calc(var(--q-input-height) * 3);
  align-items: flex-start;
}

.q-input-wrapper.multiline .q-input {
  padding: var(--q-padding-base);
  resize: vertical;
}

textarea.q-input.q-expand-vertical {
  height: 100%;
  flex: 1;
}

/* Currency Wrapper */

.q-currency-wrapper {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
  border: 1px solid var(--q-border-color);
  border-radius: var(--q-border-radius);
  background-color: var(--q-bg-base);
  height: var(--q-input-height, 2.25rem);
  transition:
    border-color 0.2s,
    box-shadow 0.2s,
    background-color 0.2s;
}

.q-currency-wrapper:focus-within {
  border-color: var(--q-primary);
  outline: none;
  box-shadow: 0 0 0 1px var(--q-primary);
}

div.q-currency-wrapper.q-readonly,
div.q-currency-wrapper.q-disabled {
  background-color: transparent;
  border-style: dotted;
  border-color: var(--q-border-color);
}

div.q-currency-wrapper.q-readonly .q-input,
div.q-currency-wrapper.q-readonly .q-input[readonly],
div.q-currency-wrapper.q-disabled .q-input {
  color: var(--q-text-edit);
  opacity: 0.85;
}

/* Currency Inputs: hide arrows */

.q-currency-input::-webkit-outer-spin-button,
.q-currency-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
}

.q-currency-input[type=number] {
  -moz-appearance: textfield;
  appearance: textfield;
}

.q-currency-symbol-area {
  display: flex;
  align-items: center;
  position: relative;
  height: calc(100% - 6px); /* Inset lightly for a modern 'pill' feel */
  margin: 3px 0 3px 3px;
  border-radius: calc(var(--q-border-radius) - 2px);
  transition: background-color 0.2s, border-color 0.2s;
}

.q-currency-changeable .q-currency-symbol-area {
  cursor: pointer;
  background-color: transparent;
  padding: 0 0.5rem;
}

.q-currency-changeable .q-currency-symbol-area:hover {
  background-color: var(--q-bg-hover);
}

/* Subtle vertical divider */

.q-currency-changeable .q-currency-symbol-area::after {
  content: "";
  position: absolute;
  right: -4px;
  top: 20%;
  height: 60%;
  width: 1px;
  background-color: var(--q-border-color);
  opacity: 0.6;
}

.q-currency-symbol {
  color: var(--q-text-dropdown, var(--q-text-base));
  font-weight: 500;
  display: flex;
  align-items: center;
  height: 100%;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  padding: 0 4px;
}

.q-currency-chevron {
  font-size: 0.625rem;
  color: var(--q-text-placeholder, var(--q-text-readonly));
  margin-left: 0.25rem;
  pointer-events: none;
  transition: color 0.15s ease;
}

.q-currency-changeable .q-currency-symbol-area:hover .q-currency-chevron {
  color: var(--q-text-base);
}

.q-currency-select-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

.q-currency-input {
  flex: 1;
  border: none;
  background: transparent;
  height: 100%;
  width: 100%;
  outline: none;
  color: var(--q-text-edit);
  font-size: var(--q-font-size-text, 0.875rem);
  padding: 0 var(--q-padding-base, 0.75rem);
}

.q-currency-input:focus-visible {
  outline: none;
}

/* Validation Statuses */

.q-input-wrapper.q-error {
  border-color: var(--q-danger);
}

.q-input-wrapper.q-validating::after {
  content: "";
  position: absolute;
  right: 0.75rem;
  top: calc(50% - 0.375rem);
  width: 0.75rem;
  height: 0.75rem;
  border: 2px solid var(--q-primary);
  border-radius: 50%;
  border-top-color: transparent;
  animation: q-spin 0.6s linear infinite;
  pointer-events: none;
}

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

.q-input-wrapper.q-valid::after {
  content: "✓";
  position: absolute;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--q-success);
  font-weight: bold;
  pointer-events: none;
}

/* Adjust padding if status icon is present */

.q-input-wrapper.q-validating .q-input,
.q-input-wrapper.q-valid .q-input {
  padding-right: 2rem;
}

/* Validation Panel used in BobValidation */

.bob-validation-panel {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.25rem;
  font-size: var(--q-font-size-sm);
}

.bob-validation-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  font-size: 0.625rem;
  border-radius: 50%;
  font-style: normal;
}

.bob-validation-icon.success {
  background-color: var(--q-success);
  color: var(--q-bg-base);
}

.bob-validation-icon.success::before {
  content: var(--bob-icon-val-success, "✓");
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}

.bob-validation-icon.failure {
  background-color: var(--q-danger);
  color: var(--q-bg-base);
}

.bob-validation-icon.failure::before {
  content: var(--bob-icon-val-failure, "✕");
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}

.bob-validation {
  color: var(--q-danger);
  font-size: var(--q-font-size-sm);
}

/* Standalone BobText input style */

.bob-text-input {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
  border: 1px solid var(--q-border-color);
  border-radius: var(--q-border-radius);
  background-color: var(--q-bg-base);
  height: var(--q-input-height);
  padding: 0 var(--q-padding-base);
  font-size: var(--q-font-size-text, 0.875rem);
  color: var(--q-text-edit);
  outline: none;
  transition:
    border-color 0.2s,
    box-shadow 0.2s,
    background-color 0.2s;
  box-sizing: border-box;
}

.bob-text-input:focus {
  border-color: var(--q-primary);
  outline: none;
  box-shadow: 0 0 0 1px var(--q-primary);
}

.bob-text-input::placeholder {
  font-size: inherit;
  color: var(--q-text-placeholder, var(--q-text-readonly));
}

.q-input-readonly-tokens {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Upload input field: make it look and feel clickable */

.q-upload-input-field:not(.q-upload-readonly-mode) .q-input {
  cursor: pointer;
}

.q-upload-input-field:not(.q-upload-readonly-mode):hover {
  background-color: var(--q-bg-hover);
}

.q-upload-input-field:not(.q-upload-readonly-mode):active {
  background-color: rgba(var(--q-primary-rgb, 37, 99, 235), 0.1);
}

/* Select and Checkbox Styles for @qiiqa/bob-ui */

/* Select */

.q-select-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  border: 1px solid var(--q-border-color);
  border-radius: var(--q-border-radius);
  background-color: var(--q-bg-base);
  height: var(--q-input-height);
  overflow: hidden;
  transition:
    border-color 0.2s,
    box-shadow 0.2s;
}

.q-select-wrapper:focus-within {
  border-color: var(--q-primary);
  outline: none;
  box-shadow: 0 0 0 1px var(--q-primary);
}

.q-select {
  flex: 1;
  border: none;
  background-color: var(--q-bg-base);
  padding: 0 var(--q-input-height) 0 var(--q-padding-base); /* Add padding right so text doesn't overlap icon */
  height: 100%;
  width: 100%;
  outline: none;
  color: var(--q-text-dropdown, var(--q-text-edit, var(--q-text-base)));
  font-size: 0.875rem;
  font-family: inherit;
  appearance: none;
  cursor: pointer;
  position: relative;
  z-index: 1; /* Floats above the absolute icon to catch clicks natively */
  margin-right: 6px;
  margin-left: -3px;
}

.q-select:focus-visible {
  outline: none;
}

/* Force OS-level dropdown menus to respect dynamic theme contrast */

html.theme-light .q-select-wrapper .q-select option,
html.theme-light .q-select:focus option,
html.theme-light .q-select option,
html.theme-light select option {
  background-color: var(--q-bg-dropdown, #ffffff) !important;
  color: var(--q-text-base, #1a1a1a) !important;
}

html.theme-dark .q-select-wrapper .q-select option,
html.theme-dark .q-select:focus option,
html.theme-dark .q-select option,
html.theme-dark select option {
  background-color: var(--q-bg-dropdown, #1e293b) !important;
  color: var(--q-text-base, #f8fafc) !important;
}

.q-select-wrapper.q-disabled .q-select {
  color: var(--q-text-edit);
  opacity: 0.85;
  cursor: not-allowed;
}

/* Standard Look for Select Dropdown Icon (Matches q-input-icon) */

.q-select-icon {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 2; /* Ensure it stays above the border and background of the select box */
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--q-input-height);
  height: 100%;
  pointer-events: none;
  color: var(--q-icon-color);
  border-left: 1px solid var(--q-border-color);
  font-size: 8px;
  /* Scaled */
}

.q-select-wrapper.q-disabled .q-select-icon {
  opacity: 0.6;
}

/* Choice Icons Wrapper */

.q-choice-icons-wrapper {
  display: inline-flex;
  align-items: center;
  gap: var(--q-control-gap);
  flex-wrap: wrap;
}

.q-choice-icons-wrapper button.btn.q-selected:hover {
  background-color: var(--q-bg-hover);
  color: var(--q-primary);
  border-color: var(--q-primary);
}

/* Ensure the icon itself also follows the primary color on hover if selected */

.q-choice-icons-wrapper button.btn.q-selected:hover i {
  color: var(--q-primary);
}

/* Checkbox */

.q-checkbox-wrapper {
  display: inline-flex;
  align-items: center;
  gap: var(--q-control-gap);
  cursor: pointer;
  user-select: none;
}

.q-checkbox {
  appearance: none;
  width: 1.25rem;
  height: 1.25rem;
  aspect-ratio: 1/1;
  border: 1px solid var(--q-border-color);
  border-radius: 4px;
  background-color: var(--q-bg-hover);
  cursor: pointer;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
  flex-shrink: 0;
  position: relative;
  outline: none;
}

input.q-checkbox:focus-visible {
  outline: none;
  border-color: var(--q-primary);
  box-shadow: 0 0 0 1px var(--q-primary);
}

.q-checkbox[data-state="unchecked"]::after {
  content: "✕";
  color: var(--q-text-muted);
  font-size: 10px;
  font-weight: bold;
  opacity: 0.8;
}

.q-checkbox[data-state="unset"]::after {
  content: "?";
  color: var(--q-warning);
  font-size: 12px;
  font-weight: bold;
}

.q-checkbox[data-state="checked"] {
  background-color: var(--q-text-edit);
  border-color: var(--q-text-edit);
}

.q-checkbox[data-state="checked"]::after {
  content: "";
  width: 5px;
  height: 10px;
  border: solid var(--q-checkbox-tick-color, var(--q-text-on-dark));
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
  display: block;
  margin-top: -2px;
}

.q-checkbox-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.875rem;
  font-family: inherit;
  color: var(--q-text-base);
}

.q-checkbox-wrapper.q-readonly .q-checkbox-label,
.q-checkbox-wrapper.q-disabled .q-checkbox-label {
  color: var(--q-text-edit);
  opacity: 0.85;
}

/* Choice / Radio */

.q-choice-wrapper {
  display: flex;
  /* flex-direction: column; */
  gap: 8px;
  flex-wrap: wrap;
}

.q-choice-group {
  display: flex;
  flex-wrap: wrap;
  gap: var(--q-control-gap);
}

.q-choice-item,
.q-choice-option {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  /* Scaled */
  cursor: pointer;
}

.q-choice-label {
  font-size: 0.875rem;
  font-family: inherit;
  color: var(--q-text-base);
}

.q-choice-group.q-disabled .q-choice-label {
  color: var(--q-text-edit);
  opacity: 0.85;
}

/* Ensure global read-only class applies if group-level */

.q-choice-group.q-readonly .q-choice-label {
  color: var(--q-text-edit);
  opacity: 0.85;
}

.q-choice-item input[type="radio"],
.q-choice-option input[type="radio"],
.q-choice-input {
  margin: 0;
  cursor: pointer;
  accent-color: var(--q-text-edit);
}

/* Modal and Popup Styles for @qiiqa/bob-ui */

.q-dialog {
  border-radius: 8px;
  border: 3px solid var(--q-border-color);
  padding: 3px;
  overflow: hidden;
  background-color: var(--q-surface);
  box-shadow: var(--q-shadow-container);
}

.q-dialog::backdrop {
  background-color: rgba(0, 0, 0, 0.5);
}

.q-dialog-inner {
  border-radius: 6px;
  background-color: var(--q-surface);
  padding: var(--q-padding-base, 12px);
  display: flex;
  flex-direction: column;
}

.q-dialog-header {
  border-bottom: 1px solid var(--q-border-color);
  padding-bottom: 12px;
  margin-bottom: 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.q-dialog-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--q-color-heading, var(--q-text-base));
}

.q-dialog-content {
  display: flex;
  flex-direction: column;
  gap: var(--q-gap-base, 8px);
  color: var(--q-text-base);
}

.q-dialog-footer {
  border-top: 1px solid var(--q-border-color);
  padding-top: 12px;
  margin-top: 12px;
}

.q-dialog-footer .btn-group {
  margin-top: 0;
  justify-content: flex-end;
}

.q-dialog-footer .btn-group.btn-group-spread {
  justify-content: space-between;
  width: 100%;
}

.q-dialog-header-close {
  padding: 0;
  min-width: 24px;
  height: 24px;
}

.q-dialog-message {
  margin-top: 4px;
  color: var(--q-text-base);
}

/* Input text inside dialogs should match the dialog's text colour scheme */

.q-dialog-content .q-input,
.q-dialog-content input {
  color: var(--q-text-base);
}

.q-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--q-overlay-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}

div.q-modal {
  background-color: var(--q-bg-base);
  border: 1px solid var(--q-border-color);
  border-radius: var(--q-border-radius);
  box-shadow: var(--q-shadow-container);
  width: 100%;
  max-width: min(500px, 95vw);
  padding: var(--q-padding-base);
  display: flex;
  flex-direction: column;
  gap: var(--q-spacer);
}

.q-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--q-border-color);
  padding-bottom: var(--q-gap-base);
}

.q-modal-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--q-color-heading, var(--q-text-base));
}

.q-modal-content {
  display: flex;
  flex-direction: column;
  gap: var(--q-gap-base);
  color: var(--q-text-base);
}

.q-modal-footer {
  display: flex;
  justify-content: flex-end;
  gap: var(--q-gap-base);
  border-top: 1px solid var(--q-border-color);
  padding-top: var(--q-gap-base);
}

/* Popup - A more advanced modal type */

div.q-popup {
  padding: 0;
  border: 1px solid var(--q-border-color);
  background-color: var(--q-bg-base);
  box-shadow: var(
    --q-shadow-modal,
    0 20px 25px -5px rgb(0 0 0 / 0.1),
    0 8px 10px -6px rgb(0 0 0 / 0.1)
  );
  overflow: hidden;
  flex-direction: column;
}

.q-popup[open] {
  display: flex;
}

.q-popup:not([open]) {
  display: none;
}

.q-popup-large {
  width: 90vw;
  height: 90vh;
}

.q-popup-medium {
  width: 60vw;
  height: 60vh;
}

.q-popup-small {
  width: 40vw;
  height: 40vh;
}

.q-popup-full {
  width: 100vw;
  height: 100vh;
  border-radius: 0;
}

.q-popup-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.q-popup-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: clamp(8px, 2vh, 16px) clamp(10px, 2.5vw, 20px);
  border-bottom: 1px solid var(--q-border-color);
  background: var(--q-bg-subtle);
}

.q-popup-title {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--q-color-heading, var(--q-text-base));
}

.q-popup-close-btn {
  background: transparent;
  border: none;
  cursor: pointer;
  color: var(--q-text-muted, #64748b);
  padding: 4px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  transition: all 0.2s;
}

.q-popup-close-btn:hover {
  background-color: var(--q-bg-hover, rgba(0, 0, 0, 0.05));
  color: var(--q-text-base);
}

.q-popup-content {
  flex: 1;
  padding: clamp(12px, 3vw, 24px);
  overflow-y: auto;
  color: var(--q-text-base);
}

.q-popup-footer {
  padding: clamp(6px, 1.5vh, 12px) clamp(10px, 2.5vw, 20px);
  border-top: 1px solid var(--q-border-color);
  background: var(--q-bg-subtle);
  display: flex;
  justify-content: flex-end;
  gap: var(--q-control-gap);
}

/* === Validation / Error Dialog State === */

@keyframes bob-pulse-red {
  0%, 100% { box-shadow: 0 0 0 0 var(--q-danger); }
  50%       { box-shadow: 0 0 0 4px color-mix(in srgb, var(--q-danger) 40%, transparent); }
}

.q-dialog-validation {
  border-color: var(--q-danger);
  animation: bob-pulse-red 1.6s ease-in-out infinite;
}

.q-dialog-error-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
  color: var(--q-danger);
  margin-bottom: var(--q-gap-base);
}

.q-dialog-error-code {
  font-size: var(--q-font-size-sm);
  color: var(--q-danger);
  font-weight: 600;
  margin-bottom: calc(var(--q-gap-base) / 2);
  text-align: center;
}

.q-dialog-error-hint {
  font-size: var(--q-font-size-base);
  color: var(--q-text-base);
  text-align: center;
}

/* Pulse the title text red when in validation mode */

.q-dialog-validation .q-dialog-title {
  color: var(--q-danger);
}

/* Mobile Responsiveness for Modals/Popups */

@media (max-width: 768px) {
  .q-popup-large {
    width: 98vw;
    height: 95vh;
  }
  .q-popup-medium {
    width: 95vw;
    height: 80vh;
  }
  .q-popup-small {
    width: 92vw;
    height: auto;
    max-height: 80vh;
  }
  .q-popup-full {
    width: 100vw;
    height: 100vh;
  }
  .q-popup-content {
    padding: 12px;
  }
}

/* TabStrip Styles for @qiiqa/bob-ui */

.q-tab-strip {
  display: flex;
  gap: 2px;
  border-bottom: 1px solid var(--q-border-color);
  margin-bottom: var(--q-spacer);
  padding-bottom: 0;
}

.q-tab {
  padding: 0.5rem 1rem;
  cursor: pointer;
  border: 1px solid transparent;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px; /* overlap the strip border */
  transition: color 0.15s, background-color 0.15s, border-bottom-color 0.15s;
  font-weight: 500;
  font-size: 0.9rem;
  color: var(--q-tab-text-inactive, var(--q-text-muted));
  background-color: transparent;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
}

.q-tab:hover {
  background-color: var(--q-bg-hover);
  color: var(--q-text-base);
  border-bottom-color: var(--q-border-color);
}

.q-tab.active {
  border-bottom-color: var(--q-primary);
  color: var(--q-primary);
  background-color: var(--q-bg-hover);
}

/* Active tab hover: keep the primary indicator, just brighten slightly */

.q-tab.active:hover {
  background-color: var(--q-bg-subtle, var(--q-bg-hover));
  border-bottom-color: var(--q-primary);
  color: var(--q-primary);
}

/* Theme Variant Rules */

.theme-variant-clean .q-tab {
  border-color: transparent;
}

.theme-variant-clean .q-tab.active {
  border-bottom-color: var(--q-primary);
}

/* Toast Styles for @qiiqa/bob-ui */

.q-toast-container {
  position: fixed;
  top: var(--q-toast-top-offset, 1rem);
  right: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  z-index: 2000;
}

.q-toast {
  min-width: 300px;
  padding: 1rem;
  background-color: var(--q-bg-base);
  border-left: 4px solid var(--q-primary);
  border-radius: var(--q-border-radius);
  box-shadow: var(--q-shadow-sm);
  display: flex;
  align-items: center;
  justify-content: space-between;
  animation: slideIn 0.3s ease-out;
  color: var(--q-text-toast, var(--q-text-demo-label, var(--q-text-muted)));
}

.q-toast.success {
  border-left-color: var(--q-success);
}

.q-toast.danger {
  border-left-color: var(--q-danger);
}

.q-toast.warning {
  border-left-color: var(--q-warning);
}

@keyframes slideIn {
  from {
    transform: translateX(100%);
    opacity: 0;
  }

  to {
    transform: translateX(0);
    opacity: 1;
  }
}

.q-toast-content {
  flex: 1;
}

.q-toast-close {
  cursor: pointer;
  padding: 0.25rem;
  opacity: 0.5;
}

.q-toast-close:hover {
  opacity: 1;
}

/* Pagination Styles for @qiiqa/bob-ui */

.q-pagination {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: var(--q-spacer);
}

.q-pagination-btn {
  padding: 0.25rem 0.5rem;
  min-width: 2rem;
  border: 1px solid var(--q-border-color);
  border-radius: var(--q-border-radius);
  background: var(--q-bg-hover); /* Match q-tab */
  color: var(--q-text-base);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--q-font-size-sm);
  transition: all 0.2s;
}

.q-pagination-btn:hover {
  background-color: var(--q-bg-hover);
  color: var(--q-primary);
}

.q-pagination-btn.active {
  background: transparent;
  color: var(--q-primary);
  border-color: transparent;
  border-bottom: 2px solid var(--q-primary);
  border-radius: var(--q-border-radius) var(--q-border-radius) 0 0;
}

/* Theme Variant Rules */

.theme-variant-clean .q-pagination-btn {
  border-color: transparent;
  background: transparent; /* Clean theme usually has transparent backgrounds */
}

.theme-variant-clean .q-pagination-btn.active {
  border-bottom-color: var(--q-primary);
  background: transparent;
}

.q-pagination-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  background: var(--q-bg-base); /* Faded out */
}

/* Bob Table Styles */

.q-table-container {
    width: 100%;
    min-width: 0;
    overflow-x: auto;
    border: 1px solid var(--q-border-color);
    border-radius: var(--q-border-radius);
    background: var(--q-bg);
}

.q-table-container::-webkit-scrollbar {
    height: 4px;
}

.q-table-container::-webkit-scrollbar-thumb {
    background: var(--q-border-color);
    border-radius: 10px;
}

.q-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}

.q-table th {
    text-align: left;
    padding: 0.75rem;
    width: var(--col-width, auto);
    background: var(--q-bg-hover);
    border-bottom: 1px solid var(--q-border-color);
    cursor: pointer;
    user-select: none;
    position: relative;
    font-weight: 600;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.q-table th:hover {
    background: var(--q-bg-active);
}

.q-table td {
    padding: 0.75rem;
    border-bottom: 1px solid var(--q-border-color);
    vertical-align: middle;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.q-table td .bob-react-item {
    margin-bottom: 0 !important;
    gap: 0 !important;
}

.q-table tr:last-child td {
    border-bottom: none;
}

.q-table tr:hover {
    background: var(--q-bg-hover);
    cursor: pointer;
}

.q-table-empty-message {
    text-align: center;
    padding: 2rem;
    color: var(--q-text-muted);
}

@media (max-width: 768px) {
  .q-table {
    font-size: 0.75rem;
  }
  .q-table th,
  .q-table td {
    padding: 4px 2px;
    min-width: 0;
  }
}

/* ==========================================================================
   Icon Mappings - Master mapping for component icons
   Allows themes to override these variables to change icons globally.
   Usage: <i className="fa-solid bob-icon-nav-prev"></i>
   ========================================================================== */

:root {
  --bob-icon-nav-prev: "\f077"; /* fa-chevron-up */
  --bob-icon-nav-next: "\f078"; /* fa-chevron-down */
  --bob-icon-back: "\f060"; /* fa-arrow-left */
  --bob-icon-edit: "\f044"; /* fa-pen-to-square */
  --bob-icon-save: "\f0c7"; /* fa-floppy-disk */
  --bob-icon-undo: "\f2ea"; /* fa-rotate-left */
  --bob-icon-delete: "\f2ed"; /* fa-trash-can */
  --bob-icon-refresh: "\f021"; /* fa-arrows-rotate */
  --bob-icon-col-far-left: "\f100"; /* fa-angles-left */
  --bob-icon-col-left: "\f104"; /* fa-angle-left */
  --bob-icon-col-center: "\f111"; /* fa-circle */
  --bob-icon-col-right: "\f105"; /* fa-angle-right */
  --bob-icon-col-far-right: "\f101"; /* fa-angles-right */
}

.bob-icon-nav-prev::before { content: var(--bob-icon-nav-prev) !important; }

.bob-icon-nav-next::before { content: var(--bob-icon-nav-next) !important; }

.bob-icon-back::before { content: var(--bob-icon-back) !important; }

.bob-icon-edit::before { content: var(--bob-icon-edit) !important; }

.bob-icon-save::before { content: var(--bob-icon-save) !important; }

.bob-icon-undo::before { content: var(--bob-icon-undo) !important; }

.bob-icon-delete::before { content: var(--bob-icon-delete) !important; }

.bob-icon-refresh::before { content: var(--bob-icon-refresh) !important; }

.bob-icon-col-far-left::before { content: var(--bob-icon-col-far-left) !important; }

.bob-icon-col-left::before { content: var(--bob-icon-col-left) !important; }

.bob-icon-col-center::before { content: var(--bob-icon-col-center) !important; }

.bob-icon-col-right::before { content: var(--bob-icon-col-right) !important; }

.bob-icon-col-far-right::before { content: var(--bob-icon-col-far-right) !important; }

/* Choice Group */

.q-choice-group {
  display: flex;
  gap: var(--q-control-gap);
  flex-wrap: wrap;
}

.q-choice-item {
  display: flex;
  align-items: center;
  gap: var(--q-control-gap, 4px);
  cursor: pointer;
}

/* Picture Box */

.q-picture-box {
  border: 1px dashed var(--q-border-color);
  border-radius: var(--q-border-radius);
  padding: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 9.375rem;
  background: var(--q-bg-hover);
  aspect-ratio: 1 / 1;
  max-height: 25rem;
  max-width: 25rem;
  position: relative;
  overflow: hidden;
  transition: all 0.2s ease-in-out;
}

.q-picture-dragover {
  border-color: var(--q-primary);
  background: var(--q-primary-alpha-15);
  /* A bit of a tint */
}

.q-picture-preview {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--q-gap-base);
}

/* Placeholder (no image yet) — fills the box so the upload button is bounded */

.q-picture-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 80px;
  overflow: hidden;
}

/* Constrain the button to the placeholder width */

.q-picture-placeholder .btn {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  height: auto;
  min-height: var(--bob-btn-size-medium, 36px);
  padding-block: 0.375rem;
}

/* Allow each word to sit on its own line */

.q-picture-placeholder .btn span {
  display: block;
  white-space: normal;
  word-break: break-word;
  text-align: center;
  min-width: 0;
}

/* 4. Utilities (highest priority) - Empty for now, as per plan to skip Bootstrap-like utilities */

.q-picture-controls {
  position: absolute;
  bottom: 0.5rem;
  right: 0.5rem;
  display: flex;
  gap: 0.5rem;
  z-index: 10;
}

.q-picture-remove-group {
  display: flex;
  gap: 0.5rem;
}

.q-picture-placeholder-icon {
  font-size: 3rem;
  opacity: 0.3;
  margin-bottom: 1rem;
}

.q-picture-placeholder-text {
  font-size: 0.8rem;
  color: var(--q-text-muted);
  text-align: center;
}/* src/components/BobDevAuthPanel.css */
.bob-dev-auth-initials {
  border-radius: 20px !important;
  padding: 5px;
}
.premium-card {
  background-color: var(--q-bg-surface, var(--bob-bg-surface)) !important;
  border: 1px solid var(--q-border-color, var(--bob-border, rgba(0, 0, 0, 0.08))) !important;
  border-radius: var(--q-border-radius, var(--bob-radius, 4px)) !important;
}
.bob-auth-dev-cards-grid-flow {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 16px;
}

/* src/components/BobAuthProfilePanel.css */
.bob-auth-profile-panel {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  background-color: var(--bob-bg-surface);
  border-radius: var(--bob-radius);
  overflow: hidden;
}
.bob-auth-profile-content {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 0;
}
.bob-auth-profile-panel .bob-react-page {
  column-gap: 8px !important;
  padding: 0 !important;
}
.bob-auth-profile-panel .bob-react-panel {
  padding: 12px !important;
  margin: 0 !important;
  border-radius: 8px;
  background-color: var(--bob-bg-surface);
}
.bob-auth-profile-panel .bob-react-panel-header {
  margin-bottom: 12px !important;
}
.bob-auth-profile-panel .bob-react-page {
  overflow: visible !important;
}
.bob-auth-profile-panel .bob-form-page {
  padding: 1.5rem;
}
.bob-auth-profile-panel .bob-bar {
  border-bottom: 1px solid var(--bob-border);
  background-color: var(--bob-bg-base);
}
.bob-auth-profile-panel .bob-form-group {
  margin-bottom: 1.5rem;
}
.bob-auth-profile-panel .bob-form-field {
  margin-bottom: 1rem;
}
.bob-popup-area-content:has(.bob-auth-profile-panel) {
  max-height: 90vh;
}

/* src/components/AuthComponents.css */
.bob-auth-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1;
  border-radius: 0.25rem;
  background-color: var(--bob-primary-subtle, rgba(0, 123, 255, 0.1));
  color: var(--bob-primary, #007bff);
}
.bob-auth-badge--primary {
  background-color: var(--bob-primary-subtle, rgba(0, 123, 255, 0.1));
  color: var(--bob-primary, #007bff);
}
.bob-auth-badge--subtle {
  background-color: var(--bob-primary-subtle, rgba(0, 123, 255, 0.05));
}
.bob-auth-header-content {
  text-align: left;
  margin-bottom: 1rem;
}
.bob-auth-welcome-title {
  font-family: var(--q-font-family, inherit);
  font-size: 1.15rem;
  font-weight: 600;
  margin: 0;
  color: var(--bob-auth-text-primary, inherit);
}
.bob-auth-welcome-desc {
  font-family: var(--q-font-family, inherit);
  font-size: 0.85rem;
  color: var(--bob-auth-text-secondary, #aaa);
  margin-top: 0.5rem;
  margin-bottom: 0;
}
.bob-auth-footer-text {
  text-align: center;
  font-size: 0.85rem;
  color: var(--bob-auth-text-secondary, #aaa);
  font-family: var(--q-font-family, inherit);
}
.bob-auth-form-content {
  width: 100%;
  max-width: 50rem;
  margin: 0 auto;
}
.bob-auth-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.bob-auth-form-row {
  display: flex;
  gap: 1rem;
  width: 100%;
}
.bob-auth-form-row .bob-form-field {
  flex: 1;
  min-width: 0;
}
.bob-auth-field-label {
  display: block;
  margin-bottom: 0.25rem;
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--bob-auth-text-primary, inherit);
  font-family: var(--q-font-family, inherit);
}
.bob-auth-form .bob-auth-controls-row {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 0.85rem;
  margin-bottom: 0.5rem;
}
.bob-auth-forgot-row {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-top: -0.5rem;
  margin-bottom: 0.5rem;
}
.bob-auth-spacer {
  flex: 1;
}
.bob-auth-forgot-link,
.bob-auth-footer-description,
.bob-auth-footer-description a,
.bob-auth-footer-description .bob-box-link {
  font-size: 0.85rem !important;
  color: var(--bob-auth-text-secondary, #aaa) !important;
  font-family: var(--q-font-family, inherit) !important;
}
.bob-auth-footer-description .bob-box-link {
  color: var(--q-primary, #2563eb) !important;
  font-weight: 900;
}
html.theme-light .bob-auth-footer-description .bob-box-link {
  font-weight: 900;
  background-color: var(--color-brand-ink, #1a1a1a);
  border-radius: 8px;
  padding: 2px 4px;
  -webkit-font-smoothing: antialiased;
}
.bob-auth-error {
  margin-bottom: 1rem;
  color: var(--q-danger-500);
  word-break: break-word;
  white-space: pre-wrap;
  font-size: 0.85rem;
}
.bob-auth-connections-row {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.bob-auth-center {
  text-align: center;
}
.bob-auth-margin-bottom-1 {
  margin-bottom: 1rem;
}
.bob-auth-success {
  margin-bottom: 1rem;
  color: var(--q-success-500);
}
.bob-auth-success-icon-container {
  width: 4rem;
  height: 4rem;
  background-color: color-mix(in srgb, var(--q-success) 10%, transparent);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
}
.bob-auth-success-icon {
  stroke: #10b981;
}
.bob-auth-flex-center {
  display: flex;
  justify-content: center;
}
.bob-auth-margin-bottom-1-5 {
  margin-bottom: 1.5rem;
}
.bob-auth-full-width-btn {
  width: 100%;
}
.bob-auth-tab-strip-wrapper {
  position: relative;
  margin-bottom: 1.5rem;
  width: 100%;
}
.bob-auth-tab-strip-container {
  display: flex;
  flex-wrap: nowrap;
  border-bottom: 1px solid var(--bob-auth-border);
  gap: 0.25rem;
  width: 100%;
  box-sizing: border-box;
  overflow-x: auto;
  scrollbar-width: none;
}
.bob-auth-tab-strip-container::-webkit-scrollbar {
  display: none;
}
.bob-auth-tab-btn {
  flex: 1 1 auto;
  min-width: 5rem;
  padding: 0.75rem 0.5rem;
  background: transparent;
  border: none;
  border-bottom: 0.125rem solid transparent;
  color: var(--bob-auth-text-secondary);
  font-weight: 400;
  cursor: pointer;
  transition: all 0.2s;
  white-space: normal;
  font-size: 0.85rem;
}
.bob-auth-tab-btn.active {
  background: var(--bob-auth-bg-secondary);
  border-bottom: 0.125rem solid var(--bob-auth-accent-primary);
  color: var(--bob-auth-text-primary);
  font-weight: 600;
}
.bob-auth-connection-info {
  font-size: 0.75rem;
  color: var(--q-danger-500);
  text-align: center;
  margin-top: 5px;
}
.bob-auth-icon-info {
  margin-left: 4px;
  color: var(--q-text-muted);
}
.bob-auth-icon-error {
  margin-right: 4px;
}
.bob-auth-test-card {
  padding: 1.25rem;
}
.bob-auth-test-title {
  margin-bottom: 1rem;
  color: var(--text-color, #fff);
}
.bob-auth-test-desc {
  margin-bottom: 1.25rem;
  font-size: 0.875rem;
  color: var(--text-muted, #aaa);
}
.bob-auth-test-empty {
  text-align: center;
}
.bob-auth-test-list {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  max-height: 21.875rem;
  overflow-y: auto;
  padding-right: 0.25rem;
}
.bob-auth-test-user-btn {
  text-align: left;
  padding: 10px;
  width: 100%;
}
.bob-auth-user-summary-card {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  margin-bottom: 1.25rem;
}
.bob-auth-user-avatar {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background-color: var(--q-primary-100);
  color: var(--q-primary-800);
  display: flex;
  align-items: center;
  justify-content: center;
}
.bob-auth-user-info-name {
  font-weight: 600;
}
.bob-auth-user-info-email {
  font-size: 0.85rem;
  color: var(--q-text-muted);
}
.bob-auth-menu-section {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.bob-auth-menu-signout-container {
  margin-top: 0.5rem;
  border-top: 1px solid var(--q-border-subtle);
  padding-top: 1rem;
}
.bob-auth-full-width-start {
  width: 100%;
  justify-content: flex-start;
}
.bob-auth-sub-view-container {
  display: flex;
  flex-direction: column;
  flex: 1;
  height: 100%;
  overflow-y: auto;
}
.bob-auth-back-button-container {
  margin-bottom: 1rem;
}
.bob-auth-management-card {
  padding: 0;
  width: 100%;
  max-width: 60rem;
  height: 90vh;
  max-height: 50rem;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
}
@media (max-width: 450px) {
  .bob-auth-management-card {
    height: 100vh;
    max-height: none;
    border-radius: 0;
  }
}
.bob-auth-submit-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}
.bob-auth-button-full {
  width: 100%;
  padding: 0.625rem;
  margin-top: 0;
}
.bob-auth-subscription-container {
  width: 100%;
  padding: 1rem;
}
.bob-auth-subscription-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(17.5rem, 1fr));
  gap: 1.5rem;
}
.bob-auth-subscription-card {
  border: 1px solid var(--bob-auth-border);
  border-radius: 0.5rem;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  background: var(--bob-auth-bg-secondary);
  transition: border-color 0.2s ease;
}
.bob-auth-subscription-card.is-current {
  border: 2px solid var(--bob-auth-bg-primary);
}
.bob-auth-plan-title {
  margin: 0 0 0.5rem;
  font-size: 1.125rem;
  font-weight: 600;
}
.bob-auth-plan-price {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 1rem;
}
.bob-auth-plan-price span {
  font-size: 0.875rem;
  font-weight: normal;
  color: var(--bob-auth-text-secondary);
}
.bob-auth-plan-desc {
  font-size: 0.875rem;
  color: var(--bob-auth-text-secondary);
  margin-bottom: 1rem;
  flex: 1;
}
.bob-auth-plan-features {
  padding: 0;
  margin: 0 0 1.5rem;
  list-style: none;
  font-size: 0.875rem;
}
.bob-auth-plan-features li {
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.bob-auth-feature-check {
  color: var(--q-success);
}
.bob-auth-current-plan-badge {
  text-align: center;
  color: var(--q-success);
  font-weight: bold;
  padding: 0.5rem;
}
.bob-auth-cancel-section {
  margin-top: 2rem;
  border-top: 1px solid var(--bob-auth-border);
  padding-top: 1rem;
}
.bob-auth-btn-danger {
  color: var(--q-danger);
}
.bob-auth-section-title {
  margin-bottom: 1.5rem;
  font-size: 1.25rem;
  font-weight: 600;
  border-bottom: 1px solid var(--bob-auth-border);
  padding-bottom: 0.75rem;
}
.bob-auth-invite-form {
  margin-bottom: 2.5rem;
  max-width: 25rem;
}
.bob-auth-input-group {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
}
.bob-auth-input-group > div {
  flex: 1;
}
.bob-auth-user-table-container {
  overflow-x: auto;
  width: 100%;
}
.bob-auth-user-table {
  width: 100%;
  border-collapse: collapse;
}
.bob-auth-user-table th {
  text-align: left;
  border-bottom: 1px solid var(--bob-auth-border);
  padding: 0.75rem 0.5rem;
  color: var(--bob-auth-text-secondary);
  font-size: 0.85rem;
  font-weight: 600;
}
.bob-auth-user-table td {
  padding: 0.75rem 0.5rem;
  font-size: 0.9rem;
  border-bottom: 1px solid var(--bob-border);
}
.bob-auth-user-table tr:last-child td {
  border-bottom: none;
}
.bob-auth-text-right {
  text-align: right;
}
.bob-auth-margin-top-1 {
  margin-top: 1rem;
}
.bob-auth-margin-top-2 {
  margin-top: 1.5rem;
}
.bob-auth-margin-bottom-1 {
  margin-bottom: 1rem;
}
.bob-auth-margin-bottom-2 {
  margin-bottom: 1.5rem;
}
.bob-auth-management-layout {
  display: flex;
  flex-direction: column;
  flex: 1;
  overflow: hidden;
}
.bob-auth-management-layout .bob-dynamic-form-container {
  flex: 1;
  min-height: 0;
  overflow: hidden;
}
.bob-auth-management-layout .bob-dynamic-form-main {
  padding: 1.5rem;
  padding-bottom: 4rem;
}
.bob-auth-management-header-info {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--q-text);
  font-size: 14px;
}
.bob-auth-user-menu {
  width: 280px;
  background: var(--q-bg-overlay);
  border: 1px solid var(--q-border-subtle);
  border-radius: 12px;
  box-shadow: var(--q-shadow-popup);
  overflow: hidden;
  color: var(--q-text);
  margin-top: 4px;
}
.bob-auth-user-menu-header {
  padding: 20px;
  display: flex;
  gap: 12px;
  align-items: center;
  border-bottom: 1px solid var(--q-border-subtle);
  background: var(--q-bg-sunken);
}
.bob-auth-user-menu-avatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--q-primary-alpha-10);
  color: var(--q-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  overflow: hidden;
  border: 2px solid var(--q-primary-alpha-20);
}
.bob-auth-user-menu-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.bob-auth-user-menu-info {
  flex: 1;
  min-width: 0;
}
.bob-auth-user-menu-name {
  font-weight: 600;
  font-size: 15px;
  color: var(--q-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bob-auth-user-menu-email {
  font-size: 12px;
  color: var(--q-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 2px;
}
.bob-auth-user-menu-role {
  margin-top: 6px;
}
.bob-auth-user-menu-actions {
  padding: 8px 0;
}
.bob-auth-user-menu-item {
  width: 100%;
  padding: 12px 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  background: transparent;
  border: none;
  color: var(--q-text);
  cursor: pointer;
  font-size: 14px;
  text-align: left;
  transition: all 0.2s ease;
}
.bob-auth-user-menu-item:hover {
  background: var(--q-bg-hover);
  color: var(--q-primary);
}
.bob-auth-user-menu-item i {
  width: 18px;
  text-align: center;
  color: var(--q-text-muted);
  font-size: 14px;
  transition: color 0.2s ease;
}
.bob-auth-user-menu-item:hover i {
  color: var(--q-primary);
}
.bob-auth-user-avatar-symbol {
  width: 100%;
  height: 100%;
  background: var(--q-primary);
  color: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1.2rem;
  border-radius: 50%;
}
.bob-auth-modal-content {
  min-height: 200px;
  display: flex;
  flex-direction: column;
}
.bob-auth-modal-content.mode-signin {
  padding: 0;
}
.bob-auth-user-menu-footer {
  padding: 16px 20px;
  border-top: 1px solid var(--q-border-subtle);
  background: var(--q-bg-sunken);
}
.bob-auth-dev-container {
  padding: 24px;
  width: min(92vw, 1200px);
  margin: 0 auto;
  box-sizing: border-box;
}
.bob-auth-dev-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  grid-auto-rows: 1fr;
  gap: 12px;
  margin-bottom: 32px;
  padding: 8px;
  justify-items: center;
}
.bob-auth-dev-title {
  margin: 0 0 4px 0 !important;
  font-size: 20px !important;
}
.bob-auth-dev-description {
  font-size: 13px !important;
  opacity: 0.8;
  margin: 0 !important;
}
.bob-auth-dev-cards-grid::-webkit-scrollbar {
  width: 6px;
}
.bob-auth-dev-cards-grid::-webkit-scrollbar-track {
  background: transparent;
}
.bob-auth-dev-cards-grid::-webkit-scrollbar-thumb {
  background: var(--q-primary-alpha-20);
  border-radius: 10px;
}
.bob-auth-dev-cards-grid::-webkit-scrollbar-thumb:hover {
  background: var(--q-primary-alpha-40);
}
.bob-auth-dev-card {
  background: var(--q-bg-sunken);
  border: 1px solid var(--q-border-subtle);
  border-radius: 10px;
  padding: 16px 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: visible;
  min-width: 0;
  width: 100%;
  max-width: 130px;
  height: 100%;
}
.bob-auth-dev-card:hover {
  border-color: var(--q-primary);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px -2px rgba(0, 0, 0, 0.4);
  background: var(--q-bg-hover);
}
.bob-auth-dev-card:active {
  transform: translateY(-1px);
}
.bob-auth-dev-card-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--q-primary-alpha-10);
  color: var(--q-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 700;
  border: 1.5px solid var(--q-primary-alpha-20);
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.bob-auth-dev-card:hover .bob-auth-dev-card-avatar {
  background: var(--q-primary);
  color: #000;
}
.bob-auth-dev-card-info {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
  flex: 1;
}
.bob-auth-dev-card-name {
  font-weight: 600;
  font-size: 13px;
  color: var(--q-text);
  line-height: 1.2;
  word-break: break-word;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bob-auth-dev-card-role {
  font-size: 9px;
  letter-spacing: 0.5px;
  text-transform: lowercase;
  font-weight: 800;
  color: var(--q-primary);
  opacity: 0.9;
  margin-top: 4px;
}
.bob-auth-dev-card-email {
  display: block;
  font-size: 8px;
  color: var(--q-text-muted);
  opacity: 0.6;
  margin-top: 2px;
  word-break: break-all;
}
.bob-auth-dev-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  border-top: 1px solid var(--q-border-subtle);
  padding-top: 20px;
}
.bob-auth-dev-footer-text {
  font-size: 12px;
  color: var(--q-text-muted);
}
.bob-auth-side-panel {
  position: relative;
  height: 100%;
  min-height: 250px;
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background:
    linear-gradient(
      to bottom,
      #e3cd9c 0%,
      var(--q-primary, #c5a059) 40%,
      #111 100%);
  border: 1px solid var(--q-border-subtle);
}
.bob-auth-side-panel-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  opacity: 0.2;
  z-index: 1;
}
.bob-auth-side-panel-content {
  position: relative;
  z-index: 2;
  padding: 1.5rem;
  background:
    linear-gradient(
      to top,
      rgba(0, 0, 0, 0.8) 0%,
      transparent 100%);
}
.bob-auth-side-title {
  color: var(--q-primary, #f59e0b) !important;
  font-size: 1.25rem !important;
  margin-bottom: 0.5rem !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}
.bob-auth-side-desc {
  color: #fff !important;
  font-size: 0.85rem !important;
  line-height: 1.4 !important;
  opacity: 0.9;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
  margin: 0 !important;
}
.q-popup-layout-split .bob-auth-split-right {
  padding: 0.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.bob-auth-panel-inline.q-popup-layout-split {
  display: flex;
  flex-direction: column;
  height: 100%;
  max-width: 750px;
}
.bob-auth-panel-inline.q-popup-layout-split .q-popup-area-middle {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: 2rem;
  flex: 1;
  align-items: center;
}
.bob-auth-panel-inline.hide-side-panel .bob-auth-side-panel,
.bob-auth-panel-inline.hide-side-panel .bob-auth-side-panel-content,
.bob-auth-panel-inline.hide-side-panel .bob-auth-side-panel-bg {
  display: none !important;
}
.bob-auth-panel-inline.hide-side-panel .q-popup-area-middle {
  grid-template-columns: 1fr !important;
}
@media (max-width: 767px) {
  .bob-auth-side-panel,
  .bob-auth-side-panel-bg,
  .bob-auth-side-panel-content {
    display: none !important;
  }
  .bob-auth-panel-inline.q-popup-layout-split .q-popup-area-middle {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .q-popup-layout-split .bob-auth-split-left {
    border-right: none;
    border-bottom: 1px solid var(--q-border-subtle);
    padding-right: 0;
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
  }
  .q-popup-layout-split .bob-auth-split-right {
    padding-left: 0;
  }
}
.bob-auth-error-view {
  padding: 2rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 250px;
  width: 100%;
}
.bob-auth-error-view-content {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.bob-auth-error-icon-wrapper {
  font-size: 3rem;
  color: var(--q-danger-500, #ef4444);
  margin-bottom: 1rem;
}
.bob-auth-error-title-main {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
.bob-auth-error-message-box {
  background: var(--q-bg-sunken, rgba(255,255,255,0.05));
  padding: 1.5rem;
  border-radius: 1rem;
  border: 1px solid var(--q-border-subtle, rgba(255,255,255,0.1));
  margin-bottom: 2rem;
  width: 100%;
}
.bob-auth-error-text-full {
  font-size: 0.9rem;
  line-height: 1.5;
  word-break: break-word;
  color: var(--bob-auth-text-primary, inherit);
  margin: 0;
}
.bob-auth-error-close-btn {
  width: 100%;
  max-width: 200px;
}
.bob-auth-dev-error-footer {
  margin-top: 8px !important;
}

/* src/bob-auth.css */
:root {
  --bob-primary: var(--bob-primary, #3b82f6);
  --bob-primary-hover: var(--bob-primary-hover, #2563eb);
  --bob-secondary: var(--bob-secondary, #64748b);
  --bob-bg-base: var(--bob-bg-base, #0f172a);
  --bob-bg-surface: var(--bob-bg-surface, #1e293b);
  --bob-text-main: var(--bob-text-main, #f8fafc);
  --bob-text-muted: var(--bob-text-muted, #94a3b8);
  --bob-text-inverse: var(--bob-text-inverse, #ffffff);
  --bob-error: var(--bob-error, #ef4444);
  --bob-success: var(--bob-success, #10b981);
  --bob-warning: var(--bob-warning, #f59e0b);
  --bob-border: var(--bob-border, #334155);
  --bob-radius: var(--bob-radius, 8px);
  --bob-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1);
  --bob-font-family: var(--bob-font-family, "Inter", -apple-system, sans-serif);
  --bob-transition: 0.2s ease-in-out;
  --bob-auth-bg-primary: var(--bob-auth-bg-primary, var(--bg-primary, #0a0a0c));
  --bob-auth-bg-secondary: var( --bob-auth-bg-secondary, var(--bg-secondary, #141416) );
  --bob-auth-accent-primary: var( --bob-auth-accent-primary, var(--accent, #bb86fc) );
  --bob-auth-accent-secondary: var( --bob-auth-accent-secondary, var(--secondary, #03dac6) );
  --bob-auth-text-primary: var( --bob-auth-text-primary, var(--text-primary, #e1e1e6) );
  --bob-auth-text-secondary: var( --bob-auth-text-secondary, var(--text-secondary, #a1a1aa) );
  --bob-auth-border: var(--bob-auth-border, var(--glass-border, #27272a));
  --bob-auth-text-on-accent: var( --bob-auth-text-on-accent, var(--text-on-accent, #ffffff) );
}
.bob-auth-panel-inline {
  width: 100%;
  max-width: 450px;
  margin: 0 auto;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.bob-auth-header-content {
  text-align: center;
  margin-bottom: 24px;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
.bob-auth-card {
  background-color: var(--bob-auth-bg-secondary);
  border: 1px solid var(--bob-auth-border);
  border-radius: 1rem;
  padding: 1.25rem;
  width: 100%;
  max-width: 1000px;
  box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  color: var(--bob-auth-text-primary);
  font-family:
    "Inter",
    system-ui,
    -apple-system,
    sans-serif;
  box-sizing: border-box;
  overflow: hidden;
  word-wrap: break-word;
}
@media (max-width: 480px) {
  .bob-auth-card {
    padding: 1rem;
    border-radius: 0.75rem;
  }
}
.bob-auth-card-sm {
  max-width: 500px;
}
.bob-auth-title {
  font-size: 1.5rem;
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 0.5rem;
  background:
    linear-gradient(
      to right,
      var(--bob-auth-accent-primary),
      var(--bob-auth-accent-secondary));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.bob-auth-subtitle {
  color: var(--bob-auth-text-secondary);
  font-size: 0.875rem;
  margin-bottom: 1rem;
}
.bob-auth-form-group {
  margin-bottom: 0.75rem;
  text-align: left;
}
.bob-auth-label {
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  margin-bottom: 0.3rem;
  color: var(--bob-auth-text-secondary);
}
.bob-auth-input {
  width: 100%;
  padding: 0.6rem 0.8rem;
  background-color: var(--bob-auth-bg-primary);
  border: 1px solid var(--bob-auth-border);
  border-radius: 0.5rem;
  color: var(--bob-auth-text-primary);
  font-size: 1rem;
  transition: border-color 0.2s, box-shadow 0.2s;
  box-sizing: border-box;
}
.bob-auth-input:focus {
  outline: none;
  border-color: var(--bob-auth-accent-primary);
  box-shadow: 0 0 0 2px rgba(187, 134, 252, 0.2);
}
.bob-auth-button {
  width: auto;
  padding: 0.6rem 1.2rem;
  background:
    linear-gradient(
      to right,
      var(--bob-auth-accent-primary),
      var(--bob-auth-accent-secondary));
  color: #000;
  border: none;
  border-radius: 0.5rem;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.2s, transform 0.1s;
  white-space: normal;
  word-break: break-word;
}
.bob-auth-button:hover {
  opacity: 0.9;
}
.bob-auth-button:active {
  transform: scale(0.98);
}
.bob-auth-button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.bob-auth-link-button {
  background: none;
  border: none;
  color: var(--bob-auth-accent-primary);
  cursor: pointer;
  padding: 0;
  font-size: 0.875rem;
  text-decoration: underline;
  transition: opacity 0.2s;
}
.bob-auth-error {
  color: #f87171;
  font-size: 0.875rem;
  margin-top: 0.5rem;
}
.bob-auth-success {
  color: var(--bob-auth-accent-secondary);
  font-size: 0.875rem;
  margin-top: 0.5rem;
}
.bob-auth-icon-button {
  background: none;
  border: none;
  color: var(--bob-auth-text-secondary);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem;
  transition: color 0.2s;
}
.bob-auth-icon-button:hover {
  color: var(--bob-auth-text-primary);
}
.bob-auth-grid {
  display: grid;
}
.bob-auth-grid > * {
  min-width: 0;
}
@media (max-width: 768px) {
  .bob-auth-grid {
    gap: 0.75rem;
  }
}
@media (max-width: 480px) {
  .bob-auth-grid {
    gap: 0.5rem;
  }
}
.bob-auth-col-1 {
  grid-column: span 1;
}
.bob-auth-col-2 {
  grid-column: span 2;
}
.bob-auth-col-3 {
  grid-column: span 3;
}
.bob-auth-col-4 {
  grid-column: span 4;
}
.bob-auth-col-5 {
  grid-column: span 5;
}
.bob-auth-col-6 {
  grid-column: span 6;
}
.bob-auth-col-7 {
  grid-column: span 7;
}
.bob-auth-col-8 {
  grid-column: span 8;
}
.bob-auth-col-9 {
  grid-column: span 9;
}
.bob-auth-col-10 {
  grid-column: span 10;
}
.bob-auth-col-11 {
  grid-column: span 11;
}
.bob-auth-col-12 {
  grid-column: span 12;
}
@media (max-width: 1024px) {
  .bob-auth-col-md-1 {
    grid-column: span 1;
  }
  .bob-auth-col-md-2 {
    grid-column: span 2;
  }
  .bob-auth-col-md-3 {
    grid-column: span 3;
  }
  .bob-auth-col-md-4 {
    grid-column: span 4;
  }
  .bob-auth-col-md-5 {
    grid-column: span 5;
  }
  .bob-auth-col-md-6 {
    grid-column: span 6;
  }
  .bob-auth-col-md-7 {
    grid-column: span 7;
  }
  .bob-auth-col-md-8 {
    grid-column: span 8;
  }
  .bob-auth-col-md-9 {
    grid-column: span 9;
  }
  .bob-auth-col-md-10 {
    grid-column: span 10;
  }
  .bob-auth-col-md-11 {
    grid-column: span 11;
  }
  .bob-auth-col-md-12 {
    grid-column: span 12;
  }
}
@media (max-width: 768px) {
  .bob-auth-col-1,
  .bob-auth-col-2,
  .bob-auth-col-3,
  .bob-auth-col-4,
  .bob-auth-col-5,
  .bob-auth-col-6,
  .bob-auth-col-7,
  .bob-auth-col-8,
  .bob-auth-col-9,
  .bob-auth-col-10,
  .bob-auth-col-11,
  .bob-auth-col-12 {
    grid-column: span 12;
  }
  .bob-auth-col-sm-1 {
    grid-column: span 1;
  }
  .bob-auth-col-sm-2 {
    grid-column: span 2;
  }
  .bob-auth-col-sm-3 {
    grid-column: span 3;
  }
  .bob-auth-col-sm-4 {
    grid-column: span 4;
  }
  .bob-auth-col-sm-5 {
    grid-column: span 5;
  }
  .bob-auth-col-sm-6 {
    grid-column: span 6;
  }
  .bob-auth-col-sm-7 {
    grid-column: span 7;
  }
  .bob-auth-col-sm-8 {
    grid-column: span 8;
  }
  .bob-auth-col-sm-9 {
    grid-column: span 9;
  }
  .bob-auth-col-sm-10 {
    grid-column: span 10;
  }
  .bob-auth-col-sm-11 {
    grid-column: span 11;
  }
  .bob-auth-col-sm-12 {
    grid-column: span 12;
  }
}
@media (max-width: 480px) {
  .bob-auth-card .bob-auth-grid {
    gap: 0.25rem;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    display: grid;
  }
  .bob-auth-card .bob-auth-grid > * {
    width: 100%;
    max-width: 100%;
    grid-column: span 1;
  }
}
.bob-auth-row {
  display: grid;
  gap: 1.5rem;
}
.bob-auth-row-auto {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
}
@media (min-width: 769px) {
  .bob-auth-row-cols-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .bob-auth-row-cols-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .bob-auth-row-cols-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 768px) {
  .bob-auth-card .bob-auth-row-cols-2,
  .bob-auth-card .bob-auth-row-cols-3,
  .bob-auth-card .bob-auth-row-cols-4 {
    grid-template-columns: 1fr;
  }
}
.bob-auth-stack-mobile {
  display: flex;
  gap: 1rem;
  align-items: center;
  flex-wrap: wrap;
}
@media (max-width: 600px) {
  .bob-auth-card .bob-auth-stack-mobile {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
  }
  .bob-auth-card .bob-auth-stack-mobile > div {
    flex: 1 1 auto;
    width: 100%;
  }
  .bob-auth-card .bob-auth-stack-mobile button {
    width: 100%;
  }
}
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}
.bob-auth-form-content .q-input-wrapper,
.bob-auth-form-content .q-box-wrapper,
.bob-auth-form-content .q-input {
  width: 100%;
}
/* src/bob-box.css */
.q-check-wrapper {
  display: flex;
  align-items: center;
  cursor: pointer;
  user-select: none;
  gap: var(--q-control-gap);
  padding: 2px 0;
}
.q-check-wrapper.q-disabled {
  cursor: not-allowed;
  opacity: 0.6;
}
.q-check-wrapper.q-readonly {
  cursor: default;
}
.q-check-label {
  font-family: inherit;
  font-size: var(--q-font-size-base);
}
button.btn {
  border: 1px solid transparent;
  background: transparent;
  box-shadow: none;
  transition: all 0.2s ease;
  cursor: pointer;
  position: relative;
}
button.btn:hover:not(:disabled) {
  border-color: var(--q-border-base);
}
button.btn.btn-is-primary {
  background: var(--q-primary);
  color: var(--q-primary-text);
  border-color: var(--q-primary);
}
button.btn.btn-is-primary:hover:not(:disabled) {
  opacity: 0.9;
  border-color: var(--q-primary);
}
.q-choice-icons-wrapper {
  display: flex;
  align-items: stretch;
  gap: var(--q-control-gap);
}
.q-choice-icons-wrapper button.btn:not(.btn-success):not(.btn-danger) {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
.q-choice-icons-wrapper button.btn:hover:not(:disabled) {
  background-color: var(--q-bg-hover);
  border-color: var(--q-border-color);
}
.q-choice-icons-wrapper button.btn i,
.q-choice-icons-wrapper button.btn.btn-secondary i {
  color: var(--q-icon-color, var(--q-text-muted)) !important;
}
.q-choice-icons-wrapper .btn span {
  color: var(--q-text-base);
}
.q-choice-icons-wrapper button.btn.q-selected i,
.q-choice-icons-wrapper button.btn.btn-primary i,
.q-choice-icons-wrapper button.btn.btn-is-primary i {
  color: var(--q-primary) !important;
}
.q-choice-icons-wrapper button.btn.btn-primary span,
.q-choice-icons-wrapper button.btn.btn-is-primary span,
.q-choice-icons-wrapper button.btn.q-selected span {
  color: var(--q-primary);
}
.q-choice-icons-wrapper .btn.btn-primary,
.q-choice-icons-wrapper .btn.btn-is-primary,
.q-choice-icons-wrapper .btn.q-selected {
  position: relative;
  border-bottom: 2px solid var(--q-primary) !important;
  border-radius: 0;
}
.theme-light .q-choice-icons-wrapper button.btn i,
.theme-light .q-choice-icons-wrapper button.btn.btn-primary i,
.theme-light .q-choice-icons-wrapper button.btn.btn-is-primary i,
.theme-light .q-choice-icons-wrapper button.btn.q-selected i {
  color: var(--q-secondary);
}
.q-choice-icons-wrapper.q-disabled {
  opacity: 0.6;
  pointer-events: none;
}
.q-memo-popup {
  background: var(--q-bg-base);
  padding: 8px;
  box-sizing: border-box;
}
.q-memo-popup div.q-input-wrapper.multiline {
  border: none;
  padding: 0;
  height: 100%;
}
.q-memo-popup .q-input {
  border: 1px solid var(--q-border-color);
  border-radius: var(--q-border-radius);
  width: 100%;
  min-height: 150px;
  resize: vertical;
  background: var(--q-bg-base);
}
.q-address-popup {
  padding: 12px;
  box-sizing: border-box;
  min-width: 320px;
  max-width: 480px;
}
.q-form-field {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin-bottom: 8px;
}
.q-form-field-row {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
}
.q-form-field-row .q-form-field {
  flex: 1;
  margin-bottom: 0;
}
.q-form-label {
  font-size: 0.75rem;
  color: var(--q-text-muted);
  font-weight: 500;
}
.q-address-popup-footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 12px;
  padding-top: 8px;
  border-top: 1px solid var(--q-border-color);
}
.q-input-wrapper.q-readonly,
.q-box-wrapper.q-readonly,
.q-readonly.q-input,
.q-readonly.q-box-wrapper-inner {
  border-color: transparent !important;
  background-color: transparent !important;
}
.q-text-upload-container .q-input-wrapper.q-upload-input-field:not(.q-upload-readonly-mode) {
  border-color: var(--q-border-color) !important;
  background-color: var(--q-bg-base) !important;
}
.q-popup-portal-content {
  background: var(--q-bg-base);
  border: 1px solid var(--q-primary);
  border-radius: var(--q-border-radius);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1), 0 4px 20px rgba(0, 0, 0, 0.15);
  box-sizing: border-box;
}
.q-popup-portal-content .q-calendar,
.q-popup-portal-content .q-choice-popup-list,
.q-popup-portal-content .q-autocomplete-popup,
.q-popup-portal-content .q-lookup-popup {
  border: none;
  box-shadow: none;
}
.q-date-popup {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding-bottom: var(--q-gap-base);
  box-sizing: border-box;
}
.q-date-popup .q-popup-apply-footer {
  align-self: stretch;
  padding-inline: var(--q-gap-base);
}
.q-popup-apply-footer {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px solid var(--q-border-color);
}
button.q-popup-apply-btn {
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--q-border-radius);
  color: var(--q-text-base);
  cursor: pointer;
  font-size: var(--q-font-size-base);
  line-height: 1;
  margin-left: auto;
  padding: 3px 10px;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.q-popup-apply-btn--left {
  margin-right: auto;
}
.q-popup-apply-btn i {
  color: inherit;
  font-size: 14px;
}
button.q-popup-apply-btn:hover:not(:disabled) {
  background-color: var(--q-bg-hover);
  border-color: var(--q-border-color);
}
.q-popup-apply-btn:disabled {
  opacity: 0.4;
  cursor: default;
}
.q-time-popup {
  min-width: max-content;
  padding: 8px;
  box-sizing: border-box;
  user-select: none;
}
.q-time-body {
  display: flex;
  gap: 8px;
  align-items: flex-start;
}
.q-time-section {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.q-time-col-header {
  color: var(--q-text-muted);
  font-size: var(--q-font-size-sm);
  font-weight: 600;
  letter-spacing: 0.04em;
  padding-bottom: 3px;
  text-align: center;
  text-transform: uppercase;
}
.q-time-hours-grid {
  display: grid;
  grid-template-columns: repeat(5, auto);
  gap: 2px;
}
.q-time-minutes {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.q-time-cell {
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--q-border-radius);
  color: var(--q-text-base);
  cursor: pointer;
  font-family: var(--q-font-family, inherit);
  font-size: var(--q-font-size-base);
  font-variant-numeric: tabular-nums;
  line-height: 1;
  padding: 3px 5px;
  text-align: center;
  transition: background 0.1s, border-color 0.1s;
}
.q-time-cell:hover:not(:disabled) {
  background: var(--q-bg-hover);
  border-color: var(--q-border-color);
}
.q-time-cell--selected {
  background: var(--q-primary);
  border-color: var(--q-primary);
  color: var(--q-bg-base);
  font-weight: 700;
}
.q-time-cell--minute {
  padding: 6px 10px;
}
.q-box-popup-container {
  position: relative;
  width: 100%;
  display: block;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}
.q-autocomplete-popup,
.q-lookup-popup {
  background: var(--q-bg-base);
  border: 1px solid var(--q-border-color);
  border-radius: 6px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  min-width: 280px;
}
.q-autocomplete-popup {
  padding: 4px;
  max-height: 250px;
}
.q-lookup-popup {
  padding: 8px;
  gap: 6px;
  max-height: 320px;
}
.q-autocomplete-results-list,
.q-lookup-results-list {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.q-lookup-results-list {
  max-height: 220px;
}
.q-autocomplete-item,
.q-lookup-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.1s;
  color: var(--q-text-base);
}
.q-autocomplete-item {
  padding: 6px 8px;
}
.q-lookup-item {
  padding: 4px 8px;
}
.q-autocomplete-item.active,
.q-lookup-item.active {
  background: var(--q-primary);
  color: var(--q-primary-text);
}
.q-autocomplete-label,
.q-lookup-label {
  color: inherit;
  font-size: 0.85rem;
}
.q-lookup-id {
  color: var(--q-text-muted, #777);
  font-size: 0.75rem;
}
.q-autocomplete-no-results,
.q-lookup-no-results {
  color: var(--q-text-muted);
  font-size: 0.8rem;
  padding: 8px;
  text-align: center;
}
.q-autocomplete-loading-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.q-autocomplete-spinner {
  animation: spin 1s linear infinite;
  color: var(--q-primary);
}
.q-lookup-spinner {
  animation: spin 1s linear infinite;
  color: var(--q-primary);
  font-size: 1rem;
}
.q-autocomplete-has-more {
  color: var(--q-text-muted);
  font-size: 0.75rem;
  padding: 6px 8px;
  text-align: center;
  border-top: 1px solid var(--q-border-color);
  font-style: italic;
}
.q-lookup-search-row {
  display: flex;
  align-items: center;
  gap: 6px;
}
.q-lookup-search-input {
  flex: 1;
  background: var(--q-bg-base);
  border: 1px solid var(--q-border-color);
  border-radius: 4px;
  color: var(--q-text-base);
  font-size: 0.85rem;
  padding: 4px 8px;
}
.q-lookup-footer {
  display: flex;
  justify-content: space-between;
  gap: 4px;
}
.q-input-wrapper.q-input-wrapper--inline {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  height: auto;
  min-height: var(--q-input-height);
  padding: 0 var(--q-padding-base);
  align-items: center;
  flex-wrap: wrap;
  gap: var(--q-control-gap);
}
.q-box-wrapper-inner {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--q-control-gap, 8px);
  min-height: 100%;
  width: 100%;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}
.q-choice-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  min-height: var(--q-input-height);
}
.q-choice-option {
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  user-select: none;
  font-size: var(--q-font-size-base);
  color: var(--q-text-base);
}
.q-choice-input {
  cursor: pointer;
  width: 16px;
  height: 16px;
  margin: 0;
}
.q-choice-wrapper.q-disabled {
  opacity: 0.6;
  pointer-events: none;
}
.q-choice-wrapper.q-readonly {
  cursor: default;
}
.q-box-grid-container {
  width: 100%;
}
.q-box-grid {
  border-collapse: collapse;
  table-layout: fixed;
  background: transparent;
}
.q-box-grid th,
.q-box-grid td {
  padding: var(--q-gap-base, 6px);
  border: 1px solid var(--q-border-color, #e2e8f0);
}
.q-box-grid-header {
  background: transparent;
  color: var(--q-text-muted, #64748b);
  font-size: var(--q-font-size-sm, 0.8125rem);
  font-weight: 600;
  text-align: left;
}
.q-box-grid-caption {
  font-weight: 500;
  color: var(--q-text-base, #1e293b);
  background: transparent;
  vertical-align: middle;
}
.q-box-grid-cell {
  background: transparent;
  vertical-align: middle;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.q-box-grid-cell-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: var(--q-input-height, 27px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.q-box-grid-cell > * {
  margin-bottom: 4px;
}
.q-box-grid-cell > *:last-child {
  margin-bottom: 0;
}
.q-grid-popup {
  padding: 8px;
  min-width: max-content;
}
.q-upload-popup {
  padding: 8px;
  min-width: 300px;
  max-width: 450px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  box-sizing: border-box;
}
.q-upload-header {
  padding-bottom: 4px;
  border-bottom: 1px solid var(--q-border-color);
}
.q-upload-title {
  font-weight: 600;
  font-size: var(--q-font-size-sm);
  color: var(--q-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.q-upload-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-height: 200px;
  overflow-y: auto;
  padding: 4px 0;
}
.q-upload-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 6px 8px;
  background: var(--q-bg-subtle);
  border-radius: var(--q-border-radius);
  transition: background 0.1s;
}
.q-upload-item:hover {
  background: var(--q-bg-hover);
}
.q-upload-filename {
  flex: 1;
  font-size: var(--q-font-size-base);
  color: var(--q-text-base);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.q-upload-empty {
  padding: 12px;
  text-align: center;
  color: var(--q-text-muted);
  font-style: italic;
  font-size: var(--q-font-size-sm);
}
.q-upload-popup-portal {
  min-width: 320px;
}
.q-upload-clear-btn {
  margin-right: 8px;
}
.q-upload-add-btn {
  margin-right: auto;
}
.q-upload-input-hidden {
  display: none;
}
.q-text-upload-container {
  position: relative;
  width: 100%;
  border-radius: inherit;
}
.q-text-upload-container.q-picture-dragover .q-input-wrapper {
  border-color: var(--q-primary) !important;
  box-shadow: 0 0 0 2px rgba(var(--q-primary-rgb, 37, 99, 235), 0.2);
}
.q-upload-input-field .q-input-icon {
  position: relative;
  z-index: 10;
}
.q-pointer-events-none {
  pointer-events: none !important;
}
.q-pointer-events-auto {
  pointer-events: auto !important;
}
.q-cursor-pointer {
  cursor: pointer;
}
.q-cursor-default {
  cursor: default;
}
.q-upload-input-hidden {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  z-index: 2;
}
.q-text-upload-container {
  position: relative;
  width: 100%;
}
.q-picture-box {
  position: relative;
  width: 100%;
  height: 100%;
}
.q-picture-box.q-picture-dragover .q-picture-container {
  border-color: var(--q-primary) !important;
  box-shadow: 0 0 0 2px rgba(var(--q-primary-rgb, 37, 99, 235), 0.2);
}
.q-picture-box {
  width: 100%;
  aspect-ratio: 1 / 1;
  max-width: 400px;
  position: relative;
  overflow: hidden;
  transition: all 0.2s ease-in-out;
}
.q-picture-container {
  position: relative;
  width: 100%;
  min-height: 140px;
  height: 100%;
  background: var(--q-bg-base);
  border: 1px solid var(--q-border-color);
  border-radius: var(--q-border-radius);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 12px;
  box-sizing: border-box;
}
.q-picture-inner-wrapper {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.q-picture-preview {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  max-height: calc(100% - 50px);
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.q-picture-preview img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
}
.q-picture-file-preview {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
}
.q-picture-pdf-icon {
  font-size: 3rem;
  opacity: 0.5;
  color: var(--q-danger);
}
.q-picture-pdf-label {
  font-size: 11px;
  margin-top: 8px;
  color: var(--q-text-muted);
}
.q-picture-carousel-controls {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  pointer-events: none;
  z-index: 10;
}
.q-picture-carousel-btn {
  pointer-events: auto;
  margin: 4px;
  background: rgba(var(--q-bg-base-rgb, 255, 255, 255), 0.7);
  border-radius: 50%;
  color: var(--q-carousel-default-color, #b4c1ca) !important;
}
.q-picture-carousel-dots {
  text-align: center;
  z-index: 10;
  margin-bottom: 10px;
}
.q-picture-carousel-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin: 0 4px;
}
.q-picture-carousel-dot.active {
  background: var(--q-primary);
}
.q-picture-carousel-dot.inactive {
  background: var(--q-border-color);
}
.q-picture-placeholder {
  flex: 0 0 auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: 0 1rem;
  box-sizing: border-box;
  color: var(--q-text-muted);
  gap: 8px;
  min-width: 80px;
  overflow: hidden;
}
.q-picture-placeholder-icon {
  height: auto;
  font-size: 2rem;
  margin-bottom: 10px;
  opacity: 0.3;
  display: flex;
  align-items: center;
  justify-content: center;
}
.q-picture-placeholder-text {
  text-align: center;
  font-size: 13px;
  opacity: 0.7;
  margin-top: 1vh;
}
.q-picture-controls {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 20;
  display: flex;
  flex-direction: column;
  gap: 8px;
  pointer-events: auto;
}
.q-picture-remove-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.q-picture-controls button.btn:not(.btn-danger):not(.btn-success),
.q-upload-popup button.btn:not(.btn-danger):not(.btn-success),
.q-upload-list button.btn:not(.btn-danger):not(.btn-success),
.q-popup-apply-footer button.btn:not(.btn-danger):not(.btn-success),
.q-lookup-footer button.btn:not(.btn-danger):not(.btn-success),
.q-address-popup-footer button.btn:not(.btn-danger):not(.btn-success) {
  background: transparent;
  background-color: transparent;
  border-color: transparent;
  box-shadow: none;
  color: var(--q-text-base);
}
.q-picture-controls button.btn.btn-danger,
.q-upload-popup button.btn.btn-danger,
.q-upload-list button.btn.btn-danger,
.q-popup-apply-footer button.btn.btn-danger,
.q-lookup-footer button.btn.btn-danger,
.q-address-popup-footer button.btn.btn-danger {
  background-color: var(--q-danger);
  color: var(--q-danger-text, #ffffff);
  border-color: var(--q-danger);
}
.q-picture-controls button.btn.btn-success,
.q-upload-popup button.btn.btn-success,
.q-upload-list button.btn.btn-success,
.q-popup-apply-footer button.btn.btn-success,
.q-lookup-footer button.btn.btn-success,
.q-address-popup-footer button.btn.btn-success {
  background-color: var(--q-success);
  color: var(--q-success-text, #ffffff);
  border-color: var(--q-success);
}
.q-picture-controls button.btn i,
.q-upload-popup button.btn i,
.q-upload-list button.btn i,
.q-popup-apply-footer button.btn i,
.q-lookup-footer button.btn i,
.q-address-popup-footer button.btn i {
  color: inherit;
}
.q-picture-controls button.btn.btn-primary,
.q-upload-popup button.btn.btn-primary,
.q-upload-add-btn {
  color: var(--q-text-base);
}
.q-picture-controls button.btn.btn-danger,
.q-upload-popup button.btn.btn-danger,
.q-upload-list button.btn.btn-danger,
.q-popup-apply-footer button.btn.btn-danger,
.q-lookup-footer button.btn.btn-danger,
.q-address-popup-footer button.btn.btn-danger {
  color: var(--q-danger-text, #ffffff);
}
.q-picture-controls button.btn.btn-danger i,
.q-upload-popup button.btn.btn-danger i,
.q-upload-list button.btn.btn-danger i,
.q-popup-apply-footer button.btn.btn-danger i,
.q-lookup-footer button.btn.btn-danger i,
.q-address-popup-footer button.btn.btn-danger i {
  color: var(--q-danger-text, #ffffff);
}
button.btn.btn-success.q-upload-add-btn span {
  color: var(--q-success-text, #ffffff);
}
.q-picture-controls button.btn:hover:not(:disabled),
.q-upload-popup button.btn:hover:not(:disabled),
.q-upload-list button.btn:hover:not(:disabled),
.q-popup-apply-footer button.btn:hover:not(:disabled),
.q-lookup-footer button.btn:hover:not(:disabled),
.q-address-popup-footer button.btn:hover:not(:disabled) {
  background-color: var(--q-bg-hover);
  border-color: var(--q-border-color);
}
.q-picture-controls button.btn:not(.btn-danger):not(.btn-success):hover:not(:disabled) i,
.q-upload-popup button.btn:not(.btn-danger):not(.btn-success):hover:not(:disabled) i,
.q-popup-apply-footer button.btn:not(.btn-danger):not(.btn-success):hover:not(:disabled) i,
.q-lookup-footer button.btn:not(.btn-danger):not(.btn-success):hover:not(:disabled) i {
  color: var(--q-primary);
}
.q-error .q-picture-container {
  border-color: var(--q-error-border, #fecaca);
}
.q-disabled .q-picture-container {
  opacity: 0.6;
  background: var(--q-bg-subtle);
}
.bob-heading {
  margin: 0;
  font-weight: 700;
  color: var(--q-color-heading, var(--q-text-base));
}
.bob-heading-1 {
  font-size: var(--q-font-size-heading, 2.2rem);
  margin-bottom: 1.5rem;
}
.bob-heading-2 {
  font-size: calc(var(--q-font-size-heading, 2.2rem) * 0.85);
  margin-bottom: 1.2rem;
}
.bob-heading-3 {
  font-size: calc(var(--q-font-size-heading, 2.2rem) * 0.7);
  margin-bottom: 1rem;
}
.bob-heading-4 {
  font-size: calc(var(--q-font-size-heading, 2.2rem) * 0.6);
  margin-bottom: 0.8rem;
}
.bob-heading-5 {
  font-size: calc(var(--q-font-size-heading, 2.2rem) * 0.5);
  margin-bottom: 0.6rem;
}
.bob-heading-6 {
  font-size: calc(var(--q-font-size-heading, 2.2rem) * 0.45);
  margin-bottom: 0.5rem;
}
.bob-label {
  display: block;
  font-weight: 600;
  font-size: var(--q-font-size-label, 0.85rem);
  color: var(--q-color-label, var(--q-primary));
  margin-bottom: 0.25rem;
}
.bob-description {
  display: block;
  font-size: var(--q-font-size-text, 0.95rem);
  color: var(--q-color-text, var(--q-text-base));
  opacity: 0.8;
  line-height: 1.5;
}
.bob-validation {
  display: block;
  font-size: 0.75rem;
  color: var(--q-danger);
  min-height: 1rem;
  margin-top: 0.25rem;
}
.q-choice-popup-list {
  display: flex;
  flex-direction: column;
  padding: 4px;
  max-height: 250px;
  overflow-y: auto;
  gap: 2px;
}
.q-choice-popup-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 8px;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.1s;
  color: var(--q-text-base);
}
.q-choice-popup-item:hover {
  background: var(--q-bg-hover);
}
.q-choice-popup-item.q-selected,
.q-choice-popup-item.q-active {
  background: var(--q-primary);
  color: var(--q-primary-text);
}
.q-choice-popup-label {
  font-size: 0.85rem;
  user-select: none;
}
.q-choice-popup-check {
  font-size: 0.8rem;
  opacity: 0.9;
}
.q-choice-text-input .q-input {
  caret-color: transparent;
  cursor: pointer;
}
.q-box-tags-popup {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px;
  background: var(--q-color-surface, var(--q-bg-base));
  border: 1px solid var(--q-color-border, var(--q-border-color));
  border-radius: var(--q-radius-md, 6px);
  box-shadow: var(--q-shadow-md, 0 4px 12px rgba(0, 0, 0, 0.1));
  min-width: 200px;
}
.q-box-tags-list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.q-tag {
  display: flex;
  align-items: center;
  background: var(--q-color-primary-10, rgba(37, 99, 235, 0.1));
  color: var(--q-color-primary-60, var(--q-primary));
  padding: 2px 8px;
  border-radius: var(--q-radius-sm, 4px);
  font-size: 0.875rem;
}
.q-tag-remove-btn {
  background: transparent;
  border: none;
  cursor: pointer;
  margin-left: 4px;
  color: inherit;
  font-size: 1rem;
  line-height: 1;
}
.q-tag-input {
  width: 100%;
  padding: 4px 8px;
  border: 1px solid var(--q-color-border, var(--q-border-color));
  border-radius: var(--q-radius-sm, 4px);
  background: var(--q-color-background, var(--q-bg-base));
  color: var(--q-color-text, var(--q-text-base));
}
.q-choice-color-wrapper {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
}
.q-choice-color-btn {
  border-radius: 50%;
  box-shadow: var(--q-shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.1));
  transition: all 0.2s;
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.q-choice-color-btn-remove {
  position: absolute;
  top: -4px;
  right: -4px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: var(--q-bg-base);
  border: 1px solid var(--q-border-color);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 8px;
  color: var(--q-error, red);
  cursor: pointer;
  z-index: 5;
  padding: 0;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
.q-choice-color-palette-header {
  font-size: 12px;
  font-weight: 600;
  color: var(--q-text-muted);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.q-choice-color-add-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  cursor: pointer;
  color: var(--q-text-base);
  font-size: 14px;
  padding: 4px;
}
.q-choice-color-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 8px;
  align-items: center;
  justify-items: center;
}
.q-choice-color-more-btn {
  border-radius: 50%;
  background-color: var(--q-bg-subtle, #f1f5f9);
  border: 1px solid var(--q-border-color, #e2e8f0);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--q-text-base);
  font-size: 12px;
  font-weight: bold;
  padding: 0;
  margin: 0;
  padding-bottom: 6px;
}
.q-reset-anchors {
  color: inherit;
  text-decoration: none;
}
.q-reset-buttons {
  background: transparent;
  border-top: none;
  border-right: none;
  border-bottom: none;
  cursor: pointer;
  padding: 0;
}
.q-scroll-hor {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  width: 100%;
}
.q-scroll-hor::-webkit-scrollbar {
  display: none;
}
.q-choice-popup-container {
  max-width: 100%;
  min-width: 0;
}
.q-choice-popup-container.w-full {
  width: 100% !important;
  display: flex !important;
}
.q-choice-popup-trigger {
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.q-choice-popup-trigger span {
  display: inline-block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  flex: 1 !important;
  min-width: 0 !important;
  text-align: left !important;
}

/* src/app-shell.css */
.bob-main-panels {
  display: flex;
  flex: 1;
  width: 100%;
  height: auto;
  min-height: 100vh;
  overflow: visible;
  position: relative;
  box-sizing: border-box;
  padding-right: 10px;
}
.bob-main-panels-container {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  width: 100vw;
  overflow: visible;
}
.bob-panel {
  height: auto;
  overflow: visible;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  position: relative;
  background-color: var(--q-bg-base);
  margin-left: 10px;
}
.bob-panel-left,
.bob-panel-right {
  display: none;
  width: 0;
}
.bob-panel-left.show,
.bob-panel-right.show {
  display: flex;
  width: var(--bob-panel-width, 300px);
}
.bob-panel-left {
  border-right: 1px solid var(--q-border-color);
}
.bob-panel-right {
  border-left: 1px solid var(--q-border-color);
}
.bob-panel-middle {
  flex: 1;
  min-width: 0;
}
.bob-panel-content {
  flex: 1;
  overflow-y: visible;
}
.bob-panel-resizer {
  width: 4px;
  height: 100%;
  cursor: col-resize;
  position: absolute;
  top: 0;
  z-index: 10;
  background-color: transparent;
  transition: background-color 0.2s;
}
.bob-panel-resizer:hover,
.bob-panel-resizer.resizing {
  background-color: var(--q-primary);
}
.bob-panel-resizer-left {
  right: -2px;
}
.bob-panel-resizer-right {
  left: -2px;
}
.bob-split-hoz {
  width: 6px;
  cursor: col-resize;
  display: flex;
  justify-content: center;
  flex-shrink: 0;
  z-index: 10;
  background-color: transparent;
  transition: all 0.2s;
  position: relative;
}
.bob-split-hoz-line {
  width: 2px;
  height: 100%;
  background-color: var(--q-border-color, #ccc);
  margin: 0 2px;
  transition: background-color 0.2s;
  border-radius: 1px;
}
.bob-split-hoz.resizing .bob-split-hoz-line {
  background-color: var(--q-primary);
}
@media (max-width: 768px) {
  .bob-split-hoz {
    display: none !important;
  }
}
.bob-panel-toggle-button {
  position: fixed;
  bottom: 20px;
  z-index: 2000;
  background-color: var(--q-bg-sunken);
  border: 1px solid var(--q-border-color);
  color: var(--q-text-base);
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  transition: transform 0.2s, background-color 0.2s;
}
.bob-panel-toggle-button:hover {
  background-color: var(--q-bg-subtle);
  transform: scale(1.1);
}
.bob-panel-toggle-left {
  left: 10px;
}
.bob-panel-toggle-right {
  right: 10px;
}
@media (max-width: 768px) {
  .bob-panel-left,
  .bob-panel-right {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 1500;
    width: 85% !important;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
    transition: transform 0.3s ease-in-out;
  }
  .bob-panel-left {
    left: 0;
    transform: translateX(-100%);
  }
  .bob-panel-left.show {
    transform: translateX(0);
  }
  .bob-panel-right {
    right: 0;
    transform: translateX(100%);
  }
  .bob-panel-right.show {
    transform: translateX(0);
  }
  .bob-panel-resizer {
    display: none;
  }
}

/* src/components/BobTable.css */
.q-table-container {
  width: 100%;
  display: flex;
  flex-direction: column;
}
.q-table-scroll-container {
  flex: 1;
  width: 100%;
  overflow-x: auto;
  overflow-y: auto;
}
.q-table {
  width: max-content;
  min-width: 100%;
  border-collapse: collapse;
  background-color: transparent;
  table-layout: auto;
}
@media (max-width: 768px) {
  .q-table th,
  .q-table td {
    padding: 0.4rem 0.5rem !important;
    font-size: 0.8rem !important;
  }
}
.q-table th,
.q-table td {
  padding: 0.5rem 0.75rem;
  text-align: left;
  border-bottom: 1px solid var(--q-border-color);
  white-space: normal;
  word-break: break-all;
  min-width: 5rem;
  max-width: 12rem;
  vertical-align: middle;
}
.q-table th {
  font-weight: 600;
  color: var(--q-text-edit, var(--q-text-base));
  font-size: 0.83rem;
  background-color: var(--q-bg-sunken);
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  min-width: 6.25rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.q-table th.q-table-tools-col {
  min-width: unset;
  width: 1%;
  white-space: nowrap;
}
.q-table th:hover {
  background-color: var(--q-bg-hover);
}
.q-table td {
  font-size: 0.9rem;
  color: var(--q-text-base);
}
.q-table tr:hover {
  background-color: var(--q-bg-subtle, rgba(0, 0, 0, 0.02));
  cursor: pointer;
}
.q-table tr.q-table-row-active td {
  background-color: var(--q-bg-active, rgba(120, 120, 120, 0.15));
}
.q-table tr.q-table-row-active:hover td {
  background-color: var(--q-bg-active, rgba(120, 120, 120, 0.25));
}
.q-table-tools-col {
  width: 1%;
  white-space: nowrap;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}
.q-table-tools-row-container {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.q-table-tools-row-container .row-icons {
  margin-top: 0 !important;
}
.q-table-check-icon {
  cursor: pointer;
  font-size: 1rem;
  color: var(--q-text-muted);
  display: flex;
  align-items: center;
}
.q-table-header-selection-container {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.q-table-selection-count {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--q-primary);
  background-color: var(--q-bg-sunken);
  padding: 0.1rem 0.35rem;
  border-radius: 0.5rem;
  border: 1px solid var(--q-primary-muted, var(--q-primary));
  line-height: 1.2;
}
.q-table-check-icon.selected {
  color: var(--q-primary);
}
.q-table-header-content {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  justify-content: flex-start;
  padding: 0;
}
.q-table-empty-message {
  padding: 2rem;
  text-align: center;
  color: var(--q-text-muted);
  font-style: italic;
}

/* src/components/BobDebugBlock.css */
.bob-debug-block {
  display: flex;
  flex-direction: column;
  height: 100%;
  gap: 8px;
  padding: 6px;
  box-sizing: border-box;
}
.bob-debug-title {
  margin: 0;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--q-border-color, #ccc);
  font-size: 1.1rem;
  font-weight: 600;
}
.bob-debug-textarea {
  flex: 1;
  margin-top: 16px;
  font-family: monospace;
  resize: none;
  padding: 8px;
  border: 1px solid var(--q-border-color, #ccc);
  border-radius: 4px;
  background-color: var(--q-bg-sunken, #fff);
  color: var(--q-text-base, #333);
  font-size: 0.85rem;
}
.bob-debug-error {
  color: var(--q-error-color, red);
  font-size: 12px;
}
.bob-debug-footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 8px;
}

/* src/components/BobBoxPINSelfie.css */
.bob-pin-selfie-container {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  width: 100%;
}
.bob-pin-selfie-input {
  width: 176px;
  background-color: var(--brand-card, #1c1a16);
  border: 1px solid rgba(197, 160, 89, 0.15);
  border-radius: 12px;
  padding: 12px 0;
  font-size: 1.125rem;
  font-weight: 900;
  text-align: center;
  letter-spacing: 0.25em;
  color: var(--brand-gold, #c5a059);
  transition: border-color 0.2s, box-shadow 0.2s;
}
.bob-pin-selfie-input:focus {
  outline: none;
  border-color: var(--brand-gold, #c5a059);
  box-shadow: 0 0 10px rgba(197, 160, 89, 0.2);
}
.bob-pin-selfie-row-layout {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
}
.bob-pin-selfie-side-container {
  position: relative;
  width: 36px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.bob-pin-selfie-preview-side {
  width: 36px;
  height: 48px;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--brand-gold, #c5a059);
  box-shadow: 0 0 8px rgba(197, 160, 89, 0.2);
  background-color: #000;
}
.bob-pin-selfie-thumbnail-side {
  position: relative;
  width: 36px;
  height: 48px;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--brand-gold, #c5a059);
  box-shadow: 0 0 8px rgba(197, 160, 89, 0.2);
}
.bob-pin-selfie-placeholder-side {
  width: 36px;
  height: 48px;
  border-radius: 8px;
  border: 1px dashed rgba(197, 160, 89, 0.15);
  background-color: rgba(197, 160, 89, 0.02);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.2s, background-color 0.2s;
}
.bob-pin-selfie-badge-side {
  position: absolute;
  bottom: -4px;
  right: -4px;
  background-color: #22c55e;
  color: #fff;
  border-radius: 50%;
  padding: 1.5px;
  border: 1px solid var(--brand-card, #1c1a16);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 13px;
  height: 13px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.bob-pin-selfie-badge-icon {
  width: 7px;
  height: 7px;
  fill: currentColor;
}
.bob-pin-boxes-container {
  display: flex;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
  padding: 4px;
  width: 100%;
  position: relative;
}
.bob-pin-box {
  width: 36px;
  height: 48px;
  background-color: var(--brand-card, #1c1a16);
  border: 1px solid rgba(197, 160, 89, 0.15);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--brand-gold, #c5a059);
  position: relative;
  transition:
    border-color 0.2s,
    box-shadow 0.2s,
    background-color 0.2s;
}
.bob-pin-box.entered {
  border-color: rgba(197, 160, 89, 0.3);
  background-color: rgba(197, 160, 89, 0.05);
}
.bob-pin-box.active {
  border-color: var(--brand-gold, #c5a059);
  box-shadow: 0 0 8px rgba(197, 160, 89, 0.3);
  background-color: rgba(197, 160, 89, 0.02);
}
.bob-pin-box-cursor {
  width: 2px;
  height: 20px;
  background-color: var(--brand-gold, #c5a059);
  animation: bob-pin-cursor-blink 1s step-end infinite;
}
@keyframes bob-pin-cursor-blink {
  from, to {
    background-color: transparent;
  }
  50% {
    background-color: var(--brand-gold, #c5a059);
  }
}
.bob-pin-confidential-pulse {
  font-size: 0.95rem;
  line-height: 1.45;
  color: var(--q-text-base, #fff);
  transition: transform 0.2s;
  animation: bob-pin-text-glow 2s ease-in-out infinite alternate;
}
@media (min-width: 768px) {
  .bob-pin-confidential-pulse {
    font-size: 1.15rem;
  }
}
@keyframes bob-pin-text-glow {
  from {
    text-shadow: 0 0 8px rgba(255, 255, 255, 0.15), 0 0 16px rgba(255, 255, 255, 0.05);
    opacity: 0.85;
  }
  to {
    text-shadow: 0 0 16px rgba(197, 160, 89, 0.4), 0 0 24px rgba(197, 160, 89, 0.2);
    opacity: 1;
  }
}
html.theme-light .bob-pin-confidential-pulse {
  color: var(--q-text-base, #1a1a1a) !important;
  animation: bob-pin-text-glow-light 2s ease-in-out infinite alternate;
}
@keyframes bob-pin-text-glow-light {
  from {
    text-shadow: 0 0 8px rgba(0, 0, 0, 0.05), 0 0 16px rgba(0, 0, 0, 0.02);
    opacity: 0.85;
  }
  to {
    text-shadow: 0 0 16px rgba(197, 160, 89, 0.2), 0 0 24px rgba(197, 160, 89, 0.1);
    opacity: 1;
  }
}
html.theme-light .bob-pin-box {
  background-color: #e5e7eb !important;
  color: #000000 !important;
  border-color: rgba(0, 0, 0, 0.15) !important;
}
html.theme-light .bob-pin-box.entered {
  background-color: #d1d5db !important;
  border-color: rgba(0, 0, 0, 0.25) !important;
}
html.theme-light .bob-pin-box.active {
  background-color: #f3f4f6 !important;
  border-color: #000000 !important;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.15) !important;
}
html.theme-light .bob-pin-box-cursor {
  background-color: #000000 !important;
  animation: bob-pin-cursor-blink-light 1s step-end infinite !important;
}
@keyframes bob-pin-cursor-blink-light {
  from, to {
    background-color: transparent;
  }
  50% {
    background-color: #000000;
  }
}
.bob-pin-selfie-error-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px;
  border-radius: 12px;
  background-color: rgba(239, 68, 68, 0.05);
  border: 1px solid rgba(239, 68, 68, 0.2);
  width: 100%;
  max-width: 320px;
  text-align: center;
}
.bob-pin-selfie-error-icon {
  width: 24px;
  height: 24px;
  color: #ef4444;
}
.bob-pin-selfie-error-message {
  font-size: 0.75rem;
  font-weight: 600;
  color: #f87171;
  line-height: 1.4;
}

/* src/components/BobPopupMenu.css */
.bob-popup-menu {
  display: flex;
  flex-direction: column;
  padding: 0.25rem 0;
  min-width: 12.5rem;
  width: var(--bob-menu-width, auto);
  background: transparent;
}
.bob-popup-menu-divider {
  height: 1px;
  background-color: var(--q-border-color, #303040);
  margin: 0.25rem 0;
  width: 100%;
  border: none;
}
.bob-popup-menu-header {
  padding: 0.5rem 1rem;
  font-weight: 600;
  font-size: 0.85em;
  color: var(--q-text-muted);
  display: flex;
  align-items: center;
  background: transparent;
}
.bob-popup-menu-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 1rem;
  background: transparent;
  border: none;
  color: var(--q-text-edit);
  text-align: left;
  font-size: var(--q-font-size-sm, 0.8125rem);
  cursor: pointer;
  transition: background-color 0.1s ease, color 0.1s ease;
  width: 100%;
  font-family: inherit;
}
.bob-popup-menu-item:hover:not(:disabled) {
  background-color: var(--q-primary);
  color: var(--q-primary-text, #fff);
}
.bob-popup-menu-item.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.bob-popup-menu-item.danger {
  color: var(--q-danger, #e74c3c);
}
.bob-popup-menu-item.danger:hover:not(:disabled) {
  background-color: var(--q-danger, #e74c3c);
  color: var(--q-danger-text, #fff);
}
.bob-popup-menu-item-content {
  display: flex;
  align-items: center;
  flex: 1;
  overflow: hidden;
}
.bob-popup-menu-icon {
  width: 1rem;
  margin-right: 0.75rem;
  text-align: center;
  font-size: 0.875rem;
  opacity: 0.8;
  color: var(--bob-menu-icon-color, inherit);
}
.bob-popup-menu-caption {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bob-popup-menu-chevron {
  font-size: 0.6875rem;
  opacity: 0.6;
  margin-left: 0.75rem;
  transition: transform 0.2s ease;
}
.bob-popup-menu-subitems {
  background-color: var(--q-bg-surface-subtle, rgba(0, 0, 0, 0.1));
}
.bob-popup-menu--nested {
  min-width: unset;
  width: 100%;
  padding: 0;
}
.bob-popup-menu--nested .bob-popup-menu-item {
  padding-left: 2rem;
}

/* src/components/BobIconMenu.css */
.bob-icon-menu {
  display: inline-flex;
  position: relative;
}
.bob-icon-menu-btn {
  background: none;
  border: none;
  color: var(--q-text-muted, #9090a0);
  cursor: pointer;
  font-size: 14px;
  padding: 2px 6px;
  transition: color 0.2s;
  border-radius: var(--q-border-radius, 4px);
}
.bob-icon-menu-btn:hover:not(:disabled) {
  color: var(--q-text-base, #e0e0e0);
  background-color: var(--q-bg-hover, #36364a);
}
.bob-icon-menu-dropdown {
  background-color: var(--q-bg-surface-elevated, #2a2a3e);
  border: 1px solid var(--q-border-color, #303040);
  border-radius: var(--q-border-radius, 4px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
  min-width: 160px;
  display: flex;
  flex-direction: column;
  padding: 0;
  max-height: 50vh;
  overflow-y: auto;
}

/* src/components/BobTooltip.css */
.bob-tooltip-container {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.bob-tooltip-bubble {
  position: fixed;
  z-index: 2147483647;
  background-color: var(--q-bg-surface, #ffffff);
  color: var(--q-secondary, var(--q-text-main, #333333));
  border: 1px solid var(--q-border-dim, #e2e8f0);
  padding: 8px 12px;
  border-radius: 6px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  font-size: 0.875rem;
  white-space: normal;
  word-wrap: break-word;
  max-width: 600px;
  width: max-content;
  pointer-events: none;
  line-height: 1.4;
  transition: opacity 0.3s ease-in-out;
}
.bob-tooltip-bubble::after,
.bob-tooltip-bubble::before {
  content: "";
  position: absolute;
  border-style: solid;
}
.bob-tooltip-pos-bottom {
  transform: translate(calc(-50% + var(--shift-x, 0px)), var(--shift-y, 0px));
}
.bob-tooltip-pos-bottom::after {
  bottom: 100%;
  left: calc(50% - var(--shift-x, 0px));
  transform: translateX(-50%);
  border-width: 0 6px 6px 6px;
  border-color: transparent transparent var(--q-bg-surface, #ffffff) transparent;
}
.bob-tooltip-pos-bottom::before {
  bottom: 100%;
  left: calc(50% - var(--shift-x, 0px));
  transform: translateX(-50%);
  border-width: 0 7px 7px 7px;
  border-color: transparent transparent var(--q-border-dim, #e2e8f0) transparent;
  margin-bottom: 1px;
}
.bob-tooltip-pos-top {
  transform: translate(calc(-50% + var(--shift-x, 0px)), var(--shift-y, 0px));
}
.bob-tooltip-pos-top::after {
  top: 100%;
  left: calc(50% - var(--shift-x, 0px));
  transform: translateX(-50%);
  border-width: 6px 6px 0 6px;
  border-color: var(--q-bg-surface, #ffffff) transparent transparent transparent;
}
.bob-tooltip-pos-top::before {
  top: 100%;
  left: calc(50% - var(--shift-x, 0px));
  transform: translateX(-50%);
  border-width: 7px 7px 0 7px;
  border-color: var(--q-border-dim, #e2e8f0) transparent transparent transparent;
  margin-top: 1px;
}
.bob-tooltip-pos-right {
  transform: translate(var(--shift-x, 0px), calc(-50% + var(--shift-y, 0px)));
}
.bob-tooltip-pos-right::after {
  right: 100%;
  top: calc(50% - var(--shift-y, 0px));
  transform: translateY(-50%);
  border-width: 6px 6px 6px 0;
  border-color: transparent var(--q-bg-surface, #ffffff) transparent transparent;
}
.bob-tooltip-pos-right::before {
  right: 100%;
  top: calc(50% - var(--shift-y, 0px));
  transform: translateY(-50%);
  border-width: 7px 7px 7px 0;
  border-color: transparent var(--q-border-dim, #e2e8f0) transparent transparent;
  margin-right: 1px;
}
.bob-tooltip-pos-left {
  transform: translate(var(--shift-x, 0px), calc(-50% + var(--shift-y, 0px)));
}
.bob-tooltip-pos-left::after {
  left: 100%;
  top: calc(50% - var(--shift-y, 0px));
  transform: translateY(-50%);
  border-width: 6px 0 6px 6px;
  border-color: transparent transparent transparent var(--q-bg-surface, #ffffff);
}
.bob-tooltip-pos-left::before {
  left: 100%;
  top: calc(50% - var(--shift-y, 0px));
  transform: translateY(-50%);
  border-width: 7px 0 7px 7px;
  border-color: transparent transparent transparent var(--q-border-dim, #e2e8f0);
  margin-left: 1px;
}

/* src/components/BobPopupPanel.css */
.bob-popup-panel-container {
  display: inline-flex;
}
.bob-popup-panel-container:not(.q-disabled) {
  cursor: pointer;
}
.bob-popup-panel-container.q-disabled {
  cursor: default;
}

/* src/components/BobBar.css */
.bob-bar-container {
  display: flex;
  flex-direction: column;
  width: 100%;
  position: relative;
}
.bob-bar {
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 100%;
  padding: 0 0.25rem;
  box-sizing: border-box;
  gap: 0.25rem;
  flex-wrap: nowrap;
  min-width: 0;
}
.bob-bar i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  vertical-align: middle;
}
.bob-bar.overflow-strip {
  background-color: var(--q-bg-sunken, #f7f7f7);
  border-top: 1px solid var(--q-border-color, #e0e0e0);
  position: relative;
  z-index: 100;
}
.bob-bar-section {
  display: flex;
  flex-direction: row;
  align-items: center;
  white-space: nowrap;
  overflow: visible;
  gap: 0.25rem;
  min-width: 0;
  flex-shrink: 0;
  height: 100%;
}
.bob-bar-section.expanded {
  flex: 1 0 auto;
}
.bob-bar-left {
  display: flex;
  justify-content: flex-start;
  flex: 0 0 auto;
  flex-shrink: 0;
  margin: 0;
}
.bob-bar-far-left {
  display: flex;
  justify-content: flex-start;
  flex: 0 0 auto;
  flex-shrink: 0;
  margin-left: 0.4rem;
}
.bob-bar-center {
  display: flex;
  justify-content: flex-start;
  flex: 1 0 auto;
  flex-shrink: 0;
  margin: 0;
  margin-left: 0.5rem;
}
.bob-bar-right {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  flex-shrink: 0;
}
.bob-bar-far-right {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  flex-shrink: 0;
}
.bob-bar-right,
.bob-bar-far-right,
.bob-bar-user {
  margin-left: auto;
}
.bob-bar-right + .bob-bar-right,
.bob-bar-right + .bob-bar-far-right,
.bob-bar-far-right + .bob-bar-right,
.bob-bar-far-right + .bob-bar-far-right {
  margin-left: 1.5rem;
}
.bob-bar-right + .bob-bar-user,
.bob-bar-far-right + .bob-bar-user,
.bob-bar-user + .bob-bar-right,
.bob-bar-user + .bob-bar-far-right,
.bob-bar-user + .bob-bar-user {
  margin-left: 0;
}
.bob-bar .tt-flex-gap-small {
  gap: 3px;
}
.bob-bar-user {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-left: auto;
  flex-shrink: 0;
  padding-left: 0.5rem;
  border-left: 0.0625rem solid var(--q-border-color, rgba(128, 128, 128, 0.2));
}
.bob-bar.overflow-strip .bob-bar-section {
  flex: 1;
  justify-content: flex-start;
  width: 100%;
}
.bob-bar.overflow-strip .bob-bar-center {
  flex-grow: 1;
  justify-content: center;
  min-width: 0;
}
.main-strip[data-collapse-level="3"] {
  gap: 0 !important;
}
.main-strip[data-collapse-level="3"] .bob-bar-section {
  gap: 0 !important;
}
.main-strip[data-collapse-level="3"] .bob-bar-left,
.main-strip[data-collapse-level="3"] .bob-bar-far-left,
.main-strip[data-collapse-level="3"] .bob-bar-center,
.main-strip[data-collapse-level="3"] .bob-bar-right,
.main-strip[data-collapse-level="3"] .bob-bar-far-right,
.main-strip[data-collapse-level="3"] .bob-bar-user {
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
}
.main-strip[data-collapse-level="3"] .bob-bar-section-content {
  padding: 0 !important;
}
.bob-bar-measure,
.bob-bar-measure-compact {
  position: absolute;
  top: 0;
  left: 0;
  width: max-content;
  height: 0;
  overflow: hidden;
  visibility: hidden;
  pointer-events: none;
  display: flex;
  gap: 0.25rem;
  padding: 0 0.25rem;
  white-space: nowrap;
}
.bob-bar.bob-sublist-bar,
.bob-bar-measure.bob-sublist-bar {
  justify-content: flex-start;
  gap: 0.25rem;
  display: flex;
  flex-direction: row;
}
.bob-bar-section-content {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.25rem;
  position: relative;
  height: 100%;
}
.bob-bar-section-bg-tint {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 0;
  background-color: transparent !important;
  opacity: 0 !important;
}
.bob-bar .bob-bar-section-toggle-btn.bob-bar-section-toggle-btn {
  background-color: transparent;
  border-color: transparent;
  box-shadow: none;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.bob-bar .bob-bar-section-toggle-btn i {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  line-height: 1;
}
.bob-bar .bob-bar-section-toggle-btn.bob-bar-section-toggle-btn:hover {
  background-color: rgba(128, 128, 128, 0.15);
}
.bob-bar-section:not(.collapsed-placeholder) .bob-bar-section-toggle-btn {
  opacity: 0.3;
  transition: opacity 0.2s ease, background-color 0.2s ease;
}
.bob-bar-section:not(.collapsed-placeholder):hover .bob-bar-section-toggle-btn {
  opacity: 1;
}
.bob-bar-section-content.is-fixed {
  flex-shrink: 0;
}
.bob-bar .bob-master-keyword-filter.bob-master-keyword-filter,
.bob-bar .bob-master-keyword-filter input.bob-master-keyword-filter-input {
  min-width: 0;
}
.bob-bar-section-header {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  color: var(--q-text-muted, #888);
  font-size: 0.875rem;
  z-index: 1;
  flex-shrink: 0;
  margin-right: 0;
}
.bob-bar-section-divider-wrapper {
  display: flex;
  align-items: center;
  padding-left: 0.625rem;
  margin-left: 0.125rem;
  height: 1.5rem;
  border-left: 0.0625rem solid var(--q-border-subtle, rgba(128,128,128,0.2));
  z-index: 1;
}
.bob-bar-section-icon {
  opacity: 0.9;
  font-size: 0.875rem;
}
.bob-bar-compact .bob-bar {
  padding: 0.375rem 0.5rem;
  gap: 0.25rem;
}
.bob-bar-compact .bob-bar-section {
  gap: 0.25rem;
}
.bob-bar-compact .bob-bar-section-header {
  margin-right: 0;
  gap: 0;
}
.bob-bar-compact .bob-bar-section-caption {
  display: none;
}
.bob-bar-compact .bob-bar-section-icon {
  font-size: 0.875rem;
  margin-right: 0.25rem;
}
.bob-bar-compact .bob-form-bar-divider {
  margin: 0 0.125rem;
}
.bob-bar.bob-bar-measuring {
  width: max-content;
  display: inline-flex;
}
.bob-bar.bob-bar-measuring .bob-bar-section {
  flex: 0 0 auto;
  margin-left: 0;
}
.bob-bar-section-pin-btn {
  z-index: 1;
  display: flex;
  align-items: center;
  flex-shrink: 0;
  cursor: pointer;
  opacity: 0.5;
  transition: opacity 0.2s;
}
.bob-bar-section-pin-btn--left {
  padding-right: 0.25rem;
}
.bob-bar-section-pin-btn--right {
  padding-left: 0.25rem;
}
.bob-bar-section-pin-btn:hover {
  opacity: 1;
}
.bob-bar-section-pin-icon {
  font-size: 0.75rem;
  color: var(--tint-color, inherit);
}
.bob-bar .btn {
  border: none !important;
}
.bob-bar-section-caption {
  font-weight: 500;
  font-size: 0.8125rem;
  color: var(--q-text-edit, var(--q-text-base));
  font-family: inherit;
  line-height: 1;
  display: flex;
  align-items: center;
}
.bob-bar-section-open {
  display: flex;
  align-items: center;
  flex: 1;
  width: 100%;
  height: 100%;
  gap: 0.5rem;
}
.bob-bar-overflow-popup-content {
  display: flex;
  gap: 0.25rem;
  padding: 0.5rem;
  min-width: max-content;
  align-items: center;
}
.bob-bar-section-toggle-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  height: 100%;
  z-index: 1;
}
.bob-bar-flex-items {
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 3px;
  min-width: 0;
}
.bob-bar-isolated-back-btn {
  margin-right: 0.5rem;
  padding: 0 0.5rem !important;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bob-bar .bob-heading {
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  font-family: inherit !important;
}
.bob-bar {
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
}

/* src/components/BobStatusBar.css */
.bob-status-bar {
  height: var(--bob-status-bar-height, 28px);
  background: var(--q-bg-sunken);
  border-top: 1px solid var(--q-border-color);
  font-size: 0.75rem;
  color: var(--q-text-muted);
  padding: 0 10px;
}
.bob-status-bar-item {
  display: flex;
  align-items: center;
  gap: 8px;
}
.bob-status-bar-icon {
  font-size: 0.7rem;
  color: var(--q-primary);
}
.bob-status-bar-status {
  color: var(--q-text-main);
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.7rem;
  letter-spacing: 0.05em;
}
.bob-status-bar-separator {
  margin: 0 4px;
  opacity: 0.5;
}
.bob-status-bar-instruction {
  font-style: normal;
  opacity: 0.9;
}
.bob-status-bar-shortcut-spacer {
  display: inline-block;
  width: 24px;
}
.bob-status-bar-shortcut {
  background: var(--q-bg-base);
  border: 1px solid var(--q-border-color);
  border-radius: 4px;
  padding: 2px 6px;
  font-family: var(--q-font-family-mono, monospace);
  font-size: 0.7rem;
  box-shadow: var(--q-shadow-sm);
}
.bob-status-bar-shortcut-key {
  color: var(--q-primary);
  font-weight: bold;
}

/* src/components/BobSublistBar.css */

/* src/components/BobBarGroup.css */
.bob-bar-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}
.bob-bar-group.q-align-right {
  justify-content: flex-end;
}
.bob-bar-group.q-align-center {
  justify-content: center;
}
.bob-bar-group.q-align-left {
  justify-content: flex-start;
}
.bob-bar-group.is-collapsible:not(.is-menu-open) {
  overflow: hidden;
}
.bob-bar-measure,
.bob-bar-measure-compact {
  position: absolute;
  top: 0;
  left: 0;
  visibility: hidden;
  pointer-events: none;
  display: flex;
  gap: 0.5rem;
  white-space: nowrap;
}
.bob-bar-group-overflow-anchor {
  display: flex;
  align-items: center;
}
.bob-bar-overflow-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  padding: 0.5rem 1rem;
  background-color: var(--q-bg-sunken);
  border-bottom: 1px solid var(--q-border-color);
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  z-index: 10000;
  animation: bob-dropdown-fade 0.2s ease-out;
}
@keyframes bob-dropdown-fade {
  from {
    opacity: 0;
    transform: translateY(-0.25rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* src/components/BobAppBar.css */
.bob-app-bar {
  border-bottom: 1px solid var(--q-border-color);
  background-color: var(--q-bg-subtle, var(--q-bg-sunken));
  color: var(--q-text-base);
  padding: 4px !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
}
.bob-app-bar-wrapper {
  position: relative;
  z-index: 1000;
}
.bob-app-bar-stacked {
  display: flex;
  flex-direction: column;
}
.bob-app-bar-stacked .bob-app-bar-top-layer {
  border-bottom: none;
}
.bob-app-bar-stacked .bob-app-bar-bottom-layer {
  border-top: 1px solid var(--q-border-subtle, rgba(128, 128, 128, 0.2));
}
.bob-app-bar-fixed {
  position: sticky;
  top: 0;
}
.bob-design-bar {
  border: none;
}
.bob-app-bar-title {
  font-weight: bold;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}
.bob-appbar-divider {
  width: 1px;
  height: 24px;
  background-color: var(--q-border-subtle, rgba(128, 128, 128, 0.2));
  margin: 0 8px;
}
.bob-app-bar-actions-right {
  gap: 16px !important;
}
.bob-app-bar-left-cluster {
  display: flex;
  align-items: center;
  gap: 8px;
}
.bob-app-bar-left-actions {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-left: 8px;
  padding-left: 8px;
  border-left: 1px solid var(--q-border-subtle, rgba(128, 128, 128, 0.2));
}
.bob-app-bar-app-icon {
  font-size: 1.25rem;
  color: var(--q-primary);
  margin-right: 4px;
}
#appbar-theme-settings {
  margin-right: 0.4rem;
}
.bob-app-bar-portal {
  display: flex;
  align-items: center;
  gap: 8px;
}
.bob-app-bar-layout-controls {
  display: flex;
  gap: 8px;
  align-items: center;
}
.bob-design-bar-active {
  border-top: 1px solid var(--q-border-subtle);
  background: var(--q-bg-sunken);
}
.bob-app-nav-menu-container {
  display: flex;
  flex-direction: column;
  position: relative;
  min-width: 200px;
}
.bob-app-nav-menu-close {
  position: absolute;
  top: 8px;
  right: 8px;
  background: transparent;
  border: none;
  cursor: pointer;
  color: var(--q-text-muted);
  font-size: 1rem;
  z-index: 10;
  padding: 4px;
}
.bob-app-nav-menu-close:hover {
  color: var(--q-text-base);
}
@media (max-width: 1000px) {
  .bob-app-nav-menu-popup {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: var(--q-bg-base);
    z-index: 2000;
  }
  .bob-app-nav-menu-popup .bob-app-nav-menu-container {
    width: 100% !important;
    height: 100%;
  }
  .bob-app-nav-menu-popup .bob-popup-menu {
    width: 100% !important;
    height: 100%;
    border: none;
    border-radius: 0;
    padding-top: 40px;
  }
}
.bob-app-bar-center-cluster {
  min-width: 0;
  flex: 1 1 auto;
}

/* src/components/BobNavigationPanel.css */
.bob-navigation-panel {
  display: flex;
  flex-direction: column;
  background-color: var(--q-bg-subtle, var(--q-bg-sunken));
  color: var(--q-text-base);
  padding: 1rem;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  overflow-y: auto;
}
.bob-navigation-panel h4 {
  margin: 0 0 1rem 0;
  color: var(--q-text-base);
  font-size: 1.125rem;
}
.bob-navigation-panel-floating {
  position: absolute;
  top: calc(var(--q-input-height) * 2 + 0.625rem);
  left: clamp(0.25rem, 1vw, 0.625rem);
  border: 1px solid var(--q-border-color);
  z-index: 1000;
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.5);
  border-radius: var(--q-border-radius);
}
@media (max-width: 768px) {
  .bob-navigation-panel {
    top: calc(var(--q-input-height) * 3);
    left: 0;
    right: 0;
    min-width: 100%;
    border-radius: 0;
  }
}
.bob-navigation-panel-content {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 1rem;
}
.bob-navigation-panel-empty {
  color: var(--q-text-muted);
}
.bob-navigation-panel-link {
  text-decoration: none;
  justify-content: flex-start;
  text-align: left;
  border: 1px solid transparent;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bob-navigation-panel .bob-navigation-panel-link:not(.btn-is-primary) {
  color: var(--q-text-base);
}
.bob-navigation-panel .bob-navigation-panel-link.btn-is-primary {
  background-color: var(--q-primary-alpha, rgba(var(--q-primary-rgb), 0.15));
  color: var(--q-primary);
  border-color: var(--q-primary-alpha);
}

/* src/components/BobUserPanel.css */
.bob-user-panel {
  position: absolute;
  top: 50px;
  right: 10px;
  background-color: var(--q-bg-subtle, var(--q-bg-sunken));
  border: 1px solid var(--q-border-color);
  color: var(--q-text-base);
  padding: 16px;
  z-index: 1000;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
  min-width: 200px;
  border-radius: var(--q-border-radius);
}
.bob-user-panel-content {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* src/components/bob-dialog.css */
.q-dialog,
.q-dialog * {
  box-sizing: border-box;
}
.q-dialog {
  margin: auto;
  padding: 0;
  width: fit-content;
  min-width: min(480px, 95vw);
  max-width: 95vw;
  max-height: 95vh;
  border: 1px solid var(--bob-border-subtle, #334155);
  background-color: var(--bob-bg-surface, #1e293b);
  color: var(--bob-text-main, #f8fafc);
  border-radius: var(--bob-radius-lg, 12px);
  box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.5);
  overflow: hidden;
  transition: width 0.2s ease-out, height 0.2s ease-out;
  display: flex;
  flex-direction: column;
}
@media (max-width: 480px) {
  .q-dialog {
    width: 100vw !important;
    height: 100vh !important;
    min-width: 0 !important;
    max-width: 100vw !important;
    max-height: 100vh !important;
    margin: 0 !important;
    border-radius: 0 !important;
    border: none !important;
    z-index: 2000;
  }
  .q-popup-content {
    padding: 0 !important;
  }
}
.q-dialog::backdrop {
  background-color: rgba(0, 0, 0, 0.75);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
.q-popup-inner {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding: 0;
}
.q-popup-small {
  width: 400px;
  height: 300px;
}
.q-popup-medium {
  width: 600px;
  height: 450px;
}
.q-popup-large {
  width: 90vw;
  height: 85vh;
}
.q-popup-full {
  width: 100vw;
  height: 100vh;
}
.q-popup-auto {
  width: fit-content !important;
  min-width: 0 !important;
  max-width: min(95vw, 100%) !important;
  margin: auto !important;
}
.q-popup-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--bob-border-subtle, #334155);
  background-color: var(--bob-bg-surface, #1e293b);
}
.q-popup-title {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--q-color-heading, var(--q-text-base));
}
.q-popup-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 1rem;
  width: 100%;
  box-sizing: border-box;
}
.q-popup-footer {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  border-top: 1px solid var(--bob-border-subtle, #334155);
  background-color: var(--bob-bg-surface, #1e293b);
}

/* src/components/BobKeywordFilter.css */
.bob-keyword-filter {
  display: flex;
  align-items: center;
  gap: var(--q-control-gap);
  width: auto;
}
.bob-keyword-filter-input {
  width: clamp(80px, 15vw, 150px);
  padding: 3px;
}
.bob-keyword-filter-advanced-dialog-content {
  padding: var(--q-padding-base);
  color: var(--q-text-base);
}
@media (max-width: 768px) {
  .bob-keyword-filter {
    flex: 1;
  }
  .bob-keyword-filter-input {
    width: 100%;
    flex: 1;
  }
}

/* src/components/BobAppFooterBar.css */
.bob-footer-bar-wrapper {
  border-top: 1px solid var(--q-border-color);
  background-color: var(--q-bg-subtle, var(--q-bg-sunken));
  color: var(--q-text-base);
}
.bob-footer-bar {
  padding: 4px 16px;
  min-height: 32px;
}

/* src/components/BobBoxTextTags.css */
.q-tag-popup {
  display: flex;
  flex-direction: column;
  gap: var(--q-control-gap);
  padding: var(--q-padding-base);
  background: var(--q-bg-base);
  border: 1px solid var(--q-border-color);
  border-radius: var(--q-border-radius);
  box-shadow: var(--q-shadow-sm);
  min-width: 200px;
}
.q-tag-container {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.q-tag {
  display: inline-flex;
  align-items: center;
  background: var(--q-primary-alpha-15);
  color: var(--q-primary);
  padding: 2px 8px;
  border-radius: 4px;
  font-size: var(--q-font-size-sm);
}
.q-tag-remove {
  background: none;
  border: none;
  cursor: pointer;
  margin-left: 4px;
  color: inherit;
  font-size: 1.25rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.q-tag-input {
  width: 100%;
  padding: 4px 8px;
  border: 1px solid var(--q-border-color);
  border-radius: var(--q-border-radius);
  background: var(--q-bg-base);
  color: var(--q-text-edit);
  font-size: var(--q-font-size-base);
  outline: none;
}
.q-tag-input:focus {
  border-color: var(--q-primary);
}

/* src/components/BobBoxCheck.css */
.q-check-wrapper {
  display: flex;
  align-items: center;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  gap: 0.5rem;
}
.q-check-variant-circle .q-check-icon {
  font-size: 1.2rem;
}
.q-check-variant-circle .q-check-true,
.q-check-true {
  color: var(--q-text-edit);
}
.q-check-variant-circle .q-check-false,
.q-check-false {
  color: var(--q-text-edit);
}
.q-check-variant-circle .q-check-null {
  color: var(--q-text-muted);
  opacity: 0.5;
}
.q-check-variant-circle .q-check-label {
  margin-left: 0.25rem;
}
.q-check-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
.q-check-null-placeholder {
  display: inline-block;
  width: 1em;
  height: 1em;
}
.q-readonly,
.q-disabled {
  cursor: default;
  opacity: 0.6;
}

/* src/components/BobBoxChoiceKeys.css */
.q-choice-keys-wrapper {
  display: flex;
  align-items: stretch;
  gap: var(--q-control-gap, 6px);
  width: 100%;
  background: var(--q-bg-base, rgba(255, 255, 255, 0.03));
  border: 1px solid var(--q-border-color, rgba(255, 255, 255, 0.05));
  border-radius: var(--q-border-radius, 12px);
  padding: 4px;
  min-height: 42px;
  box-sizing: border-box;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.q-choice-keys-wrapper:focus {
  outline: none;
  border-color: var(--q-primary, #bda15f);
  box-shadow: 0 0 0 2px rgba(189, 161, 95, 0.2);
}
.q-choice-keys-wrapper.q-disabled {
  opacity: 0.6;
  pointer-events: none;
}
.q-choice-keys-wrapper button.q-choice-key-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 6px 12px;
  border: 1px solid transparent;
  background: transparent;
  border-radius: calc(var(--q-border-radius, 12px) - 4px);
  color: var(--q-text-muted, rgba(255, 255, 255, 0.5));
  font-size: var(--q-font-size-base, 12px);
  font-weight: 700;
  cursor: pointer;
  outline: none;
  transition: all 0.2s ease;
  box-sizing: border-box;
}
.q-choice-keys-wrapper button.q-choice-key-btn:hover:not(:disabled) {
  color: var(--q-text-base, #ffffff);
  background-color: var(--q-bg-hover, rgba(255, 255, 255, 0.05));
}
.q-choice-keys-wrapper button.q-choice-key-btn.q-selected {
  background-color: rgba(189, 161, 95, 0.15);
  border-color: rgba(189, 161, 95, 0.3);
  color: var(--q-primary, #bda15f);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.q-choice-keys-wrapper button.q-choice-key-btn:focus-visible {
  background-color: rgba(189, 161, 95, 0.08);
}
.q-choice-key-btn .q-key-badge {
  font-size: 8px;
  opacity: 0.4;
  padding: 2px 4px;
  border-radius: 4px;
  background: var(--q-bg-base, rgba(0, 0, 0, 0.2));
  border: 1px solid var(--q-border-color, rgba(255, 255, 255, 0.05));
  font-family: monospace;
  margin-left: auto;
}

/* src/components/BobBoxChoiceColor.css */
.q-choice-color-wrapper {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.5rem;
  align-items: center;
  width: 100%;
  overflow: hidden;
}
.q-choice-color-inline-swatches {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.5rem;
  align-items: center;
  overflow: hidden;
  flex: 1;
  padding-left: 1rem;
}
.q-choice-color-btn-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.q-choice-color-wrapper.q-size-small,
.q-color-palette-popup-inner.q-size-small {
  --size-px: 1.5em;
  --icon-size: 0.8em;
}
.q-choice-color-wrapper.q-size-medium,
.q-color-palette-popup-inner.q-size-medium {
  --size-px: 2em;
  --icon-size: 1em;
}
.q-choice-color-wrapper.q-size-large,
.q-color-palette-popup-inner.q-size-large {
  --size-px: 2.5em;
  --icon-size: 1.25em;
}
.q-color-palette-popup-inner {
}
.q-choice-color-btn {
  border-radius: 0;
  padding: 0;
  margin: 0;
  transition: transform 0.1s ease, border-color 0.1s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: var(--size-px);
  height: var(--size-px);
  background-color: var(--swatch-color);
  border: 2px solid transparent;
  outline-offset: -0.25rem;
  color: var(--q-text-muted);
}
.q-choice-color-btn.q-selected {
  border-color: var(--q-text-edit);
}
.q-choice-color-btn.q-selected:not(.q-reset) {
  outline: 2px solid var(--q-bg-base);
}
.q-choice-color-btn.q-reset {
  background-color: var(--q-bg-subtle);
}
.q-choice-color-btn.q-transparent {
  background-color: var(--q-bg-base);
  border-color: var(--q-border-subtle);
}
.q-choice-color-btn:hover:not(:disabled) {
  transform: scale(1.1);
}
.q-choice-color-btn:active:not(:disabled) {
  transform: scale(0.95);
}
.q-choice-color-btn:disabled {
  opacity: 0.5;
  cursor: default;
}
.q-choice-color-btn-icon {
  pointer-events: none;
  font-size: var(--icon-size);
}
.q-choice-color-btn-remove {
  position: absolute;
  top: -0.375rem;
  right: -0.375rem;
  z-index: 10;
}
.q-choice-color-readonly-wrapper {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  height: var(--size-px);
}
.q-choice-color-readonly-swatch {
  width: var(--size-px);
  height: var(--size-px);
  border-radius: 0;
  box-shadow: var(--q-shadow-sm);
  border: 1px solid var(--q-border-subtle);
  box-sizing: border-box;
  background-color: var(--swatch-color);
}
.q-choice-color-readonly-empty {
  color: var(--q-text-muted);
  font-size: 0.9rem;
}
.q-choice-color-more-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  width: var(--size-px);
  height: var(--size-px);
  min-width: var(--size-px);
}
.q-choice-color-hidden-input {
  display: none;
}
.q-color-palette-popup {
  padding: 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  width: min-content;
}
.q-choice-color-palette-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: 600;
  font-size: 0.85rem;
  color: var(--q-text-muted);
  border-bottom: 1px solid var(--q-border-subtle);
  padding-bottom: 0.5rem;
  gap: 1rem;
}
.q-choice-color-palette-header-right {
  position: relative;
}
.q-choice-color-grid {
  display: grid;
  grid-template-columns: repeat(8, var(--size-px, 2rem));
  grid-auto-rows: var(--size-px, 2rem);
  gap: 0.25rem;
  justify-content: center;
  width: max-content;
}
.q-color-palette-popup-inner {
  background-color: var(--q-bg-base);
  border: 1px solid var(--q-border-subtle);
  border-radius: var(--q-radius-md);
  box-shadow: var(--q-shadow-xl);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.q-color-palette-bob-bar {
  border-bottom: 1px solid var(--q-border-subtle);
  padding: 0 0.25rem;
}
.q-choice-color-divider {
  width: 1px;
  height: 1.5em;
  background-color: var(--q-border-subtle);
  margin: 0 0.25rem;
}
.q-choice-color-palette-title {
  font-weight: 600;
  padding-left: 0.5rem;
}
.q-color-palette-grid-container {
  padding: 1rem;
}
.q-choice-color-palette-trigger {
  display: flex;
}

/* src/components/BobCalendar.css */
.q-calendar {
  --q-cal-cell-size: 36px;
  --q-cal-num-size: 28px;
  display: inline-flex;
  flex-direction: column;
  gap: var(--q-gap-base, 6px);
  padding: var(--q-gap-base, 6px);
  background: var(--q-bg-base);
  border: 1px solid var(--q-border-color);
  border-radius: var(--q-border-radius);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
  user-select: none;
  font-family: var(--q-font-family, inherit);
  font-size: var(--q-font-size-base);
}
.q-calendar--disabled {
  opacity: 0.5;
  pointer-events: none;
}
.q-calendar--read-only {
  border-style: dotted;
  border-width: 2px;
}
.q-cal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2px;
}
.q-cal-nav-btn {
  background: transparent;
  border: none;
  color: var(--q-text-muted);
  cursor: pointer;
  font-size: var(--q-font-size-base);
  line-height: 1;
  padding: 2px 4px;
  border-radius: var(--q-border-radius);
  transition: color 0.15s, background 0.15s;
}
.q-cal-nav-btn:hover {
  color: var(--q-text-base);
  background: var(--q-bg-hover);
}
.q-cal-month-label {
  flex: 1;
  background: transparent;
  border: none;
  color: var(--q-text-base);
  cursor: pointer;
  font-family: inherit;
  font-size: var(--q-font-size-base);
  font-weight: 600;
  text-align: center;
  padding: 2px 4px;
  border-radius: var(--q-border-radius);
  transition: background 0.15s;
}
.q-cal-month-label:hover {
  background: var(--q-bg-hover);
}
.q-cal-title-label {
  flex: 1;
  color: var(--q-text-base);
  font-family: inherit;
  font-size: var(--q-font-size-base);
  font-weight: 700;
  text-align: center;
  padding: 6px 12px;
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.q-cal-grid {
  display: grid;
  grid-template-columns: repeat(7, var(--q-cal-cell-size));
  gap: 4px;
}
.q-cal-day-name {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 18px;
  color: var(--q-text-muted);
  font-size: var(--q-font-size-sm);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.q-cal-blank {
  width: var(--q-cal-cell-size);
  height: var(--q-cal-cell-size);
}
.q-cal-day {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: var(--q-cal-cell-size);
  height: var(--q-cal-cell-size);
  padding: 1px 0;
  cursor: pointer;
  border-radius: var(--q-border-radius);
  transition: background 0.1s;
  position: relative;
}
.q-cal-day:not(.q-cal-day--disabled):hover {
  background: var(--q-bg-hover);
}
.q-cal-day--disabled {
  cursor: default;
  opacity: 0.3;
}
.q-calendar--read-only .q-cal-day--disabled {
  opacity: 1;
}
.q-cal-day--blocked,
.q-calendar--read-only .q-cal-day--blocked {
  opacity: 0.3;
}
.q-cal-day--in-range {
  background: color-mix(in srgb, var(--q-primary) 12%, transparent);
  border-radius: 0;
}
.q-cal-day--range-edge {
  background: color-mix(in srgb, var(--q-primary) 12%, transparent);
}
.q-cal-day-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--q-cal-num-size);
  height: var(--q-cal-num-size);
  border-radius: 50%;
  color: var(--q-text-base);
  font-size: var(--q-font-size-base);
  font-variant-numeric: tabular-nums;
  transition: background 0.15s, color 0.15s;
}
.q-cal-day-num--disabled {
  color: var(--q-text-muted);
}
.q-calendar--read-only .q-cal-day-num--disabled {
  color: var(--q-text-base);
}
.q-cal-day-num--blocked,
.q-calendar--read-only .q-cal-day-num--blocked {
  color: var(--q-text-muted);
}
.q-calendar .q-cal-day-num--today {
  border: 1.5px solid var(--q-primary);
  color: var(--q-primary);
  font-weight: 700;
}
.q-calendar .q-cal-day-num--selected {
  background: var(--q-primary);
  color: var(--q-bg-base, #ffffff);
  font-weight: 700;
}
.q-cal-markers {
  display: flex;
  gap: 2px;
  justify-content: center;
  margin-top: 1px;
  height: 4px;
}
.q-cal-marker-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  flex-shrink: 0;
}
.q-cal-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--q-gap-base, 6px);
  border-top: 1px solid var(--q-border-color);
  padding-top: var(--q-gap-base, 6px);
  margin-top: 2px;
}
.q-cal-footer-hint {
  flex: 1;
  color: var(--q-text-muted);
  font-size: var(--q-font-size-sm);
}
.q-cal-footer-range {
  flex: 1;
  color: var(--q-primary);
  font-size: var(--q-font-size-base);
  font-variant-numeric: tabular-nums;
}
.q-cal-clear-btn {
  background: transparent;
  border: 1px solid var(--q-border-color);
  border-radius: var(--q-border-radius);
  color: var(--q-text-muted);
  cursor: pointer;
  font-family: inherit;
  font-size: var(--q-font-size-sm);
  padding: 2px 8px;
  transition: color 0.15s, border-color 0.15s;
}
.q-cal-clear-btn:hover {
  color: var(--q-text-base);
  border-color: var(--q-text-muted);
}
@media (max-width: 768px) {
  .q-cal-grid {
    gap: 4px;
  }
  .q-cal-day-num {
    width: clamp(28px, 8vw, 36px);
    height: clamp(28px, 8vw, 36px);
    font-size: clamp(11px, 3.5vw, 14px);
  }
}
.q-no-spin {
  -moz-appearance: textfield !important;
}
.q-no-spin::-webkit-outer-spin-button,
.q-no-spin::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}
.q-date-popup {
  overflow: hidden;
  box-sizing: border-box;
}
.q-date-popup .q-calendar {
  width: 100%;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
.q-date-popup .q-cal-header {
  width: 100%;
  box-sizing: border-box;
}
.q-date-popup .q-cal-header-selectors {
  width: 100%;
  box-sizing: border-box;
}
.q-date-popup .q-cal-grid {
  width: 100%;
  grid-template-columns: repeat(7, 1fr);
  box-sizing: border-box;
}
.q-date-popup .q-cal-blank,
.q-date-popup .q-cal-day {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
}

/* src/components/BobBoxTime.css */
.q-time-popup {
  width: 320px;
}
.q-time-body {
  display: flex;
  gap: 16px;
  padding: 12px;
}
.q-time-section {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.q-time-col-header {
  font-size: 0.75rem;
  font-weight: bold;
  color: var(--q-text-muted);
  text-align: center;
  text-transform: uppercase;
}
.q-time-hours-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px;
}
.q-time-minutes {
  display: flex;
  flex-direction: column;
  gap: 4px;
  height: 140px;
  overflow-y: auto;
}
.q-time-cell {
  padding: 0 !important;
  min-width: 32px !important;
}
.q-time-cell--minute {
  min-width: 100% !important;
  margin-bottom: 2px;
}
.q-time-cell--selected {
  font-weight: bold;
}

/* src/components/BobBoxLookup.css */
.q-lookup-popup {
  display: flex;
  flex-direction: column;
  background: var(--q-bg-base);
  border: 1px solid var(--q-border-color);
  border-radius: var(--q-border-radius);
  box-shadow: var(--q-shadow-lg);
  min-width: var(--lookup-min-width, 280px);
}
.q-lookup-search-row {
  padding: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid var(--q-border-subtle);
}
.q-lookup-search-input {
  flex: 1;
}
.q-lookup-spinner {
  font-size: 1.2rem;
  color: var(--q-primary);
  animation: q-spin 1s linear infinite;
}
@keyframes q-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.q-lookup-results-list {
  max-height: 300px;
  overflow-y: auto;
  padding: 4px 0;
}
.q-lookup-no-results {
  padding: 12px;
  color: var(--q-text-muted);
  text-align: center;
}
.q-lookup-item {
  padding: 8px 12px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.q-lookup-item:hover,
.q-lookup-item.active {
  background: var(--q-bg-sunken);
}
.q-lookup-item.disabled {
  opacity: 0.5;
  cursor: default;
}
.q-lookup-label {
  flex: 1;
}
.q-lookup-id {
  font-size: 0.75rem;
  color: var(--q-text-muted);
  font-family: var(--q-font-family-mono);
}
.q-lookup-footer {
  padding: 8px;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  border-top: 1px solid var(--q-border-subtle);
  background: var(--q-bg-sunken);
}

/* src/components/BobBoxGrid.css */
.q-box-grid-container {
  width: 100%;
  overflow-x: auto;
}
.q-box-grid {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.q-box-grid-header {
  background-color: var(--q-bg-subtle);
  border-bottom: 2px solid var(--q-border-color);
  padding: 8px 12px;
  text-align: left;
  font-weight: 600;
  color: var(--q-color-label);
}
.q-box-grid-caption {
  background-color: var(--q-bg-sunken);
  border-right: 2px solid var(--q-border-color);
  padding: 8px 12px;
  font-weight: 600;
  font-size: 0.85em;
  color: var(--q-color-label);
  width: 1%;
  white-space: nowrap;
}
.q-box-grid-cell {
  border: 1px solid var(--q-border-subtle);
  padding: 4px;
  vertical-align: top;
}

/* src/components/BobBoxTextUpload.css */
.q-text-upload-container {
  position: relative;
  width: 100%;
}
.q-upload-hidden-input {
  display: none;
}
.q-upload-popup {
  padding: 12px;
  min-width: 280px;
  background: var(--q-bg-base);
}
.q-upload-header {
  margin-bottom: 12px;
  border-bottom: 1px solid var(--q-border-subtle);
  padding-bottom: 8px;
}
.q-upload-title {
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--q-text-muted);
}
.q-upload-list {
  max-height: 200px;
  overflow-y: auto;
  margin-bottom: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.q-upload-empty {
  color: var(--q-text-muted);
  font-size: 0.85rem;
  text-align: center;
  padding: 12px 0;
}
.q-upload-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 6px 8px;
  background: var(--q-bg-subtle);
  border-radius: 4px;
  border: 1px solid var(--q-border-subtle);
}
.q-upload-filename {
  font-size: 0.85rem;
  color: var(--q-text-edit);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
}
.q-upload-clear-btn {
  margin-right: auto;
}
.q-popup-apply-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  border-top: 1px solid var(--q-border-subtle);
  padding-top: 12px;
}

/* src/components/BobBoxFile.css */
.q-file-container {
  position: relative;
  width: 100%;
}
.q-file-hidden-input {
  display: none;
}
.q-file-popup {
  padding: 16px;
  min-width: 320px;
  max-width: 400px;
  background: var(--q-bg-base);
  border-radius: var(--q-border-radius);
  box-shadow: var(--q-shadow-large);
}
.q-file-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  border-bottom: 1px solid var(--q-border-subtle);
  padding-bottom: 12px;
}
.q-file-title {
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--q-text-base);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.q-file-uploading-spinner {
  color: var(--q-primary);
  font-size: 1.1rem;
}
.q-file-list {
  max-height: 300px;
  overflow-y: auto;
  margin-bottom: 20px;
  padding-right: 4px;
}
.q-file-grid {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.q-file-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 32px 0;
  color: var(--q-text-muted);
  background: var(--q-bg-sunken);
  border-radius: var(--q-border-radius);
  border: 1px dashed var(--q-border-subtle);
}
.q-file-empty-icon {
  font-size: 2.5rem;
  margin-bottom: 12px;
  opacity: 0.5;
}
.q-file-empty p {
  margin: 0;
  font-size: 0.9rem;
}
.q-file-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  background: var(--q-bg-subtle);
  border-radius: 6px;
  border: 1px solid var(--q-border-subtle);
  transition: all 0.2s ease;
}
.q-file-item:hover {
  border-color: var(--q-border-color);
  background: var(--q-bg-hover);
}
.q-file-item-icon {
  font-size: 1.4rem;
  color: var(--q-primary);
  width: 32px;
  display: flex;
  justify-content: center;
}
.q-file-item-info {
  flex: 1;
  min-width: 0;
}
.q-file-filename {
  font-size: 0.88rem;
  font-weight: 500;
  color: var(--q-text-base);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}
.q-file-item-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}
.q-file-clear-btn {
  margin-right: auto;
}
.q-file-add-btn {
  font-weight: 600;
}
.q-file-readonly-mode .q-input-group {
  background: var(--q-bg-sunken);
  opacity: 0.8;
}
.q-file-popup-portal {
  z-index: 10000;
}

/* src/components/BobBoxSlider.css */
.bob-box-slider-container {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  padding: 8px 0;
  box-sizing: border-box;
  flex-wrap: wrap;
}
.bob-box-slider-native-wrapper {
  width: 120px;
  flex: 0 0 120px;
  display: flex;
  align-items: center;
  position: relative;
  height: 32px;
}
#input-slider-custom {
  width: 120px;
  max-width: 120px;
}
.bob-box-slider-native-input {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 10px;
  background: transparent;
  outline: none;
  margin: 0;
  cursor: pointer;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  transition: background 0.1s ease;
  touch-action: none;
}
.bob-box-slider-native-input::-webkit-slider-runnable-track {
  width: 100%;
  height: 10px;
  background:
    linear-gradient(
      to right,
      var(--min-color) 0%,
      var(--max-color) 100%);
  border-radius: 5px;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
.bob-box-slider-native-input::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #ffffff;
  border: 6px solid var(--slider-color);
  cursor: pointer;
  margin-top: -9px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
  transition: border-color 0.1s ease;
}
.bob-box-slider-native-input::-moz-range-track {
  width: 100%;
  height: 10px;
  background:
    linear-gradient(
      to right,
      var(--min-color) 0%,
      var(--max-color) 100%);
  border-radius: 5px;
  cursor: pointer;
}
.bob-box-slider-native-input::-moz-range-thumb {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #ffffff;
  border: 6px solid var(--slider-color);
  cursor: pointer;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
  transition: border-color 0.1s ease;
}
.bob-box-slider-native-input:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.bob-box-slider-native-input:disabled::-webkit-slider-thumb {
  cursor: not-allowed;
}
.bob-box-slider-native-input:disabled::-moz-range-thumb {
  cursor: not-allowed;
}
.bob-box-slider-number {
  width: 120px;
  flex: 0 0 120px;
  height: 32px;
  border: 2px solid var(--slider-color);
  border-radius: 8px;
  background: var(--slider-color);
  text-align: center;
  font-size: var(--q-font-size-base);
  font-weight: 500;
  color: var(--q-darktxt);
  margin-bottom: 2px;
  word-break: break-word;
}
.bob-box-slider-number:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.bob-box-slider-number:focus {
  border-color: var(--q-primary);
  outline: none;
  box-shadow: 0 0 0 2px rgba(var(--q-primary-rgb, 37, 99, 235), 0.2);
}
.bob-box-slider-view {
  padding: 6px 14px;
  border-radius: 8px;
  font-weight: bold;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  background-color: var(--slider-color);
  border: 2px solid var(--slider-color);
  color: white;
}

/* src/components/BobBoxSlider2.css */
.bob-box-slider2-container {
  width: 100%;
  display: flex;
  align-items: center;
  position: relative;
  padding: 8px 0;
  box-sizing: border-box;
}
.bob-box-slider2-container.is-readonly {
  cursor: default;
}
.bob-box-slider2-container.is-disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.bob-box-slider2-input {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 6px;
  background: transparent;
  outline: none;
  margin: 0;
  cursor: pointer;
  box-sizing: border-box;
  border: 1px solid var(--q-border-subtle);
  border-radius: 4px;
  touch-action: none;
}
.bob-box-slider2-input::-webkit-slider-runnable-track {
  width: 100%;
  height: 6px;
  background:
    linear-gradient(
      to right,
      var(--min-color) 0%,
      var(--mid-color) var(--mid-percent),
      var(--max-color) 100%);
  border-radius: 4px;
}
.bob-box-slider2-input::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 10px;
  height: 24px;
  background: var(--slider-thumb-color, var(--q-primary));
  border: 2px solid white;
  cursor: pointer;
  margin-top: -9px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
  border-radius: 2px;
  transition: transform 0.1s ease;
}
.bob-box-slider2-input:active::-webkit-slider-thumb {
  transform: scaleX(1.1);
}
.bob-box-slider2-input::-moz-range-track {
  width: 100%;
  height: 6px;
  background:
    linear-gradient(
      to right,
      var(--min-color) 0%,
      var(--mid-color) var(--mid-percent),
      var(--max-color) 100%);
  border-radius: 4px;
}
.bob-box-slider2-input::-moz-range-thumb {
  width: 10px;
  height: 24px;
  background: var(--slider-thumb-color, var(--q-primary));
  border: 2px solid white;
  cursor: pointer;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
  border-radius: 2px;
}
.is-readonly .bob-box-slider2-input {
  cursor: default;
  pointer-events: none;
}

/* src/components/BobBoxProgress.css */
.bob-box-progress {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 4px;
  position: relative;
  padding: 8px 0;
  box-sizing: border-box;
  -webkit-user-select: none;
  user-select: none;
}
.bob-box-progress.is-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}
.bob-box-progress.is-readonly {
  cursor: default;
}
.bob-box-progress.is-editable:not(.is-disabled) {
  cursor: pointer;
}
.bob-box-progress-track {
  position: relative;
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  gap: 2px;
  height: 24px;
  border-radius: 4px;
  outline: none;
}
.bob-box-progress.is-editable .bob-box-progress-track {
  cursor: pointer;
}
.bob-box-progress.is-editable .bob-box-progress-track:focus-visible {
  box-shadow: 0 0 0 3px rgba(var(--q-primary-rgb, 37, 99, 235), 0.35);
}
.bob-box-progress-segment {
  flex: 1 1 0;
  height: 6px;
  border-radius: 2px;
  transition: background-color 0.15s ease;
  pointer-events: none;
  background-color: var(--segment-color, #ccc);
}
.bob-box-progress-segment:first-child {
  border-radius: 4px 2px 2px 4px;
}
.bob-box-progress-segment:last-child {
  border-radius: 2px 4px 4px 2px;
}
.bob-box-progress.is-editable .bob-box-progress-track:hover .bob-box-progress-segment {
  height: 8px;
}
.bob-box-progress-indicator {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 24px;
  background: var(--q-text-base, #ffffff);
  border: 2px solid rgba(0, 0, 0, 0.35);
  border-radius: 2px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
  pointer-events: none;
  transition: left 0.15s ease;
  z-index: 2;
  left: var(--indicator-percent, 0%);
}
.bob-box-progress-label {
  flex: 0 0 auto;
  font-size: var(--q-font-size-sm, 12px);
  font-weight: 500;
  color: var(--q-text-muted, #888);
  min-width: 32px;
  text-align: right;
  white-space: nowrap;
}

/* src/components/BobBoxMapMarker.css */
.bob-box-map-container {
  width: 100%;
}
.bob-box-map-placeholder {
  width: 100%;
  height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--q-bg-sunken);
  border: 1px solid var(--q-border-color);
  border-radius: 12px;
}
.bob-map-status-card {
  text-align: center;
  color: var(--q-text-muted);
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.bob-map-status-card i {
  color: var(--q-primary-alpha-50);
}
.bob-map-view {
  height: 300px;
  width: 100%;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: var(--q-shadow-sm);
}
.bob-map-view-inner {
  flex: 1;
}
.bob-map-hint {
  margin-top: 8px;
  text-align: center;
  color: var(--q-text-muted);
}

/* src/components/BobSliderPromptDialog.css */
.q-slider-prompt-body {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 16px;
}
.q-slider-prompt-display {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.q-slider-prompt-limit {
  font-size: 12px;
  color: var(--q-text-muted);
}
.q-slider-prompt-value {
  font-size: 24px;
  font-weight: bold;
  color: var(--q-text);
}
.q-slider-prompt-input {
  width: 100%;
  cursor: pointer;
}

/* src/components/BobPopupArea.css */
.q-popup-area-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
}
.q-popup-area-top {
  padding: 1rem 1rem 0.5rem 1rem;
  flex-shrink: 0;
}
.q-popup-area-middle {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  padding: 0.25rem 1rem;
}
@media (min-width: 768px) {
  .q-popup-layout-split .q-popup-area-middle {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    align-items: start;
  }
}
.q-popup-nested {
  flex: 1;
  display: flex;
  flex-direction: column;
  height: auto;
}
.q-popup-nested .q-popup-area-top {
  padding-top: 0;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0.5rem;
}
.q-popup-nested .q-popup-area-middle {
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
  padding-bottom: 0;
}
.q-popup-nested .q-popup-area-bottom {
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  padding-top: 0.5rem;
}
@media (max-width: 480px) {
  .q-popup-area-middle {
    padding: 0.5rem;
  }
}
.q-popup-area-bottom {
  padding: 0.5rem 1rem 1rem 1rem;
  flex-shrink: 0;
}

/* src/components/BobStoryPage.css */
.bob-story-page-edit,
.bob-story-page-view {
  padding: 24px;
  background-color: var(--q-bg-base);
  border-left: var(--story-border-left, 1px solid var(--q-border-color));
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.bob-story-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 24px;
}
.bob-story-title-group {
  flex: 1;
  margin-right: 16px;
}
.bob-story-title {
  margin: 0 0 8px 0;
  word-break: break-word;
}
.bob-story-status-wrapper {
  margin-top: 8px;
}
.bob-story-status-badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 0.75rem;
  font-weight: bold;
  text-transform: uppercase;
  background-color: var(--story-status-bg, var(--q-border-color));
  color: var(--story-status-color, var(--q-text-muted));
}
.bob-story-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
.bob-story-content {
  flex: 1;
  overflow-y: auto;
}
.bob-story-description {
  white-space: pre-wrap;
  line-height: 1.6;
}
.bob-story-no-desc {
  opacity: 0.5;
  font-style: italic;
}
.bob-story-memo-container {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.bob-story-memo {
  min-height: 300px;
}

/* src/components/BobSideNav.css */
.bob-side-nav {
  position: relative;
  height: 100%;
  background: var(--q-bg-base);
  border-right: 1px solid var(--q-border-color);
  display: flex;
  flex-direction: column;
  z-index: 100;
  overflow: visible;
  transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.bob-side-nav--collapsed {
  width: 60px;
}
.bob-side-nav--expanded {
  width: 240px;
}
.bob-side-nav--locked.bob-side-nav--expanded {
  width: 60px;
}
.bob-side-nav--locked.bob-side-nav--expanded .bob-side-nav-content {
  width: 240px;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  background: var(--q-bg-base);
  border-right: 1px solid var(--q-border-color);
  box-shadow: var(--q-shadow-lg);
  z-index: 101;
}
.bob-side-nav--floating:not(.bob-side-nav--locked) {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  transform: translateX(-100%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1000;
}
.bob-side-nav--floating:not(.bob-side-nav--locked).bob-side-nav--mobile-visible {
  transform: translateX(0);
  box-shadow: var(--q-shadow-lg);
}
.bob-side-nav--mobile {
  position: absolute;
  left: 0;
  transform: translateX(-100%);
  top: 0;
  bottom: 0;
  width: 280px !important;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 100;
}
.bob-side-nav--mobile-visible {
  transform: translateX(0);
  box-shadow: var(--q-shadow-container);
}
.bob-side-nav-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(2px);
  z-index: 99;
}
.bob-side-nav-header {
  height: 64px;
  display: flex;
  align-items: center;
  padding: 0 12px;
  border-bottom: 1px solid var(--q-border-color);
  flex-shrink: 0;
  overflow: hidden;
}
.bob-side-nav-footer {
  padding: 12px 0;
  border-top: 1px solid var(--q-border-color);
  flex-shrink: 0;
  overflow: hidden;
}
.bob-side-nav-items {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 12px 0;
}
.bob-side-nav-lock-btn,
.bob-side-nav-close-btn {
  background: transparent;
  border: none;
  color: var(--q-secondary);
  cursor: pointer;
  font-size: 1rem;
  padding: 8px;
  border-radius: var(--q-border-radius);
  transition: all 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bob-side-nav-lock-btn:hover,
.bob-side-nav-close-btn:hover {
  background: var(--q-bg-hover);
  color: var(--q-primary);
}
.bob-side-nav-lock-btn.is-active {
  color: var(--q-primary);
  transform: rotate(45deg);
}
.bob-side-nav-content {
  flex: 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  position: relative;
  width: 100%;
  transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.bob-side-nav-close-btn {
  position: absolute;
  top: 8px;
  right: 0;
  z-index: 10;
}
.bob-side-nav-item {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 0;
  background: transparent;
  border: none;
  cursor: pointer;
  transition: background 0.2s;
  height: 48px;
  color: var(--q-text-base);
  text-decoration: none;
  position: relative;
  white-space: nowrap;
}
.bob-side-nav-item:hover {
  background: var(--q-bg-hover);
}
.bob-side-nav-item.is-active {
  background: var(--q-primary-alpha-15);
  color: var(--q-primary);
}
.bob-side-nav-item.is-active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--q-primary);
}
.bob-side-nav-item-icon {
  width: 60px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  flex-shrink: 0;
}
.bob-side-nav-item-caption {
  font-size: var(--q-font-size-base);
  font-weight: 500;
  padding-left: 8px;
  opacity: 0;
  transition: opacity 0.2s;
  pointer-events: none;
}
.bob-side-nav--expanded .bob-side-nav-item-caption,
.bob-side-nav--mobile .bob-side-nav-item-caption {
  opacity: 1;
  pointer-events: auto;
}
/* src/default-themes.css */
html.theme-variant-clean .btn:not(:focus-visible):not(:active):not(.active):not(.btn-success):not(.btn-danger),
html.theme-variant-clean .bob-react-tab:not(:focus-visible):not(.bob-react-tab-active),
html.theme-variant-clean .q-tab:not(:focus-visible):not(.active),
html.theme-variant-clean .q-pagination-btn:not(:focus-visible):not(.active),
html.theme-variant-clean .q-checkbox:not(:focus-visible),
html.theme-variant-clean .q-picture-box:not(:focus-visible) {
  border-color: transparent;
  box-shadow: none;
}
html.theme-variant-clean .q-choice-icons-wrapper .btn {
  border-color: var(--q-border-color);
  border-width: 1px;
  box-shadow: none;
}
.q-theme-selector {
  display: flex;
  align-items: center;
  gap: 8px;
}
.q-theme-selector-label {
  font-size: 0.75rem;
  opacity: 0.7;
}
.q-theme-selector-ctrl-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  gap: 4px;
}
.q-theme-selector-ctrl {
  min-width: 140px;
}
html.theme-variant-forge .btn,
html.theme-variant-forge .bob-react-tab,
html.theme-variant-forge .q-tab,
html.theme-variant-forge .q-pagination-btn,
html.theme-variant-forge .bob-react-panel,
html.theme-variant-forge .q-card,
html.theme-variant-forge .q-modal-content {
  border: 1px solid var(--q-border-color);
  box-shadow: none;
  border-radius: 6px;
}
html.theme-variant-forge .bob-react-tab {
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  font-weight: normal !important;
  border-bottom: 1px solid transparent !important;
}
html.theme-variant-forge .bob-react-tab-strip-scroller,
html.theme-variant-forge .q-tab-strip {
  border-bottom: 1px solid var(--q-border-color);
}
html.theme-variant-forge .bob-react-tab span {
  font-weight: normal !important;
}
html.theme-variant-forge .bob-react-tab:not(.bob-react-tab-active),
html.theme-variant-forge .bob-react-tab:not(.bob-react-tab-active) span {
  color: var(--q-text-base) !important;
}
html.theme-variant-forge .bob-react-tab-active,
html.theme-variant-forge .q-tab.active {
  background-color: var(--q-bg-subtle) !important;
  color: var(--q-primary) !important;
  border-bottom: 1px solid var(--q-bg-subtle) !important;
}
html.theme-variant-forge .bob-react-tab-active span,
html.theme-variant-forge .q-tab.active span {
  color: var(--q-primary) !important;
}
html.theme-variant-forge .q-pagination-btn.active {
  border-bottom: 2px solid var(--q-primary) !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}
html.theme-variant-forge .btn-primary,
html.theme-variant-forge .btn.btn-is-primary {
  background-color: transparent !important;
  color: var(--q-primary) !important;
  border: 1px solid var(--q-primary);
}
html.theme-variant-forge .btn-primary:hover,
html.theme-variant-forge .btn.btn-is-primary:hover {
  background-color: var(--q-primary) !important;
  color: var(--q-primary-text, #ffffff) !important;
}
html.theme-variant-forge .btn-secondary {
  background-color: transparent !important;
  color: var(--q-secondary) !important;
  border: 1px solid var(--q-secondary);
}
html.theme-variant-forge .btn-secondary:hover {
  background-color: var(--q-secondary) !important;
  color: var(--q-secondary-text, var(--q-text-base, #ffffff)) !important;
}
html.theme-variant-forge .btn-danger {
  background-color: transparent !important;
  color: var(--q-danger) !important;
  border: 1px solid var(--q-danger);
}
html.theme-variant-forge .btn-danger:hover {
  background-color: var(--q-danger) !important;
  color: var(--q-danger-text, #ffffff) !important;
}
html.theme-variant-forge .btn-success {
  background-color: transparent !important;
  color: var(--q-success) !important;
  border: 1px solid var(--q-success);
}
html.theme-variant-forge .btn-success:hover {
  background-color: var(--q-success) !important;
  color: var(--q-success-text, #ffffff) !important;
}
html.theme-variant-gold .btn,
html.theme-variant-gold .bob-react-tab,
html.theme-variant-gold .q-tab,
html.theme-variant-gold .q-pagination-btn,
html.theme-variant-gold .bob-react-panel,
html.theme-variant-gold .q-card,
html.theme-variant-gold .q-modal-content {
  border: 1px solid var(--q-border-color);
  box-shadow: none;
  border-radius: 4px;
}
html.theme-variant-gold .q-input-wrapper {
  background-color: var(--q-bg-sunken) !important;
  border: 1px solid var(--q-border-color);
  border-radius: 4px;
}
html.theme-variant-gold .q-input-wrapper:focus-within {
  border-color: var(--q-primary);
  box-shadow: 0 0 0 2px rgba(197, 160, 89, 0.2);
}
html.theme-variant-gold .q-input:not(.portal-field-input),
html.theme-variant-gold input:not(.portal-field-input) {
  background-color: transparent !important;
  color: var(--q-text-base) !important;
}

/* src/ThemeDesigner.css */
.bob-theme-designer {
  display: flex;
  flex-direction: column;
  gap: min(1.5rem, 4vw);
  padding: min(1.5rem, 4vw);
  background: var(--q-bg-subtle, #1e293b);
  color: var(--q-text-base, #f8fafc);
  border-radius: 1rem;
  width: 100%;
  max-width: min(850px, 95vw);
  margin: 0 auto;
  border: 1px solid var(--q-primary, #3b82f6);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.2);
  max-height: 90vh;
  overflow-y: auto;
  box-sizing: border-box;
}
.bob-theme-designer-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.bob-theme-designer-header h2 {
  margin: 0;
  font-size: 1.5rem;
}
.bob-theme-designer-close {
  background: transparent;
  border: none;
  color: inherit;
  cursor: pointer;
  font-size: 1.5rem;
  padding: 0.5rem;
  line-height: 1;
}
.bob-theme-designer-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  gap: min(2rem, 5vw);
}
.bob-theme-designer-editor {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.bob-theme-label {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
}
.bob-theme-input {
  width: 100%;
  padding: 0.6rem;
  border-radius: 0.4rem;
  border: 1px solid var(--q-border-color, #444);
  background: var(--q-bg-base, #0f172a);
  color: var(--q-text-base, #ffffff);
  font-family: inherit;
}
select.bob-theme-input {
  appearance: auto;
  cursor: pointer;
}
select.bob-theme-input option {
  background: var(--q-bg-base, #0f172a);
  color: var(--q-text-base, #ffffff);
}
.bob-theme-input-row {
  display: flex;
  gap: 1rem;
}
.bob-theme-icon-input {
  width: 80px;
}
.bob-theme-icon-input input {
  text-align: center;
}
.bob-theme-colors-scroll {
  flex: 1;
  overflow-y: clip;
  margin-top: 1rem;
  padding-right: 0.5rem;
  max-height: 350px;
}
.bob-theme-colors-section {
  margin-bottom: 1.5rem;
}
.bob-theme-colors-section h4 {
  margin-bottom: 0.75rem;
  border-bottom: 1px solid var(--q-border-color, #444);
  padding-bottom: 0.25rem;
  font-size: 0.9rem;
  color: var(--q-primary, #3b82f6);
}
.bob-theme-color-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}
.bob-theme-color-label {
  font-size: 0.75rem;
  opacity: 0.8;
  text-transform: capitalize;
}
.bob-theme-color-input {
  border: none;
  background: transparent;
  cursor: pointer;
  width: 36px;
  height: 24px;
}
.bob-theme-typography-row {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}
.bob-theme-typography-row .bob-theme-input {
  padding: 0.4rem;
  font-size: 0.8rem;
}
.bob-theme-designer-actions {
  display: flex;
  gap: 1rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--q-border-color, #333);
}
.bob-btn-publish {
  flex: 1;
  padding: 0.75rem;
  background: var(--q-success, #22c55e);
  color: var(--q-success-text, #ffffff);
  border: none;
  border-radius: 0.5rem;
  font-weight: 600;
  cursor: pointer;
  font-size: 0.9rem;
  transition: opacity 0.2s;
}
.bob-btn-download {
  flex: 1;
  padding: 0.75rem;
  background: var(--q-primary, #3b82f6);
  color: var(--q-primary-text, #ffffff);
  border: none;
  border-radius: 0.5rem;
  font-weight: 600;
  cursor: pointer;
  font-size: 0.9rem;
  transition: opacity 0.2s;
}
[data-theme=theme-moonlit] .bob-btn-publish,
[data-theme=theme-moonlit] .bob-btn-download {
  color: var(--q-bg-base);
}
.bob-btn-publish:hover,
.bob-btn-download:hover {
  opacity: 0.9;
}
.bob-theme-preview-panel {
  padding: 1.5rem;
  background: var(--q-bg-base, #0a0a0c);
  border-radius: 0.75rem;
  border: 1px solid var(--q-border-color, #333);
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  min-height: 450px;
  overflow-y: auto;
}
.bob-theme-preview-panel h4 {
  color: var(--q-text-base);
  margin: 0;
  font-size: 0.95rem;
}
.bob-theme-preview-card {
  background: var(--q-bg-subtle);
  padding: 1rem;
  border-radius: 0.5rem;
  border: 1px solid var(--q-border-color);
  color: var(--q-text-base);
}
.bob-theme-preview-text {
  color: var(--q-text-readonly);
  font-size: 0.85rem;
}
.bob-theme-preview-btn {
  background: var(--q-primary);
  color: var(--q-primary-text, #ffffff);
  border: none;
  padding: 0.5rem 1rem;
  border-radius: 0.4rem;
  font-weight: 600;
  width: 100%;
  margin-top: 1rem;
}
.bob-theme-preview-buttons {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1rem;
  background: rgba(255, 255, 255, 0.02);
  border-radius: 0.5rem;
}
.bob-theme-preview-btn-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
}
.bob-theme-preview-btn-grid button.bob-btn {
  width: 100%;
}
.bob-theme-color-swatches {
  display: flex;
  gap: 0.5rem;
}
.bob-theme-swatch {
  flex: 1;
  height: 32px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-on-accent, #000000);
  font-size: 0.65rem;
  font-weight: 600;
}
.bob-theme-swatch-primary {
  background: var(--q-primary);
  color: white;
}
.bob-theme-swatch-secondary {
  background: var(--q-secondary);
  color: white;
}
.bob-theme-swatch-success {
  background: var(--q-success);
  color: white;
}
.bob-theme-swatch-danger {
  background: var(--q-danger);
  color: white;
}
.bob-theme-preview-footer {
  font-size: 0.8rem;
  opacity: 0.8;
}
.bob-theme-settings-panel {
  padding: var(--q-gap, 8px);
  height: auto;
}
.bob-theme-settings-section {
  margin-bottom: 16px;
}
.bob-panel-section {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px;
}
.bob-panel-section-title {
  display: block;
  margin: 16px 0 8px 0;
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--q-primary);
}
.bob-theme-designer-footer {
  font-size: 0.75rem;
  opacity: 0.6;
  margin-top: 1rem;
  text-align: center;
}
.q-theme-structural-selector button.btn.q-selected {
  background-color: var(--q-primary);
  border-color: var(--q-primary);
  color: var(--q-primary-text, #ffffff);
}
.q-theme-structural-selector button.btn.q-selected i {
  color: var(--q-primary-text, #ffffff);
}
.q-theme-structural-selector button.btn.q-selected:hover i {
  color: var(--q-bg-base);
}
.q-theme-structural-selector button.btn:not(.q-selected):hover {
  background-color: var(--q-primary);
  color: var(--q-primary-text, #ffffff);
  opacity: 0.8;
}
.q-theme-structural-selector button.btn:not(.q-selected):hover i {
  color: var(--q-primary-text, #ffffff);
}
.bob-theme-accents-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

/* src/VariantDesigner.css */
.bob-variant-designer {
  display: flex;
  flex-direction: column;
  gap: min(1.5rem, 4vw);
  padding: min(1.5rem, 4vw);
  background: var(--q-bg-subtle, #1e293b);
  color: var(--q-text-base, #f8fafc);
  border-radius: 1rem;
  width: 100%;
  max-width: min(850px, 95vw);
  margin: 0 auto;
  border: 1px solid var(--q-primary, #3b82f6);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.2);
  max-height: 90vh;
  overflow-y: auto;
  box-sizing: border-box;
}
.bob-variant-designer-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.bob-variant-designer-header h2 {
  margin: 0;
  font-size: 1.5rem;
}
.bob-variant-designer-close {
  background: transparent;
  border: none;
  color: inherit;
  cursor: pointer;
  font-size: 15px;
  padding: 0.5rem;
  line-height: 1;
}
.theme-light .bob-variant-designer-close {
  color: var(--q-secondary);
}
.bob-variant-designer-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: min(2rem, 5vw);
  align-items: start;
}
.bob-variant-designer-editor {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.bob-variant-label {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
}
.bob-vd-dark-toggle-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.5rem;
}
.bob-vd-dark-toggle-row .bob-label {
  margin: 0;
}
.bob-variant-input {
  width: 100%;
  padding: 0.6rem;
  border-radius: 0.4rem;
  border: 1px solid var(--q-border-color, #444);
  background: var(--q-bg-base, #0f172a);
  color: var(--q-text-base, #ffffff);
  font-family: inherit;
}
select.bob-variant-input {
  appearance: auto;
  cursor: pointer;
}
select.bob-variant-input option {
  background: var(--q-bg-base, #0f172a);
  color: var(--q-text-base, #ffffff);
}
.bob-variant-input-row {
  display: flex;
  gap: 1rem;
}
.bob-variant-icon-input {
  width: 80px;
}
.bob-variant-icon-input input {
  text-align: center;
}
.bob-variant-colors-scroll {
  flex: 1;
  overflow-y: auto;
  margin-top: 1rem;
  padding-right: 0.5rem;
  max-height: 480px;
}
.bob-variant-colors-section {
  margin-bottom: 1.5rem;
}
.bob-variant-colors-section h4 {
  margin-bottom: 0.75rem;
  border-bottom: 1px solid var(--q-border-color, #444);
  padding-bottom: 0.25rem;
  font-size: 0.9rem;
  color: var(--q-primary, #3b82f6);
}
.bob-variant-color-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}
.bob-variant-color-label {
  font-size: 0.75rem;
  opacity: 0.8;
  text-transform: capitalize;
}
.bob-variant-color-input {
  border: none;
  background: transparent;
  cursor: pointer;
  width: 36px;
  height: 24px;
}
.bob-validation-icon::before {
  content: var(--bob-icon-content);
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}
.bob-variant-typography-group {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-bottom: 1rem;
}
.bob-vd-typography-input-size {
  width: 80px;
}
.bob-variant-typography-group .bob-variant-input {
  padding: 0.4rem;
  font-size: 0.8rem;
}
.bob-variant-preview-input {
  width: 100%;
  padding: 0.5rem;
  border-radius: 0.4rem;
  border: 1px solid var(--q-border-color);
  background: var(--q-bg-base);
  color: var(--q-text-base);
  font-size: var(--q-font-size-text, 0.9rem);
}
.bob-btn-reset {
  background: transparent;
  color: var(--q-danger);
  border: 1px solid var(--q-danger);
  padding: 0.75rem;
  border-radius: 0.5rem;
  cursor: pointer;
  font-weight: 600;
  transition: opacity 0.2s;
}
.bob-btn-reset:hover {
  opacity: 0.8;
}
.bob-variant-designer-actions {
  display: flex;
  gap: 1rem;
  margin-top: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--q-border-color, #333);
}
.bob-btn-publish,
.bob-btn-download {
  flex: 1;
  padding: 0.75rem;
  background: transparent;
  color: var(--q-primary);
  border: 1px solid var(--q-primary);
  border-radius: 0.5rem;
  font-weight: 600;
  cursor: pointer;
  font-size: 0.9rem;
  transition: opacity 0.2s;
}
.theme-light .bob-btn-publish,
.theme-light .bob-btn-download {
  color: var(--q-secondary);
  border-color: var(--q-secondary);
}
[data-theme=theme-moonlit] .bob-btn-publish,
[data-theme=theme-moonlit] .bob-btn-download {
  color: var(--q-bg-base);
}
.bob-btn-publish:hover,
.bob-btn-download:hover {
  opacity: 0.9;
}
.bob-variant-preview-panel {
  padding: 1.25rem;
  background: var(--q-bg-base, #0a0a0c);
  border-radius: 0.75rem;
  border: 1px solid var(--q-border-color, #333);
  display: flex;
  flex-direction: column;
  gap: 1rem;
  overflow-y: auto;
}
.bob-vd-preview-heading {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--q-text-base);
  border-bottom: 1px solid var(--q-border-color, #333);
  padding-bottom: 0.5rem;
  margin-bottom: 0.25rem;
}
.bob-vd-preview-heading span {
  opacity: 0.6;
  font-weight: 400;
}
.bob-vd-preview-section {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.bob-vd-section-label {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--q-primary, #3b82f6);
  font-weight: 600;
}
.bob-vd-btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 1.5rem;
}
.bob-vd-validation-preview {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 1rem 0;
  padding: 1rem;
  background: var(--q-bg-sunken);
  border-radius: 4px;
}
.bob-vd-btn {
  padding: 5px 12px;
  border-radius: 4px;
  font-size: 0.78rem;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  transition: opacity 0.15s;
}
.bob-vd-btn:hover {
  opacity: 0.85;
}
.bob-vd-input-card {
  border-radius: 6px;
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.bob-vd-text-sample {
  margin: 0;
  font-size: 0.82rem;
}
.bob-vd-input-sample {
  width: 100%;
  padding: 5px 8px;
  border-radius: 4px;
  border-style: solid;
  border-width: 1px;
  font-size: 0.82rem;
  font-family: inherit;
  box-sizing: border-box;
  outline: none;
}
.bob-vd-surface-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 4px;
  margin-top: 1.5rem;
}
.bob-vd-surface-tile {
  border-radius: 4px;
  padding: 8px 6px;
  font-size: 0.68rem;
  font-weight: 600;
  text-align: center;
}
.bob-vd-status-list {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.bob-vd-status-badge {
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 600;
}
.bob-vd-icon-row {
  display: flex;
  align-items: center;
  gap: 12px;
}
.bob-vd-checkbox-demo {
  width: 18px;
  height: 18px;
  border-radius: 3px;
  border-width: 2px;
  border-style: solid;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: var(--q-primary);
  border-color: var(--q-primary);
}
.bob-vd-checkbox-tick {
  color: var(--q-checkbox-tick-color, #fff);
  font-size: 10px;
  font-weight: 900;
}
.bob-vd-checkbox-label {
  color: var(--q-text-base);
  font-size: 0.78rem;
}
.bob-vd-icon-row i {
  color: var(--q-icon-color, #888);
  font-size: 1.1rem;
}
.bob-vd-preview-content {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.bob-vd-preview-content h1 {
  color: var(--q-color-heading, var(--q-text-base));
  font-size: var(--q-font-size-heading, 1.8rem);
  margin: 0;
}
.bob-vd-preview-content .bob-label {
  color: var(--q-color-label, var(--q-primary));
  font-size: var(--q-font-size-label, 0.85rem);
}
.bob-vd-preview-content .bob-description {
  color: var(--q-color-text, var(--q-text-base));
  font-size: var(--q-font-size-text, 0.95rem);
}
.bob-vd-input-card {
  background: var(--q-bg-base);
  border: 1px solid var(--q-border-color);
}
.bob-vd-text-sample.primary {
  color: var(--q-text-base);
  font-weight: 600;
}
.bob-vd-text-sample.readonly {
  color: var(--q-text-readonly);
  font-style: italic;
}
.bob-vd-input-sample {
  background: var(--q-bg-base);
  border-color: var(--q-border-color);
  color: var(--q-text-edit);
}
.bob-vd-tile-base {
  background: var(--q-bg-base);
  border: 1px solid var(--q-border-color);
  color: var(--q-text-base);
}
.bob-vd-tile-subtle {
  background: var(--q-bg-subtle);
  border: 1px solid var(--q-border-color);
  color: var(--q-text-base);
}
.bob-vd-tile-hover {
  background: var(--q-bg-hover);
  border: 1px solid var(--q-border-color);
  color: var(--q-text-base);
}
.bob-vd-tile-dropdown {
  background: var(--q-bg-dropdown);
  border: 1px solid var(--q-border-color);
  color: var(--q-text-base);
}
.bob-vd-tile-border {
  background: var(--q-bg-base);
  border: 3px solid var(--q-border-color);
  color: var(--q-text-base);
}
.bob-vd-tile-primary {
  background: var(--q-primary);
  color: var(--q-primary-text, #fff);
}
.bob-vd-tile-secondary {
  background: var(--q-secondary);
  color: var(--q-secondary-text, #fff);
}
.bob-vd-status-success {
  background: var(--q-success);
  color: var(--q-success-text, #fff);
}
.bob-vd-status-danger {
  background: var(--q-danger);
  color: var(--q-danger-text, #fff);
}
.bob-vd-status-warning {
  background: var(--q-warning);
  color: #222;
}
.bob-variant-designer-footer {
  font-size: 0.75rem;
  opacity: 0.6;
  margin-top: 1rem;
  text-align: center;
}
.bob-variant-preview-panel h4 {
  color: var(--q-text-base);
  margin: 0;
  font-size: 0.95rem;
}
.bob-variant-preview-card {
  background: var(--q-bg-subtle);
  padding: 1rem;
  border-radius: 0.5rem;
  border: 1px solid var(--q-border-color);
  color: var(--q-text-base);
}
.bob-variant-preview-text {
  color: var(--q-text-readonly);
  font-size: 0.85rem;
}
.bob-variant-preview-btn {
  background: var(--q-primary);
  color: var(--q-primary-text, #ffffff);
  border: none;
  padding: 0.5rem 1rem;
  border-radius: 0.4rem;
  font-weight: 600;
  width: 100%;
  margin-top: 1rem;
}
.bob-variant-preview-buttons {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1rem;
  background: rgba(255, 255, 255, 0.02);
  border-radius: 0.5rem;
}
.bob-variant-preview-btn-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
}
.bob-variant-preview-btn-grid button.bob-btn {
  width: 100%;
}
.bob-variant-color-swatches {
  display: flex;
  gap: 0.5rem;
}
.bob-variant-swatch {
  flex: 1;
  height: 32px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-on-accent, #000000);
  font-size: 0.65rem;
  font-weight: 600;
}
.bob-variant-designer-footer {
  font-size: 0.75rem;
  opacity: 0.6;
  margin-top: 1rem;
  text-align: center;
}
#q-global-variant-edit:hover {
  background-color: var(--q-primary);
  color: var(--q-bg-base);
}
#q-global-variant-edit:hover i {
  color: var(--q-bg-base);
}
/* 
 * GOLD Structural Theme
 * 
 * DESIGN PHILOSOPHY:
 * - Premium, elegant, high-contrast.
 * - Based on 'Forge' structure but with luxury flourishes.
 * - Sharp borders with gold accents.
 *
 * SPECIFICITY STRATEGY:
 * - No !important is used anywhere in this file.
 * - Higher specificity is achieved by chaining html element + theme class + body + component class.
 * - For inputs: the long :not() attribute chain already provides very high specificity.
 */

html.theme-variant-gold {
    --q-border-radius: 4px;
    --q-font-family: 'Montserrat', 'Inter', system-ui, sans-serif;
    --q-spacer: 1rem;
    --q-btn-disabled-opacity: 0.35;

    /* Map universal bob UI variables to q theme variables */
    --bob-primary: var(--q-primary);
    --bob-secondary: var(--q-secondary);
    --bob-bg-base: var(--q-bg-base);
    --bob-bg-surface: var(--q-bg-surface);
    --bob-text-main: var(--q-text-base);
    --bob-text-muted: var(--q-text-muted);
    --bob-border: var(--q-border-color);
    --bob-radius: var(--q-border-radius);
    --bob-error: var(--q-error);
    --bob-success: var(--q-success);
    --bob-border-light: rgba(197, 160, 89, 0.15);
    --bob-bg-surface-hover: rgba(197, 160, 89, 0.05);

    /* Map bob auth context variables */
    --bob-auth-bg-primary: var(--q-bg-sunken);
    --bob-auth-bg-secondary: var(--q-bg-surface);
    --bob-auth-accent-primary: var(--q-primary);
    --bob-auth-text-primary: var(--q-text-base);
    --bob-auth-text-secondary: var(--q-text-muted);
    --bob-auth-border: var(--q-border-color);
}

html.theme-variant-gold body,
html.theme-variant-gold input,
html.theme-variant-gold select,
html.theme-variant-gold textarea,
html.theme-variant-gold button {
    font-family: var(--q-font-family);
    line-height: 1.5;
}

/* Surfaces */
html.theme-variant-gold .bob-react-panel,
html.theme-variant-gold .q-card,
html.theme-variant-gold .q-modal-content {
    background-color: var(--q-bg-surface);
    border: 1px solid var(--q-border-color);
    border-radius: var(--q-border-radius);
    box-shadow: 0 10px 30px -10px rgba(0,0,0,0.5);
}

/* Interactive Elements */
html.theme-variant-gold body .btn,
html.theme-variant-gold .q-input-wrapper,
html.theme-variant-gold .q-select-wrapper,
html.theme-variant-gold .q-checkbox-wrapper {
    border: 1px solid var(--q-border-color);
    border-radius: var(--q-border-radius);
    transition: all 0.2s ease;
}

html.theme-variant-gold .q-input-wrapper:focus-within {
    border-color: var(--q-primary);
    box-shadow: 0 0 0 2px rgba(197, 160, 89, 0.2);
}

/* Buttons — html + body + .btn chains give specificity (0,2,1) beating single-class rules */
html.theme-variant-gold body button.btn,
html.theme-variant-gold body a.btn,
html.theme-variant-gold body div.btn {
    background-color: var(--q-btn-bg, rgba(197, 160, 89, 0.1));
    color: var(--q-btn-text, var(--gold));
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.1em;
    transition: all 0.2s ease;
}

html.theme-variant-gold body button.btn.btn-primary,
html.theme-variant-gold body button.btn.btn-is-primary {
    background-color: var(--q-btn-primary-bg, var(--q-btn-bg));
    color: var(--q-btn-primary-text, var(--q-btn-text));
    border: 1px solid var(--q-btn-primary-border, var(--q-primary));
}

html.theme-variant-gold body button.btn.btn-primary:hover,
html.theme-variant-gold body button.btn.btn-is-primary:hover {
    background-color: var(--q-btn-primary-hover-bg, rgba(197, 160, 89, 0.2));
    transform: translateY(-1px);
    box-shadow: 0 4px 12px var(--q-btn-shadow, rgba(197, 160, 89, 0.1));
}

html.theme-variant-gold body button.btn.btn-secondary {
    background-color: var(--q-btn-secondary-bg, var(--q-btn-bg));
    color: var(--q-btn-secondary-text, var(--q-btn-text));
    border: 1px solid var(--q-btn-secondary-border, var(--q-secondary));
}

html.theme-variant-gold body button.btn.btn-secondary:hover {
    background-color: var(--q-btn-secondary-hover-bg, rgba(197, 160, 89, 0.2));
    border-color: var(--q-btn-secondary-hover-border, var(--q-secondary));
}

html.theme-variant-gold body button.btn.btn-danger {
    background-color: var(--q-btn-danger-bg, var(--q-btn-bg));
    color: var(--q-btn-danger-text, var(--q-danger));
    border: 1px solid var(--q-btn-danger-border, var(--q-danger));
}

html.theme-variant-gold body button.btn.btn-success {
    background-color: var(--q-btn-success-bg, var(--q-btn-bg));
    color: var(--q-btn-success-text, var(--q-success));
    border: 1px solid var(--q-btn-success-border, var(--q-success));
}

/* Ghost variant in gold theme — uses --bg-cream instead of gold tint (LIGHT MODE ONLY) */
html.theme-light.theme-variant-gold body button.btn.btn-ghost {
    background-color: var(--bg-cream);
    border: 1px solid var(--gold);
    color: var(--q-btn-text, var(--gold));
}

html.theme-light.theme-variant-gold body button.btn.btn-ghost:hover {
    background-color: var(--bg-white);
    border-color: var(--gold);
}

/* Inputs - FIX FOR WHITE SQUARES & UNIFY INPUT STYLING FOR GOLD THEME
   The .q-input selector inside the wrapper context gives sufficient specificity */
html.theme-variant-gold .q-input-wrapper > .q-input,
html.theme-variant-gold .q-input-wrapper .q-input {
    background-color: var(--q-bg-sunken, #090908);
    color: var(--q-text-base);
    border: none;
    outline: none;
}

html.theme-variant-gold div.q-input-wrapper {
    background-color: var(--q-bg-sunken);
}

/* Global rule to make all text-like inputs match the luxury field specifications.
   The long :not() attribute selector chain already scores very high specificity naturally. */
html.theme-variant-gold body input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="file"]):not([type="range"]):not([type="image"]),
html.theme-variant-gold body select {
    height: var(--q-input-height, 1.6875rem);
    padding-top: 0;
    padding-bottom: 0;
    padding-left: var(--q-padding-base, 0.75rem);
    padding-right: var(--q-padding-base, 0.75rem);
    border-radius: var(--q-border-radius, 4px);
    border: 1px solid var(--q-border-color, rgba(245, 242, 237, 0.1));
    background-color: var(--q-bg-sunken, #090908);
    font-size: var(--q-font-size-base, 11px);
    color: var(--q-text-base);
    line-height: normal;
    box-sizing: border-box;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

html.theme-variant-gold body input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="file"]):not([type="range"]):not([type="image"]):focus,
html.theme-variant-gold body select:focus {
    border-color: var(--q-primary, #c5a059);
    box-shadow: 0 0 0 2px rgba(197, 160, 89, 0.2);
    outline: none;
}

/* Checkbox fix — element + parent chain */
html.theme-variant-gold span.q-check-icon,
html.theme-variant-gold i.q-check-icon,
html.theme-variant-gold .q-checkbox-wrapper .q-check-icon {
    color: var(--q-primary);
}

/* BobBoxChoiceKeys override for Gold Theme to match field height and borders */
html.theme-variant-gold body div.q-choice-keys-wrapper {
    height: var(--q-input-height, 1.6875rem);
    min-height: var(--q-input-height, 1.6875rem);
    padding: 2px;
    border-radius: var(--q-border-radius, 4px);
    border: 1px solid var(--q-border-color, rgba(245, 242, 237, 0.1));
    background-color: var(--q-bg-sunken, #090908);
    align-items: center;
    box-sizing: border-box;
}

html.theme-variant-gold body div.q-choice-keys-wrapper button.q-choice-key-btn {
    height: 100%;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 8px;
    padding-right: 8px;
    border-radius: calc(var(--q-border-radius, 4px) - 2px);
    font-size: var(--q-font-size-base, 11px);
    line-height: normal;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

/* Disabled & Loading state styling for Gold Theme
   element + class + pseudo-class chains provide specificity without !important */
html.theme-variant-gold body button.btn:disabled:not(.btn-loading) {
    opacity: var(--q-btn-disabled-opacity, 0.35);
}

html.theme-variant-gold body button.btn.btn-loading {
    opacity: var(--q-btn-loading-opacity, 0.7);
}

/* Table & repeating group overrides for Gold Theme */
html.theme-variant-gold .bob-table-col-header {
    color: var(--q-text-base);
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

html.theme-variant-gold .bob-repeating-group-row,
html.theme-variant-gold .bob-table-group-row {
    border-bottom-color: rgba(197, 160, 89, 0.15);
}

/* Auth Form Gold Overrides */
html.theme-light.theme-variant-gold div.bob-auth-form-content[title="auth-form-content"] .q-input-wrapper,
html.theme-light.theme-variant-gold div.bob-auth-form-content[title="auth-form-content"] .q-input-wrapper > .q-input,
html.theme-light.theme-variant-gold div.bob-auth-form-content[title="auth-form-content"] .q-input-wrapper .q-input {
    background-color: #ffffff !important;
    color: #1a1a18 !important;
    border-color: rgba(0, 0, 0, 0.15) !important;
}

html.theme-light.theme-variant-gold div.bob-auth-form-content[title="auth-form-content"] .q-input::placeholder {
    color: rgba(0, 0, 0, 0.45) !important;
    opacity: 0.7 !important;
}

html.theme-light.theme-variant-gold div.bob-auth-form-content[title="auth-form-content"] .q-input:-webkit-autofill,
html.theme-light.theme-variant-gold div.bob-auth-form-content[title="auth-form-content"] .q-input:-webkit-autofill:hover,
html.theme-light.theme-variant-gold div.bob-auth-form-content[title="auth-form-content"] .q-input:-webkit-autofill:focus,
html.theme-light.theme-variant-gold div.bob-auth-form-content[title="auth-form-content"] .q-input:-webkit-autofill:active {
    -webkit-text-fill-color: #1a1a18 !important;
    -webkit-box-shadow: 0 0 0px 1000px #ffffff inset !important;
    box-shadow: 0 0 0px 1000px #ffffff inset !important;
    transition: background-color 5000s ease-in-out 0s !important;
}

/* Dark Mode Overrides (default for dark theme) */
html:not(.theme-light).theme-variant-gold div.bob-auth-form-content[title="auth-form-content"] .q-input-wrapper,
html:not(.theme-light).theme-variant-gold div.bob-auth-form-content[title="auth-form-content"] .q-input-wrapper > .q-input,
html:not(.theme-light).theme-variant-gold div.bob-auth-form-content[title="auth-form-content"] .q-input-wrapper .q-input,
html.theme-dark.theme-variant-gold div.bob-auth-form-content[title="auth-form-content"] .q-input-wrapper,
html.theme-dark.theme-variant-gold div.bob-auth-form-content[title="auth-form-content"] .q-input-wrapper > .q-input,
html.theme-dark.theme-variant-gold div.bob-auth-form-content[title="auth-form-content"] .q-input-wrapper .q-input {
    background-color: rgba(0, 0, 0, 0.4) !important;
    color: #f5f2ed !important;
    border-color: rgba(197, 160, 89, 0.3) !important;
}

html:not(.theme-light).theme-variant-gold div.bob-auth-form-content[title="auth-form-content"] .q-input::placeholder,
html.theme-dark.theme-variant-gold div.bob-auth-form-content[title="auth-form-content"] .q-input::placeholder {
    color: rgba(245, 242, 237, 0.5) !important;
    opacity: 0.8 !important;
}

html:not(.theme-light).theme-variant-gold div.bob-auth-form-content[title="auth-form-content"] .q-input:-webkit-autofill,
html:not(.theme-light).theme-variant-gold div.bob-auth-form-content[title="auth-form-content"] .q-input:-webkit-autofill:hover,
html:not(.theme-light).theme-variant-gold div.bob-auth-form-content[title="auth-form-content"] .q-input:-webkit-autofill:focus,
html:not(.theme-light).theme-variant-gold div.bob-auth-form-content[title="auth-form-content"] .q-input:-webkit-autofill:active,
html.theme-dark.theme-variant-gold div.bob-auth-form-content[title="auth-form-content"] .q-input:-webkit-autofill,
html.theme-dark.theme-variant-gold div.bob-auth-form-content[title="auth-form-content"] .q-input:-webkit-autofill:hover,
html.theme-dark.theme-variant-gold div.bob-auth-form-content[title="auth-form-content"] .q-input:-webkit-autofill:focus,
html.theme-dark.theme-variant-gold div.bob-auth-form-content[title="auth-form-content"] .q-input:-webkit-autofill:active {
    -webkit-text-fill-color: #f5f2ed !important;
    -webkit-box-shadow: 0 0 0px 1000px #121210 inset !important;
    box-shadow: 0 0 0px 1000px #121210 inset !important;
    transition: background-color 5000s ease-in-out 0s !important;
}

html.theme-variant-gold div.bob-auth-form-content[title="auth-form-content"],
html.theme-variant-gold div.bob-auth-header-content[title="auth-header-content"] {
    background-color: rgba(18, 18, 16, 0.85) !important;
    border: 1px solid rgba(197, 160, 89, 0.25) !important;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 10px 10px -5px rgba(0, 0, 0, 0.2) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-radius: 1rem !important;
    padding: 1rem !important;
    color: #f5f2ed !important;
}

html.theme-variant-gold div.bob-auth-form-content[title="auth-form-content"] .bob-label,
html.theme-variant-gold div.bob-auth-form-content[title="auth-form-content"] label,
html.theme-variant-gold div.bob-auth-form-content[title="auth-form-content"] .bob-auth-field-label {
    color: #f5f2ed !important;
}

html.theme-variant-gold div.bob-auth-form-content[title="auth-form-content"] a.bob-auth-forgot-link,
html.theme-variant-gold div.bob-auth-form-content[title="auth-form-content"] .bob-auth-forgot-link,
html.theme-variant-gold div.bob-auth-form-content[title="auth-form-content"] .bob-box-link {
    color: #c5a059 !important;
}


html.theme-variant-gold .bob-auth-split-right {
    /* Kept transparent because .bob-auth-form-content will hold the background */
    background-color: transparent;
}
/* Gold Day Theme Color Variant - Light Luxury */
html.theme-light.theme-variant-gold {
  /* Internal Variables */
  --gold: #c5a059;
  
  --bg-white: #f5f2ed;
  --bg-cream: #ffffff;
  --bg-sunken: #ede9e1;
  
  --text-main: #1a1a1a;
  --text-dim: #666666;
  
  --border-subtle: rgba(26, 26, 26, 0.08);

  /* Qiiqa Mappings */
  --q-primary: var(--gold);
  --q-primary-text: #1a1a1a; /* Dark charcoal text for contrast on gold button */
  
  --q-secondary: #1a1a1a;
  --q-secondary-text: #ffffff;

  --q-bg-base: var(--bg-cream);
  --q-bg-surface: var(--bg-white);
  --q-bg-subtle: var(--bg-white);
  --q-bg-sunken: var(--bg-sunken);
  --q-bg-hover: rgba(197, 160, 89, 0.05);
  --q-bg-dropdown: var(--bg-white);

  --q-text-base: var(--text-main);
  --q-text-muted: var(--text-dim);
  --q-text-edit: var(--text-main); /* Input text should be main text, not gold */
  --q-text-readonly: var(--q-text-muted);
  
  --q-border-color: var(--border-subtle);

  /* Button Variables */
  --q-btn-bg: rgba(197, 160, 89, 0.05);
  --q-btn-text: #5c4f3c; /* Dark readable gold/brown */
  --q-btn-shadow: rgba(197, 160, 89, 0.05);

  --q-btn-primary-bg: var(--q-primary);
  --q-btn-primary-text: var(--q-primary-text);
  --q-btn-primary-border: var(--q-primary);
  --q-btn-primary-hover-bg: #b48e47;

  --q-btn-secondary-bg: rgba(197, 160, 89, 0.05);
  --q-btn-secondary-text: #5c4f3c; /* Dark gold/brown */
  --q-btn-secondary-border: var(--gold);
  --q-btn-secondary-hover-bg: rgba(197, 160, 89, 0.1);

  --q-btn-danger-bg: rgba(239, 68, 68, 0.05);
  --q-btn-danger-text: #d92727;
  --q-btn-danger-border: #ef4444;

  --q-btn-success-bg: rgba(34, 197, 94, 0.05);
  --q-btn-success-text: #1b873f;
  --q-btn-success-border: #22c55e;

  --q-btn-disabled-opacity: 0.3;

  /* Status Color Adjustments */
  --status-orange: #c2410c; /* dark orange */
}
/* Gold Night Theme Color Variant - Dark Luxury */
html.theme-dark.theme-variant-gold {
  /* Internal Variables */
  --gold: #c5a059;
  --gold-muted: #8a6d3b;
  
  --bg-deep: #0f0f0e;
  --bg-panel: #1a1a18;
  --bg-sunken: #090908;
  
  --text-main: #f5f2ed;
  --text-dim: #a1a1aa;
  
  --border-subtle: rgba(245, 242, 237, 0.1);
  --border-strong: rgba(197, 160, 89, 0.3);

  /* Qiiqa Mappings */
  --q-primary: var(--gold);
  --q-primary-hover: #d4b375;
  --q-primary-text: #000000;
  
  --q-secondary: #ffffff;
  --q-secondary-text: #000000;

  --q-bg-base: var(--bg-deep);
  --q-bg-surface: var(--bg-panel);
  --q-bg-subtle: var(--bg-panel);
  --q-bg-sunken: var(--bg-sunken);
  --q-bg-hover: rgba(197, 160, 89, 0.1);
  --q-bg-dropdown: var(--bg-panel);

  --q-text-base: var(--text-main);
  --q-text-muted: var(--text-dim);
  --q-text-edit: var(--q-primary);
  --q-text-readonly: var(--q-text-muted);
  
  --q-border-color: var(--border-subtle);
  --q-border-active: var(--gold);

  --q-error: #ef4444;
  --q-success: #22c55e;

  /* Button Variables */
  --q-btn-bg: rgba(197, 160, 89, 0.1);
  --q-btn-text: var(--gold);
  --q-btn-shadow: rgba(197, 160, 89, 0.1);
  
  --q-btn-primary-bg: var(--q-primary);
  --q-btn-primary-text: var(--q-primary-text);
  --q-btn-primary-border: var(--q-primary);
  --q-btn-primary-hover-bg: #d4b375;

  --q-btn-secondary-bg: var(--q-btn-bg);
  --q-btn-secondary-text: var(--q-btn-text);
  --q-btn-secondary-border: var(--q-secondary);
  --q-btn-secondary-hover-bg: rgba(197, 160, 89, 0.2);

  --q-btn-danger-bg: var(--q-btn-bg);
  --q-btn-danger-text: var(--q-danger);
  --q-btn-danger-border: var(--q-danger);

  --q-btn-success-bg: var(--q-btn-bg);
  --q-btn-success-text: var(--q-success);
  --q-btn-success-border: var(--q-success);

  --q-btn-disabled-opacity: 0.15;

  /* Status Color Adjustments */
  --status-orange: #ff9f43; /* bright orange */
}
/* 
 * GOLD Structural Theme
 * 
 * DESIGN PHILOSOPHY:
 * - Premium, elegant, high-contrast.
 * - Based on 'Forge' structure but with luxury flourishes.
 * - Sharp borders with gold accents.
 *
 * SPECIFICITY STRATEGY:
 * - No !important is used anywhere in this file.
 * - Higher specificity is achieved by chaining html element + theme class + body + component class.
 * - For inputs: the long :not() attribute chain already provides very high specificity.
 */

html.theme-variant-moonlit {
    --q-border-radius: 4px;
    --q-font-family: 'Montserrat', 'Inter', system-ui, sans-serif;
    --q-spacer: 1rem;
    --q-btn-disabled-opacity: 0.35;

    /* Map universal bob UI variables to q theme variables */
    --bob-primary: var(--q-primary);
    --bob-secondary: var(--q-secondary);
    --bob-bg-base: var(--q-bg-base);
    --bob-bg-surface: var(--q-bg-surface);
    --bob-text-main: var(--q-text-base);
    --bob-text-muted: var(--q-text-muted);
    --bob-border: var(--q-border-color);
    --bob-radius: var(--q-border-radius);
    --bob-error: var(--q-error);
    --bob-success: var(--q-success);
    --bob-border-light: rgba(197, 160, 89, 0.15);
    --bob-bg-surface-hover: rgba(197, 160, 89, 0.05);

    /* Map bob auth context variables */
    --bob-auth-bg-primary: var(--q-bg-sunken);
    --bob-auth-bg-secondary: var(--q-bg-surface);
    --bob-auth-accent-primary: var(--q-primary);
    --bob-auth-text-primary: var(--q-text-base);
    --bob-auth-text-secondary: var(--q-text-muted);
    --bob-auth-border: var(--q-border-color);
}

html.theme-variant-moonlit body,
html.theme-variant-moonlit input,
html.theme-variant-moonlit select,
html.theme-variant-moonlit textarea,
html.theme-variant-moonlit button {
    font-family: var(--q-font-family);
    line-height: 1.5;
}

/* Surfaces */
html.theme-variant-moonlit .bob-react-panel,
html.theme-variant-moonlit .q-card,
html.theme-variant-moonlit .q-modal-content {
    background-color: var(--q-bg-surface);
    border: 1px solid var(--q-border-color);
    border-radius: var(--q-border-radius);
    box-shadow: 0 10px 30px -10px rgba(0,0,0,0.5);
}

/* Interactive Elements */
html.theme-variant-moonlit body .btn,
html.theme-variant-moonlit .q-input-wrapper,
html.theme-variant-moonlit .q-select-wrapper,
html.theme-variant-moonlit .q-checkbox-wrapper {
    border: 1px solid var(--q-border-color);
    border-radius: var(--q-border-radius);
    transition: all 0.2s ease;
}

html.theme-variant-moonlit .q-input-wrapper:focus-within {
    border-color: var(--q-primary);
    box-shadow: 0 0 0 2px rgba(197, 160, 89, 0.2);
}

/* Buttons — html + body + .btn chains give specificity (0,2,1) beating single-class rules */
html.theme-variant-moonlit body button.btn,
html.theme-variant-moonlit body a.btn,
html.theme-variant-moonlit body div.btn {
    background-color: var(--q-btn-bg, rgba(197, 160, 89, 0.1));
    color: var(--q-btn-text, var(--gold));
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.1em;
    transition: all 0.2s ease;
}

html.theme-variant-moonlit body button.btn.btn-primary,
html.theme-variant-moonlit body button.btn.btn-is-primary {
    background-color: var(--q-btn-primary-bg, var(--q-btn-bg));
    color: var(--q-btn-primary-text, var(--q-btn-text));
    border: 1px solid var(--q-btn-primary-border, var(--q-primary));
}

html.theme-variant-moonlit body button.btn.btn-primary:hover,
html.theme-variant-moonlit body button.btn.btn-is-primary:hover {
    background-color: var(--q-btn-primary-hover-bg, rgba(197, 160, 89, 0.2));
    transform: translateY(-1px);
    box-shadow: 0 4px 12px var(--q-btn-shadow, rgba(197, 160, 89, 0.1));
}

html.theme-variant-moonlit body button.btn.btn-secondary {
    background-color: var(--q-btn-secondary-bg, var(--q-btn-bg));
    color: var(--q-btn-secondary-text, var(--q-btn-text));
    border: 1px solid var(--q-btn-secondary-border, var(--q-secondary));
}

html.theme-variant-moonlit body button.btn.btn-secondary:hover {
    background-color: var(--q-btn-secondary-hover-bg, rgba(197, 160, 89, 0.2));
    border-color: var(--q-btn-secondary-hover-border, var(--q-secondary));
}

html.theme-variant-moonlit body button.btn.btn-danger {
    background-color: var(--q-btn-danger-bg, var(--q-btn-bg));
    color: var(--q-btn-danger-text, var(--q-danger));
    border: 1px solid var(--q-btn-danger-border, var(--q-danger));
}

html.theme-variant-moonlit body button.btn.btn-success {
    background-color: var(--q-btn-success-bg, var(--q-btn-bg));
    color: var(--q-btn-success-text, var(--q-success));
    border: 1px solid var(--q-btn-success-border, var(--q-success));
}

/* Ghost variant in gold theme — uses --bg-cream instead of gold tint (LIGHT MODE ONLY) */
html.theme-light.theme-variant-moonlit body button.btn.btn-ghost {
    background-color: var(--bg-cream);
    border: 1px solid var(--gold);
    color: var(--q-btn-text, var(--gold));
}

html.theme-light.theme-variant-moonlit body button.btn.btn-ghost:hover {
    background-color: var(--bg-white);
    border-color: var(--gold);
}

/* Inputs - FIX FOR WHITE SQUARES & UNIFY INPUT STYLING FOR GOLD THEME
   The .q-input selector inside the wrapper context gives sufficient specificity */
html.theme-variant-moonlit .q-input-wrapper > .q-input,
html.theme-variant-moonlit .q-input-wrapper .q-input {
    background-color: var(--q-bg-sunken, #090908);
    color: var(--q-text-base);
    border: none;
    outline: none;
}

html.theme-variant-moonlit div.q-input-wrapper {
    background-color: var(--q-bg-sunken);
}

/* Global rule to make all text-like inputs match the luxury field specifications.
   The long :not() attribute selector chain already scores very high specificity naturally. */
html.theme-variant-moonlit body input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="file"]):not([type="range"]):not([type="image"]),
html.theme-variant-moonlit body select {
    height: var(--q-input-height, 1.6875rem);
    padding-top: 0;
    padding-bottom: 0;
    padding-left: var(--q-padding-base, 0.75rem);
    padding-right: var(--q-padding-base, 0.75rem);
    border-radius: var(--q-border-radius, 4px);
    border: 1px solid var(--q-border-color, rgba(245, 242, 237, 0.1));
    background-color: var(--q-bg-sunken, #090908);
    font-size: var(--q-font-size-base, 11px);
    color: var(--q-text-base);
    line-height: normal;
    box-sizing: border-box;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

html.theme-variant-moonlit body input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="file"]):not([type="range"]):not([type="image"]):focus,
html.theme-variant-moonlit body select:focus {
    border-color: var(--q-primary, #c5a059);
    box-shadow: 0 0 0 2px rgba(197, 160, 89, 0.2);
    outline: none;
}

/* Checkbox fix — element + parent chain */
html.theme-variant-moonlit span.q-check-icon,
html.theme-variant-moonlit i.q-check-icon,
html.theme-variant-moonlit .q-checkbox-wrapper .q-check-icon {
    color: var(--q-primary);
}

/* BobBoxChoiceKeys override for Gold Theme to match field height and borders */
html.theme-variant-moonlit body div.q-choice-keys-wrapper {
    height: var(--q-input-height, 1.6875rem);
    min-height: var(--q-input-height, 1.6875rem);
    padding: 2px;
    border-radius: var(--q-border-radius, 4px);
    border: 1px solid var(--q-border-color, rgba(245, 242, 237, 0.1));
    background-color: var(--q-bg-sunken, #090908);
    align-items: center;
    box-sizing: border-box;
}

html.theme-variant-moonlit body div.q-choice-keys-wrapper button.q-choice-key-btn {
    height: 100%;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 8px;
    padding-right: 8px;
    border-radius: calc(var(--q-border-radius, 4px) - 2px);
    font-size: var(--q-font-size-base, 11px);
    line-height: normal;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

/* Disabled & Loading state styling for Gold Theme
   element + class + pseudo-class chains provide specificity without !important */
html.theme-variant-moonlit body button.btn:disabled:not(.btn-loading) {
    opacity: var(--q-btn-disabled-opacity, 0.35);
}

html.theme-variant-moonlit body button.btn.btn-loading {
    opacity: var(--q-btn-loading-opacity, 0.7);
}

/* Table & repeating group overrides for Gold Theme */
html.theme-variant-moonlit .bob-table-col-header {
    color: var(--q-text-base);
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

html.theme-variant-moonlit .bob-repeating-group-row,
html.theme-variant-moonlit .bob-table-group-row {
    border-bottom-color: rgba(197, 160, 89, 0.15);
}

/* Auth Form Moonlit Overrides */
html.theme-light.theme-variant-moonlit div.bob-auth-form-content[title="auth-form-content"] .q-input-wrapper,
html.theme-light.theme-variant-moonlit div.bob-auth-form-content[title="auth-form-content"] .q-input-wrapper > .q-input,
html.theme-light.theme-variant-moonlit div.bob-auth-form-content[title="auth-form-content"] .q-input-wrapper .q-input {
    background-color: #ffffff !important;
    color: #1a1a18 !important;
    border-color: rgba(0, 0, 0, 0.15) !important;
}

html.theme-light.theme-variant-moonlit div.bob-auth-form-content[title="auth-form-content"] .q-input::placeholder {
    color: rgba(0, 0, 0, 0.45) !important;
    opacity: 0.7 !important;
}

html.theme-light.theme-variant-moonlit div.bob-auth-form-content[title="auth-form-content"] .q-input:-webkit-autofill,
html.theme-light.theme-variant-moonlit div.bob-auth-form-content[title="auth-form-content"] .q-input:-webkit-autofill:hover,
html.theme-light.theme-variant-moonlit div.bob-auth-form-content[title="auth-form-content"] .q-input:-webkit-autofill:focus,
html.theme-light.theme-variant-moonlit div.bob-auth-form-content[title="auth-form-content"] .q-input:-webkit-autofill:active {
    -webkit-text-fill-color: #1a1a18 !important;
    -webkit-box-shadow: 0 0 0px 1000px #ffffff inset !important;
    box-shadow: 0 0 0px 1000px #ffffff inset !important;
    transition: background-color 5000s ease-in-out 0s !important;
}

/* Dark Mode Overrides (default for dark theme) */
html:not(.theme-light).theme-variant-moonlit div.bob-auth-form-content[title="auth-form-content"] .q-input-wrapper,
html:not(.theme-light).theme-variant-moonlit div.bob-auth-form-content[title="auth-form-content"] .q-input-wrapper > .q-input,
html:not(.theme-light).theme-variant-moonlit div.bob-auth-form-content[title="auth-form-content"] .q-input-wrapper .q-input,
html.theme-dark.theme-variant-moonlit div.bob-auth-form-content[title="auth-form-content"] .q-input-wrapper,
html.theme-dark.theme-variant-moonlit div.bob-auth-form-content[title="auth-form-content"] .q-input-wrapper > .q-input,
html.theme-dark.theme-variant-moonlit div.bob-auth-form-content[title="auth-form-content"] .q-input-wrapper .q-input {
    background-color: rgba(0, 0, 0, 0.4) !important;
    color: #f5f2ed !important;
    border-color: rgba(197, 160, 89, 0.3) !important;
}

html:not(.theme-light).theme-variant-moonlit div.bob-auth-form-content[title="auth-form-content"] .q-input::placeholder,
html.theme-dark.theme-variant-moonlit div.bob-auth-form-content[title="auth-form-content"] .q-input::placeholder {
    color: rgba(245, 242, 237, 0.5) !important;
    opacity: 0.8 !important;
}

html:not(.theme-light).theme-variant-moonlit div.bob-auth-form-content[title="auth-form-content"] .q-input:-webkit-autofill,
html:not(.theme-light).theme-variant-moonlit div.bob-auth-form-content[title="auth-form-content"] .q-input:-webkit-autofill:hover,
html:not(.theme-light).theme-variant-moonlit div.bob-auth-form-content[title="auth-form-content"] .q-input:-webkit-autofill:focus,
html:not(.theme-light).theme-variant-moonlit div.bob-auth-form-content[title="auth-form-content"] .q-input:-webkit-autofill:active,
html.theme-dark.theme-variant-moonlit div.bob-auth-form-content[title="auth-form-content"] .q-input:-webkit-autofill,
html.theme-dark.theme-variant-moonlit div.bob-auth-form-content[title="auth-form-content"] .q-input:-webkit-autofill:hover,
html.theme-dark.theme-variant-moonlit div.bob-auth-form-content[title="auth-form-content"] .q-input:-webkit-autofill:focus,
html.theme-dark.theme-variant-moonlit div.bob-auth-form-content[title="auth-form-content"] .q-input:-webkit-autofill:active {
    -webkit-text-fill-color: #f5f2ed !important;
    -webkit-box-shadow: 0 0 0px 1000px #121210 inset !important;
    box-shadow: 0 0 0px 1000px #121210 inset !important;
    transition: background-color 5000s ease-in-out 0s !important;
}

html.theme-variant-moonlit div.bob-auth-form-content[title="auth-form-content"],
html.theme-variant-moonlit div.bob-auth-header-content[title="auth-header-content"] {
    background: rgba(18, 18, 16, 0.85) !important;
    border: 1px solid rgba(197, 160, 89, 0.25) !important;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 10px 10px -5px rgba(0, 0, 0, 0.2) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-radius: 1rem !important;
    padding: 1rem !important;
    color: #f5f2ed !important;
}

html.theme-variant-moonlit div.bob-auth-form-content[title="auth-form-content"] .bob-label,
html.theme-variant-moonlit div.bob-auth-form-content[title="auth-form-content"] label,
html.theme-variant-moonlit div.bob-auth-form-content[title="auth-form-content"] .bob-auth-field-label {
    color: #f5f2ed !important;
}

html.theme-variant-moonlit div.bob-auth-form-content[title="auth-form-content"] a.bob-auth-forgot-link,
html.theme-variant-moonlit div.bob-auth-form-content[title="auth-form-content"] .bob-auth-forgot-link,
html.theme-variant-moonlit div.bob-auth-form-content[title="auth-form-content"] .bob-box-link {
    color: #c5a059 !important;
}


html.theme-variant-moonlit .bob-auth-split-right {
    /* Kept transparent because .bob-auth-form-content will hold the background */
    background-color: transparent;
}
/* Moonlit Day Theme Color Variant - Light Luxury */
html.theme-light.theme-variant-moonlit {
  /* Internal Variables */
  --gold: #c5a059;
  --gold-muted: #8a6d3b;
  
  --bg-deep: #ffffff;
  --bg-panel: #f5f2ed;
  --bg-sunken: #ede9e1;
  
  --text-main: #0f0f0e;
  --text-dim: #666666;
  
  --border-subtle: rgba(15, 15, 14, 0.1);
  --border-strong: rgba(197, 160, 89, 0.3);

  /* Qiiqa Mappings */
  --q-primary: var(--gold);
  --q-primary-hover: #b48e47;
  --q-primary-text: #ffffff;
  
  --q-secondary: #0f0f0e;
  --q-secondary-text: #ffffff;

  --q-bg-base: var(--bg-deep);
  --q-bg-surface: var(--bg-panel);
  --q-bg-subtle: var(--bg-panel);
  --q-bg-sunken: var(--bg-sunken);
  --q-bg-hover: rgba(197, 160, 89, 0.1);
  --q-bg-dropdown: var(--bg-panel);

  --q-text-base: var(--text-main);
  --q-text-muted: var(--text-dim);
  --q-text-edit: var(--q-primary);
  --q-text-readonly: var(--q-text-muted);
  
  --q-border-color: var(--border-subtle);
  --q-border-active: var(--gold);

  --q-error: #ef4444;
  --q-success: #22c55e;

  /* Button Variables */
  --q-btn-bg: rgba(197, 160, 89, 0.05);
  --q-btn-text: var(--gold);
  --q-btn-shadow: rgba(197, 160, 89, 0.05);
  
  --q-btn-primary-bg: var(--q-primary);
  --q-btn-primary-text: var(--q-primary-text);
  --q-btn-primary-border: var(--q-primary);
  --q-btn-primary-hover-bg: #b48e47;

  --q-btn-secondary-bg: var(--q-btn-bg);
  --q-btn-secondary-text: var(--q-btn-text);
  --q-btn-secondary-border: var(--q-secondary);
  --q-btn-secondary-hover-bg: rgba(197, 160, 89, 0.15);

  --q-btn-danger-bg: rgba(239, 68, 68, 0.05);
  --q-btn-danger-text: var(--q-error);
  --q-btn-danger-border: var(--q-error);

  --q-btn-success-bg: rgba(34, 197, 94, 0.05);
  --q-btn-success-text: var(--q-success);
  --q-btn-success-border: var(--q-success);

  --q-btn-disabled-opacity: 0.3;

  /* Status Color Adjustments */
  --status-orange: #c2410c; /* dark orange */
}
/* Gold Night Theme Color Variant - Dark Luxury */
html.theme-dark.theme-variant-moonlit {
  /* Internal Variables */
  --gold: #c5a059;
  --gold-muted: #8a6d3b;
  
  --bg-deep: #0f0f0e;
  --bg-panel: #1a1a18;
  --bg-sunken: #090908;
  
  --text-main: #f5f2ed;
  --text-dim: #a1a1aa;
  
  --border-subtle: rgba(245, 242, 237, 0.1);
  --border-strong: rgba(197, 160, 89, 0.3);

  /* Qiiqa Mappings */
  --q-primary: var(--gold);
  --q-primary-hover: #d4b375;
  --q-primary-text: #000000;
  
  --q-secondary: #ffffff;
  --q-secondary-text: #000000;

  --q-bg-base: var(--bg-deep);
  --q-bg-surface: var(--bg-panel);
  --q-bg-subtle: var(--bg-panel);
  --q-bg-sunken: var(--bg-sunken);
  --q-bg-hover: rgba(197, 160, 89, 0.1);
  --q-bg-dropdown: var(--bg-panel);

  --q-text-base: var(--text-main);
  --q-text-muted: var(--text-dim);
  --q-text-edit: var(--q-primary);
  --q-text-readonly: var(--q-text-muted);
  
  --q-border-color: var(--border-subtle);
  --q-border-active: var(--gold);

  --q-error: #ef4444;
  --q-success: #22c55e;

  /* Button Variables */
  --q-btn-bg: rgba(197, 160, 89, 0.1);
  --q-btn-text: var(--gold);
  --q-btn-shadow: rgba(197, 160, 89, 0.1);
  
  --q-btn-primary-bg: var(--q-primary);
  --q-btn-primary-text: var(--q-primary-text);
  --q-btn-primary-border: var(--q-primary);
  --q-btn-primary-hover-bg: #d4b375;

  --q-btn-secondary-bg: var(--q-btn-bg);
  --q-btn-secondary-text: var(--q-btn-text);
  --q-btn-secondary-border: var(--q-secondary);
  --q-btn-secondary-hover-bg: rgba(197, 160, 89, 0.2);

  --q-btn-danger-bg: var(--q-btn-bg);
  --q-btn-danger-text: var(--q-danger);
  --q-btn-danger-border: var(--q-danger);

  --q-btn-success-bg: var(--q-btn-bg);
  --q-btn-success-text: var(--q-success);
  --q-btn-success-border: var(--q-success);

  --q-btn-disabled-opacity: 0.15;

  /* Status Color Adjustments */
  --status-orange: #ff9f43; /* bright orange */
}
/* Moonlit Custom Auth Theme Overrides */

/* Fix for Sign In button styling */
html body #root .bob-auth-form .btn-primary,
html body #root #signin-submit,
html body .bob-clerk-social-btn {
  background-color: var(--q-primary);
  color: var(--q-primary-text, #ffffff);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  height: calc(3rem * var(--ui-scale, 1));
  border-radius: 4px;
  box-shadow: 0 4px 10px rgba(197, 160, 89, 0.2);
  font-size: calc(1rem * var(--ui-scale, 1));
}

html body .bob-clerk-social-btn:hover {
  background-color: var(--q-primary);
  opacity: 0.9;
}

/* Fix for input height and icon alignment */
html body #root .q-input-wrapper {
  height: var(--q-input-height);
  display: flex;
  align-items: center;
}

html body #root .q-input-icon {
  width: var(--q-input-height);
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent; /* Remove the dark block */
}

html body #root .q-input-icon i,
html body #root .q-check-icon i {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: var(--q-primary);
  font-style: normal;
}

/* Fix for missing checkbox icons styling */
html body #root .q-check-wrapper {
  display: flex;
  align-items: center;
  color: var(--q-text-base, inherit);
  font-family: inherit;
  margin-top: 1rem;
  font-size: calc(0.85rem * var(--ui-scale, 1));
}

html body #root .q-check-wrapper span:not(.q-check-icon),
html body #root .q-check-wrapper div:not(.q-check-icon),
html body #root .q-check-label {
  font-size: inherit;
}

html body #root .q-check-icon {
  color: var(--q-primary);
  margin-right: 8px;
  font-size: calc(1.2rem * var(--ui-scale, 1));
  min-width: calc(1.2rem * var(--ui-scale, 1));
  display: flex;
}

html body #root .bob-auth-panel-inline {
  background: var(--bob-auth-bg);
  color: var(--bob-auth-text-primary);
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  border-radius: 24px;
  overflow: visible;
}
 
/* Enhanced Split Layout for Desktop */
@media (min-width: 1024px) {
  html body #root .bob-auth-panel-inline {
    max-width: 1100px;
  }
}

/* Ensure split columns have enough breathing room and wrap properly */
@media (min-width: 768px) {
  html body #root .q-popup-layout-split .q-popup-area-middle {
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    gap: 2rem;
    padding: 2rem;
    max-width: 100%;
    box-sizing: border-box;
  }
}

html body #root .bob-auth-field-label,
html body #root .bob-label {
  color: var(--q-text-base, #f5f2ed);
  text-transform: uppercase;
  font-size: calc(0.75rem * var(--ui-scale, 1));
  letter-spacing: 0.05em;
  margin-bottom: 0.5rem;
}

/* Moonlit App Auth Form Overrides */
html body #root div.bob-auth-form-content .q-input-wrapper > .q-input,
html body #root div.bob-auth-form-content .q-input-wrapper .q-input,
html body #root div.bob-auth-form-content input {
    color: var(--q-text-base, #f5f2ed);
    background-color: transparent;
    font-size: calc(1rem * var(--ui-scale, 1));
}

html body #root div.bob-auth-form-content .q-input::placeholder,
html body #root div.bob-auth-form-content input::placeholder {
    color: var(--q-text-muted, rgba(245, 242, 237, 0.5));
}

html.theme-light body #root div.bob-auth-form-content .q-input-wrapper > .q-input,
html.theme-light body #root div.bob-auth-form-content .q-input-wrapper .q-input,
html.theme-light body #root div.bob-auth-form-content input {
    color: #1a1a18;
}

html.theme-light body #root div.bob-auth-form-content .q-input::placeholder,
html.theme-light body #root div.bob-auth-form-content input::placeholder {
    color: rgba(0, 0, 0, 0.45);
}

/* Prevent browser autofill from breaking dark/light text color */
html body #root div.bob-auth-form-content .q-input:-webkit-autofill,
html body #root div.bob-auth-form-content .q-input:-webkit-autofill:hover, 
html body #root div.bob-auth-form-content .q-input:-webkit-autofill:focus, 
html body #root div.bob-auth-form-content .q-input:-webkit-autofill:active {
    transition: background-color 5000s ease-in-out 0s;
    -webkit-text-fill-color: var(--q-text-base, #f5f2ed);
    -webkit-box-shadow: 0 0 0px 1000px #121210 inset;
    box-shadow: 0 0 0px 1000px #121210 inset;
}

html.theme-light body #root div.bob-auth-form-content .q-input:-webkit-autofill,
html.theme-light body #root div.bob-auth-form-content .q-input:-webkit-autofill:hover, 
html.theme-light body #root div.bob-auth-form-content .q-input:-webkit-autofill:focus, 
html.theme-light body #root div.bob-auth-form-content .q-input:-webkit-autofill:active {
    -webkit-text-fill-color: #1a1a18;
    -webkit-box-shadow: 0 0 0px 1000px #ffffff inset;
    box-shadow: 0 0 0px 1000px #ffffff inset;
}



html body #root .bob-auth-welcome-title {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.8rem;
  font-weight: 600;
  color: var(--portal-text-primary, var(--q-text-base, #000000));
  margin-bottom: 0.25rem;
}

html body #root .bob-auth-welcome-desc {
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-size: 0.75rem;
  color: var(--portal-text-secondary, var(--q-text-muted, #555555));
  opacity: 0.85;
}

html body #root .bob-auth-footer-text,
html body #root .bob-auth-footer-description,
html body #root .bob-auth-field-description,
html body #root .q-field-description {
  color: var(--portal-text-secondary, var(--q-text-muted, #555555));
  font-size: calc(0.85rem * var(--ui-scale, 1));
}

/* Enforce link styling for forgot password, signin, signup & reset links */
html body #root .bob-auth-forgot-link,
html body #root .bob-auth-footer-description a,
html body #root .bob-auth-footer-description .bob-box-link,
html body #root a.bob-box-link {
  color: var(--portal-accent-gold, var(--q-primary, #b8860b));
  background-color: transparent;
  font-weight: 700;
  text-decoration: none;
  font-size: calc(1rem * var(--ui-scale, 1));
}

html body #root .bob-auth-forgot-link:hover,
html body #root .bob-auth-footer-description a:hover,
html body #root .bob-auth-footer-description .bob-box-link:hover,
html body #root a.bob-box-link:hover {
  text-decoration: underline;
  opacity: 0.85;
}

html.theme-light body #root .bob-auth-footer-description .bob-box-link,
html.theme-light body #root .bob-auth-footer-description a {
  background-color: transparent;
  padding: 0;
  border-radius: 0;
  color: var(--portal-accent-gold, #b8860b);
}

/* 
 * Stretch auth panels, fields, and error boxes on mobile screens 
 * when font size preferences are set to medium or large.
 */
@media (max-width: 640px) {
  html.font-size-medium,
  html.font-size-large {
    html body #root .auth-gate-container {
      padding-left: 12px;
      padding-right: 12px;
    }
    
    html body #root .bob-auth-panel-inline,
    html body #root .bob-auth-form-content,
    html body #root .bob-auth-error-view,
    html body #root .bob-auth-error-view-content {
      width: 100%;
      max-width: 100%;
      padding-left: 10px;
      padding-right: 10px;
      box-sizing: border-box;
    }
    
    html body #root .bob-auth-error-message-box {
      width: 100%;
      margin-left: 0;
      margin-right: 0;
      box-sizing: border-box;
    }
    
    html body #root .bob-form-field,
    html body #root .q-input-wrapper,
    html body #root .bob-auth-form,
    html body #root .bob-auth-button-full,
    html body #root .bob-auth-back-to-start {
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
    }
  }
}

/* Fix light mode background for auth form content */
html.theme-light body #root .bob-auth-form-content,
html.theme-light body #root .bob-auth-error-view-content {
  background-color: hsl(var(--card)) !important;
  border-color: hsl(var(--border)) !important;
  box-shadow: 0 10px 40px -10px rgba(0,0,0,0.08) !important;
}

/* Hide target string from bob-auth-react */
html body #root div[style*="opacity: 0.5"][style*="font-family: monospace"] {
  display: none !important;
}
/*!
 * Font Awesome Free 7.2.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2026 Fonticons, Inc.
 */
.fa-solid,
.fa-regular,
.fa-brands,
.fa-classic,
.fas,
.far,
.fab,
.fa {
  --_fa-family: var(--fa-family, var(--fa-style-family, 'Font Awesome 7 Free'));
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: var(--fa-display, inline-block);
  font-family: var(--_fa-family);
  font-feature-settings: normal;
  font-style: normal;
  font-synthesis: none;
  font-variant: normal;
  font-weight: var(--fa-style, 900);
  line-height: 1;
  text-align: center;
  text-rendering: auto;
  width: var(--fa-width, 1.25em);
}

:is(.fas,
.far,
.fab,
.fa-solid,
.fa-regular,
.fa-brands,
.fa-classic,
.fa)::before {
  content: var(--fa)/"";
}

@supports not (content: ""/"") {
  :is(.fas,
  .far,
  .fab,
  .fa-solid,
  .fa-regular,
  .fa-brands,
  .fa-classic,
  .fa)::before {
    content: var(--fa);
  }
}
.fa-1x {
  font-size: 1em;
}

.fa-2x {
  font-size: 2em;
}

.fa-3x {
  font-size: 3em;
}

.fa-4x {
  font-size: 4em;
}

.fa-5x {
  font-size: 5em;
}

.fa-6x {
  font-size: 6em;
}

.fa-7x {
  font-size: 7em;
}

.fa-8x {
  font-size: 8em;
}

.fa-9x {
  font-size: 9em;
}

.fa-10x {
  font-size: 10em;
}

.fa-2xs {
  font-size: calc(10 / 16 * 1em); /* converts a 10px size into an em-based value that's relative to the scale's 16px base */
  line-height: calc(1 / 10 * 1em); /* sets the line-height of the icon back to that of it's parent */
  vertical-align: calc((6 / 10 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */
}

.fa-xs {
  font-size: calc(12 / 16 * 1em); /* converts a 12px size into an em-based value that's relative to the scale's 16px base */
  line-height: calc(1 / 12 * 1em); /* sets the line-height of the icon back to that of it's parent */
  vertical-align: calc((6 / 12 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */
}

.fa-sm {
  font-size: calc(14 / 16 * 1em); /* converts a 14px size into an em-based value that's relative to the scale's 16px base */
  line-height: calc(1 / 14 * 1em); /* sets the line-height of the icon back to that of it's parent */
  vertical-align: calc((6 / 14 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */
}

.fa-lg {
  font-size: calc(20 / 16 * 1em); /* converts a 20px size into an em-based value that's relative to the scale's 16px base */
  line-height: calc(1 / 20 * 1em); /* sets the line-height of the icon back to that of it's parent */
  vertical-align: calc((6 / 20 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */
}

.fa-xl {
  font-size: calc(24 / 16 * 1em); /* converts a 24px size into an em-based value that's relative to the scale's 16px base */
  line-height: calc(1 / 24 * 1em); /* sets the line-height of the icon back to that of it's parent */
  vertical-align: calc((6 / 24 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */
}

.fa-2xl {
  font-size: calc(32 / 16 * 1em); /* converts a 32px size into an em-based value that's relative to the scale's 16px base */
  line-height: calc(1 / 32 * 1em); /* sets the line-height of the icon back to that of it's parent */
  vertical-align: calc((6 / 32 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */
}

.fa-width-auto {
  --fa-width: auto;
}

.fa-fw,
.fa-width-fixed {
  --fa-width: 1.25em;
}

.fa-ul {
  list-style-type: none;
  margin-inline-start: var(--fa-li-margin, 2.5em);
  padding-inline-start: 0;
}
.fa-ul > li {
  position: relative;
}

.fa-li {
  inset-inline-start: calc(-1 * var(--fa-li-width, 2em));
  position: absolute;
  text-align: center;
  width: var(--fa-li-width, 2em);
  line-height: inherit;
}

/* Heads Up: Bordered Icons will not be supported in the future!
  - This feature will be deprecated in the next major release of Font Awesome (v8)!
  - You may continue to use it in this version *v7), but it will not be supported in Font Awesome v8.
*/
/* Notes:
* --@{v.$css-prefix}-border-width = 1/16 by default (to render as ~1px based on a 16px default font-size)
* --@{v.$css-prefix}-border-padding =
  ** 3/16 for vertical padding (to give ~2px of vertical whitespace around an icon considering it's vertical alignment)
  ** 4/16 for horizontal padding (to give ~4px of horizontal whitespace around an icon)
*/
.fa-border {
  border-color: var(--fa-border-color, #eee);
  border-radius: var(--fa-border-radius, 0.1em);
  border-style: var(--fa-border-style, solid);
  border-width: var(--fa-border-width, 0.0625em);
  box-sizing: var(--fa-border-box-sizing, content-box);
  padding: var(--fa-border-padding, 0.1875em 0.25em);
}

.fa-pull-left,
.fa-pull-start {
  float: inline-start;
  margin-inline-end: var(--fa-pull-margin, 0.3em);
}

.fa-pull-right,
.fa-pull-end {
  float: inline-end;
  margin-inline-start: var(--fa-pull-margin, 0.3em);
}

.fa-beat {
  animation-name: fa-beat;
  animation-delay: var(--fa-animation-delay, 0s);
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 1s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, ease-in-out);
}

.fa-bounce {
  animation-name: fa-bounce;
  animation-delay: var(--fa-animation-delay, 0s);
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 1s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
}

.fa-fade {
  animation-name: fa-fade;
  animation-delay: var(--fa-animation-delay, 0s);
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 1s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
}

.fa-beat-fade {
  animation-name: fa-beat-fade;
  animation-delay: var(--fa-animation-delay, 0s);
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 1s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
}

.fa-flip {
  animation-name: fa-flip;
  animation-delay: var(--fa-animation-delay, 0s);
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 1s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, ease-in-out);
}

.fa-shake {
  animation-name: fa-shake;
  animation-delay: var(--fa-animation-delay, 0s);
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 1s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, linear);
}

.fa-spin {
  animation-name: fa-spin;
  animation-delay: var(--fa-animation-delay, 0s);
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 2s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, linear);
}

.fa-spin-reverse {
  --fa-animation-direction: reverse;
}

.fa-pulse,
.fa-spin-pulse {
  animation-name: fa-spin;
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 1s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, steps(8));
}

@media (prefers-reduced-motion: reduce) {
  .fa-beat,
  .fa-bounce,
  .fa-fade,
  .fa-beat-fade,
  .fa-flip,
  .fa-pulse,
  .fa-shake,
  .fa-spin,
  .fa-spin-pulse {
    animation: none !important;
    transition: none !important;
  }
}
@keyframes fa-beat {
  0%, 90% {
    transform: scale(1);
  }
  45% {
    transform: scale(var(--fa-beat-scale, 1.25));
  }
}
@keyframes fa-bounce {
  0% {
    transform: scale(1, 1) translateY(0);
  }
  10% {
    transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
  }
  30% {
    transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
  }
  50% {
    transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
  }
  57% {
    transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
  }
  64% {
    transform: scale(1, 1) translateY(0);
  }
  100% {
    transform: scale(1, 1) translateY(0);
  }
}
@keyframes fa-fade {
  50% {
    opacity: var(--fa-fade-opacity, 0.4);
  }
}
@keyframes fa-beat-fade {
  0%, 100% {
    opacity: var(--fa-beat-fade-opacity, 0.4);
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(var(--fa-beat-fade-scale, 1.125));
  }
}
@keyframes fa-flip {
  50% {
    transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
  }
}
@keyframes fa-shake {
  0% {
    transform: rotate(-15deg);
  }
  4% {
    transform: rotate(15deg);
  }
  8%, 24% {
    transform: rotate(-18deg);
  }
  12%, 28% {
    transform: rotate(18deg);
  }
  16% {
    transform: rotate(-22deg);
  }
  20% {
    transform: rotate(22deg);
  }
  32% {
    transform: rotate(-12deg);
  }
  36% {
    transform: rotate(12deg);
  }
  40%, 100% {
    transform: rotate(0deg);
  }
}
@keyframes fa-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.fa-rotate-90 {
  transform: rotate(90deg);
}

.fa-rotate-180 {
  transform: rotate(180deg);
}

.fa-rotate-270 {
  transform: rotate(270deg);
}

.fa-flip-horizontal {
  transform: scale(-1, 1);
}

.fa-flip-vertical {
  transform: scale(1, -1);
}

.fa-flip-both,
.fa-flip-horizontal.fa-flip-vertical {
  transform: scale(-1, -1);
}

.fa-rotate-by {
  transform: rotate(var(--fa-rotate-angle, 0));
}

.fa-stack {
  display: inline-block;
  height: 2em;
  line-height: 2em;
  position: relative;
  vertical-align: middle;
  width: 2.5em;
}

.fa-stack-1x,
.fa-stack-2x {
  --fa-width: 100%;
  inset: 0;
  position: absolute;
  text-align: center;
  width: var(--fa-width);
  z-index: var(--fa-stack-z-index, auto);
}

.fa-stack-1x {
  line-height: inherit;
}

.fa-stack-2x {
  font-size: 2em;
}

.fa-inverse {
  color: var(--fa-inverse, #fff);
}

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */

.fa-0 {
  --fa: "\30 ";
}

.fa-1 {
  --fa: "\31 ";
}

.fa-2 {
  --fa: "\32 ";
}

.fa-3 {
  --fa: "\33 ";
}

.fa-4 {
  --fa: "\34 ";
}

.fa-5 {
  --fa: "\35 ";
}

.fa-6 {
  --fa: "\36 ";
}

.fa-7 {
  --fa: "\37 ";
}

.fa-8 {
  --fa: "\38 ";
}

.fa-9 {
  --fa: "\39 ";
}

.fa-exclamation {
  --fa: "\!";
}

.fa-hashtag {
  --fa: "\#";
}

.fa-dollar-sign {
  --fa: "\$";
}

.fa-dollar {
  --fa: "\$";
}

.fa-usd {
  --fa: "\$";
}

.fa-percent {
  --fa: "\%";
}

.fa-percentage {
  --fa: "\%";
}

.fa-asterisk {
  --fa: "\*";
}

.fa-plus {
  --fa: "\+";
}

.fa-add {
  --fa: "\+";
}

.fa-less-than {
  --fa: "\<";
}

.fa-equals {
  --fa: "\=";
}

.fa-greater-than {
  --fa: "\>";
}

.fa-question {
  --fa: "\?";
}

.fa-at {
  --fa: "\@";
}

.fa-a {
  --fa: "A";
}

.fa-b {
  --fa: "B";
}

.fa-c {
  --fa: "C";
}

.fa-d {
  --fa: "D";
}

.fa-e {
  --fa: "E";
}

.fa-f {
  --fa: "F";
}

.fa-g {
  --fa: "G";
}

.fa-h {
  --fa: "H";
}

.fa-i {
  --fa: "I";
}

.fa-j {
  --fa: "J";
}

.fa-k {
  --fa: "K";
}

.fa-l {
  --fa: "L";
}

.fa-m {
  --fa: "M";
}

.fa-n {
  --fa: "N";
}

.fa-o {
  --fa: "O";
}

.fa-p {
  --fa: "P";
}

.fa-q {
  --fa: "Q";
}

.fa-r {
  --fa: "R";
}

.fa-s {
  --fa: "S";
}

.fa-t {
  --fa: "T";
}

.fa-u {
  --fa: "U";
}

.fa-v {
  --fa: "V";
}

.fa-w {
  --fa: "W";
}

.fa-x {
  --fa: "X";
}

.fa-y {
  --fa: "Y";
}

.fa-z {
  --fa: "Z";
}

.fa-faucet {
  --fa: "\e005";
}

.fa-faucet-drip {
  --fa: "\e006";
}

.fa-house-chimney-window {
  --fa: "\e00d";
}

.fa-house-signal {
  --fa: "\e012";
}

.fa-temperature-arrow-down {
  --fa: "\e03f";
}

.fa-temperature-down {
  --fa: "\e03f";
}

.fa-temperature-arrow-up {
  --fa: "\e040";
}

.fa-temperature-up {
  --fa: "\e040";
}

.fa-trailer {
  --fa: "\e041";
}

.fa-bacteria {
  --fa: "\e059";
}

.fa-bacterium {
  --fa: "\e05a";
}

.fa-box-tissue {
  --fa: "\e05b";
}

.fa-hand-holding-medical {
  --fa: "\e05c";
}

.fa-hand-sparkles {
  --fa: "\e05d";
}

.fa-hands-bubbles {
  --fa: "\e05e";
}

.fa-hands-wash {
  --fa: "\e05e";
}

.fa-handshake-slash {
  --fa: "\e060";
}

.fa-handshake-alt-slash {
  --fa: "\e060";
}

.fa-handshake-simple-slash {
  --fa: "\e060";
}

.fa-head-side-cough {
  --fa: "\e061";
}

.fa-head-side-cough-slash {
  --fa: "\e062";
}

.fa-head-side-mask {
  --fa: "\e063";
}

.fa-head-side-virus {
  --fa: "\e064";
}

.fa-house-chimney-user {
  --fa: "\e065";
}

.fa-house-laptop {
  --fa: "\e066";
}

.fa-laptop-house {
  --fa: "\e066";
}

.fa-lungs-virus {
  --fa: "\e067";
}

.fa-people-arrows {
  --fa: "\e068";
}

.fa-people-arrows-left-right {
  --fa: "\e068";
}

.fa-plane-slash {
  --fa: "\e069";
}

.fa-pump-medical {
  --fa: "\e06a";
}

.fa-pump-soap {
  --fa: "\e06b";
}

.fa-shield-virus {
  --fa: "\e06c";
}

.fa-sink {
  --fa: "\e06d";
}

.fa-soap {
  --fa: "\e06e";
}

.fa-stopwatch-20 {
  --fa: "\e06f";
}

.fa-shop-slash {
  --fa: "\e070";
}

.fa-store-alt-slash {
  --fa: "\e070";
}

.fa-store-slash {
  --fa: "\e071";
}

.fa-toilet-paper-slash {
  --fa: "\e072";
}

.fa-users-slash {
  --fa: "\e073";
}

.fa-virus {
  --fa: "\e074";
}

.fa-virus-slash {
  --fa: "\e075";
}

.fa-viruses {
  --fa: "\e076";
}

.fa-vest {
  --fa: "\e085";
}

.fa-vest-patches {
  --fa: "\e086";
}

.fa-arrow-trend-down {
  --fa: "\e097";
}

.fa-arrow-trend-up {
  --fa: "\e098";
}

.fa-arrow-up-from-bracket {
  --fa: "\e09a";
}

.fa-austral-sign {
  --fa: "\e0a9";
}

.fa-baht-sign {
  --fa: "\e0ac";
}

.fa-bitcoin-sign {
  --fa: "\e0b4";
}

.fa-bolt-lightning {
  --fa: "\e0b7";
}

.fa-book-bookmark {
  --fa: "\e0bb";
}

.fa-camera-rotate {
  --fa: "\e0d8";
}

.fa-cedi-sign {
  --fa: "\e0df";
}

.fa-chart-column {
  --fa: "\e0e3";
}

.fa-chart-gantt {
  --fa: "\e0e4";
}

.fa-clapperboard {
  --fa: "\e131";
}

.fa-closed-captioning-slash {
  --fa: "\e135";
}

.fa-clover {
  --fa: "\e139";
}

.fa-code-compare {
  --fa: "\e13a";
}

.fa-code-fork {
  --fa: "\e13b";
}

.fa-code-pull-request {
  --fa: "\e13c";
}

.fa-colon-sign {
  --fa: "\e140";
}

.fa-cruzeiro-sign {
  --fa: "\e152";
}

.fa-display {
  --fa: "\e163";
}

.fa-dong-sign {
  --fa: "\e169";
}

.fa-elevator {
  --fa: "\e16d";
}

.fa-filter-circle-xmark {
  --fa: "\e17b";
}

.fa-florin-sign {
  --fa: "\e184";
}

.fa-folder-closed {
  --fa: "\e185";
}

.fa-franc-sign {
  --fa: "\e18f";
}

.fa-guarani-sign {
  --fa: "\e19a";
}

.fa-gun {
  --fa: "\e19b";
}

.fa-hands-clapping {
  --fa: "\e1a8";
}

.fa-house-user {
  --fa: "\e1b0";
}

.fa-home-user {
  --fa: "\e1b0";
}

.fa-indian-rupee-sign {
  --fa: "\e1bc";
}

.fa-indian-rupee {
  --fa: "\e1bc";
}

.fa-inr {
  --fa: "\e1bc";
}

.fa-kip-sign {
  --fa: "\e1c4";
}

.fa-lari-sign {
  --fa: "\e1c8";
}

.fa-litecoin-sign {
  --fa: "\e1d3";
}

.fa-manat-sign {
  --fa: "\e1d5";
}

.fa-mask-face {
  --fa: "\e1d7";
}

.fa-mill-sign {
  --fa: "\e1ed";
}

.fa-money-bills {
  --fa: "\e1f3";
}

.fa-naira-sign {
  --fa: "\e1f6";
}

.fa-notdef {
  --fa: "\e1fe";
}

.fa-panorama {
  --fa: "\e209";
}

.fa-peseta-sign {
  --fa: "\e221";
}

.fa-peso-sign {
  --fa: "\e222";
}

.fa-plane-up {
  --fa: "\e22d";
}

.fa-rupiah-sign {
  --fa: "\e23d";
}

.fa-stairs {
  --fa: "\e289";
}

.fa-timeline {
  --fa: "\e29c";
}

.fa-truck-front {
  --fa: "\e2b7";
}

.fa-turkish-lira-sign {
  --fa: "\e2bb";
}

.fa-try {
  --fa: "\e2bb";
}

.fa-turkish-lira {
  --fa: "\e2bb";
}

.fa-vault {
  --fa: "\e2c5";
}

.fa-wand-magic-sparkles {
  --fa: "\e2ca";
}

.fa-magic-wand-sparkles {
  --fa: "\e2ca";
}

.fa-wheat-awn {
  --fa: "\e2cd";
}

.fa-wheat-alt {
  --fa: "\e2cd";
}

.fa-wheelchair-move {
  --fa: "\e2ce";
}

.fa-wheelchair-alt {
  --fa: "\e2ce";
}

.fa-bangladeshi-taka-sign {
  --fa: "\e2e6";
}

.fa-bowl-rice {
  --fa: "\e2eb";
}

.fa-person-pregnant {
  --fa: "\e31e";
}

.fa-house-chimney {
  --fa: "\e3af";
}

.fa-home-lg {
  --fa: "\e3af";
}

.fa-house-crack {
  --fa: "\e3b1";
}

.fa-house-medical {
  --fa: "\e3b2";
}

.fa-cent-sign {
  --fa: "\e3f5";
}

.fa-plus-minus {
  --fa: "\e43c";
}

.fa-sailboat {
  --fa: "\e445";
}

.fa-section {
  --fa: "\e447";
}

.fa-shrimp {
  --fa: "\e448";
}

.fa-brazilian-real-sign {
  --fa: "\e46c";
}

.fa-chart-simple {
  --fa: "\e473";
}

.fa-diagram-next {
  --fa: "\e476";
}

.fa-diagram-predecessor {
  --fa: "\e477";
}

.fa-diagram-successor {
  --fa: "\e47a";
}

.fa-earth-oceania {
  --fa: "\e47b";
}

.fa-globe-oceania {
  --fa: "\e47b";
}

.fa-bug-slash {
  --fa: "\e490";
}

.fa-file-circle-plus {
  --fa: "\e494";
}

.fa-shop-lock {
  --fa: "\e4a5";
}

.fa-virus-covid {
  --fa: "\e4a8";
}

.fa-virus-covid-slash {
  --fa: "\e4a9";
}

.fa-anchor-circle-check {
  --fa: "\e4aa";
}

.fa-anchor-circle-exclamation {
  --fa: "\e4ab";
}

.fa-anchor-circle-xmark {
  --fa: "\e4ac";
}

.fa-anchor-lock {
  --fa: "\e4ad";
}

.fa-arrow-down-up-across-line {
  --fa: "\e4af";
}

.fa-arrow-down-up-lock {
  --fa: "\e4b0";
}

.fa-arrow-right-to-city {
  --fa: "\e4b3";
}

.fa-arrow-up-from-ground-water {
  --fa: "\e4b5";
}

.fa-arrow-up-from-water-pump {
  --fa: "\e4b6";
}

.fa-arrow-up-right-dots {
  --fa: "\e4b7";
}

.fa-arrows-down-to-line {
  --fa: "\e4b8";
}

.fa-arrows-down-to-people {
  --fa: "\e4b9";
}

.fa-arrows-left-right-to-line {
  --fa: "\e4ba";
}

.fa-arrows-spin {
  --fa: "\e4bb";
}

.fa-arrows-split-up-and-left {
  --fa: "\e4bc";
}

.fa-arrows-to-circle {
  --fa: "\e4bd";
}

.fa-arrows-to-dot {
  --fa: "\e4be";
}

.fa-arrows-to-eye {
  --fa: "\e4bf";
}

.fa-arrows-turn-right {
  --fa: "\e4c0";
}

.fa-arrows-turn-to-dots {
  --fa: "\e4c1";
}

.fa-arrows-up-to-line {
  --fa: "\e4c2";
}

.fa-bore-hole {
  --fa: "\e4c3";
}

.fa-bottle-droplet {
  --fa: "\e4c4";
}

.fa-bottle-water {
  --fa: "\e4c5";
}

.fa-bowl-food {
  --fa: "\e4c6";
}

.fa-boxes-packing {
  --fa: "\e4c7";
}

.fa-bridge {
  --fa: "\e4c8";
}

.fa-bridge-circle-check {
  --fa: "\e4c9";
}

.fa-bridge-circle-exclamation {
  --fa: "\e4ca";
}

.fa-bridge-circle-xmark {
  --fa: "\e4cb";
}

.fa-bridge-lock {
  --fa: "\e4cc";
}

.fa-bridge-water {
  --fa: "\e4ce";
}

.fa-bucket {
  --fa: "\e4cf";
}

.fa-bugs {
  --fa: "\e4d0";
}

.fa-building-circle-arrow-right {
  --fa: "\e4d1";
}

.fa-building-circle-check {
  --fa: "\e4d2";
}

.fa-building-circle-exclamation {
  --fa: "\e4d3";
}

.fa-building-circle-xmark {
  --fa: "\e4d4";
}

.fa-building-flag {
  --fa: "\e4d5";
}

.fa-building-lock {
  --fa: "\e4d6";
}

.fa-building-ngo {
  --fa: "\e4d7";
}

.fa-building-shield {
  --fa: "\e4d8";
}

.fa-building-un {
  --fa: "\e4d9";
}

.fa-building-user {
  --fa: "\e4da";
}

.fa-building-wheat {
  --fa: "\e4db";
}

.fa-burst {
  --fa: "\e4dc";
}

.fa-car-on {
  --fa: "\e4dd";
}

.fa-car-tunnel {
  --fa: "\e4de";
}

.fa-child-combatant {
  --fa: "\e4e0";
}

.fa-child-rifle {
  --fa: "\e4e0";
}

.fa-children {
  --fa: "\e4e1";
}

.fa-circle-nodes {
  --fa: "\e4e2";
}

.fa-clipboard-question {
  --fa: "\e4e3";
}

.fa-cloud-showers-water {
  --fa: "\e4e4";
}

.fa-computer {
  --fa: "\e4e5";
}

.fa-cubes-stacked {
  --fa: "\e4e6";
}

.fa-envelope-circle-check {
  --fa: "\e4e8";
}

.fa-explosion {
  --fa: "\e4e9";
}

.fa-ferry {
  --fa: "\e4ea";
}

.fa-file-circle-exclamation {
  --fa: "\e4eb";
}

.fa-file-circle-minus {
  --fa: "\e4ed";
}

.fa-file-circle-question {
  --fa: "\e4ef";
}

.fa-file-shield {
  --fa: "\e4f0";
}

.fa-fire-burner {
  --fa: "\e4f1";
}

.fa-fish-fins {
  --fa: "\e4f2";
}

.fa-flask-vial {
  --fa: "\e4f3";
}

.fa-glass-water {
  --fa: "\e4f4";
}

.fa-glass-water-droplet {
  --fa: "\e4f5";
}

.fa-group-arrows-rotate {
  --fa: "\e4f6";
}

.fa-hand-holding-hand {
  --fa: "\e4f7";
}

.fa-handcuffs {
  --fa: "\e4f8";
}

.fa-hands-bound {
  --fa: "\e4f9";
}

.fa-hands-holding-child {
  --fa: "\e4fa";
}

.fa-hands-holding-circle {
  --fa: "\e4fb";
}

.fa-heart-circle-bolt {
  --fa: "\e4fc";
}

.fa-heart-circle-check {
  --fa: "\e4fd";
}

.fa-heart-circle-exclamation {
  --fa: "\e4fe";
}

.fa-heart-circle-minus {
  --fa: "\e4ff";
}

.fa-heart-circle-plus {
  --fa: "\e500";
}

.fa-heart-circle-xmark {
  --fa: "\e501";
}

.fa-helicopter-symbol {
  --fa: "\e502";
}

.fa-helmet-un {
  --fa: "\e503";
}

.fa-hill-avalanche {
  --fa: "\e507";
}

.fa-hill-rockslide {
  --fa: "\e508";
}

.fa-house-circle-check {
  --fa: "\e509";
}

.fa-house-circle-exclamation {
  --fa: "\e50a";
}

.fa-house-circle-xmark {
  --fa: "\e50b";
}

.fa-house-fire {
  --fa: "\e50c";
}

.fa-house-flag {
  --fa: "\e50d";
}

.fa-house-flood-water {
  --fa: "\e50e";
}

.fa-house-flood-water-circle-arrow-right {
  --fa: "\e50f";
}

.fa-house-lock {
  --fa: "\e510";
}

.fa-house-medical-circle-check {
  --fa: "\e511";
}

.fa-house-medical-circle-exclamation {
  --fa: "\e512";
}

.fa-house-medical-circle-xmark {
  --fa: "\e513";
}

.fa-house-medical-flag {
  --fa: "\e514";
}

.fa-house-tsunami {
  --fa: "\e515";
}

.fa-jar {
  --fa: "\e516";
}

.fa-jar-wheat {
  --fa: "\e517";
}

.fa-jet-fighter-up {
  --fa: "\e518";
}

.fa-jug-detergent {
  --fa: "\e519";
}

.fa-kitchen-set {
  --fa: "\e51a";
}

.fa-land-mine-on {
  --fa: "\e51b";
}

.fa-landmark-flag {
  --fa: "\e51c";
}

.fa-laptop-file {
  --fa: "\e51d";
}

.fa-lines-leaning {
  --fa: "\e51e";
}

.fa-location-pin-lock {
  --fa: "\e51f";
}

.fa-locust {
  --fa: "\e520";
}

.fa-magnifying-glass-arrow-right {
  --fa: "\e521";
}

.fa-magnifying-glass-chart {
  --fa: "\e522";
}

.fa-mars-and-venus-burst {
  --fa: "\e523";
}

.fa-mask-ventilator {
  --fa: "\e524";
}

.fa-mattress-pillow {
  --fa: "\e525";
}

.fa-mobile-retro {
  --fa: "\e527";
}

.fa-money-bill-transfer {
  --fa: "\e528";
}

.fa-money-bill-trend-up {
  --fa: "\e529";
}

.fa-money-bill-wheat {
  --fa: "\e52a";
}

.fa-mosquito {
  --fa: "\e52b";
}

.fa-mosquito-net {
  --fa: "\e52c";
}

.fa-mound {
  --fa: "\e52d";
}

.fa-mountain-city {
  --fa: "\e52e";
}

.fa-mountain-sun {
  --fa: "\e52f";
}

.fa-oil-well {
  --fa: "\e532";
}

.fa-people-group {
  --fa: "\e533";
}

.fa-people-line {
  --fa: "\e534";
}

.fa-people-pulling {
  --fa: "\e535";
}

.fa-people-robbery {
  --fa: "\e536";
}

.fa-people-roof {
  --fa: "\e537";
}

.fa-person-arrow-down-to-line {
  --fa: "\e538";
}

.fa-person-arrow-up-from-line {
  --fa: "\e539";
}

.fa-person-breastfeeding {
  --fa: "\e53a";
}

.fa-person-burst {
  --fa: "\e53b";
}

.fa-person-cane {
  --fa: "\e53c";
}

.fa-person-chalkboard {
  --fa: "\e53d";
}

.fa-person-circle-check {
  --fa: "\e53e";
}

.fa-person-circle-exclamation {
  --fa: "\e53f";
}

.fa-person-circle-minus {
  --fa: "\e540";
}

.fa-person-circle-plus {
  --fa: "\e541";
}

.fa-person-circle-question {
  --fa: "\e542";
}

.fa-person-circle-xmark {
  --fa: "\e543";
}

.fa-person-dress-burst {
  --fa: "\e544";
}

.fa-person-drowning {
  --fa: "\e545";
}

.fa-person-falling {
  --fa: "\e546";
}

.fa-person-falling-burst {
  --fa: "\e547";
}

.fa-person-half-dress {
  --fa: "\e548";
}

.fa-person-harassing {
  --fa: "\e549";
}

.fa-person-military-pointing {
  --fa: "\e54a";
}

.fa-person-military-rifle {
  --fa: "\e54b";
}

.fa-person-military-to-person {
  --fa: "\e54c";
}

.fa-person-rays {
  --fa: "\e54d";
}

.fa-person-rifle {
  --fa: "\e54e";
}

.fa-person-shelter {
  --fa: "\e54f";
}

.fa-person-walking-arrow-loop-left {
  --fa: "\e551";
}

.fa-person-walking-arrow-right {
  --fa: "\e552";
}

.fa-person-walking-dashed-line-arrow-right {
  --fa: "\e553";
}

.fa-person-walking-luggage {
  --fa: "\e554";
}

.fa-plane-circle-check {
  --fa: "\e555";
}

.fa-plane-circle-exclamation {
  --fa: "\e556";
}

.fa-plane-circle-xmark {
  --fa: "\e557";
}

.fa-plane-lock {
  --fa: "\e558";
}

.fa-plate-wheat {
  --fa: "\e55a";
}

.fa-plug-circle-bolt {
  --fa: "\e55b";
}

.fa-plug-circle-check {
  --fa: "\e55c";
}

.fa-plug-circle-exclamation {
  --fa: "\e55d";
}

.fa-plug-circle-minus {
  --fa: "\e55e";
}

.fa-plug-circle-plus {
  --fa: "\e55f";
}

.fa-plug-circle-xmark {
  --fa: "\e560";
}

.fa-ranking-star {
  --fa: "\e561";
}

.fa-road-barrier {
  --fa: "\e562";
}

.fa-road-bridge {
  --fa: "\e563";
}

.fa-road-circle-check {
  --fa: "\e564";
}

.fa-road-circle-exclamation {
  --fa: "\e565";
}

.fa-road-circle-xmark {
  --fa: "\e566";
}

.fa-road-lock {
  --fa: "\e567";
}

.fa-road-spikes {
  --fa: "\e568";
}

.fa-rug {
  --fa: "\e569";
}

.fa-sack-xmark {
  --fa: "\e56a";
}

.fa-school-circle-check {
  --fa: "\e56b";
}

.fa-school-circle-exclamation {
  --fa: "\e56c";
}

.fa-school-circle-xmark {
  --fa: "\e56d";
}

.fa-school-flag {
  --fa: "\e56e";
}

.fa-school-lock {
  --fa: "\e56f";
}

.fa-sheet-plastic {
  --fa: "\e571";
}

.fa-shield-cat {
  --fa: "\e572";
}

.fa-shield-dog {
  --fa: "\e573";
}

.fa-shield-heart {
  --fa: "\e574";
}

.fa-square-nfi {
  --fa: "\e576";
}

.fa-square-person-confined {
  --fa: "\e577";
}

.fa-square-virus {
  --fa: "\e578";
}

.fa-staff-snake {
  --fa: "\e579";
}

.fa-rod-asclepius {
  --fa: "\e579";
}

.fa-rod-snake {
  --fa: "\e579";
}

.fa-staff-aesculapius {
  --fa: "\e579";
}

.fa-sun-plant-wilt {
  --fa: "\e57a";
}

.fa-tarp {
  --fa: "\e57b";
}

.fa-tarp-droplet {
  --fa: "\e57c";
}

.fa-tent {
  --fa: "\e57d";
}

.fa-tent-arrow-down-to-line {
  --fa: "\e57e";
}

.fa-tent-arrow-left-right {
  --fa: "\e57f";
}

.fa-tent-arrow-turn-left {
  --fa: "\e580";
}

.fa-tent-arrows-down {
  --fa: "\e581";
}

.fa-tents {
  --fa: "\e582";
}

.fa-toilet-portable {
  --fa: "\e583";
}

.fa-toilets-portable {
  --fa: "\e584";
}

.fa-tower-cell {
  --fa: "\e585";
}

.fa-tower-observation {
  --fa: "\e586";
}

.fa-tree-city {
  --fa: "\e587";
}

.fa-trowel {
  --fa: "\e589";
}

.fa-trowel-bricks {
  --fa: "\e58a";
}

.fa-truck-arrow-right {
  --fa: "\e58b";
}

.fa-truck-droplet {
  --fa: "\e58c";
}

.fa-truck-field {
  --fa: "\e58d";
}

.fa-truck-field-un {
  --fa: "\e58e";
}

.fa-truck-plane {
  --fa: "\e58f";
}

.fa-users-between-lines {
  --fa: "\e591";
}

.fa-users-line {
  --fa: "\e592";
}

.fa-users-rays {
  --fa: "\e593";
}

.fa-users-rectangle {
  --fa: "\e594";
}

.fa-users-viewfinder {
  --fa: "\e595";
}

.fa-vial-circle-check {
  --fa: "\e596";
}

.fa-vial-virus {
  --fa: "\e597";
}

.fa-wheat-awn-circle-exclamation {
  --fa: "\e598";
}

.fa-worm {
  --fa: "\e599";
}

.fa-xmarks-lines {
  --fa: "\e59a";
}

.fa-child-dress {
  --fa: "\e59c";
}

.fa-child-reaching {
  --fa: "\e59d";
}

.fa-file-circle-check {
  --fa: "\e5a0";
}

.fa-file-circle-xmark {
  --fa: "\e5a1";
}

.fa-person-through-window {
  --fa: "\e5a9";
}

.fa-plant-wilt {
  --fa: "\e5aa";
}

.fa-stapler {
  --fa: "\e5af";
}

.fa-train-tram {
  --fa: "\e5b4";
}

.fa-table-cells-column-lock {
  --fa: "\e678";
}

.fa-table-cells-row-lock {
  --fa: "\e67a";
}

.fa-web-awesome {
  --fa: "\e682";
}

.fa-thumbtack-slash {
  --fa: "\e68f";
}

.fa-thumb-tack-slash {
  --fa: "\e68f";
}

.fa-table-cells-row-unlock {
  --fa: "\e691";
}

.fa-chart-diagram {
  --fa: "\e695";
}

.fa-comment-nodes {
  --fa: "\e696";
}

.fa-file-fragment {
  --fa: "\e697";
}

.fa-file-half-dashed {
  --fa: "\e698";
}

.fa-hexagon-nodes {
  --fa: "\e699";
}

.fa-hexagon-nodes-bolt {
  --fa: "\e69a";
}

.fa-square-binary {
  --fa: "\e69b";
}

.fa-pentagon {
  --fa: "\e790";
}

.fa-non-binary {
  --fa: "\e807";
}

.fa-spiral {
  --fa: "\e80a";
}

.fa-picture-in-picture {
  --fa: "\e80b";
}

.fa-mobile-vibrate {
  --fa: "\e816";
}

.fa-single-quote-left {
  --fa: "\e81b";
}

.fa-single-quote-right {
  --fa: "\e81c";
}

.fa-bus-side {
  --fa: "\e81d";
}

.fa-septagon {
  --fa: "\e820";
}

.fa-heptagon {
  --fa: "\e820";
}

.fa-aquarius {
  --fa: "\e845";
}

.fa-aries {
  --fa: "\e846";
}

.fa-cancer {
  --fa: "\e847";
}

.fa-capricorn {
  --fa: "\e848";
}

.fa-gemini {
  --fa: "\e849";
}

.fa-leo {
  --fa: "\e84a";
}

.fa-libra {
  --fa: "\e84b";
}

.fa-pisces {
  --fa: "\e84c";
}

.fa-sagittarius {
  --fa: "\e84d";
}

.fa-scorpio {
  --fa: "\e84e";
}

.fa-taurus {
  --fa: "\e84f";
}

.fa-virgo {
  --fa: "\e850";
}

.fa-martini-glass-empty {
  --fa: "\f000";
}

.fa-glass-martini {
  --fa: "\f000";
}

.fa-music {
  --fa: "\f001";
}

.fa-magnifying-glass {
  --fa: "\f002";
}

.fa-search {
  --fa: "\f002";
}

.fa-heart {
  --fa: "\f004";
}

.fa-star {
  --fa: "\f005";
}

.fa-user {
  --fa: "\f007";
}

.fa-user-alt {
  --fa: "\f007";
}

.fa-user-large {
  --fa: "\f007";
}

.fa-film {
  --fa: "\f008";
}

.fa-film-alt {
  --fa: "\f008";
}

.fa-film-simple {
  --fa: "\f008";
}

.fa-table-cells-large {
  --fa: "\f009";
}

.fa-th-large {
  --fa: "\f009";
}

.fa-table-cells {
  --fa: "\f00a";
}

.fa-th {
  --fa: "\f00a";
}

.fa-table-list {
  --fa: "\f00b";
}

.fa-th-list {
  --fa: "\f00b";
}

.fa-check {
  --fa: "\f00c";
}

.fa-xmark {
  --fa: "\f00d";
}

.fa-close {
  --fa: "\f00d";
}

.fa-multiply {
  --fa: "\f00d";
}

.fa-remove {
  --fa: "\f00d";
}

.fa-times {
  --fa: "\f00d";
}

.fa-magnifying-glass-plus {
  --fa: "\f00e";
}

.fa-search-plus {
  --fa: "\f00e";
}

.fa-magnifying-glass-minus {
  --fa: "\f010";
}

.fa-search-minus {
  --fa: "\f010";
}

.fa-power-off {
  --fa: "\f011";
}

.fa-signal {
  --fa: "\f012";
}

.fa-signal-5 {
  --fa: "\f012";
}

.fa-signal-perfect {
  --fa: "\f012";
}

.fa-gear {
  --fa: "\f013";
}

.fa-cog {
  --fa: "\f013";
}

.fa-house {
  --fa: "\f015";
}

.fa-home {
  --fa: "\f015";
}

.fa-home-alt {
  --fa: "\f015";
}

.fa-home-lg-alt {
  --fa: "\f015";
}

.fa-clock {
  --fa: "\f017";
}

.fa-clock-four {
  --fa: "\f017";
}

.fa-road {
  --fa: "\f018";
}

.fa-download {
  --fa: "\f019";
}

.fa-inbox {
  --fa: "\f01c";
}

.fa-arrow-rotate-right {
  --fa: "\f01e";
}

.fa-arrow-right-rotate {
  --fa: "\f01e";
}

.fa-arrow-rotate-forward {
  --fa: "\f01e";
}

.fa-redo {
  --fa: "\f01e";
}

.fa-arrows-rotate {
  --fa: "\f021";
}

.fa-refresh {
  --fa: "\f021";
}

.fa-sync {
  --fa: "\f021";
}

.fa-rectangle-list {
  --fa: "\f022";
}

.fa-list-alt {
  --fa: "\f022";
}

.fa-lock {
  --fa: "\f023";
}

.fa-flag {
  --fa: "\f024";
}

.fa-headphones {
  --fa: "\f025";
}

.fa-headphones-alt {
  --fa: "\f025";
}

.fa-headphones-simple {
  --fa: "\f025";
}

.fa-volume-off {
  --fa: "\f026";
}

.fa-volume-low {
  --fa: "\f027";
}

.fa-volume-down {
  --fa: "\f027";
}

.fa-volume-high {
  --fa: "\f028";
}

.fa-volume-up {
  --fa: "\f028";
}

.fa-qrcode {
  --fa: "\f029";
}

.fa-barcode {
  --fa: "\f02a";
}

.fa-tag {
  --fa: "\f02b";
}

.fa-tags {
  --fa: "\f02c";
}

.fa-book {
  --fa: "\f02d";
}

.fa-bookmark {
  --fa: "\f02e";
}

.fa-print {
  --fa: "\f02f";
}

.fa-camera {
  --fa: "\f030";
}

.fa-camera-alt {
  --fa: "\f030";
}

.fa-font {
  --fa: "\f031";
}

.fa-bold {
  --fa: "\f032";
}

.fa-italic {
  --fa: "\f033";
}

.fa-text-height {
  --fa: "\f034";
}

.fa-text-width {
  --fa: "\f035";
}

.fa-align-left {
  --fa: "\f036";
}

.fa-align-center {
  --fa: "\f037";
}

.fa-align-right {
  --fa: "\f038";
}

.fa-align-justify {
  --fa: "\f039";
}

.fa-list {
  --fa: "\f03a";
}

.fa-list-squares {
  --fa: "\f03a";
}

.fa-outdent {
  --fa: "\f03b";
}

.fa-dedent {
  --fa: "\f03b";
}

.fa-indent {
  --fa: "\f03c";
}

.fa-video {
  --fa: "\f03d";
}

.fa-video-camera {
  --fa: "\f03d";
}

.fa-image {
  --fa: "\f03e";
}

.fa-location-pin {
  --fa: "\f041";
}

.fa-map-marker {
  --fa: "\f041";
}

.fa-circle-half-stroke {
  --fa: "\f042";
}

.fa-adjust {
  --fa: "\f042";
}

.fa-droplet {
  --fa: "\f043";
}

.fa-tint {
  --fa: "\f043";
}

.fa-pen-to-square {
  --fa: "\f044";
}

.fa-edit {
  --fa: "\f044";
}

.fa-arrows-up-down-left-right {
  --fa: "\f047";
}

.fa-arrows {
  --fa: "\f047";
}

.fa-backward-step {
  --fa: "\f048";
}

.fa-step-backward {
  --fa: "\f048";
}

.fa-backward-fast {
  --fa: "\f049";
}

.fa-fast-backward {
  --fa: "\f049";
}

.fa-backward {
  --fa: "\f04a";
}

.fa-play {
  --fa: "\f04b";
}

.fa-pause {
  --fa: "\f04c";
}

.fa-stop {
  --fa: "\f04d";
}

.fa-forward {
  --fa: "\f04e";
}

.fa-forward-fast {
  --fa: "\f050";
}

.fa-fast-forward {
  --fa: "\f050";
}

.fa-forward-step {
  --fa: "\f051";
}

.fa-step-forward {
  --fa: "\f051";
}

.fa-eject {
  --fa: "\f052";
}

.fa-chevron-left {
  --fa: "\f053";
}

.fa-chevron-right {
  --fa: "\f054";
}

.fa-circle-plus {
  --fa: "\f055";
}

.fa-plus-circle {
  --fa: "\f055";
}

.fa-circle-minus {
  --fa: "\f056";
}

.fa-minus-circle {
  --fa: "\f056";
}

.fa-circle-xmark {
  --fa: "\f057";
}

.fa-times-circle {
  --fa: "\f057";
}

.fa-xmark-circle {
  --fa: "\f057";
}

.fa-circle-check {
  --fa: "\f058";
}

.fa-check-circle {
  --fa: "\f058";
}

.fa-circle-question {
  --fa: "\f059";
}

.fa-question-circle {
  --fa: "\f059";
}

.fa-circle-info {
  --fa: "\f05a";
}

.fa-info-circle {
  --fa: "\f05a";
}

.fa-crosshairs {
  --fa: "\f05b";
}

.fa-ban {
  --fa: "\f05e";
}

.fa-cancel {
  --fa: "\f05e";
}

.fa-arrow-left {
  --fa: "\f060";
}

.fa-arrow-right {
  --fa: "\f061";
}

.fa-arrow-up {
  --fa: "\f062";
}

.fa-arrow-down {
  --fa: "\f063";
}

.fa-share {
  --fa: "\f064";
}

.fa-mail-forward {
  --fa: "\f064";
}

.fa-expand {
  --fa: "\f065";
}

.fa-compress {
  --fa: "\f066";
}

.fa-minus {
  --fa: "\f068";
}

.fa-subtract {
  --fa: "\f068";
}

.fa-circle-exclamation {
  --fa: "\f06a";
}

.fa-exclamation-circle {
  --fa: "\f06a";
}

.fa-gift {
  --fa: "\f06b";
}

.fa-leaf {
  --fa: "\f06c";
}

.fa-fire {
  --fa: "\f06d";
}

.fa-eye {
  --fa: "\f06e";
}

.fa-eye-slash {
  --fa: "\f070";
}

.fa-triangle-exclamation {
  --fa: "\f071";
}

.fa-exclamation-triangle {
  --fa: "\f071";
}

.fa-warning {
  --fa: "\f071";
}

.fa-plane {
  --fa: "\f072";
}

.fa-calendar-days {
  --fa: "\f073";
}

.fa-calendar-alt {
  --fa: "\f073";
}

.fa-shuffle {
  --fa: "\f074";
}

.fa-random {
  --fa: "\f074";
}

.fa-comment {
  --fa: "\f075";
}

.fa-magnet {
  --fa: "\f076";
}

.fa-chevron-up {
  --fa: "\f077";
}

.fa-chevron-down {
  --fa: "\f078";
}

.fa-retweet {
  --fa: "\f079";
}

.fa-cart-shopping {
  --fa: "\f07a";
}

.fa-shopping-cart {
  --fa: "\f07a";
}

.fa-folder {
  --fa: "\f07b";
}

.fa-folder-blank {
  --fa: "\f07b";
}

.fa-folder-open {
  --fa: "\f07c";
}

.fa-arrows-up-down {
  --fa: "\f07d";
}

.fa-arrows-v {
  --fa: "\f07d";
}

.fa-arrows-left-right {
  --fa: "\f07e";
}

.fa-arrows-h {
  --fa: "\f07e";
}

.fa-chart-bar {
  --fa: "\f080";
}

.fa-bar-chart {
  --fa: "\f080";
}

.fa-camera-retro {
  --fa: "\f083";
}

.fa-key {
  --fa: "\f084";
}

.fa-gears {
  --fa: "\f085";
}

.fa-cogs {
  --fa: "\f085";
}

.fa-comments {
  --fa: "\f086";
}

.fa-star-half {
  --fa: "\f089";
}

.fa-arrow-right-from-bracket {
  --fa: "\f08b";
}

.fa-sign-out {
  --fa: "\f08b";
}

.fa-thumbtack {
  --fa: "\f08d";
}

.fa-thumb-tack {
  --fa: "\f08d";
}

.fa-arrow-up-right-from-square {
  --fa: "\f08e";
}

.fa-external-link {
  --fa: "\f08e";
}

.fa-arrow-right-to-bracket {
  --fa: "\f090";
}

.fa-sign-in {
  --fa: "\f090";
}

.fa-trophy {
  --fa: "\f091";
}

.fa-upload {
  --fa: "\f093";
}

.fa-lemon {
  --fa: "\f094";
}

.fa-phone {
  --fa: "\f095";
}

.fa-square-phone {
  --fa: "\f098";
}

.fa-phone-square {
  --fa: "\f098";
}

.fa-unlock {
  --fa: "\f09c";
}

.fa-credit-card {
  --fa: "\f09d";
}

.fa-credit-card-alt {
  --fa: "\f09d";
}

.fa-rss {
  --fa: "\f09e";
}

.fa-feed {
  --fa: "\f09e";
}

.fa-hard-drive {
  --fa: "\f0a0";
}

.fa-hdd {
  --fa: "\f0a0";
}

.fa-bullhorn {
  --fa: "\f0a1";
}

.fa-certificate {
  --fa: "\f0a3";
}

.fa-hand-point-right {
  --fa: "\f0a4";
}

.fa-hand-point-left {
  --fa: "\f0a5";
}

.fa-hand-point-up {
  --fa: "\f0a6";
}

.fa-hand-point-down {
  --fa: "\f0a7";
}

.fa-circle-arrow-left {
  --fa: "\f0a8";
}

.fa-arrow-circle-left {
  --fa: "\f0a8";
}

.fa-circle-arrow-right {
  --fa: "\f0a9";
}

.fa-arrow-circle-right {
  --fa: "\f0a9";
}

.fa-circle-arrow-up {
  --fa: "\f0aa";
}

.fa-arrow-circle-up {
  --fa: "\f0aa";
}

.fa-circle-arrow-down {
  --fa: "\f0ab";
}

.fa-arrow-circle-down {
  --fa: "\f0ab";
}

.fa-globe {
  --fa: "\f0ac";
}

.fa-wrench {
  --fa: "\f0ad";
}

.fa-list-check {
  --fa: "\f0ae";
}

.fa-tasks {
  --fa: "\f0ae";
}

.fa-filter {
  --fa: "\f0b0";
}

.fa-briefcase {
  --fa: "\f0b1";
}

.fa-up-down-left-right {
  --fa: "\f0b2";
}

.fa-arrows-alt {
  --fa: "\f0b2";
}

.fa-users {
  --fa: "\f0c0";
}

.fa-link {
  --fa: "\f0c1";
}

.fa-chain {
  --fa: "\f0c1";
}

.fa-cloud {
  --fa: "\f0c2";
}

.fa-flask {
  --fa: "\f0c3";
}

.fa-scissors {
  --fa: "\f0c4";
}

.fa-cut {
  --fa: "\f0c4";
}

.fa-copy {
  --fa: "\f0c5";
}

.fa-paperclip {
  --fa: "\f0c6";
}

.fa-floppy-disk {
  --fa: "\f0c7";
}

.fa-save {
  --fa: "\f0c7";
}

.fa-square {
  --fa: "\f0c8";
}

.fa-bars {
  --fa: "\f0c9";
}

.fa-navicon {
  --fa: "\f0c9";
}

.fa-list-ul {
  --fa: "\f0ca";
}

.fa-list-dots {
  --fa: "\f0ca";
}

.fa-list-ol {
  --fa: "\f0cb";
}

.fa-list-1-2 {
  --fa: "\f0cb";
}

.fa-list-numeric {
  --fa: "\f0cb";
}

.fa-strikethrough {
  --fa: "\f0cc";
}

.fa-underline {
  --fa: "\f0cd";
}

.fa-table {
  --fa: "\f0ce";
}

.fa-wand-magic {
  --fa: "\f0d0";
}

.fa-magic {
  --fa: "\f0d0";
}

.fa-truck {
  --fa: "\f0d1";
}

.fa-money-bill {
  --fa: "\f0d6";
}

.fa-caret-down {
  --fa: "\f0d7";
}

.fa-caret-up {
  --fa: "\f0d8";
}

.fa-caret-left {
  --fa: "\f0d9";
}

.fa-caret-right {
  --fa: "\f0da";
}

.fa-table-columns {
  --fa: "\f0db";
}

.fa-columns {
  --fa: "\f0db";
}

.fa-sort {
  --fa: "\f0dc";
}

.fa-unsorted {
  --fa: "\f0dc";
}

.fa-sort-down {
  --fa: "\f0dd";
}

.fa-sort-desc {
  --fa: "\f0dd";
}

.fa-sort-up {
  --fa: "\f0de";
}

.fa-sort-asc {
  --fa: "\f0de";
}

.fa-envelope {
  --fa: "\f0e0";
}

.fa-arrow-rotate-left {
  --fa: "\f0e2";
}

.fa-arrow-left-rotate {
  --fa: "\f0e2";
}

.fa-arrow-rotate-back {
  --fa: "\f0e2";
}

.fa-arrow-rotate-backward {
  --fa: "\f0e2";
}

.fa-undo {
  --fa: "\f0e2";
}

.fa-gavel {
  --fa: "\f0e3";
}

.fa-legal {
  --fa: "\f0e3";
}

.fa-bolt {
  --fa: "\f0e7";
}

.fa-zap {
  --fa: "\f0e7";
}

.fa-sitemap {
  --fa: "\f0e8";
}

.fa-umbrella {
  --fa: "\f0e9";
}

.fa-paste {
  --fa: "\f0ea";
}

.fa-file-clipboard {
  --fa: "\f0ea";
}

.fa-lightbulb {
  --fa: "\f0eb";
}

.fa-arrow-right-arrow-left {
  --fa: "\f0ec";
}

.fa-exchange {
  --fa: "\f0ec";
}

.fa-cloud-arrow-down {
  --fa: "\f0ed";
}

.fa-cloud-download {
  --fa: "\f0ed";
}

.fa-cloud-download-alt {
  --fa: "\f0ed";
}

.fa-cloud-arrow-up {
  --fa: "\f0ee";
}

.fa-cloud-upload {
  --fa: "\f0ee";
}

.fa-cloud-upload-alt {
  --fa: "\f0ee";
}

.fa-user-doctor {
  --fa: "\f0f0";
}

.fa-user-md {
  --fa: "\f0f0";
}

.fa-stethoscope {
  --fa: "\f0f1";
}

.fa-suitcase {
  --fa: "\f0f2";
}

.fa-bell {
  --fa: "\f0f3";
}

.fa-mug-saucer {
  --fa: "\f0f4";
}

.fa-coffee {
  --fa: "\f0f4";
}

.fa-hospital {
  --fa: "\f0f8";
}

.fa-hospital-alt {
  --fa: "\f0f8";
}

.fa-hospital-wide {
  --fa: "\f0f8";
}

.fa-truck-medical {
  --fa: "\f0f9";
}

.fa-ambulance {
  --fa: "\f0f9";
}

.fa-suitcase-medical {
  --fa: "\f0fa";
}

.fa-medkit {
  --fa: "\f0fa";
}

.fa-jet-fighter {
  --fa: "\f0fb";
}

.fa-fighter-jet {
  --fa: "\f0fb";
}

.fa-beer-mug-empty {
  --fa: "\f0fc";
}

.fa-beer {
  --fa: "\f0fc";
}

.fa-square-h {
  --fa: "\f0fd";
}

.fa-h-square {
  --fa: "\f0fd";
}

.fa-square-plus {
  --fa: "\f0fe";
}

.fa-plus-square {
  --fa: "\f0fe";
}

.fa-angles-left {
  --fa: "\f100";
}

.fa-angle-double-left {
  --fa: "\f100";
}

.fa-angles-right {
  --fa: "\f101";
}

.fa-angle-double-right {
  --fa: "\f101";
}

.fa-angles-up {
  --fa: "\f102";
}

.fa-angle-double-up {
  --fa: "\f102";
}

.fa-angles-down {
  --fa: "\f103";
}

.fa-angle-double-down {
  --fa: "\f103";
}

.fa-angle-left {
  --fa: "\f104";
}

.fa-angle-right {
  --fa: "\f105";
}

.fa-angle-up {
  --fa: "\f106";
}

.fa-angle-down {
  --fa: "\f107";
}

.fa-laptop {
  --fa: "\f109";
}

.fa-tablet-button {
  --fa: "\f10a";
}

.fa-mobile-button {
  --fa: "\f10b";
}

.fa-quote-left {
  --fa: "\f10d";
}

.fa-quote-left-alt {
  --fa: "\f10d";
}

.fa-quote-right {
  --fa: "\f10e";
}

.fa-quote-right-alt {
  --fa: "\f10e";
}

.fa-spinner {
  --fa: "\f110";
}

.fa-circle {
  --fa: "\f111";
}

.fa-face-smile {
  --fa: "\f118";
}

.fa-smile {
  --fa: "\f118";
}

.fa-face-frown {
  --fa: "\f119";
}

.fa-frown {
  --fa: "\f119";
}

.fa-face-meh {
  --fa: "\f11a";
}

.fa-meh {
  --fa: "\f11a";
}

.fa-gamepad {
  --fa: "\f11b";
}

.fa-keyboard {
  --fa: "\f11c";
}

.fa-flag-checkered {
  --fa: "\f11e";
}

.fa-terminal {
  --fa: "\f120";
}

.fa-code {
  --fa: "\f121";
}

.fa-reply-all {
  --fa: "\f122";
}

.fa-mail-reply-all {
  --fa: "\f122";
}

.fa-location-arrow {
  --fa: "\f124";
}

.fa-crop {
  --fa: "\f125";
}

.fa-code-branch {
  --fa: "\f126";
}

.fa-link-slash {
  --fa: "\f127";
}

.fa-chain-broken {
  --fa: "\f127";
}

.fa-chain-slash {
  --fa: "\f127";
}

.fa-unlink {
  --fa: "\f127";
}

.fa-info {
  --fa: "\f129";
}

.fa-superscript {
  --fa: "\f12b";
}

.fa-subscript {
  --fa: "\f12c";
}

.fa-eraser {
  --fa: "\f12d";
}

.fa-puzzle-piece {
  --fa: "\f12e";
}

.fa-microphone {
  --fa: "\f130";
}

.fa-microphone-slash {
  --fa: "\f131";
}

.fa-shield {
  --fa: "\f132";
}

.fa-shield-blank {
  --fa: "\f132";
}

.fa-calendar {
  --fa: "\f133";
}

.fa-fire-extinguisher {
  --fa: "\f134";
}

.fa-rocket {
  --fa: "\f135";
}

.fa-circle-chevron-left {
  --fa: "\f137";
}

.fa-chevron-circle-left {
  --fa: "\f137";
}

.fa-circle-chevron-right {
  --fa: "\f138";
}

.fa-chevron-circle-right {
  --fa: "\f138";
}

.fa-circle-chevron-up {
  --fa: "\f139";
}

.fa-chevron-circle-up {
  --fa: "\f139";
}

.fa-circle-chevron-down {
  --fa: "\f13a";
}

.fa-chevron-circle-down {
  --fa: "\f13a";
}

.fa-anchor {
  --fa: "\f13d";
}

.fa-unlock-keyhole {
  --fa: "\f13e";
}

.fa-unlock-alt {
  --fa: "\f13e";
}

.fa-bullseye {
  --fa: "\f140";
}

.fa-ellipsis {
  --fa: "\f141";
}

.fa-ellipsis-h {
  --fa: "\f141";
}

.fa-ellipsis-vertical {
  --fa: "\f142";
}

.fa-ellipsis-v {
  --fa: "\f142";
}

.fa-square-rss {
  --fa: "\f143";
}

.fa-rss-square {
  --fa: "\f143";
}

.fa-circle-play {
  --fa: "\f144";
}

.fa-play-circle {
  --fa: "\f144";
}

.fa-ticket {
  --fa: "\f145";
}

.fa-square-minus {
  --fa: "\f146";
}

.fa-minus-square {
  --fa: "\f146";
}

.fa-arrow-turn-up {
  --fa: "\f148";
}

.fa-level-up {
  --fa: "\f148";
}

.fa-arrow-turn-down {
  --fa: "\f149";
}

.fa-level-down {
  --fa: "\f149";
}

.fa-square-check {
  --fa: "\f14a";
}

.fa-check-square {
  --fa: "\f14a";
}

.fa-square-pen {
  --fa: "\f14b";
}

.fa-pen-square {
  --fa: "\f14b";
}

.fa-pencil-square {
  --fa: "\f14b";
}

.fa-square-arrow-up-right {
  --fa: "\f14c";
}

.fa-external-link-square {
  --fa: "\f14c";
}

.fa-share-from-square {
  --fa: "\f14d";
}

.fa-share-square {
  --fa: "\f14d";
}

.fa-compass {
  --fa: "\f14e";
}

.fa-square-caret-down {
  --fa: "\f150";
}

.fa-caret-square-down {
  --fa: "\f150";
}

.fa-square-caret-up {
  --fa: "\f151";
}

.fa-caret-square-up {
  --fa: "\f151";
}

.fa-square-caret-right {
  --fa: "\f152";
}

.fa-caret-square-right {
  --fa: "\f152";
}

.fa-euro-sign {
  --fa: "\f153";
}

.fa-eur {
  --fa: "\f153";
}

.fa-euro {
  --fa: "\f153";
}

.fa-sterling-sign {
  --fa: "\f154";
}

.fa-gbp {
  --fa: "\f154";
}

.fa-pound-sign {
  --fa: "\f154";
}

.fa-rupee-sign {
  --fa: "\f156";
}

.fa-rupee {
  --fa: "\f156";
}

.fa-yen-sign {
  --fa: "\f157";
}

.fa-cny {
  --fa: "\f157";
}

.fa-jpy {
  --fa: "\f157";
}

.fa-rmb {
  --fa: "\f157";
}

.fa-yen {
  --fa: "\f157";
}

.fa-ruble-sign {
  --fa: "\f158";
}

.fa-rouble {
  --fa: "\f158";
}

.fa-rub {
  --fa: "\f158";
}

.fa-ruble {
  --fa: "\f158";
}

.fa-won-sign {
  --fa: "\f159";
}

.fa-krw {
  --fa: "\f159";
}

.fa-won {
  --fa: "\f159";
}

.fa-file {
  --fa: "\f15b";
}

.fa-file-lines {
  --fa: "\f15c";
}

.fa-file-alt {
  --fa: "\f15c";
}

.fa-file-text {
  --fa: "\f15c";
}

.fa-arrow-down-a-z {
  --fa: "\f15d";
}

.fa-sort-alpha-asc {
  --fa: "\f15d";
}

.fa-sort-alpha-down {
  --fa: "\f15d";
}

.fa-arrow-up-a-z {
  --fa: "\f15e";
}

.fa-sort-alpha-up {
  --fa: "\f15e";
}

.fa-arrow-down-wide-short {
  --fa: "\f160";
}

.fa-sort-amount-asc {
  --fa: "\f160";
}

.fa-sort-amount-down {
  --fa: "\f160";
}

.fa-arrow-up-wide-short {
  --fa: "\f161";
}

.fa-sort-amount-up {
  --fa: "\f161";
}

.fa-arrow-down-1-9 {
  --fa: "\f162";
}

.fa-sort-numeric-asc {
  --fa: "\f162";
}

.fa-sort-numeric-down {
  --fa: "\f162";
}

.fa-arrow-up-1-9 {
  --fa: "\f163";
}

.fa-sort-numeric-up {
  --fa: "\f163";
}

.fa-thumbs-up {
  --fa: "\f164";
}

.fa-thumbs-down {
  --fa: "\f165";
}

.fa-arrow-down-long {
  --fa: "\f175";
}

.fa-long-arrow-down {
  --fa: "\f175";
}

.fa-arrow-up-long {
  --fa: "\f176";
}

.fa-long-arrow-up {
  --fa: "\f176";
}

.fa-arrow-left-long {
  --fa: "\f177";
}

.fa-long-arrow-left {
  --fa: "\f177";
}

.fa-arrow-right-long {
  --fa: "\f178";
}

.fa-long-arrow-right {
  --fa: "\f178";
}

.fa-person-dress {
  --fa: "\f182";
}

.fa-female {
  --fa: "\f182";
}

.fa-person {
  --fa: "\f183";
}

.fa-male {
  --fa: "\f183";
}

.fa-sun {
  --fa: "\f185";
}

.fa-moon {
  --fa: "\f186";
}

.fa-box-archive {
  --fa: "\f187";
}

.fa-archive {
  --fa: "\f187";
}

.fa-bug {
  --fa: "\f188";
}

.fa-square-caret-left {
  --fa: "\f191";
}

.fa-caret-square-left {
  --fa: "\f191";
}

.fa-circle-dot {
  --fa: "\f192";
}

.fa-dot-circle {
  --fa: "\f192";
}

.fa-wheelchair {
  --fa: "\f193";
}

.fa-lira-sign {
  --fa: "\f195";
}

.fa-shuttle-space {
  --fa: "\f197";
}

.fa-space-shuttle {
  --fa: "\f197";
}

.fa-square-envelope {
  --fa: "\f199";
}

.fa-envelope-square {
  --fa: "\f199";
}

.fa-building-columns {
  --fa: "\f19c";
}

.fa-bank {
  --fa: "\f19c";
}

.fa-institution {
  --fa: "\f19c";
}

.fa-museum {
  --fa: "\f19c";
}

.fa-university {
  --fa: "\f19c";
}

.fa-graduation-cap {
  --fa: "\f19d";
}

.fa-mortar-board {
  --fa: "\f19d";
}

.fa-language {
  --fa: "\f1ab";
}

.fa-fax {
  --fa: "\f1ac";
}

.fa-building {
  --fa: "\f1ad";
}

.fa-child {
  --fa: "\f1ae";
}

.fa-paw {
  --fa: "\f1b0";
}

.fa-cube {
  --fa: "\f1b2";
}

.fa-cubes {
  --fa: "\f1b3";
}

.fa-recycle {
  --fa: "\f1b8";
}

.fa-car {
  --fa: "\f1b9";
}

.fa-automobile {
  --fa: "\f1b9";
}

.fa-taxi {
  --fa: "\f1ba";
}

.fa-cab {
  --fa: "\f1ba";
}

.fa-tree {
  --fa: "\f1bb";
}

.fa-database {
  --fa: "\f1c0";
}

.fa-file-pdf {
  --fa: "\f1c1";
}

.fa-file-word {
  --fa: "\f1c2";
}

.fa-file-excel {
  --fa: "\f1c3";
}

.fa-file-powerpoint {
  --fa: "\f1c4";
}

.fa-file-image {
  --fa: "\f1c5";
}

.fa-file-zipper {
  --fa: "\f1c6";
}

.fa-file-archive {
  --fa: "\f1c6";
}

.fa-file-audio {
  --fa: "\f1c7";
}

.fa-file-video {
  --fa: "\f1c8";
}

.fa-file-code {
  --fa: "\f1c9";
}

.fa-life-ring {
  --fa: "\f1cd";
}

.fa-circle-notch {
  --fa: "\f1ce";
}

.fa-paper-plane {
  --fa: "\f1d8";
}

.fa-clock-rotate-left {
  --fa: "\f1da";
}

.fa-history {
  --fa: "\f1da";
}

.fa-heading {
  --fa: "\f1dc";
}

.fa-header {
  --fa: "\f1dc";
}

.fa-paragraph {
  --fa: "\f1dd";
}

.fa-sliders {
  --fa: "\f1de";
}

.fa-sliders-h {
  --fa: "\f1de";
}

.fa-share-nodes {
  --fa: "\f1e0";
}

.fa-share-alt {
  --fa: "\f1e0";
}

.fa-square-share-nodes {
  --fa: "\f1e1";
}

.fa-share-alt-square {
  --fa: "\f1e1";
}

.fa-bomb {
  --fa: "\f1e2";
}

.fa-futbol {
  --fa: "\f1e3";
}

.fa-futbol-ball {
  --fa: "\f1e3";
}

.fa-soccer-ball {
  --fa: "\f1e3";
}

.fa-tty {
  --fa: "\f1e4";
}

.fa-teletype {
  --fa: "\f1e4";
}

.fa-binoculars {
  --fa: "\f1e5";
}

.fa-plug {
  --fa: "\f1e6";
}

.fa-newspaper {
  --fa: "\f1ea";
}

.fa-wifi {
  --fa: "\f1eb";
}

.fa-wifi-3 {
  --fa: "\f1eb";
}

.fa-wifi-strong {
  --fa: "\f1eb";
}

.fa-calculator {
  --fa: "\f1ec";
}

.fa-bell-slash {
  --fa: "\f1f6";
}

.fa-trash {
  --fa: "\f1f8";
}

.fa-copyright {
  --fa: "\f1f9";
}

.fa-eye-dropper {
  --fa: "\f1fb";
}

.fa-eye-dropper-empty {
  --fa: "\f1fb";
}

.fa-eyedropper {
  --fa: "\f1fb";
}

.fa-paintbrush {
  --fa: "\f1fc";
}

.fa-paint-brush {
  --fa: "\f1fc";
}

.fa-cake-candles {
  --fa: "\f1fd";
}

.fa-birthday-cake {
  --fa: "\f1fd";
}

.fa-cake {
  --fa: "\f1fd";
}

.fa-chart-area {
  --fa: "\f1fe";
}

.fa-area-chart {
  --fa: "\f1fe";
}

.fa-chart-pie {
  --fa: "\f200";
}

.fa-pie-chart {
  --fa: "\f200";
}

.fa-chart-line {
  --fa: "\f201";
}

.fa-line-chart {
  --fa: "\f201";
}

.fa-toggle-off {
  --fa: "\f204";
}

.fa-toggle-on {
  --fa: "\f205";
}

.fa-bicycle {
  --fa: "\f206";
}

.fa-bus {
  --fa: "\f207";
}

.fa-closed-captioning {
  --fa: "\f20a";
}

.fa-shekel-sign {
  --fa: "\f20b";
}

.fa-ils {
  --fa: "\f20b";
}

.fa-shekel {
  --fa: "\f20b";
}

.fa-sheqel {
  --fa: "\f20b";
}

.fa-sheqel-sign {
  --fa: "\f20b";
}

.fa-cart-plus {
  --fa: "\f217";
}

.fa-cart-arrow-down {
  --fa: "\f218";
}

.fa-diamond {
  --fa: "\f219";
}

.fa-ship {
  --fa: "\f21a";
}

.fa-user-secret {
  --fa: "\f21b";
}

.fa-motorcycle {
  --fa: "\f21c";
}

.fa-street-view {
  --fa: "\f21d";
}

.fa-heart-pulse {
  --fa: "\f21e";
}

.fa-heartbeat {
  --fa: "\f21e";
}

.fa-venus {
  --fa: "\f221";
}

.fa-mars {
  --fa: "\f222";
}

.fa-mercury {
  --fa: "\f223";
}

.fa-mars-and-venus {
  --fa: "\f224";
}

.fa-transgender {
  --fa: "\f225";
}

.fa-transgender-alt {
  --fa: "\f225";
}

.fa-venus-double {
  --fa: "\f226";
}

.fa-mars-double {
  --fa: "\f227";
}

.fa-venus-mars {
  --fa: "\f228";
}

.fa-mars-stroke {
  --fa: "\f229";
}

.fa-mars-stroke-up {
  --fa: "\f22a";
}

.fa-mars-stroke-v {
  --fa: "\f22a";
}

.fa-mars-stroke-right {
  --fa: "\f22b";
}

.fa-mars-stroke-h {
  --fa: "\f22b";
}

.fa-neuter {
  --fa: "\f22c";
}

.fa-genderless {
  --fa: "\f22d";
}

.fa-server {
  --fa: "\f233";
}

.fa-user-plus {
  --fa: "\f234";
}

.fa-user-xmark {
  --fa: "\f235";
}

.fa-user-times {
  --fa: "\f235";
}

.fa-bed {
  --fa: "\f236";
}

.fa-train {
  --fa: "\f238";
}

.fa-train-subway {
  --fa: "\f239";
}

.fa-subway {
  --fa: "\f239";
}

.fa-battery-full {
  --fa: "\f240";
}

.fa-battery {
  --fa: "\f240";
}

.fa-battery-5 {
  --fa: "\f240";
}

.fa-battery-three-quarters {
  --fa: "\f241";
}

.fa-battery-4 {
  --fa: "\f241";
}

.fa-battery-half {
  --fa: "\f242";
}

.fa-battery-3 {
  --fa: "\f242";
}

.fa-battery-quarter {
  --fa: "\f243";
}

.fa-battery-2 {
  --fa: "\f243";
}

.fa-battery-empty {
  --fa: "\f244";
}

.fa-battery-0 {
  --fa: "\f244";
}

.fa-arrow-pointer {
  --fa: "\f245";
}

.fa-mouse-pointer {
  --fa: "\f245";
}

.fa-i-cursor {
  --fa: "\f246";
}

.fa-object-group {
  --fa: "\f247";
}

.fa-object-ungroup {
  --fa: "\f248";
}

.fa-note-sticky {
  --fa: "\f249";
}

.fa-sticky-note {
  --fa: "\f249";
}

.fa-clone {
  --fa: "\f24d";
}

.fa-scale-balanced {
  --fa: "\f24e";
}

.fa-balance-scale {
  --fa: "\f24e";
}

.fa-hourglass-start {
  --fa: "\f251";
}

.fa-hourglass-1 {
  --fa: "\f251";
}

.fa-hourglass-half {
  --fa: "\f252";
}

.fa-hourglass-2 {
  --fa: "\f252";
}

.fa-hourglass-end {
  --fa: "\f253";
}

.fa-hourglass-3 {
  --fa: "\f253";
}

.fa-hourglass {
  --fa: "\f254";
}

.fa-hourglass-empty {
  --fa: "\f254";
}

.fa-hand-back-fist {
  --fa: "\f255";
}

.fa-hand-rock {
  --fa: "\f255";
}

.fa-hand {
  --fa: "\f256";
}

.fa-hand-paper {
  --fa: "\f256";
}

.fa-hand-scissors {
  --fa: "\f257";
}

.fa-hand-lizard {
  --fa: "\f258";
}

.fa-hand-spock {
  --fa: "\f259";
}

.fa-hand-pointer {
  --fa: "\f25a";
}

.fa-hand-peace {
  --fa: "\f25b";
}

.fa-trademark {
  --fa: "\f25c";
}

.fa-registered {
  --fa: "\f25d";
}

.fa-tv {
  --fa: "\f26c";
}

.fa-television {
  --fa: "\f26c";
}

.fa-tv-alt {
  --fa: "\f26c";
}

.fa-calendar-plus {
  --fa: "\f271";
}

.fa-calendar-minus {
  --fa: "\f272";
}

.fa-calendar-xmark {
  --fa: "\f273";
}

.fa-calendar-times {
  --fa: "\f273";
}

.fa-calendar-check {
  --fa: "\f274";
}

.fa-industry {
  --fa: "\f275";
}

.fa-map-pin {
  --fa: "\f276";
}

.fa-signs-post {
  --fa: "\f277";
}

.fa-map-signs {
  --fa: "\f277";
}

.fa-map {
  --fa: "\f279";
}

.fa-message {
  --fa: "\f27a";
}

.fa-comment-alt {
  --fa: "\f27a";
}

.fa-circle-pause {
  --fa: "\f28b";
}

.fa-pause-circle {
  --fa: "\f28b";
}

.fa-circle-stop {
  --fa: "\f28d";
}

.fa-stop-circle {
  --fa: "\f28d";
}

.fa-bag-shopping {
  --fa: "\f290";
}

.fa-shopping-bag {
  --fa: "\f290";
}

.fa-basket-shopping {
  --fa: "\f291";
}

.fa-shopping-basket {
  --fa: "\f291";
}

.fa-universal-access {
  --fa: "\f29a";
}

.fa-person-walking-with-cane {
  --fa: "\f29d";
}

.fa-blind {
  --fa: "\f29d";
}

.fa-audio-description {
  --fa: "\f29e";
}

.fa-phone-volume {
  --fa: "\f2a0";
}

.fa-volume-control-phone {
  --fa: "\f2a0";
}

.fa-braille {
  --fa: "\f2a1";
}

.fa-ear-listen {
  --fa: "\f2a2";
}

.fa-assistive-listening-systems {
  --fa: "\f2a2";
}

.fa-hands-asl-interpreting {
  --fa: "\f2a3";
}

.fa-american-sign-language-interpreting {
  --fa: "\f2a3";
}

.fa-asl-interpreting {
  --fa: "\f2a3";
}

.fa-hands-american-sign-language-interpreting {
  --fa: "\f2a3";
}

.fa-ear-deaf {
  --fa: "\f2a4";
}

.fa-deaf {
  --fa: "\f2a4";
}

.fa-deafness {
  --fa: "\f2a4";
}

.fa-hard-of-hearing {
  --fa: "\f2a4";
}

.fa-hands {
  --fa: "\f2a7";
}

.fa-sign-language {
  --fa: "\f2a7";
}

.fa-signing {
  --fa: "\f2a7";
}

.fa-eye-low-vision {
  --fa: "\f2a8";
}

.fa-low-vision {
  --fa: "\f2a8";
}

.fa-font-awesome {
  --fa: "\f2b4";
}

.fa-font-awesome-flag {
  --fa: "\f2b4";
}

.fa-font-awesome-logo-full {
  --fa: "\f2b4";
}

.fa-handshake {
  --fa: "\f2b5";
}

.fa-handshake-alt {
  --fa: "\f2b5";
}

.fa-handshake-simple {
  --fa: "\f2b5";
}

.fa-envelope-open {
  --fa: "\f2b6";
}

.fa-address-book {
  --fa: "\f2b9";
}

.fa-contact-book {
  --fa: "\f2b9";
}

.fa-address-card {
  --fa: "\f2bb";
}

.fa-contact-card {
  --fa: "\f2bb";
}

.fa-vcard {
  --fa: "\f2bb";
}

.fa-circle-user {
  --fa: "\f2bd";
}

.fa-user-circle {
  --fa: "\f2bd";
}

.fa-id-badge {
  --fa: "\f2c1";
}

.fa-id-card {
  --fa: "\f2c2";
}

.fa-drivers-license {
  --fa: "\f2c2";
}

.fa-temperature-full {
  --fa: "\f2c7";
}

.fa-temperature-4 {
  --fa: "\f2c7";
}

.fa-thermometer-4 {
  --fa: "\f2c7";
}

.fa-thermometer-full {
  --fa: "\f2c7";
}

.fa-temperature-three-quarters {
  --fa: "\f2c8";
}

.fa-temperature-3 {
  --fa: "\f2c8";
}

.fa-thermometer-3 {
  --fa: "\f2c8";
}

.fa-thermometer-three-quarters {
  --fa: "\f2c8";
}

.fa-temperature-half {
  --fa: "\f2c9";
}

.fa-temperature-2 {
  --fa: "\f2c9";
}

.fa-thermometer-2 {
  --fa: "\f2c9";
}

.fa-thermometer-half {
  --fa: "\f2c9";
}

.fa-temperature-quarter {
  --fa: "\f2ca";
}

.fa-temperature-1 {
  --fa: "\f2ca";
}

.fa-thermometer-1 {
  --fa: "\f2ca";
}

.fa-thermometer-quarter {
  --fa: "\f2ca";
}

.fa-temperature-empty {
  --fa: "\f2cb";
}

.fa-temperature-0 {
  --fa: "\f2cb";
}

.fa-thermometer-0 {
  --fa: "\f2cb";
}

.fa-thermometer-empty {
  --fa: "\f2cb";
}

.fa-shower {
  --fa: "\f2cc";
}

.fa-bath {
  --fa: "\f2cd";
}

.fa-bathtub {
  --fa: "\f2cd";
}

.fa-podcast {
  --fa: "\f2ce";
}

.fa-window-maximize {
  --fa: "\f2d0";
}

.fa-window-minimize {
  --fa: "\f2d1";
}

.fa-window-restore {
  --fa: "\f2d2";
}

.fa-square-xmark {
  --fa: "\f2d3";
}

.fa-times-square {
  --fa: "\f2d3";
}

.fa-xmark-square {
  --fa: "\f2d3";
}

.fa-microchip {
  --fa: "\f2db";
}

.fa-snowflake {
  --fa: "\f2dc";
}

.fa-spoon {
  --fa: "\f2e5";
}

.fa-utensil-spoon {
  --fa: "\f2e5";
}

.fa-utensils {
  --fa: "\f2e7";
}

.fa-cutlery {
  --fa: "\f2e7";
}

.fa-rotate-left {
  --fa: "\f2ea";
}

.fa-rotate-back {
  --fa: "\f2ea";
}

.fa-rotate-backward {
  --fa: "\f2ea";
}

.fa-undo-alt {
  --fa: "\f2ea";
}

.fa-trash-can {
  --fa: "\f2ed";
}

.fa-trash-alt {
  --fa: "\f2ed";
}

.fa-rotate {
  --fa: "\f2f1";
}

.fa-sync-alt {
  --fa: "\f2f1";
}

.fa-stopwatch {
  --fa: "\f2f2";
}

.fa-right-from-bracket {
  --fa: "\f2f5";
}

.fa-sign-out-alt {
  --fa: "\f2f5";
}

.fa-right-to-bracket {
  --fa: "\f2f6";
}

.fa-sign-in-alt {
  --fa: "\f2f6";
}

.fa-rotate-right {
  --fa: "\f2f9";
}

.fa-redo-alt {
  --fa: "\f2f9";
}

.fa-rotate-forward {
  --fa: "\f2f9";
}

.fa-poo {
  --fa: "\f2fe";
}

.fa-images {
  --fa: "\f302";
}

.fa-pencil {
  --fa: "\f303";
}

.fa-pencil-alt {
  --fa: "\f303";
}

.fa-pen {
  --fa: "\f304";
}

.fa-pen-clip {
  --fa: "\f305";
}

.fa-pen-alt {
  --fa: "\f305";
}

.fa-octagon {
  --fa: "\f306";
}

.fa-down-long {
  --fa: "\f309";
}

.fa-long-arrow-alt-down {
  --fa: "\f309";
}

.fa-left-long {
  --fa: "\f30a";
}

.fa-long-arrow-alt-left {
  --fa: "\f30a";
}

.fa-right-long {
  --fa: "\f30b";
}

.fa-long-arrow-alt-right {
  --fa: "\f30b";
}

.fa-up-long {
  --fa: "\f30c";
}

.fa-long-arrow-alt-up {
  --fa: "\f30c";
}

.fa-hexagon {
  --fa: "\f312";
}

.fa-file-pen {
  --fa: "\f31c";
}

.fa-file-edit {
  --fa: "\f31c";
}

.fa-maximize {
  --fa: "\f31e";
}

.fa-expand-arrows-alt {
  --fa: "\f31e";
}

.fa-clipboard {
  --fa: "\f328";
}

.fa-left-right {
  --fa: "\f337";
}

.fa-arrows-alt-h {
  --fa: "\f337";
}

.fa-up-down {
  --fa: "\f338";
}

.fa-arrows-alt-v {
  --fa: "\f338";
}

.fa-alarm-clock {
  --fa: "\f34e";
}

.fa-circle-down {
  --fa: "\f358";
}

.fa-arrow-alt-circle-down {
  --fa: "\f358";
}

.fa-circle-left {
  --fa: "\f359";
}

.fa-arrow-alt-circle-left {
  --fa: "\f359";
}

.fa-circle-right {
  --fa: "\f35a";
}

.fa-arrow-alt-circle-right {
  --fa: "\f35a";
}

.fa-circle-up {
  --fa: "\f35b";
}

.fa-arrow-alt-circle-up {
  --fa: "\f35b";
}

.fa-up-right-from-square {
  --fa: "\f35d";
}

.fa-external-link-alt {
  --fa: "\f35d";
}

.fa-square-up-right {
  --fa: "\f360";
}

.fa-external-link-square-alt {
  --fa: "\f360";
}

.fa-right-left {
  --fa: "\f362";
}

.fa-exchange-alt {
  --fa: "\f362";
}

.fa-repeat {
  --fa: "\f363";
}

.fa-code-commit {
  --fa: "\f386";
}

.fa-code-merge {
  --fa: "\f387";
}

.fa-desktop {
  --fa: "\f390";
}

.fa-desktop-alt {
  --fa: "\f390";
}

.fa-gem {
  --fa: "\f3a5";
}

.fa-turn-down {
  --fa: "\f3be";
}

.fa-level-down-alt {
  --fa: "\f3be";
}

.fa-turn-up {
  --fa: "\f3bf";
}

.fa-level-up-alt {
  --fa: "\f3bf";
}

.fa-lock-open {
  --fa: "\f3c1";
}

.fa-location-dot {
  --fa: "\f3c5";
}

.fa-map-marker-alt {
  --fa: "\f3c5";
}

.fa-microphone-lines {
  --fa: "\f3c9";
}

.fa-microphone-alt {
  --fa: "\f3c9";
}

.fa-mobile-screen-button {
  --fa: "\f3cd";
}

.fa-mobile-alt {
  --fa: "\f3cd";
}

.fa-mobile {
  --fa: "\f3ce";
}

.fa-mobile-android {
  --fa: "\f3ce";
}

.fa-mobile-phone {
  --fa: "\f3ce";
}

.fa-mobile-screen {
  --fa: "\f3cf";
}

.fa-mobile-android-alt {
  --fa: "\f3cf";
}

.fa-money-bill-1 {
  --fa: "\f3d1";
}

.fa-money-bill-alt {
  --fa: "\f3d1";
}

.fa-phone-slash {
  --fa: "\f3dd";
}

.fa-image-portrait {
  --fa: "\f3e0";
}

.fa-portrait {
  --fa: "\f3e0";
}

.fa-reply {
  --fa: "\f3e5";
}

.fa-mail-reply {
  --fa: "\f3e5";
}

.fa-shield-halved {
  --fa: "\f3ed";
}

.fa-shield-alt {
  --fa: "\f3ed";
}

.fa-tablet-screen-button {
  --fa: "\f3fa";
}

.fa-tablet-alt {
  --fa: "\f3fa";
}

.fa-tablet {
  --fa: "\f3fb";
}

.fa-tablet-android {
  --fa: "\f3fb";
}

.fa-ticket-simple {
  --fa: "\f3ff";
}

.fa-ticket-alt {
  --fa: "\f3ff";
}

.fa-rectangle-xmark {
  --fa: "\f410";
}

.fa-rectangle-times {
  --fa: "\f410";
}

.fa-times-rectangle {
  --fa: "\f410";
}

.fa-window-close {
  --fa: "\f410";
}

.fa-down-left-and-up-right-to-center {
  --fa: "\f422";
}

.fa-compress-alt {
  --fa: "\f422";
}

.fa-up-right-and-down-left-from-center {
  --fa: "\f424";
}

.fa-expand-alt {
  --fa: "\f424";
}

.fa-baseball-bat-ball {
  --fa: "\f432";
}

.fa-baseball {
  --fa: "\f433";
}

.fa-baseball-ball {
  --fa: "\f433";
}

.fa-basketball {
  --fa: "\f434";
}

.fa-basketball-ball {
  --fa: "\f434";
}

.fa-bowling-ball {
  --fa: "\f436";
}

.fa-chess {
  --fa: "\f439";
}

.fa-chess-bishop {
  --fa: "\f43a";
}

.fa-chess-board {
  --fa: "\f43c";
}

.fa-chess-king {
  --fa: "\f43f";
}

.fa-chess-knight {
  --fa: "\f441";
}

.fa-chess-pawn {
  --fa: "\f443";
}

.fa-chess-queen {
  --fa: "\f445";
}

.fa-chess-rook {
  --fa: "\f447";
}

.fa-dumbbell {
  --fa: "\f44b";
}

.fa-football {
  --fa: "\f44e";
}

.fa-football-ball {
  --fa: "\f44e";
}

.fa-golf-ball-tee {
  --fa: "\f450";
}

.fa-golf-ball {
  --fa: "\f450";
}

.fa-hockey-puck {
  --fa: "\f453";
}

.fa-broom-ball {
  --fa: "\f458";
}

.fa-quidditch {
  --fa: "\f458";
}

.fa-quidditch-broom-ball {
  --fa: "\f458";
}

.fa-square-full {
  --fa: "\f45c";
}

.fa-table-tennis-paddle-ball {
  --fa: "\f45d";
}

.fa-ping-pong-paddle-ball {
  --fa: "\f45d";
}

.fa-table-tennis {
  --fa: "\f45d";
}

.fa-volleyball {
  --fa: "\f45f";
}

.fa-volleyball-ball {
  --fa: "\f45f";
}

.fa-hand-dots {
  --fa: "\f461";
}

.fa-allergies {
  --fa: "\f461";
}

.fa-bandage {
  --fa: "\f462";
}

.fa-band-aid {
  --fa: "\f462";
}

.fa-box {
  --fa: "\f466";
}

.fa-boxes-stacked {
  --fa: "\f468";
}

.fa-boxes {
  --fa: "\f468";
}

.fa-boxes-alt {
  --fa: "\f468";
}

.fa-briefcase-medical {
  --fa: "\f469";
}

.fa-fire-flame-simple {
  --fa: "\f46a";
}

.fa-burn {
  --fa: "\f46a";
}

.fa-capsules {
  --fa: "\f46b";
}

.fa-clipboard-check {
  --fa: "\f46c";
}

.fa-clipboard-list {
  --fa: "\f46d";
}

.fa-person-dots-from-line {
  --fa: "\f470";
}

.fa-diagnoses {
  --fa: "\f470";
}

.fa-dna {
  --fa: "\f471";
}

.fa-dolly {
  --fa: "\f472";
}

.fa-dolly-box {
  --fa: "\f472";
}

.fa-cart-flatbed {
  --fa: "\f474";
}

.fa-dolly-flatbed {
  --fa: "\f474";
}

.fa-file-medical {
  --fa: "\f477";
}

.fa-file-waveform {
  --fa: "\f478";
}

.fa-file-medical-alt {
  --fa: "\f478";
}

.fa-kit-medical {
  --fa: "\f479";
}

.fa-first-aid {
  --fa: "\f479";
}

.fa-circle-h {
  --fa: "\f47e";
}

.fa-hospital-symbol {
  --fa: "\f47e";
}

.fa-id-card-clip {
  --fa: "\f47f";
}

.fa-id-card-alt {
  --fa: "\f47f";
}

.fa-notes-medical {
  --fa: "\f481";
}

.fa-pallet {
  --fa: "\f482";
}

.fa-pills {
  --fa: "\f484";
}

.fa-prescription-bottle {
  --fa: "\f485";
}

.fa-prescription-bottle-medical {
  --fa: "\f486";
}

.fa-prescription-bottle-alt {
  --fa: "\f486";
}

.fa-bed-pulse {
  --fa: "\f487";
}

.fa-procedures {
  --fa: "\f487";
}

.fa-truck-fast {
  --fa: "\f48b";
}

.fa-shipping-fast {
  --fa: "\f48b";
}

.fa-smoking {
  --fa: "\f48d";
}

.fa-syringe {
  --fa: "\f48e";
}

.fa-tablets {
  --fa: "\f490";
}

.fa-thermometer {
  --fa: "\f491";
}

.fa-vial {
  --fa: "\f492";
}

.fa-vials {
  --fa: "\f493";
}

.fa-warehouse {
  --fa: "\f494";
}

.fa-weight-scale {
  --fa: "\f496";
}

.fa-weight {
  --fa: "\f496";
}

.fa-x-ray {
  --fa: "\f497";
}

.fa-box-open {
  --fa: "\f49e";
}

.fa-comment-dots {
  --fa: "\f4ad";
}

.fa-commenting {
  --fa: "\f4ad";
}

.fa-comment-slash {
  --fa: "\f4b3";
}

.fa-couch {
  --fa: "\f4b8";
}

.fa-circle-dollar-to-slot {
  --fa: "\f4b9";
}

.fa-donate {
  --fa: "\f4b9";
}

.fa-dove {
  --fa: "\f4ba";
}

.fa-hand-holding {
  --fa: "\f4bd";
}

.fa-hand-holding-heart {
  --fa: "\f4be";
}

.fa-hand-holding-dollar {
  --fa: "\f4c0";
}

.fa-hand-holding-usd {
  --fa: "\f4c0";
}

.fa-hand-holding-droplet {
  --fa: "\f4c1";
}

.fa-hand-holding-water {
  --fa: "\f4c1";
}

.fa-hands-holding {
  --fa: "\f4c2";
}

.fa-handshake-angle {
  --fa: "\f4c4";
}

.fa-hands-helping {
  --fa: "\f4c4";
}

.fa-parachute-box {
  --fa: "\f4cd";
}

.fa-people-carry-box {
  --fa: "\f4ce";
}

.fa-people-carry {
  --fa: "\f4ce";
}

.fa-piggy-bank {
  --fa: "\f4d3";
}

.fa-ribbon {
  --fa: "\f4d6";
}

.fa-route {
  --fa: "\f4d7";
}

.fa-seedling {
  --fa: "\f4d8";
}

.fa-sprout {
  --fa: "\f4d8";
}

.fa-sign-hanging {
  --fa: "\f4d9";
}

.fa-sign {
  --fa: "\f4d9";
}

.fa-face-smile-wink {
  --fa: "\f4da";
}

.fa-smile-wink {
  --fa: "\f4da";
}

.fa-tape {
  --fa: "\f4db";
}

.fa-truck-ramp-box {
  --fa: "\f4de";
}

.fa-truck-loading {
  --fa: "\f4de";
}

.fa-truck-moving {
  --fa: "\f4df";
}

.fa-video-slash {
  --fa: "\f4e2";
}

.fa-wine-glass {
  --fa: "\f4e3";
}

.fa-user-astronaut {
  --fa: "\f4fb";
}

.fa-user-check {
  --fa: "\f4fc";
}

.fa-user-clock {
  --fa: "\f4fd";
}

.fa-user-gear {
  --fa: "\f4fe";
}

.fa-user-cog {
  --fa: "\f4fe";
}

.fa-user-pen {
  --fa: "\f4ff";
}

.fa-user-edit {
  --fa: "\f4ff";
}

.fa-user-group {
  --fa: "\f500";
}

.fa-user-friends {
  --fa: "\f500";
}

.fa-user-graduate {
  --fa: "\f501";
}

.fa-user-lock {
  --fa: "\f502";
}

.fa-user-minus {
  --fa: "\f503";
}

.fa-user-ninja {
  --fa: "\f504";
}

.fa-user-shield {
  --fa: "\f505";
}

.fa-user-slash {
  --fa: "\f506";
}

.fa-user-alt-slash {
  --fa: "\f506";
}

.fa-user-large-slash {
  --fa: "\f506";
}

.fa-user-tag {
  --fa: "\f507";
}

.fa-user-tie {
  --fa: "\f508";
}

.fa-users-gear {
  --fa: "\f509";
}

.fa-users-cog {
  --fa: "\f509";
}

.fa-scale-unbalanced {
  --fa: "\f515";
}

.fa-balance-scale-left {
  --fa: "\f515";
}

.fa-scale-unbalanced-flip {
  --fa: "\f516";
}

.fa-balance-scale-right {
  --fa: "\f516";
}

.fa-blender {
  --fa: "\f517";
}

.fa-book-open {
  --fa: "\f518";
}

.fa-tower-broadcast {
  --fa: "\f519";
}

.fa-broadcast-tower {
  --fa: "\f519";
}

.fa-broom {
  --fa: "\f51a";
}

.fa-chalkboard {
  --fa: "\f51b";
}

.fa-blackboard {
  --fa: "\f51b";
}

.fa-chalkboard-user {
  --fa: "\f51c";
}

.fa-chalkboard-teacher {
  --fa: "\f51c";
}

.fa-church {
  --fa: "\f51d";
}

.fa-coins {
  --fa: "\f51e";
}

.fa-compact-disc {
  --fa: "\f51f";
}

.fa-crow {
  --fa: "\f520";
}

.fa-crown {
  --fa: "\f521";
}

.fa-dice {
  --fa: "\f522";
}

.fa-dice-five {
  --fa: "\f523";
}

.fa-dice-four {
  --fa: "\f524";
}

.fa-dice-one {
  --fa: "\f525";
}

.fa-dice-six {
  --fa: "\f526";
}

.fa-dice-three {
  --fa: "\f527";
}

.fa-dice-two {
  --fa: "\f528";
}

.fa-divide {
  --fa: "\f529";
}

.fa-door-closed {
  --fa: "\f52a";
}

.fa-door-open {
  --fa: "\f52b";
}

.fa-feather {
  --fa: "\f52d";
}

.fa-frog {
  --fa: "\f52e";
}

.fa-gas-pump {
  --fa: "\f52f";
}

.fa-glasses {
  --fa: "\f530";
}

.fa-greater-than-equal {
  --fa: "\f532";
}

.fa-helicopter {
  --fa: "\f533";
}

.fa-infinity {
  --fa: "\f534";
}

.fa-kiwi-bird {
  --fa: "\f535";
}

.fa-less-than-equal {
  --fa: "\f537";
}

.fa-memory {
  --fa: "\f538";
}

.fa-microphone-lines-slash {
  --fa: "\f539";
}

.fa-microphone-alt-slash {
  --fa: "\f539";
}

.fa-money-bill-wave {
  --fa: "\f53a";
}

.fa-money-bill-1-wave {
  --fa: "\f53b";
}

.fa-money-bill-wave-alt {
  --fa: "\f53b";
}

.fa-money-check {
  --fa: "\f53c";
}

.fa-money-check-dollar {
  --fa: "\f53d";
}

.fa-money-check-alt {
  --fa: "\f53d";
}

.fa-not-equal {
  --fa: "\f53e";
}

.fa-palette {
  --fa: "\f53f";
}

.fa-square-parking {
  --fa: "\f540";
}

.fa-parking {
  --fa: "\f540";
}

.fa-diagram-project {
  --fa: "\f542";
}

.fa-project-diagram {
  --fa: "\f542";
}

.fa-receipt {
  --fa: "\f543";
}

.fa-robot {
  --fa: "\f544";
}

.fa-ruler {
  --fa: "\f545";
}

.fa-ruler-combined {
  --fa: "\f546";
}

.fa-ruler-horizontal {
  --fa: "\f547";
}

.fa-ruler-vertical {
  --fa: "\f548";
}

.fa-school {
  --fa: "\f549";
}

.fa-screwdriver {
  --fa: "\f54a";
}

.fa-shoe-prints {
  --fa: "\f54b";
}

.fa-skull {
  --fa: "\f54c";
}

.fa-ban-smoking {
  --fa: "\f54d";
}

.fa-smoking-ban {
  --fa: "\f54d";
}

.fa-store {
  --fa: "\f54e";
}

.fa-shop {
  --fa: "\f54f";
}

.fa-store-alt {
  --fa: "\f54f";
}

.fa-bars-staggered {
  --fa: "\f550";
}

.fa-reorder {
  --fa: "\f550";
}

.fa-stream {
  --fa: "\f550";
}

.fa-stroopwafel {
  --fa: "\f551";
}

.fa-toolbox {
  --fa: "\f552";
}

.fa-shirt {
  --fa: "\f553";
}

.fa-t-shirt {
  --fa: "\f553";
}

.fa-tshirt {
  --fa: "\f553";
}

.fa-person-walking {
  --fa: "\f554";
}

.fa-walking {
  --fa: "\f554";
}

.fa-wallet {
  --fa: "\f555";
}

.fa-face-angry {
  --fa: "\f556";
}

.fa-angry {
  --fa: "\f556";
}

.fa-archway {
  --fa: "\f557";
}

.fa-book-atlas {
  --fa: "\f558";
}

.fa-atlas {
  --fa: "\f558";
}

.fa-award {
  --fa: "\f559";
}

.fa-delete-left {
  --fa: "\f55a";
}

.fa-backspace {
  --fa: "\f55a";
}

.fa-bezier-curve {
  --fa: "\f55b";
}

.fa-bong {
  --fa: "\f55c";
}

.fa-brush {
  --fa: "\f55d";
}

.fa-bus-simple {
  --fa: "\f55e";
}

.fa-bus-alt {
  --fa: "\f55e";
}

.fa-cannabis {
  --fa: "\f55f";
}

.fa-check-double {
  --fa: "\f560";
}

.fa-martini-glass-citrus {
  --fa: "\f561";
}

.fa-cocktail {
  --fa: "\f561";
}

.fa-bell-concierge {
  --fa: "\f562";
}

.fa-concierge-bell {
  --fa: "\f562";
}

.fa-cookie {
  --fa: "\f563";
}

.fa-cookie-bite {
  --fa: "\f564";
}

.fa-crop-simple {
  --fa: "\f565";
}

.fa-crop-alt {
  --fa: "\f565";
}

.fa-tachograph-digital {
  --fa: "\f566";
}

.fa-digital-tachograph {
  --fa: "\f566";
}

.fa-face-dizzy {
  --fa: "\f567";
}

.fa-dizzy {
  --fa: "\f567";
}

.fa-compass-drafting {
  --fa: "\f568";
}

.fa-drafting-compass {
  --fa: "\f568";
}

.fa-drum {
  --fa: "\f569";
}

.fa-drum-steelpan {
  --fa: "\f56a";
}

.fa-feather-pointed {
  --fa: "\f56b";
}

.fa-feather-alt {
  --fa: "\f56b";
}

.fa-file-contract {
  --fa: "\f56c";
}

.fa-file-arrow-down {
  --fa: "\f56d";
}

.fa-file-download {
  --fa: "\f56d";
}

.fa-file-export {
  --fa: "\f56e";
}

.fa-arrow-right-from-file {
  --fa: "\f56e";
}

.fa-file-import {
  --fa: "\f56f";
}

.fa-arrow-right-to-file {
  --fa: "\f56f";
}

.fa-file-invoice {
  --fa: "\f570";
}

.fa-file-invoice-dollar {
  --fa: "\f571";
}

.fa-file-prescription {
  --fa: "\f572";
}

.fa-file-signature {
  --fa: "\f573";
}

.fa-file-arrow-up {
  --fa: "\f574";
}

.fa-file-upload {
  --fa: "\f574";
}

.fa-fill {
  --fa: "\f575";
}

.fa-fill-drip {
  --fa: "\f576";
}

.fa-fingerprint {
  --fa: "\f577";
}

.fa-fish {
  --fa: "\f578";
}

.fa-face-flushed {
  --fa: "\f579";
}

.fa-flushed {
  --fa: "\f579";
}

.fa-face-frown-open {
  --fa: "\f57a";
}

.fa-frown-open {
  --fa: "\f57a";
}

.fa-martini-glass {
  --fa: "\f57b";
}

.fa-glass-martini-alt {
  --fa: "\f57b";
}

.fa-earth-africa {
  --fa: "\f57c";
}

.fa-globe-africa {
  --fa: "\f57c";
}

.fa-earth-americas {
  --fa: "\f57d";
}

.fa-earth {
  --fa: "\f57d";
}

.fa-earth-america {
  --fa: "\f57d";
}

.fa-globe-americas {
  --fa: "\f57d";
}

.fa-earth-asia {
  --fa: "\f57e";
}

.fa-globe-asia {
  --fa: "\f57e";
}

.fa-face-grimace {
  --fa: "\f57f";
}

.fa-grimace {
  --fa: "\f57f";
}

.fa-face-grin {
  --fa: "\f580";
}

.fa-grin {
  --fa: "\f580";
}

.fa-face-grin-wide {
  --fa: "\f581";
}

.fa-grin-alt {
  --fa: "\f581";
}

.fa-face-grin-beam {
  --fa: "\f582";
}

.fa-grin-beam {
  --fa: "\f582";
}

.fa-face-grin-beam-sweat {
  --fa: "\f583";
}

.fa-grin-beam-sweat {
  --fa: "\f583";
}

.fa-face-grin-hearts {
  --fa: "\f584";
}

.fa-grin-hearts {
  --fa: "\f584";
}

.fa-face-grin-squint {
  --fa: "\f585";
}

.fa-grin-squint {
  --fa: "\f585";
}

.fa-face-grin-squint-tears {
  --fa: "\f586";
}

.fa-grin-squint-tears {
  --fa: "\f586";
}

.fa-face-grin-stars {
  --fa: "\f587";
}

.fa-grin-stars {
  --fa: "\f587";
}

.fa-face-grin-tears {
  --fa: "\f588";
}

.fa-grin-tears {
  --fa: "\f588";
}

.fa-face-grin-tongue {
  --fa: "\f589";
}

.fa-grin-tongue {
  --fa: "\f589";
}

.fa-face-grin-tongue-squint {
  --fa: "\f58a";
}

.fa-grin-tongue-squint {
  --fa: "\f58a";
}

.fa-face-grin-tongue-wink {
  --fa: "\f58b";
}

.fa-grin-tongue-wink {
  --fa: "\f58b";
}

.fa-face-grin-wink {
  --fa: "\f58c";
}

.fa-grin-wink {
  --fa: "\f58c";
}

.fa-grip {
  --fa: "\f58d";
}

.fa-grid-horizontal {
  --fa: "\f58d";
}

.fa-grip-horizontal {
  --fa: "\f58d";
}

.fa-grip-vertical {
  --fa: "\f58e";
}

.fa-grid-vertical {
  --fa: "\f58e";
}

.fa-headset {
  --fa: "\f590";
}

.fa-highlighter {
  --fa: "\f591";
}

.fa-hot-tub-person {
  --fa: "\f593";
}

.fa-hot-tub {
  --fa: "\f593";
}

.fa-hotel {
  --fa: "\f594";
}

.fa-joint {
  --fa: "\f595";
}

.fa-face-kiss {
  --fa: "\f596";
}

.fa-kiss {
  --fa: "\f596";
}

.fa-face-kiss-beam {
  --fa: "\f597";
}

.fa-kiss-beam {
  --fa: "\f597";
}

.fa-face-kiss-wink-heart {
  --fa: "\f598";
}

.fa-kiss-wink-heart {
  --fa: "\f598";
}

.fa-face-laugh {
  --fa: "\f599";
}

.fa-laugh {
  --fa: "\f599";
}

.fa-face-laugh-beam {
  --fa: "\f59a";
}

.fa-laugh-beam {
  --fa: "\f59a";
}

.fa-face-laugh-squint {
  --fa: "\f59b";
}

.fa-laugh-squint {
  --fa: "\f59b";
}

.fa-face-laugh-wink {
  --fa: "\f59c";
}

.fa-laugh-wink {
  --fa: "\f59c";
}

.fa-cart-flatbed-suitcase {
  --fa: "\f59d";
}

.fa-luggage-cart {
  --fa: "\f59d";
}

.fa-map-location {
  --fa: "\f59f";
}

.fa-map-marked {
  --fa: "\f59f";
}

.fa-map-location-dot {
  --fa: "\f5a0";
}

.fa-map-marked-alt {
  --fa: "\f5a0";
}

.fa-marker {
  --fa: "\f5a1";
}

.fa-medal {
  --fa: "\f5a2";
}

.fa-face-meh-blank {
  --fa: "\f5a4";
}

.fa-meh-blank {
  --fa: "\f5a4";
}

.fa-face-rolling-eyes {
  --fa: "\f5a5";
}

.fa-meh-rolling-eyes {
  --fa: "\f5a5";
}

.fa-monument {
  --fa: "\f5a6";
}

.fa-mortar-pestle {
  --fa: "\f5a7";
}

.fa-paint-roller {
  --fa: "\f5aa";
}

.fa-passport {
  --fa: "\f5ab";
}

.fa-pen-fancy {
  --fa: "\f5ac";
}

.fa-pen-nib {
  --fa: "\f5ad";
}

.fa-pen-ruler {
  --fa: "\f5ae";
}

.fa-pencil-ruler {
  --fa: "\f5ae";
}

.fa-plane-arrival {
  --fa: "\f5af";
}

.fa-plane-departure {
  --fa: "\f5b0";
}

.fa-prescription {
  --fa: "\f5b1";
}

.fa-face-sad-cry {
  --fa: "\f5b3";
}

.fa-sad-cry {
  --fa: "\f5b3";
}

.fa-face-sad-tear {
  --fa: "\f5b4";
}

.fa-sad-tear {
  --fa: "\f5b4";
}

.fa-van-shuttle {
  --fa: "\f5b6";
}

.fa-shuttle-van {
  --fa: "\f5b6";
}

.fa-signature {
  --fa: "\f5b7";
}

.fa-face-smile-beam {
  --fa: "\f5b8";
}

.fa-smile-beam {
  --fa: "\f5b8";
}

.fa-solar-panel {
  --fa: "\f5ba";
}

.fa-spa {
  --fa: "\f5bb";
}

.fa-splotch {
  --fa: "\f5bc";
}

.fa-spray-can {
  --fa: "\f5bd";
}

.fa-stamp {
  --fa: "\f5bf";
}

.fa-star-half-stroke {
  --fa: "\f5c0";
}

.fa-star-half-alt {
  --fa: "\f5c0";
}

.fa-suitcase-rolling {
  --fa: "\f5c1";
}

.fa-face-surprise {
  --fa: "\f5c2";
}

.fa-surprise {
  --fa: "\f5c2";
}

.fa-swatchbook {
  --fa: "\f5c3";
}

.fa-person-swimming {
  --fa: "\f5c4";
}

.fa-swimmer {
  --fa: "\f5c4";
}

.fa-water-ladder {
  --fa: "\f5c5";
}

.fa-ladder-water {
  --fa: "\f5c5";
}

.fa-swimming-pool {
  --fa: "\f5c5";
}

.fa-droplet-slash {
  --fa: "\f5c7";
}

.fa-tint-slash {
  --fa: "\f5c7";
}

.fa-face-tired {
  --fa: "\f5c8";
}

.fa-tired {
  --fa: "\f5c8";
}

.fa-tooth {
  --fa: "\f5c9";
}

.fa-umbrella-beach {
  --fa: "\f5ca";
}

.fa-weight-hanging {
  --fa: "\f5cd";
}

.fa-wine-glass-empty {
  --fa: "\f5ce";
}

.fa-wine-glass-alt {
  --fa: "\f5ce";
}

.fa-spray-can-sparkles {
  --fa: "\f5d0";
}

.fa-air-freshener {
  --fa: "\f5d0";
}

.fa-apple-whole {
  --fa: "\f5d1";
}

.fa-apple-alt {
  --fa: "\f5d1";
}

.fa-atom {
  --fa: "\f5d2";
}

.fa-bone {
  --fa: "\f5d7";
}

.fa-book-open-reader {
  --fa: "\f5da";
}

.fa-book-reader {
  --fa: "\f5da";
}

.fa-brain {
  --fa: "\f5dc";
}

.fa-car-rear {
  --fa: "\f5de";
}

.fa-car-alt {
  --fa: "\f5de";
}

.fa-car-battery {
  --fa: "\f5df";
}

.fa-battery-car {
  --fa: "\f5df";
}

.fa-car-burst {
  --fa: "\f5e1";
}

.fa-car-crash {
  --fa: "\f5e1";
}

.fa-car-side {
  --fa: "\f5e4";
}

.fa-charging-station {
  --fa: "\f5e7";
}

.fa-diamond-turn-right {
  --fa: "\f5eb";
}

.fa-directions {
  --fa: "\f5eb";
}

.fa-draw-polygon {
  --fa: "\f5ee";
}

.fa-vector-polygon {
  --fa: "\f5ee";
}

.fa-laptop-code {
  --fa: "\f5fc";
}

.fa-layer-group {
  --fa: "\f5fd";
}

.fa-location-crosshairs {
  --fa: "\f601";
}

.fa-location {
  --fa: "\f601";
}

.fa-lungs {
  --fa: "\f604";
}

.fa-microscope {
  --fa: "\f610";
}

.fa-oil-can {
  --fa: "\f613";
}

.fa-poop {
  --fa: "\f619";
}

.fa-shapes {
  --fa: "\f61f";
}

.fa-triangle-circle-square {
  --fa: "\f61f";
}

.fa-star-of-life {
  --fa: "\f621";
}

.fa-gauge {
  --fa: "\f624";
}

.fa-dashboard {
  --fa: "\f624";
}

.fa-gauge-med {
  --fa: "\f624";
}

.fa-tachometer-alt-average {
  --fa: "\f624";
}

.fa-gauge-high {
  --fa: "\f625";
}

.fa-tachometer-alt {
  --fa: "\f625";
}

.fa-tachometer-alt-fast {
  --fa: "\f625";
}

.fa-gauge-simple {
  --fa: "\f629";
}

.fa-gauge-simple-med {
  --fa: "\f629";
}

.fa-tachometer-average {
  --fa: "\f629";
}

.fa-gauge-simple-high {
  --fa: "\f62a";
}

.fa-tachometer {
  --fa: "\f62a";
}

.fa-tachometer-fast {
  --fa: "\f62a";
}

.fa-teeth {
  --fa: "\f62e";
}

.fa-teeth-open {
  --fa: "\f62f";
}

.fa-masks-theater {
  --fa: "\f630";
}

.fa-theater-masks {
  --fa: "\f630";
}

.fa-traffic-light {
  --fa: "\f637";
}

.fa-truck-monster {
  --fa: "\f63b";
}

.fa-truck-pickup {
  --fa: "\f63c";
}

.fa-rectangle-ad {
  --fa: "\f641";
}

.fa-ad {
  --fa: "\f641";
}

.fa-ankh {
  --fa: "\f644";
}

.fa-book-bible {
  --fa: "\f647";
}

.fa-bible {
  --fa: "\f647";
}

.fa-business-time {
  --fa: "\f64a";
}

.fa-briefcase-clock {
  --fa: "\f64a";
}

.fa-city {
  --fa: "\f64f";
}

.fa-comment-dollar {
  --fa: "\f651";
}

.fa-comments-dollar {
  --fa: "\f653";
}

.fa-cross {
  --fa: "\f654";
}

.fa-dharmachakra {
  --fa: "\f655";
}

.fa-envelope-open-text {
  --fa: "\f658";
}

.fa-folder-minus {
  --fa: "\f65d";
}

.fa-folder-plus {
  --fa: "\f65e";
}

.fa-filter-circle-dollar {
  --fa: "\f662";
}

.fa-funnel-dollar {
  --fa: "\f662";
}

.fa-gopuram {
  --fa: "\f664";
}

.fa-hamsa {
  --fa: "\f665";
}

.fa-bahai {
  --fa: "\f666";
}

.fa-haykal {
  --fa: "\f666";
}

.fa-jedi {
  --fa: "\f669";
}

.fa-book-journal-whills {
  --fa: "\f66a";
}

.fa-journal-whills {
  --fa: "\f66a";
}

.fa-kaaba {
  --fa: "\f66b";
}

.fa-khanda {
  --fa: "\f66d";
}

.fa-landmark {
  --fa: "\f66f";
}

.fa-envelopes-bulk {
  --fa: "\f674";
}

.fa-mail-bulk {
  --fa: "\f674";
}

.fa-menorah {
  --fa: "\f676";
}

.fa-mosque {
  --fa: "\f678";
}

.fa-om {
  --fa: "\f679";
}

.fa-spaghetti-monster-flying {
  --fa: "\f67b";
}

.fa-pastafarianism {
  --fa: "\f67b";
}

.fa-peace {
  --fa: "\f67c";
}

.fa-place-of-worship {
  --fa: "\f67f";
}

.fa-square-poll-vertical {
  --fa: "\f681";
}

.fa-poll {
  --fa: "\f681";
}

.fa-square-poll-horizontal {
  --fa: "\f682";
}

.fa-poll-h {
  --fa: "\f682";
}

.fa-person-praying {
  --fa: "\f683";
}

.fa-pray {
  --fa: "\f683";
}

.fa-hands-praying {
  --fa: "\f684";
}

.fa-praying-hands {
  --fa: "\f684";
}

.fa-book-quran {
  --fa: "\f687";
}

.fa-quran {
  --fa: "\f687";
}

.fa-magnifying-glass-dollar {
  --fa: "\f688";
}

.fa-search-dollar {
  --fa: "\f688";
}

.fa-magnifying-glass-location {
  --fa: "\f689";
}

.fa-search-location {
  --fa: "\f689";
}

.fa-socks {
  --fa: "\f696";
}

.fa-square-root-variable {
  --fa: "\f698";
}

.fa-square-root-alt {
  --fa: "\f698";
}

.fa-star-and-crescent {
  --fa: "\f699";
}

.fa-star-of-david {
  --fa: "\f69a";
}

.fa-synagogue {
  --fa: "\f69b";
}

.fa-scroll-torah {
  --fa: "\f6a0";
}

.fa-torah {
  --fa: "\f6a0";
}

.fa-torii-gate {
  --fa: "\f6a1";
}

.fa-vihara {
  --fa: "\f6a7";
}

.fa-volume {
  --fa: "\f6a8";
}

.fa-volume-medium {
  --fa: "\f6a8";
}

.fa-volume-xmark {
  --fa: "\f6a9";
}

.fa-volume-mute {
  --fa: "\f6a9";
}

.fa-volume-times {
  --fa: "\f6a9";
}

.fa-yin-yang {
  --fa: "\f6ad";
}

.fa-blender-phone {
  --fa: "\f6b6";
}

.fa-book-skull {
  --fa: "\f6b7";
}

.fa-book-dead {
  --fa: "\f6b7";
}

.fa-campground {
  --fa: "\f6bb";
}

.fa-cat {
  --fa: "\f6be";
}

.fa-chair {
  --fa: "\f6c0";
}

.fa-cloud-moon {
  --fa: "\f6c3";
}

.fa-cloud-sun {
  --fa: "\f6c4";
}

.fa-cow {
  --fa: "\f6c8";
}

.fa-dice-d20 {
  --fa: "\f6cf";
}

.fa-dice-d6 {
  --fa: "\f6d1";
}

.fa-dog {
  --fa: "\f6d3";
}

.fa-dragon {
  --fa: "\f6d5";
}

.fa-drumstick-bite {
  --fa: "\f6d7";
}

.fa-dungeon {
  --fa: "\f6d9";
}

.fa-file-csv {
  --fa: "\f6dd";
}

.fa-hand-fist {
  --fa: "\f6de";
}

.fa-fist-raised {
  --fa: "\f6de";
}

.fa-ghost {
  --fa: "\f6e2";
}

.fa-hammer {
  --fa: "\f6e3";
}

.fa-hanukiah {
  --fa: "\f6e6";
}

.fa-hat-wizard {
  --fa: "\f6e8";
}

.fa-person-hiking {
  --fa: "\f6ec";
}

.fa-hiking {
  --fa: "\f6ec";
}

.fa-hippo {
  --fa: "\f6ed";
}

.fa-horse {
  --fa: "\f6f0";
}

.fa-house-chimney-crack {
  --fa: "\f6f1";
}

.fa-house-damage {
  --fa: "\f6f1";
}

.fa-hryvnia-sign {
  --fa: "\f6f2";
}

.fa-hryvnia {
  --fa: "\f6f2";
}

.fa-mask {
  --fa: "\f6fa";
}

.fa-mountain {
  --fa: "\f6fc";
}

.fa-network-wired {
  --fa: "\f6ff";
}

.fa-otter {
  --fa: "\f700";
}

.fa-ring {
  --fa: "\f70b";
}

.fa-person-running {
  --fa: "\f70c";
}

.fa-running {
  --fa: "\f70c";
}

.fa-scroll {
  --fa: "\f70e";
}

.fa-skull-crossbones {
  --fa: "\f714";
}

.fa-slash {
  --fa: "\f715";
}

.fa-spider {
  --fa: "\f717";
}

.fa-toilet-paper {
  --fa: "\f71e";
}

.fa-toilet-paper-alt {
  --fa: "\f71e";
}

.fa-toilet-paper-blank {
  --fa: "\f71e";
}

.fa-tractor {
  --fa: "\f722";
}

.fa-user-injured {
  --fa: "\f728";
}

.fa-vr-cardboard {
  --fa: "\f729";
}

.fa-wand-sparkles {
  --fa: "\f72b";
}

.fa-wind {
  --fa: "\f72e";
}

.fa-wine-bottle {
  --fa: "\f72f";
}

.fa-cloud-meatball {
  --fa: "\f73b";
}

.fa-cloud-moon-rain {
  --fa: "\f73c";
}

.fa-cloud-rain {
  --fa: "\f73d";
}

.fa-cloud-showers-heavy {
  --fa: "\f740";
}

.fa-cloud-sun-rain {
  --fa: "\f743";
}

.fa-democrat {
  --fa: "\f747";
}

.fa-flag-usa {
  --fa: "\f74d";
}

.fa-hurricane {
  --fa: "\f751";
}

.fa-landmark-dome {
  --fa: "\f752";
}

.fa-landmark-alt {
  --fa: "\f752";
}

.fa-meteor {
  --fa: "\f753";
}

.fa-person-booth {
  --fa: "\f756";
}

.fa-poo-storm {
  --fa: "\f75a";
}

.fa-poo-bolt {
  --fa: "\f75a";
}

.fa-rainbow {
  --fa: "\f75b";
}

.fa-republican {
  --fa: "\f75e";
}

.fa-smog {
  --fa: "\f75f";
}

.fa-temperature-high {
  --fa: "\f769";
}

.fa-temperature-low {
  --fa: "\f76b";
}

.fa-cloud-bolt {
  --fa: "\f76c";
}

.fa-thunderstorm {
  --fa: "\f76c";
}

.fa-tornado {
  --fa: "\f76f";
}

.fa-volcano {
  --fa: "\f770";
}

.fa-check-to-slot {
  --fa: "\f772";
}

.fa-vote-yea {
  --fa: "\f772";
}

.fa-water {
  --fa: "\f773";
}

.fa-baby {
  --fa: "\f77c";
}

.fa-baby-carriage {
  --fa: "\f77d";
}

.fa-carriage-baby {
  --fa: "\f77d";
}

.fa-biohazard {
  --fa: "\f780";
}

.fa-blog {
  --fa: "\f781";
}

.fa-calendar-day {
  --fa: "\f783";
}

.fa-calendar-week {
  --fa: "\f784";
}

.fa-candy-cane {
  --fa: "\f786";
}

.fa-carrot {
  --fa: "\f787";
}

.fa-cash-register {
  --fa: "\f788";
}

.fa-minimize {
  --fa: "\f78c";
}

.fa-compress-arrows-alt {
  --fa: "\f78c";
}

.fa-dumpster {
  --fa: "\f793";
}

.fa-dumpster-fire {
  --fa: "\f794";
}

.fa-ethernet {
  --fa: "\f796";
}

.fa-gifts {
  --fa: "\f79c";
}

.fa-champagne-glasses {
  --fa: "\f79f";
}

.fa-glass-cheers {
  --fa: "\f79f";
}

.fa-whiskey-glass {
  --fa: "\f7a0";
}

.fa-glass-whiskey {
  --fa: "\f7a0";
}

.fa-earth-europe {
  --fa: "\f7a2";
}

.fa-globe-europe {
  --fa: "\f7a2";
}

.fa-grip-lines {
  --fa: "\f7a4";
}

.fa-grip-lines-vertical {
  --fa: "\f7a5";
}

.fa-guitar {
  --fa: "\f7a6";
}

.fa-heart-crack {
  --fa: "\f7a9";
}

.fa-heart-broken {
  --fa: "\f7a9";
}

.fa-holly-berry {
  --fa: "\f7aa";
}

.fa-horse-head {
  --fa: "\f7ab";
}

.fa-icicles {
  --fa: "\f7ad";
}

.fa-igloo {
  --fa: "\f7ae";
}

.fa-mitten {
  --fa: "\f7b5";
}

.fa-mug-hot {
  --fa: "\f7b6";
}

.fa-radiation {
  --fa: "\f7b9";
}

.fa-circle-radiation {
  --fa: "\f7ba";
}

.fa-radiation-alt {
  --fa: "\f7ba";
}

.fa-restroom {
  --fa: "\f7bd";
}

.fa-satellite {
  --fa: "\f7bf";
}

.fa-satellite-dish {
  --fa: "\f7c0";
}

.fa-sd-card {
  --fa: "\f7c2";
}

.fa-sim-card {
  --fa: "\f7c4";
}

.fa-person-skating {
  --fa: "\f7c5";
}

.fa-skating {
  --fa: "\f7c5";
}

.fa-person-skiing {
  --fa: "\f7c9";
}

.fa-skiing {
  --fa: "\f7c9";
}

.fa-person-skiing-nordic {
  --fa: "\f7ca";
}

.fa-skiing-nordic {
  --fa: "\f7ca";
}

.fa-sleigh {
  --fa: "\f7cc";
}

.fa-comment-sms {
  --fa: "\f7cd";
}

.fa-sms {
  --fa: "\f7cd";
}

.fa-person-snowboarding {
  --fa: "\f7ce";
}

.fa-snowboarding {
  --fa: "\f7ce";
}

.fa-snowman {
  --fa: "\f7d0";
}

.fa-snowplow {
  --fa: "\f7d2";
}

.fa-tenge-sign {
  --fa: "\f7d7";
}

.fa-tenge {
  --fa: "\f7d7";
}

.fa-toilet {
  --fa: "\f7d8";
}

.fa-screwdriver-wrench {
  --fa: "\f7d9";
}

.fa-tools {
  --fa: "\f7d9";
}

.fa-cable-car {
  --fa: "\f7da";
}

.fa-tram {
  --fa: "\f7da";
}

.fa-fire-flame-curved {
  --fa: "\f7e4";
}

.fa-fire-alt {
  --fa: "\f7e4";
}

.fa-bacon {
  --fa: "\f7e5";
}

.fa-book-medical {
  --fa: "\f7e6";
}

.fa-bread-slice {
  --fa: "\f7ec";
}

.fa-cheese {
  --fa: "\f7ef";
}

.fa-house-chimney-medical {
  --fa: "\f7f2";
}

.fa-clinic-medical {
  --fa: "\f7f2";
}

.fa-clipboard-user {
  --fa: "\f7f3";
}

.fa-comment-medical {
  --fa: "\f7f5";
}

.fa-crutch {
  --fa: "\f7f7";
}

.fa-disease {
  --fa: "\f7fa";
}

.fa-egg {
  --fa: "\f7fb";
}

.fa-folder-tree {
  --fa: "\f802";
}

.fa-burger {
  --fa: "\f805";
}

.fa-hamburger {
  --fa: "\f805";
}

.fa-hand-middle-finger {
  --fa: "\f806";
}

.fa-helmet-safety {
  --fa: "\f807";
}

.fa-hard-hat {
  --fa: "\f807";
}

.fa-hat-hard {
  --fa: "\f807";
}

.fa-hospital-user {
  --fa: "\f80d";
}

.fa-hotdog {
  --fa: "\f80f";
}

.fa-ice-cream {
  --fa: "\f810";
}

.fa-laptop-medical {
  --fa: "\f812";
}

.fa-pager {
  --fa: "\f815";
}

.fa-pepper-hot {
  --fa: "\f816";
}

.fa-pizza-slice {
  --fa: "\f818";
}

.fa-sack-dollar {
  --fa: "\f81d";
}

.fa-book-tanakh {
  --fa: "\f827";
}

.fa-tanakh {
  --fa: "\f827";
}

.fa-bars-progress {
  --fa: "\f828";
}

.fa-tasks-alt {
  --fa: "\f828";
}

.fa-trash-arrow-up {
  --fa: "\f829";
}

.fa-trash-restore {
  --fa: "\f829";
}

.fa-trash-can-arrow-up {
  --fa: "\f82a";
}

.fa-trash-restore-alt {
  --fa: "\f82a";
}

.fa-user-nurse {
  --fa: "\f82f";
}

.fa-wave-square {
  --fa: "\f83e";
}

.fa-person-biking {
  --fa: "\f84a";
}

.fa-biking {
  --fa: "\f84a";
}

.fa-border-all {
  --fa: "\f84c";
}

.fa-border-none {
  --fa: "\f850";
}

.fa-border-top-left {
  --fa: "\f853";
}

.fa-border-style {
  --fa: "\f853";
}

.fa-person-digging {
  --fa: "\f85e";
}

.fa-digging {
  --fa: "\f85e";
}

.fa-fan {
  --fa: "\f863";
}

.fa-icons {
  --fa: "\f86d";
}

.fa-heart-music-camera-bolt {
  --fa: "\f86d";
}

.fa-phone-flip {
  --fa: "\f879";
}

.fa-phone-alt {
  --fa: "\f879";
}

.fa-square-phone-flip {
  --fa: "\f87b";
}

.fa-phone-square-alt {
  --fa: "\f87b";
}

.fa-photo-film {
  --fa: "\f87c";
}

.fa-photo-video {
  --fa: "\f87c";
}

.fa-text-slash {
  --fa: "\f87d";
}

.fa-remove-format {
  --fa: "\f87d";
}

.fa-arrow-down-z-a {
  --fa: "\f881";
}

.fa-sort-alpha-desc {
  --fa: "\f881";
}

.fa-sort-alpha-down-alt {
  --fa: "\f881";
}

.fa-arrow-up-z-a {
  --fa: "\f882";
}

.fa-sort-alpha-up-alt {
  --fa: "\f882";
}

.fa-arrow-down-short-wide {
  --fa: "\f884";
}

.fa-sort-amount-desc {
  --fa: "\f884";
}

.fa-sort-amount-down-alt {
  --fa: "\f884";
}

.fa-arrow-up-short-wide {
  --fa: "\f885";
}

.fa-sort-amount-up-alt {
  --fa: "\f885";
}

.fa-arrow-down-9-1 {
  --fa: "\f886";
}

.fa-sort-numeric-desc {
  --fa: "\f886";
}

.fa-sort-numeric-down-alt {
  --fa: "\f886";
}

.fa-arrow-up-9-1 {
  --fa: "\f887";
}

.fa-sort-numeric-up-alt {
  --fa: "\f887";
}

.fa-spell-check {
  --fa: "\f891";
}

.fa-voicemail {
  --fa: "\f897";
}

.fa-hat-cowboy {
  --fa: "\f8c0";
}

.fa-hat-cowboy-side {
  --fa: "\f8c1";
}

.fa-computer-mouse {
  --fa: "\f8cc";
}

.fa-mouse {
  --fa: "\f8cc";
}

.fa-radio {
  --fa: "\f8d7";
}

.fa-record-vinyl {
  --fa: "\f8d9";
}

.fa-walkie-talkie {
  --fa: "\f8ef";
}

.fa-caravan {
  --fa: "\f8ff";
}
:root, :host {
  --fa-family-brands: 'Font Awesome 7 Brands';
  --fa-font-brands: normal 400 1em/1 var(--fa-family-brands);
}

@font-face {
  font-family: "Font Awesome 7 Brands";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("/assets/fa-brands-400-BP5tdqmh.woff2");
}
.fab,
.fa-brands,
.fa-classic.fa-brands {
  --fa-family: var(--fa-family-brands);
  --fa-style: 400;
}

.fa-firefox-browser {
  --fa: "\e007";
}

.fa-ideal {
  --fa: "\e013";
}

.fa-microblog {
  --fa: "\e01a";
}

.fa-square-pied-piper {
  --fa: "\e01e";
}

.fa-pied-piper-square {
  --fa: "\e01e";
}

.fa-unity {
  --fa: "\e049";
}

.fa-dailymotion {
  --fa: "\e052";
}

.fa-square-instagram {
  --fa: "\e055";
}

.fa-instagram-square {
  --fa: "\e055";
}

.fa-mixer {
  --fa: "\e056";
}

.fa-shopify {
  --fa: "\e057";
}

.fa-deezer {
  --fa: "\e077";
}

.fa-edge-legacy {
  --fa: "\e078";
}

.fa-google-pay {
  --fa: "\e079";
}

.fa-rust {
  --fa: "\e07a";
}

.fa-tiktok {
  --fa: "\e07b";
}

.fa-unsplash {
  --fa: "\e07c";
}

.fa-cloudflare {
  --fa: "\e07d";
}

.fa-guilded {
  --fa: "\e07e";
}

.fa-hive {
  --fa: "\e07f";
}

.fa-42-group {
  --fa: "\e080";
}

.fa-innosoft {
  --fa: "\e080";
}

.fa-instalod {
  --fa: "\e081";
}

.fa-octopus-deploy {
  --fa: "\e082";
}

.fa-perbyte {
  --fa: "\e083";
}

.fa-uncharted {
  --fa: "\e084";
}

.fa-watchman-monitoring {
  --fa: "\e087";
}

.fa-wodu {
  --fa: "\e088";
}

.fa-wirsindhandwerk {
  --fa: "\e2d0";
}

.fa-wsh {
  --fa: "\e2d0";
}

.fa-bots {
  --fa: "\e340";
}

.fa-cmplid {
  --fa: "\e360";
}

.fa-bilibili {
  --fa: "\e3d9";
}

.fa-golang {
  --fa: "\e40f";
}

.fa-pix {
  --fa: "\e43a";
}

.fa-sitrox {
  --fa: "\e44a";
}

.fa-hashnode {
  --fa: "\e499";
}

.fa-meta {
  --fa: "\e49b";
}

.fa-padlet {
  --fa: "\e4a0";
}

.fa-nfc-directional {
  --fa: "\e530";
}

.fa-nfc-symbol {
  --fa: "\e531";
}

.fa-screenpal {
  --fa: "\e570";
}

.fa-space-awesome {
  --fa: "\e5ac";
}

.fa-square-font-awesome {
  --fa: "\e5ad";
}

.fa-square-gitlab {
  --fa: "\e5ae";
}

.fa-gitlab-square {
  --fa: "\e5ae";
}

.fa-odysee {
  --fa: "\e5c6";
}

.fa-stubber {
  --fa: "\e5c7";
}

.fa-debian {
  --fa: "\e60b";
}

.fa-shoelace {
  --fa: "\e60c";
}

.fa-threads {
  --fa: "\e618";
}

.fa-square-threads {
  --fa: "\e619";
}

.fa-square-x-twitter {
  --fa: "\e61a";
}

.fa-x-twitter {
  --fa: "\e61b";
}

.fa-opensuse {
  --fa: "\e62b";
}

.fa-letterboxd {
  --fa: "\e62d";
}

.fa-square-letterboxd {
  --fa: "\e62e";
}

.fa-mintbit {
  --fa: "\e62f";
}

.fa-google-scholar {
  --fa: "\e63b";
}

.fa-brave {
  --fa: "\e63c";
}

.fa-brave-reverse {
  --fa: "\e63d";
}

.fa-pixiv {
  --fa: "\e640";
}

.fa-upwork {
  --fa: "\e641";
}

.fa-webflow {
  --fa: "\e65c";
}

.fa-signal-messenger {
  --fa: "\e663";
}

.fa-bluesky {
  --fa: "\e671";
}

.fa-jxl {
  --fa: "\e67b";
}

.fa-square-upwork {
  --fa: "\e67c";
}

.fa-web-awesome {
  --fa: "\e682";
}

.fa-square-web-awesome {
  --fa: "\e683";
}

.fa-square-web-awesome-stroke {
  --fa: "\e684";
}

.fa-dart-lang {
  --fa: "\e693";
}

.fa-flutter {
  --fa: "\e694";
}

.fa-files-pinwheel {
  --fa: "\e69f";
}

.fa-css {
  --fa: "\e6a2";
}

.fa-square-bluesky {
  --fa: "\e6a3";
}

.fa-openai {
  --fa: "\e7cf";
}

.fa-square-linkedin {
  --fa: "\e7d0";
}

.fa-cash-app {
  --fa: "\e7d4";
}

.fa-disqus {
  --fa: "\e7d5";
}

.fa-eleventy {
  --fa: "\e7d6";
}

.fa-11ty {
  --fa: "\e7d6";
}

.fa-kakao-talk {
  --fa: "\e7d7";
}

.fa-linktree {
  --fa: "\e7d8";
}

.fa-notion {
  --fa: "\e7d9";
}

.fa-pandora {
  --fa: "\e7da";
}

.fa-pixelfed {
  --fa: "\e7db";
}

.fa-tidal {
  --fa: "\e7dc";
}

.fa-vsco {
  --fa: "\e7dd";
}

.fa-w3c {
  --fa: "\e7de";
}

.fa-lumon {
  --fa: "\e7e2";
}

.fa-lumon-drop {
  --fa: "\e7e3";
}

.fa-square-figma {
  --fa: "\e7e4";
}

.fa-tex {
  --fa: "\e7ff";
}

.fa-duolingo {
  --fa: "\e812";
}

.fa-supportnow {
  --fa: "\e833";
}

.fa-tor-browser {
  --fa: "\e838";
}

.fa-typescript {
  --fa: "\e840";
}

.fa-square-deskpro {
  --fa: "\e844";
}

.fa-circle-zulip {
  --fa: "\e851";
}

.fa-julia {
  --fa: "\e852";
}

.fa-zulip {
  --fa: "\e853";
}

.fa-unison {
  --fa: "\e854";
}

.fa-board-game-geek {
  --fa: "\e855";
}

.fa-bgg {
  --fa: "\e855";
}

.fa-ko-fi {
  --fa: "\e856";
}

.fa-kubernetes {
  --fa: "\e857";
}

.fa-postgresql {
  --fa: "\e858";
}

.fa-scaleway {
  --fa: "\e859";
}

.fa-venmo {
  --fa: "\e85a";
}

.fa-venmo-v {
  --fa: "\e85b";
}

.fa-unreal-engine {
  --fa: "\e85c";
}

.fa-globaleaks {
  --fa: "\e85d";
}

.fa-solana {
  --fa: "\e85e";
}

.fa-threema {
  --fa: "\e85f";
}

.fa-forgejo {
  --fa: "\e860";
}

.fa-claude {
  --fa: "\e861";
}

.fa-gitee {
  --fa: "\e863";
}

.fa-xmpp {
  --fa: "\e864";
}

.fa-fediverse {
  --fa: "\e865";
}

.fa-tailwind-css {
  --fa: "\e866";
}

.fa-arch-linux {
  --fa: "\e867";
}

.fa-svelte {
  --fa: "\e868";
}

.fa-hugging-face {
  --fa: "\e869";
}

.fa-leetcode {
  --fa: "\e86a";
}

.fa-openstreetmap {
  --fa: "\e86b";
}

.fa-ultralytics {
  --fa: "\e86d";
}

.fa-ultralytics-hub {
  --fa: "\e86e";
}

.fa-ultralytics-yolo {
  --fa: "\e86f";
}

.fa-obsidian {
  --fa: "\e879";
}

.fa-zoom {
  --fa: "\e87b";
}

.fa-vim {
  --fa: "\e88a";
}

.fa-symfonycasts {
  --fa: "\e8ab";
}

.fa-square-twitter {
  --fa: "\f081";
}

.fa-twitter-square {
  --fa: "\f081";
}

.fa-square-facebook {
  --fa: "\f082";
}

.fa-facebook-square {
  --fa: "\f082";
}

.fa-linkedin {
  --fa: "\f08c";
}

.fa-square-github {
  --fa: "\f092";
}

.fa-github-square {
  --fa: "\f092";
}

.fa-twitter {
  --fa: "\f099";
}

.fa-facebook {
  --fa: "\f09a";
}

.fa-github {
  --fa: "\f09b";
}

.fa-pinterest {
  --fa: "\f0d2";
}

.fa-square-pinterest {
  --fa: "\f0d3";
}

.fa-pinterest-square {
  --fa: "\f0d3";
}

.fa-square-google-plus {
  --fa: "\f0d4";
}

.fa-google-plus-square {
  --fa: "\f0d4";
}

.fa-google-plus-g {
  --fa: "\f0d5";
}

.fa-linkedin-in {
  --fa: "\f0e1";
}

.fa-github-alt {
  --fa: "\f113";
}

.fa-maxcdn {
  --fa: "\f136";
}

.fa-html5 {
  --fa: "\f13b";
}

.fa-css3 {
  --fa: "\f13c";
}

.fa-btc {
  --fa: "\f15a";
}

.fa-youtube {
  --fa: "\f167";
}

.fa-xing {
  --fa: "\f168";
}

.fa-square-xing {
  --fa: "\f169";
}

.fa-xing-square {
  --fa: "\f169";
}

.fa-dropbox {
  --fa: "\f16b";
}

.fa-stack-overflow {
  --fa: "\f16c";
}

.fa-instagram {
  --fa: "\f16d";
}

.fa-flickr {
  --fa: "\f16e";
}

.fa-adn {
  --fa: "\f170";
}

.fa-bitbucket {
  --fa: "\f171";
}

.fa-tumblr {
  --fa: "\f173";
}

.fa-square-tumblr {
  --fa: "\f174";
}

.fa-tumblr-square {
  --fa: "\f174";
}

.fa-apple {
  --fa: "\f179";
}

.fa-windows {
  --fa: "\f17a";
}

.fa-android {
  --fa: "\f17b";
}

.fa-linux {
  --fa: "\f17c";
}

.fa-dribbble {
  --fa: "\f17d";
}

.fa-skype {
  --fa: "\f17e";
}

.fa-foursquare {
  --fa: "\f180";
}

.fa-trello {
  --fa: "\f181";
}

.fa-gratipay {
  --fa: "\f184";
}

.fa-vk {
  --fa: "\f189";
}

.fa-weibo {
  --fa: "\f18a";
}

.fa-renren {
  --fa: "\f18b";
}

.fa-pagelines {
  --fa: "\f18c";
}

.fa-stack-exchange {
  --fa: "\f18d";
}

.fa-square-vimeo {
  --fa: "\f194";
}

.fa-vimeo-square {
  --fa: "\f194";
}

.fa-slack {
  --fa: "\f198";
}

.fa-slack-hash {
  --fa: "\f198";
}

.fa-wordpress {
  --fa: "\f19a";
}

.fa-openid {
  --fa: "\f19b";
}

.fa-yahoo {
  --fa: "\f19e";
}

.fa-google {
  --fa: "\f1a0";
}

.fa-reddit {
  --fa: "\f1a1";
}

.fa-square-reddit {
  --fa: "\f1a2";
}

.fa-reddit-square {
  --fa: "\f1a2";
}

.fa-stumbleupon-circle {
  --fa: "\f1a3";
}

.fa-stumbleupon {
  --fa: "\f1a4";
}

.fa-delicious {
  --fa: "\f1a5";
}

.fa-digg {
  --fa: "\f1a6";
}

.fa-pied-piper-pp {
  --fa: "\f1a7";
}

.fa-pied-piper-alt {
  --fa: "\f1a8";
}

.fa-drupal {
  --fa: "\f1a9";
}

.fa-joomla {
  --fa: "\f1aa";
}

.fa-behance {
  --fa: "\f1b4";
}

.fa-square-behance {
  --fa: "\f1b5";
}

.fa-behance-square {
  --fa: "\f1b5";
}

.fa-steam {
  --fa: "\f1b6";
}

.fa-square-steam {
  --fa: "\f1b7";
}

.fa-steam-square {
  --fa: "\f1b7";
}

.fa-spotify {
  --fa: "\f1bc";
}

.fa-deviantart {
  --fa: "\f1bd";
}

.fa-soundcloud {
  --fa: "\f1be";
}

.fa-vine {
  --fa: "\f1ca";
}

.fa-codepen {
  --fa: "\f1cb";
}

.fa-jsfiddle {
  --fa: "\f1cc";
}

.fa-rebel {
  --fa: "\f1d0";
}

.fa-empire {
  --fa: "\f1d1";
}

.fa-square-git {
  --fa: "\f1d2";
}

.fa-git-square {
  --fa: "\f1d2";
}

.fa-git {
  --fa: "\f1d3";
}

.fa-hacker-news {
  --fa: "\f1d4";
}

.fa-tencent-weibo {
  --fa: "\f1d5";
}

.fa-qq {
  --fa: "\f1d6";
}

.fa-weixin {
  --fa: "\f1d7";
}

.fa-slideshare {
  --fa: "\f1e7";
}

.fa-twitch {
  --fa: "\f1e8";
}

.fa-yelp {
  --fa: "\f1e9";
}

.fa-paypal {
  --fa: "\f1ed";
}

.fa-google-wallet {
  --fa: "\f1ee";
}

.fa-cc-visa {
  --fa: "\f1f0";
}

.fa-cc-mastercard {
  --fa: "\f1f1";
}

.fa-cc-discover {
  --fa: "\f1f2";
}

.fa-cc-amex {
  --fa: "\f1f3";
}

.fa-cc-paypal {
  --fa: "\f1f4";
}

.fa-cc-stripe {
  --fa: "\f1f5";
}

.fa-lastfm {
  --fa: "\f202";
}

.fa-square-lastfm {
  --fa: "\f203";
}

.fa-lastfm-square {
  --fa: "\f203";
}

.fa-ioxhost {
  --fa: "\f208";
}

.fa-angellist {
  --fa: "\f209";
}

.fa-buysellads {
  --fa: "\f20d";
}

.fa-connectdevelop {
  --fa: "\f20e";
}

.fa-dashcube {
  --fa: "\f210";
}

.fa-forumbee {
  --fa: "\f211";
}

.fa-leanpub {
  --fa: "\f212";
}

.fa-sellsy {
  --fa: "\f213";
}

.fa-shirtsinbulk {
  --fa: "\f214";
}

.fa-simplybuilt {
  --fa: "\f215";
}

.fa-skyatlas {
  --fa: "\f216";
}

.fa-pinterest-p {
  --fa: "\f231";
}

.fa-whatsapp {
  --fa: "\f232";
}

.fa-viacoin {
  --fa: "\f237";
}

.fa-medium {
  --fa: "\f23a";
}

.fa-medium-m {
  --fa: "\f23a";
}

.fa-y-combinator {
  --fa: "\f23b";
}

.fa-optin-monster {
  --fa: "\f23c";
}

.fa-opencart {
  --fa: "\f23d";
}

.fa-expeditedssl {
  --fa: "\f23e";
}

.fa-cc-jcb {
  --fa: "\f24b";
}

.fa-cc-diners-club {
  --fa: "\f24c";
}

.fa-creative-commons {
  --fa: "\f25e";
}

.fa-gg {
  --fa: "\f260";
}

.fa-gg-circle {
  --fa: "\f261";
}

.fa-odnoklassniki {
  --fa: "\f263";
}

.fa-square-odnoklassniki {
  --fa: "\f264";
}

.fa-odnoklassniki-square {
  --fa: "\f264";
}

.fa-get-pocket {
  --fa: "\f265";
}

.fa-wikipedia-w {
  --fa: "\f266";
}

.fa-safari {
  --fa: "\f267";
}

.fa-chrome {
  --fa: "\f268";
}

.fa-firefox {
  --fa: "\f269";
}

.fa-opera {
  --fa: "\f26a";
}

.fa-internet-explorer {
  --fa: "\f26b";
}

.fa-contao {
  --fa: "\f26d";
}

.fa-500px {
  --fa: "\f26e";
}

.fa-amazon {
  --fa: "\f270";
}

.fa-houzz {
  --fa: "\f27c";
}

.fa-vimeo-v {
  --fa: "\f27d";
}

.fa-black-tie {
  --fa: "\f27e";
}

.fa-fonticons {
  --fa: "\f280";
}

.fa-reddit-alien {
  --fa: "\f281";
}

.fa-edge {
  --fa: "\f282";
}

.fa-codiepie {
  --fa: "\f284";
}

.fa-modx {
  --fa: "\f285";
}

.fa-fort-awesome {
  --fa: "\f286";
}

.fa-usb {
  --fa: "\f287";
}

.fa-product-hunt {
  --fa: "\f288";
}

.fa-mixcloud {
  --fa: "\f289";
}

.fa-scribd {
  --fa: "\f28a";
}

.fa-bluetooth {
  --fa: "\f293";
}

.fa-bluetooth-b {
  --fa: "\f294";
}

.fa-gitlab {
  --fa: "\f296";
}

.fa-wpbeginner {
  --fa: "\f297";
}

.fa-wpforms {
  --fa: "\f298";
}

.fa-envira {
  --fa: "\f299";
}

.fa-glide {
  --fa: "\f2a5";
}

.fa-glide-g {
  --fa: "\f2a6";
}

.fa-viadeo {
  --fa: "\f2a9";
}

.fa-square-viadeo {
  --fa: "\f2aa";
}

.fa-viadeo-square {
  --fa: "\f2aa";
}

.fa-snapchat {
  --fa: "\f2ab";
}

.fa-snapchat-ghost {
  --fa: "\f2ab";
}

.fa-square-snapchat {
  --fa: "\f2ad";
}

.fa-snapchat-square {
  --fa: "\f2ad";
}

.fa-pied-piper {
  --fa: "\f2ae";
}

.fa-first-order {
  --fa: "\f2b0";
}

.fa-yoast {
  --fa: "\f2b1";
}

.fa-themeisle {
  --fa: "\f2b2";
}

.fa-google-plus {
  --fa: "\f2b3";
}

.fa-font-awesome {
  --fa: "\f2b4";
}

.fa-font-awesome-flag {
  --fa: "\f2b4";
}

.fa-font-awesome-logo-full {
  --fa: "\f2b4";
}

.fa-linode {
  --fa: "\f2b8";
}

.fa-quora {
  --fa: "\f2c4";
}

.fa-free-code-camp {
  --fa: "\f2c5";
}

.fa-telegram {
  --fa: "\f2c6";
}

.fa-telegram-plane {
  --fa: "\f2c6";
}

.fa-bandcamp {
  --fa: "\f2d5";
}

.fa-grav {
  --fa: "\f2d6";
}

.fa-etsy {
  --fa: "\f2d7";
}

.fa-imdb {
  --fa: "\f2d8";
}

.fa-ravelry {
  --fa: "\f2d9";
}

.fa-sellcast {
  --fa: "\f2da";
}

.fa-superpowers {
  --fa: "\f2dd";
}

.fa-wpexplorer {
  --fa: "\f2de";
}

.fa-meetup {
  --fa: "\f2e0";
}

.fa-square-font-awesome-stroke {
  --fa: "\f35c";
}

.fa-font-awesome-alt {
  --fa: "\f35c";
}

.fa-accessible-icon {
  --fa: "\f368";
}

.fa-accusoft {
  --fa: "\f369";
}

.fa-adversal {
  --fa: "\f36a";
}

.fa-affiliatetheme {
  --fa: "\f36b";
}

.fa-algolia {
  --fa: "\f36c";
}

.fa-amilia {
  --fa: "\f36d";
}

.fa-angrycreative {
  --fa: "\f36e";
}

.fa-app-store {
  --fa: "\f36f";
}

.fa-app-store-ios {
  --fa: "\f370";
}

.fa-apper {
  --fa: "\f371";
}

.fa-asymmetrik {
  --fa: "\f372";
}

.fa-audible {
  --fa: "\f373";
}

.fa-avianex {
  --fa: "\f374";
}

.fa-aws {
  --fa: "\f375";
}

.fa-bimobject {
  --fa: "\f378";
}

.fa-bitcoin {
  --fa: "\f379";
}

.fa-bity {
  --fa: "\f37a";
}

.fa-blackberry {
  --fa: "\f37b";
}

.fa-blogger {
  --fa: "\f37c";
}

.fa-blogger-b {
  --fa: "\f37d";
}

.fa-buromobelexperte {
  --fa: "\f37f";
}

.fa-centercode {
  --fa: "\f380";
}

.fa-cloudscale {
  --fa: "\f383";
}

.fa-cloudsmith {
  --fa: "\f384";
}

.fa-cloudversify {
  --fa: "\f385";
}

.fa-cpanel {
  --fa: "\f388";
}

.fa-css3-alt {
  --fa: "\f38b";
}

.fa-cuttlefish {
  --fa: "\f38c";
}

.fa-d-and-d {
  --fa: "\f38d";
}

.fa-deploydog {
  --fa: "\f38e";
}

.fa-deskpro {
  --fa: "\f38f";
}

.fa-digital-ocean {
  --fa: "\f391";
}

.fa-discord {
  --fa: "\f392";
}

.fa-discourse {
  --fa: "\f393";
}

.fa-dochub {
  --fa: "\f394";
}

.fa-docker {
  --fa: "\f395";
}

.fa-draft2digital {
  --fa: "\f396";
}

.fa-square-dribbble {
  --fa: "\f397";
}

.fa-dribbble-square {
  --fa: "\f397";
}

.fa-dyalog {
  --fa: "\f399";
}

.fa-earlybirds {
  --fa: "\f39a";
}

.fa-erlang {
  --fa: "\f39d";
}

.fa-facebook-f {
  --fa: "\f39e";
}

.fa-facebook-messenger {
  --fa: "\f39f";
}

.fa-firstdraft {
  --fa: "\f3a1";
}

.fa-fonticons-fi {
  --fa: "\f3a2";
}

.fa-fort-awesome-alt {
  --fa: "\f3a3";
}

.fa-freebsd {
  --fa: "\f3a4";
}

.fa-gitkraken {
  --fa: "\f3a6";
}

.fa-gofore {
  --fa: "\f3a7";
}

.fa-goodreads {
  --fa: "\f3a8";
}

.fa-goodreads-g {
  --fa: "\f3a9";
}

.fa-google-drive {
  --fa: "\f3aa";
}

.fa-google-play {
  --fa: "\f3ab";
}

.fa-gripfire {
  --fa: "\f3ac";
}

.fa-grunt {
  --fa: "\f3ad";
}

.fa-gulp {
  --fa: "\f3ae";
}

.fa-square-hacker-news {
  --fa: "\f3af";
}

.fa-hacker-news-square {
  --fa: "\f3af";
}

.fa-hire-a-helper {
  --fa: "\f3b0";
}

.fa-hotjar {
  --fa: "\f3b1";
}

.fa-hubspot {
  --fa: "\f3b2";
}

.fa-itunes {
  --fa: "\f3b4";
}

.fa-itunes-note {
  --fa: "\f3b5";
}

.fa-jenkins {
  --fa: "\f3b6";
}

.fa-joget {
  --fa: "\f3b7";
}

.fa-js {
  --fa: "\f3b8";
}

.fa-square-js {
  --fa: "\f3b9";
}

.fa-js-square {
  --fa: "\f3b9";
}

.fa-keycdn {
  --fa: "\f3ba";
}

.fa-kickstarter {
  --fa: "\f3bb";
}

.fa-square-kickstarter {
  --fa: "\f3bb";
}

.fa-kickstarter-k {
  --fa: "\f3bc";
}

.fa-laravel {
  --fa: "\f3bd";
}

.fa-line {
  --fa: "\f3c0";
}

.fa-lyft {
  --fa: "\f3c3";
}

.fa-magento {
  --fa: "\f3c4";
}

.fa-medapps {
  --fa: "\f3c6";
}

.fa-medrt {
  --fa: "\f3c8";
}

.fa-microsoft {
  --fa: "\f3ca";
}

.fa-mix {
  --fa: "\f3cb";
}

.fa-mizuni {
  --fa: "\f3cc";
}

.fa-monero {
  --fa: "\f3d0";
}

.fa-napster {
  --fa: "\f3d2";
}

.fa-node-js {
  --fa: "\f3d3";
}

.fa-npm {
  --fa: "\f3d4";
}

.fa-ns8 {
  --fa: "\f3d5";
}

.fa-nutritionix {
  --fa: "\f3d6";
}

.fa-page4 {
  --fa: "\f3d7";
}

.fa-palfed {
  --fa: "\f3d8";
}

.fa-patreon {
  --fa: "\f3d9";
}

.fa-periscope {
  --fa: "\f3da";
}

.fa-phabricator {
  --fa: "\f3db";
}

.fa-phoenix-framework {
  --fa: "\f3dc";
}

.fa-playstation {
  --fa: "\f3df";
}

.fa-pushed {
  --fa: "\f3e1";
}

.fa-python {
  --fa: "\f3e2";
}

.fa-red-river {
  --fa: "\f3e3";
}

.fa-wpressr {
  --fa: "\f3e4";
}

.fa-rendact {
  --fa: "\f3e4";
}

.fa-replyd {
  --fa: "\f3e6";
}

.fa-resolving {
  --fa: "\f3e7";
}

.fa-rocketchat {
  --fa: "\f3e8";
}

.fa-rockrms {
  --fa: "\f3e9";
}

.fa-schlix {
  --fa: "\f3ea";
}

.fa-searchengin {
  --fa: "\f3eb";
}

.fa-servicestack {
  --fa: "\f3ec";
}

.fa-sistrix {
  --fa: "\f3ee";
}

.fa-speakap {
  --fa: "\f3f3";
}

.fa-staylinked {
  --fa: "\f3f5";
}

.fa-steam-symbol {
  --fa: "\f3f6";
}

.fa-sticker-mule {
  --fa: "\f3f7";
}

.fa-studiovinari {
  --fa: "\f3f8";
}

.fa-supple {
  --fa: "\f3f9";
}

.fa-uber {
  --fa: "\f402";
}

.fa-uikit {
  --fa: "\f403";
}

.fa-uniregistry {
  --fa: "\f404";
}

.fa-untappd {
  --fa: "\f405";
}

.fa-ussunnah {
  --fa: "\f407";
}

.fa-vaadin {
  --fa: "\f408";
}

.fa-viber {
  --fa: "\f409";
}

.fa-vimeo {
  --fa: "\f40a";
}

.fa-vnv {
  --fa: "\f40b";
}

.fa-square-whatsapp {
  --fa: "\f40c";
}

.fa-whatsapp-square {
  --fa: "\f40c";
}

.fa-whmcs {
  --fa: "\f40d";
}

.fa-wordpress-simple {
  --fa: "\f411";
}

.fa-xbox {
  --fa: "\f412";
}

.fa-yandex {
  --fa: "\f413";
}

.fa-yandex-international {
  --fa: "\f414";
}

.fa-apple-pay {
  --fa: "\f415";
}

.fa-cc-apple-pay {
  --fa: "\f416";
}

.fa-fly {
  --fa: "\f417";
}

.fa-node {
  --fa: "\f419";
}

.fa-osi {
  --fa: "\f41a";
}

.fa-react {
  --fa: "\f41b";
}

.fa-autoprefixer {
  --fa: "\f41c";
}

.fa-less {
  --fa: "\f41d";
}

.fa-sass {
  --fa: "\f41e";
}

.fa-vuejs {
  --fa: "\f41f";
}

.fa-angular {
  --fa: "\f420";
}

.fa-aviato {
  --fa: "\f421";
}

.fa-ember {
  --fa: "\f423";
}

.fa-gitter {
  --fa: "\f426";
}

.fa-hooli {
  --fa: "\f427";
}

.fa-strava {
  --fa: "\f428";
}

.fa-stripe {
  --fa: "\f429";
}

.fa-stripe-s {
  --fa: "\f42a";
}

.fa-typo3 {
  --fa: "\f42b";
}

.fa-amazon-pay {
  --fa: "\f42c";
}

.fa-cc-amazon-pay {
  --fa: "\f42d";
}

.fa-ethereum {
  --fa: "\f42e";
}

.fa-korvue {
  --fa: "\f42f";
}

.fa-elementor {
  --fa: "\f430";
}

.fa-square-youtube {
  --fa: "\f431";
}

.fa-youtube-square {
  --fa: "\f431";
}

.fa-flipboard {
  --fa: "\f44d";
}

.fa-hips {
  --fa: "\f452";
}

.fa-php {
  --fa: "\f457";
}

.fa-quinscape {
  --fa: "\f459";
}

.fa-readme {
  --fa: "\f4d5";
}

.fa-java {
  --fa: "\f4e4";
}

.fa-pied-piper-hat {
  --fa: "\f4e5";
}

.fa-creative-commons-by {
  --fa: "\f4e7";
}

.fa-creative-commons-nc {
  --fa: "\f4e8";
}

.fa-creative-commons-nc-eu {
  --fa: "\f4e9";
}

.fa-creative-commons-nc-jp {
  --fa: "\f4ea";
}

.fa-creative-commons-nd {
  --fa: "\f4eb";
}

.fa-creative-commons-pd {
  --fa: "\f4ec";
}

.fa-creative-commons-pd-alt {
  --fa: "\f4ed";
}

.fa-creative-commons-remix {
  --fa: "\f4ee";
}

.fa-creative-commons-sa {
  --fa: "\f4ef";
}

.fa-creative-commons-sampling {
  --fa: "\f4f0";
}

.fa-creative-commons-sampling-plus {
  --fa: "\f4f1";
}

.fa-creative-commons-share {
  --fa: "\f4f2";
}

.fa-creative-commons-zero {
  --fa: "\f4f3";
}

.fa-ebay {
  --fa: "\f4f4";
}

.fa-keybase {
  --fa: "\f4f5";
}

.fa-mastodon {
  --fa: "\f4f6";
}

.fa-r-project {
  --fa: "\f4f7";
}

.fa-researchgate {
  --fa: "\f4f8";
}

.fa-teamspeak {
  --fa: "\f4f9";
}

.fa-first-order-alt {
  --fa: "\f50a";
}

.fa-fulcrum {
  --fa: "\f50b";
}

.fa-galactic-republic {
  --fa: "\f50c";
}

.fa-galactic-senate {
  --fa: "\f50d";
}

.fa-jedi-order {
  --fa: "\f50e";
}

.fa-mandalorian {
  --fa: "\f50f";
}

.fa-old-republic {
  --fa: "\f510";
}

.fa-phoenix-squadron {
  --fa: "\f511";
}

.fa-sith {
  --fa: "\f512";
}

.fa-trade-federation {
  --fa: "\f513";
}

.fa-wolf-pack-battalion {
  --fa: "\f514";
}

.fa-hornbill {
  --fa: "\f592";
}

.fa-mailchimp {
  --fa: "\f59e";
}

.fa-megaport {
  --fa: "\f5a3";
}

.fa-nimblr {
  --fa: "\f5a8";
}

.fa-rev {
  --fa: "\f5b2";
}

.fa-shopware {
  --fa: "\f5b5";
}

.fa-squarespace {
  --fa: "\f5be";
}

.fa-themeco {
  --fa: "\f5c6";
}

.fa-weebly {
  --fa: "\f5cc";
}

.fa-wix {
  --fa: "\f5cf";
}

.fa-ello {
  --fa: "\f5f1";
}

.fa-hackerrank {
  --fa: "\f5f7";
}

.fa-kaggle {
  --fa: "\f5fa";
}

.fa-markdown {
  --fa: "\f60f";
}

.fa-neos {
  --fa: "\f612";
}

.fa-zhihu {
  --fa: "\f63f";
}

.fa-alipay {
  --fa: "\f642";
}

.fa-the-red-yeti {
  --fa: "\f69d";
}

.fa-critical-role {
  --fa: "\f6c9";
}

.fa-d-and-d-beyond {
  --fa: "\f6ca";
}

.fa-dev {
  --fa: "\f6cc";
}

.fa-fantasy-flight-games {
  --fa: "\f6dc";
}

.fa-wizards-of-the-coast {
  --fa: "\f730";
}

.fa-think-peaks {
  --fa: "\f731";
}

.fa-reacteurope {
  --fa: "\f75d";
}

.fa-artstation {
  --fa: "\f77a";
}

.fa-atlassian {
  --fa: "\f77b";
}

.fa-canadian-maple-leaf {
  --fa: "\f785";
}

.fa-centos {
  --fa: "\f789";
}

.fa-confluence {
  --fa: "\f78d";
}

.fa-dhl {
  --fa: "\f790";
}

.fa-diaspora {
  --fa: "\f791";
}

.fa-fedex {
  --fa: "\f797";
}

.fa-fedora {
  --fa: "\f798";
}

.fa-figma {
  --fa: "\f799";
}

.fa-intercom {
  --fa: "\f7af";
}

.fa-invision {
  --fa: "\f7b0";
}

.fa-jira {
  --fa: "\f7b1";
}

.fa-mendeley {
  --fa: "\f7b3";
}

.fa-raspberry-pi {
  --fa: "\f7bb";
}

.fa-redhat {
  --fa: "\f7bc";
}

.fa-sketch {
  --fa: "\f7c6";
}

.fa-sourcetree {
  --fa: "\f7d3";
}

.fa-suse {
  --fa: "\f7d6";
}

.fa-ubuntu {
  --fa: "\f7df";
}

.fa-ups {
  --fa: "\f7e0";
}

.fa-usps {
  --fa: "\f7e1";
}

.fa-yarn {
  --fa: "\f7e3";
}

.fa-airbnb {
  --fa: "\f834";
}

.fa-battle-net {
  --fa: "\f835";
}

.fa-bootstrap {
  --fa: "\f836";
}

.fa-buffer {
  --fa: "\f837";
}

.fa-chromecast {
  --fa: "\f838";
}

.fa-evernote {
  --fa: "\f839";
}

.fa-itch-io {
  --fa: "\f83a";
}

.fa-salesforce {
  --fa: "\f83b";
}

.fa-speaker-deck {
  --fa: "\f83c";
}

.fa-symfony {
  --fa: "\f83d";
}

.fa-waze {
  --fa: "\f83f";
}

.fa-yammer {
  --fa: "\f840";
}

.fa-git-alt {
  --fa: "\f841";
}

.fa-stackpath {
  --fa: "\f842";
}

.fa-cotton-bureau {
  --fa: "\f89e";
}

.fa-buy-n-large {
  --fa: "\f8a6";
}

.fa-mdb {
  --fa: "\f8ca";
}

.fa-orcid {
  --fa: "\f8d2";
}

.fa-swift {
  --fa: "\f8e1";
}

.fa-umbraco {
  --fa: "\f8e8";
}:root, :host {
  --fa-family-classic: 'Font Awesome 7 Free';
  --fa-font-regular: normal 400 1em/1 var(--fa-family-classic);
  /* deprecated: this older custom property will be removed next major release */
  --fa-style-family-classic: var(--fa-family-classic);
}

@font-face {
  font-family: "Font Awesome 7 Free";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("/assets/fa-regular-400-nyy7hhHF.woff2");
}
.far {
  --fa-family: var(--fa-family-classic);
  --fa-style: 400;
}

.fa-classic {
  --fa-family: var(--fa-family-classic);
}

.fa-regular {
  --fa-style: 400;
}:root, :host {
  --fa-family-classic: 'Font Awesome 7 Free';
  --fa-font-solid: normal 900 1em/1 var(--fa-family-classic);
  /* deprecated: this older custom property will be removed next major release */
  --fa-style-family-classic: var(--fa-family-classic);
}

@font-face {
  font-family: "Font Awesome 7 Free";
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url("/assets/fa-solid-900-DRAAbZTg.woff2");
}
.fas {
  --fa-family: var(--fa-family-classic);
  --fa-style: 900;
}

.fa-classic {
  --fa-family: var(--fa-family-classic);
}

.fa-solid {
  --fa-style: 900;
}@font-face {
  font-family: "Font Awesome 5 Brands";
  font-display: block;
  font-weight: 400;
  src: url("/assets/fa-brands-400-BP5tdqmh.woff2") format("woff2");
}
@font-face {
  font-family: "Font Awesome 5 Free";
  font-display: block;
  font-weight: 900;
  src: url("/assets/fa-solid-900-DRAAbZTg.woff2") format("woff2");
}
@font-face {
  font-family: "Font Awesome 5 Free";
  font-display: block;
  font-weight: 400;
  src: url("/assets/fa-regular-400-nyy7hhHF.woff2") format("woff2");
}@font-face {
  font-family: "FontAwesome";
  font-display: block;
  src: url("/assets/fa-solid-900-DRAAbZTg.woff2") format("woff2");
}
@font-face {
  font-family: "FontAwesome";
  font-display: block;
  src: url("/assets/fa-brands-400-BP5tdqmh.woff2") format("woff2");
}
@font-face {
  font-family: "FontAwesome";
  font-display: block;
  src: url("/assets/fa-regular-400-nyy7hhHF.woff2") format("woff2");
  unicode-range: U+F003, U+F006, U+F014, U+F016-F017, U+F01A-F01B, U+F01D, U+F022, U+F03E, U+F044, U+F046, U+F05C-F05D, U+F06E, U+F070, U+F087-F088, U+F08A, U+F094, U+F096-F097, U+F09D, U+F0A0, U+F0A2, U+F0A4-F0A7, U+F0C5, U+F0C7, U+F0E5-F0E6, U+F0EB, U+F0F6-F0F8, U+F10C, U+F114-F115, U+F118-F11A, U+F11C-F11D, U+F133, U+F147, U+F14E, U+F150-F152, U+F185-F186, U+F18E, U+F190-F192, U+F196, U+F1C1-F1C9, U+F1D9, U+F1DB, U+F1E3, U+F1EA, U+F1F7, U+F1F9, U+F20A, U+F247-F248, U+F24A, U+F24D, U+F255-F25B, U+F25D, U+F271-F274, U+F278, U+F27B, U+F28C, U+F28E, U+F29C, U+F2B5, U+F2B7, U+F2BA, U+F2BC, U+F2BE, U+F2C0-F2C1, U+F2C3, U+F2D0, U+F2D2, U+F2D4, U+F2DC;
}
@font-face {
  font-family: "FontAwesome";
  font-display: block;
  src: url("data:font/woff2;base64,d09GMk9UVE8AAA/AAAkAAAAAIi4AAA96A4IBAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYCJAQGBmADgRwFiH0AghwHIA22GYUWERHVtH4B/lDAjaHYgPoVT5hsjC2GsZOptOo4yG1beUwR0nj95m5PABbwbw2JNax38ckISWbne6e7NGkzk5t5OtHQ3cQ8E/PgGvBDzYt/8QhfU4ejmw2Ss9r09ODR8l+jtYRSiPjXDe99ioYEJUDICo/AKRIyLZY6g5gb/PN/87fWu+WdLMNMQ049kLkaPl7+P/y/v9+nWsmNny3MZBwpLqIEUgAky2qXQQErAgUkO66A7tm25ybn+/+f01wNrP4u+ymgSuyUUAViDYIh+sbxjfg7VhAd9qRMKrF3BXKBn855NnSt1CQjTJVaYd8BQ++4R20XeJIX0rz/77Q39M65gAwmQQlbFrQfpVQXybLleWPJapb8e0cJ2kLz93Ol/TnMFXfLEn8JhNvbIjqxeXc/2UyOckA5ppQ4m+s0TQFBETgCdMAOCDy5CnvyZI2s0R1fW2MoL1G22ZTgudtjtLzMDwQDEbaWAQIgP8dqAADFS+AKknqe8PfkvO+55v/v91aE9ccAKkA2RADE+AeSboL/4wqvKi8xDkDqIzmV79ZGM7PdnQuhj8FJqIll79DSibQ0sXKXNYRdbRM+GMI2h5rF8zfdMYePtw55PPcmlAgg+mPASPzPwbDv2T3wmL2ThoUXekNwkpY0BDfbwiXSMFqxE24q9TkmWPiKJWh1mORCjilyAEspDGAZW6uwGlensDojrVodGva61vh0aarhKE8bTPCvj1hCK2OYlJVmTImPHEtVTOpYJrK8sJqcmo3VuRet1WnsdOEDcaFhM0UROOQM9KUY5Gdm9T7gPCofd4U7+x9sjlHuZL2RXfHXxYIE8CDvQm6Fk3RDXoiGY+XZ/TOFY9Kk3RCH0nr09srjn4kEqTL9zhy1p4myH+zr56tZWU8/1lvhZTacuYP5Yetw7YwTiDabHECYm7DHjCNR+QyItYjOF8TBoDvl5YcXSOcmKyfPyC0bNnnFhztFF1iXFjO+NknRNJIdlcuQLapKjOCOgXyxwzxWzyqXfZNWqpU/Y/EqBwhFdgdzldTRYQcscirRDqZxtltBIFQcvARqqfPTm9ROQCWXmvAvz+f4mSs4WoOqjmV+MH6r8TTUUn358W2SWZ78vFRvCl7xm11KSkyjY9Zp5ekkhxApAugJxGikosIHs68GiuU/TIwqCywCNlePWfOWfegrUWfqfXZ9wX1xJZZVUaWVN6utxf0m/XN+A0frVZpvr+YYS5WYTP/dyOA2+1jFSuYzlzm0UkIxBYTgjxv2qGr1a33Xe73VE93VHd3WKa2XqzQ0z5i4ND6pAgLVADGAdvICQA+g9DADoyUxaiEZtSRHrSjL/tD/6rdLdWfrbvLaZWUZ628lFTILA4iDzuUuRCDT4zLb9EbNNYDla7prkJb1sf9ps4yByalXLAjno1iDBtIQnk3bt02oZFNS9mGZTLrcFFwuLYcChHY/sdf2tT871c4E9dWb7St8ZWAVxoYfosuJThqeTcueyV1byeNebq+zTldTt9Nbrz8d5hvEG+w16DOMMNxmFGjcVr7HJHKCff1U74jp+nDiWA34AMvXbSjGL/mcxCInGJy+yzwieJF/QXkmwevg9kD53IWNr56dXTHoimkCpx95BLQQ2PxpPpwUV7AFs1Ndo/hfIZh1bJf//v7+Tyj/CT8H3F7A6qmRdgvmMJN2ioW3vZwaYedQL8RNM/O+veVnYH7v9oP5KOyePoBHb+2zIOh0TVD6jONQU9chTV3NEW4mF4VRA0FDA6gRQpnrmRk36EyA73QmLZcDIp2KLDrPqLohc8EhNFtkZE0jyrrGFmN8zNssYeZEJb9VGKGUWXsLkusQmHw/NN1aDVSQDjHXiFlNjOAbroZ8UhfqEVL9nGJP6bpouAIM0lpUyxoihzlDYnQRqe1CUGflRMzbwnKeTGaAqYTQkMV26jweXMYppyDld84jjBqk4oMY8c033Bcj54/JRjgquMTgyBZWMiaNdOECEAMqLkQL5aTRd1h+kIp3SqkDjgI1g5Tk7yLHKacge+vnpnYQKEqpWoaIE2uS1Ml9cKriqrXTBqEEkG0uhcxhNlmmr0Xm3rAWayZV1JQ/KNNVsjN28Y5E7DJbzQZVMSWFKP0dJSXo/7kumXvgf2oJsBI9mQs0tQTGdQlzNUzTUAQoNoE9qz8S+rGufAQyulFq0lpzdbFwf9PZiSkrzYVCwWpdR7DS7IF3L+9f1yMGRZlkLMKQmdJ/1f46jGqaXR3YWhJYu87qJBc0m1RUMczWRag5ADqhkPqxhrDNPT/9UmSkSJfSMvJebDBZ9FdCLUYCv6csAum7yIgZJHSL6fwevL/oN0AP8WsklRyKAJ3g2fB4R6ALyHyUE8EEEuoJmqCGgdCsZtKkGvO8Of70iHhdREid5AMRwUww5Px2EgNkUUlugQRMCSY3ccUbajibX9FEMflNwXQiaqhimrwH4UjnrohSQhM+6lwHbsbDXzobbWNw86+H/znDNiTnVUcM9fYFXauhcs/kUBiETGrooeTa2vWvw27pTjrjFDLT/1sl93DjuteQlbHMGWVs8lqy8qOXl9+MRjp2nQASXcfCwyS5acIVKHjPUa8RjXeMBLjn/fu9yJgF/iaMoK74TfDZTpnSPUd1G4GX8PAX/x9xCS8tengWmzYgucYT8wU0t4ngls/hJGctpOJVoFq+Af2/cjDAPOHFk5P/XXpRtmELfEfS+bCOuQ4L3+ofEPfS5QCO5j0gXqW1urWOvHzQgTEMChC0U5jeEF+pkSyBhwhZI1vB7pTubtmwbzYhsME5PPU0eZ4JHIB5iXSSzwQS0iiHfb0oOtqxA8KUCmMeVEVKnAFvdIPFrkHWdsaZZ8CdZmvR14f0tPqjH2aUMLBmHIMRM7cma2PXWcI9+fDjlrmy0n2PVAr5vPaq06NZRkE2prXUDp0urwStChuHTdAtxMblrCnopM02RUxamAxiQ9KBKEocT1fET438EjShE8NXvGEtoh6YDHprnclg171EKLGCR+PPfF83UQfieAqsqKjjyhMl42Wt1+nrdtq3oT5Q51+AD00vabZETGwF0ZUtwWPqSqkHjF/zNXpgTbmxtQKODCq1o4VYSjmDCqKkdNqxYybf3g1fU1+zn0tjtFC2i5zauLBZqnIy1oRUhWzw1PpO1Y3ttKP6SfenNESUlHAtQyzQ7tqsnhW0mCS7PGnWQGnUeouHk0g+jHIpIjJyBzRtDZKLeLgHpc7RsAHsyZgdFnuoR8VOGyIDBzzuNNh1ioYW0PM7yStZxQrID0pp3LYTOyGW8hAZWL3VDjufx21DyNsDt27Es84ZPD9EQ8+T7UFkoPvBKNAQ92jLGfgvepGe6LSXIUis3EtBzjbcAB1DIyVOPpnD/pL++RY/WOzCaKGWnWJP7OUvObwn95DNskVG3cZsF3DvCrLBsPAC1PQQPEQUQ+mY4YzRMxNiaPTQcMLoohtqQUPcyLb3fvGOd7GVfHe5K5a8/Ed/ykZevPjjwtxSg2cExzbOeBbkwA48oLjxw9S6IoYgMJ8gsBq3mCqdf7AWzJLBuAOon+WzFGuEuTYcmZ63tygjDccd5M4nYCb7CocF7eT21Pn5rcEDbnaBK8Jauy0EN4DpZRzRRBRBr8d2RLEQie1CjLGULGLDYIXjA15A+2aeAHHigrGhIeliSoEZabBS6f92e9V+u+AjssKtDmvtmPF8XzW4mK3Yjy2PFsH4J+gIgcgEM2W5Kuj402ANx98gYiHuqnNLs20OtnU2zKsTx6NC+d7t7TNl4Fe3eOmmBcGje/bDrfQobMQu+hhCuEWFNZVgpUTQj694JRR0xXzTXiBWa94133YEOZ8g2v3oST/dRLVc0wGk3P/Dq1qtwgk5C4aE7AeJ85mB0WZkuVNaoCSNcAokS5qtjChLI0IPv5C2wYKYYYiZQFBMOz8jcE3cRmwlBMmCxvemqCNKqnNiB0ZXuYAY7mJSyAsccSuDpEenPwY148TvIb0r+J1+Nh5z7/EsX5DjAnOXk53zfdiCdHdy4okUClpOHQZYjyNeQDAbMAYj7DzVcPVh/oW95zAe/qHfXg71Icy35j3ZZl6EozfaAnSSPk58/YSdeJo5P0R0diuoJig8c8KlBsGEKNNUBk1AXZg+NKMpT544MVFItVHHGTCeyCISgu3UrSkxgWBAWgGzZRrBy6oWFkKR3078RIoYB2oKmz4yvJhOZQfHx7Ai8VVBVpooRyclzD4Xbkio0vMA5h+lyy6DlPw95hjdRkoecIx4/32yXClc2HHBGQpQeYS8xOZgzR6b9Nmmm7RingP6d+XxPMTK2+i+X8a86u3VTkGSd9Btms/tBmbqc7tJZD4QHUG/ziucMMeV0QALuDtPj2Bfo1weLkthULQns/b3xTszkWYdCpr7SiNHGgLhiQYzSf4FHNtCoOd6vJWj4WPjBEYkT+Rr9CuUdtAvS8N2xbUXOc6/AC9IHV3IF4mffcqtvrshSTer1EhEsK9bfC+YzDpfHCDXTSeDXIqy+76U68B9QXXsD9AghNe1+MyoYulcg42ntu1cijpoVx1igYRhdXYGtWFas3EO3NewAytz/ZQ6dDs4uoaUnisYqoGspTbUQP2wGfXmebN8jgnqUA4WftVwjw0EIVVq1Vq1Vt/V6xzCtlsj00hU9RI9Xpnc6wV2rmUc9ct7vge2d7Pa8T4dZvJz7ROTlfokrXjjF2VvYgwQ5Z4o6y9bgeMVHJhbbgGNXj5gWN9FeJHy+2lvfhnrQ+R74/HhjGd7qeKkMSoIbgmLXjmJxBITn06HgmG5GD5pOFwsykRAO0K1XsR7ieaQxuiGi0RxTi8o9oNIsKjtGtHUcjb6JZ4ejDU9fh31Si+e/6iafqQRveddM+n0RRWJKwxcCLHJ8gXuIdK8typ0irQ1nLQMdUM2WwbuehNVZTPS1+1k7M0nH0cI61v3uczwg1fzOmnipATlkET+cFAkW3NIF4NvCophKNliuYvw9Fv+b4MU7N54i5ossf6MSeZV3cjCVlBbKJOBvWA7H25HjdPBbKkKDfhJiWeKM5/wrS5zFnFKTo4AcYXYH/OPAHoSBQVVDX3Tw7c/wREG1W8yF45ZRQbm+i95nnWVo4CiM8dBEcP/nhUAusB6Ay5eHL3U8LzEFApKd4wclOln8LzAZAMuPoKocMXxvA0MWmYK4AerUihX68tt1RUQhNduTIqo/0KYKE3GBQOcsgRK44Kbji8fn3D78asKctf4Dn52GZMFqb1cVUs9l6/MqUM5ohSxJcOGHxomvGnomRokmAUpuK1ekAED") format("woff2");
  unicode-range: U+F041, U+F047, U+F065-F066, U+F07D-F07E, U+F080, U+F08B, U+F08E, U+F090, U+F09A, U+F0AC, U+F0AE, U+F0B2, U+F0D0, U+F0D6, U+F0E4, U+F0EC, U+F10A-F10B, U+F123, U+F13E, U+F148-F149, U+F14C, U+F156, U+F15E, U+F160-F161, U+F163, U+F175-F178, U+F195, U+F1F8, U+F219, U+F27A;
}


@layer components;

/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */

@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-space-x-reverse: 0;
      --tw-divide-y-reverse: 0;
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-content: "";
      --tw-divide-x-reverse: 0;
      --tw-animation-delay: 0s;
      --tw-animation-direction: normal;
      --tw-animation-duration: initial;
      --tw-animation-fill-mode: none;
      --tw-animation-iteration-count: 1;
      --tw-enter-blur: 0;
      --tw-enter-opacity: 1;
      --tw-enter-rotate: 0;
      --tw-enter-scale: 1;
      --tw-enter-translate-x: 0;
      --tw-enter-translate-y: 0;
      --tw-exit-blur: 0;
      --tw-exit-opacity: 1;
      --tw-exit-rotate: 0;
      --tw-exit-scale: 1;
      --tw-exit-translate-x: 0;
      --tw-exit-translate-y: 0;
    }
  }
}

@layer theme {
  :root, :host {
    --color-red-50: oklch(97.1% .013 17.38);
    --color-red-200: oklch(88.5% .062 18.334);
    --color-red-300: oklch(80.8% .114 19.571);
    --color-red-400: oklch(70.4% .191 22.216);
    --color-red-500: oklch(63.7% .237 25.331);
    --color-red-600: oklch(57.7% .245 27.325);
    --color-red-900: oklch(39.6% .141 25.723);
    --color-red-950: oklch(25.8% .092 26.042);
    --color-orange-400: oklch(75% .183 55.934);
    --color-orange-500: oklch(70.5% .213 47.604);
    --color-amber-200: oklch(92.4% .12 95.746);
    --color-amber-300: oklch(87.9% .169 91.605);
    --color-amber-400: oklch(82.8% .189 84.429);
    --color-amber-500: oklch(76.9% .188 70.08);
    --color-amber-600: oklch(66.6% .179 58.318);
    --color-yellow-500: oklch(79.5% .184 86.047);
    --color-green-400: oklch(79.2% .209 151.711);
    --color-green-500: oklch(72.3% .219 149.579);
    --color-green-600: oklch(62.7% .194 149.214);
    --color-emerald-300: oklch(84.5% .143 164.978);
    --color-emerald-400: oklch(76.5% .177 163.223);
    --color-emerald-500: oklch(69.6% .17 162.48);
    --color-emerald-600: oklch(59.6% .145 163.225);
    --color-emerald-900: oklch(37.8% .077 168.94);
    --color-emerald-950: oklch(26.2% .051 172.552);
    --color-sky-400: oklch(74.6% .16 232.661);
    --color-blue-400: oklch(70.7% .165 254.624);
    --color-violet-500: oklch(60.6% .25 292.717);
    --color-purple-300: oklch(82.7% .119 306.383);
    --color-purple-400: oklch(71.4% .203 305.504);
    --color-purple-500: oklch(62.7% .265 303.9);
    --color-purple-600: oklch(55.8% .288 302.321);
    --color-purple-700: oklch(49.6% .265 301.924);
    --color-rose-300: oklch(81% .117 11.638);
    --color-rose-400: oklch(71.2% .194 13.428);
    --color-rose-500: oklch(64.5% .246 16.439);
    --color-rose-600: oklch(58.6% .253 17.585);
    --color-gray-50: oklch(98.5% .002 247.839);
    --color-gray-200: oklch(92.8% .006 264.531);
    --color-gray-600: oklch(44.6% .03 256.802);
    --color-gray-900: oklch(21% .034 264.665);
    --color-zinc-100: oklch(96.7% .001 286.375);
    --color-zinc-200: oklch(92% .004 286.32);
    --color-zinc-300: oklch(87.1% .006 286.286);
    --color-zinc-400: oklch(70.5% .015 286.067);
    --color-zinc-500: oklch(55.2% .016 285.938);
    --color-zinc-600: oklch(44.2% .017 285.786);
    --color-zinc-700: oklch(37% .013 285.805);
    --color-zinc-800: oklch(27.4% .006 286.033);
    --color-zinc-900: oklch(21% .006 285.885);
    --color-zinc-950: oklch(14.1% .005 285.823);
    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-4xl: 56rem;
    --container-5xl: 64rem;
    --container-6xl: 72rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-5xl: 3rem;
    --text-5xl--line-height: 1;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --font-weight-black: 900;
    --tracking-tighter: -.05em;
    --tracking-tight: -.025em;
    --tracking-normal: 0em;
    --tracking-wide: .025em;
    --tracking-wider: .05em;
    --tracking-widest: .1em;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-normal: 1.5;
    --leading-relaxed: 1.625;
    --radius-2xl: 1rem;
    --radius-3xl: 1.5rem;
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --animate-spin: spin 1s linear infinite;
    --animate-ping: ping 1s cubic-bezier(0, 0, .2, 1) infinite;
    --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
    --animate-bounce: bounce 1s infinite;
    --blur-sm: 8px;
    --blur-md: 12px;
    --blur-lg: 16px;
    --blur-xl: 24px;
    --blur-2xl: 40px;
    --blur-3xl: 64px;
    --aspect-video: 16 / 9;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--app-font-sans);
    --default-mono-font-family: var(--app-font-mono);
    --color-border: hsl(var(--border));
    --color-brand-ink: hsl(var(--foreground));
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

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

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

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

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

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

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

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

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

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

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

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

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

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

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

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

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

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }

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

  body {
    background-color: hsl(var(--background));
    font-family: var(--app-font-sans);
    color: hsl(var(--foreground));
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  h1, h2, h3, h4, h5, h6 {
    font-family: var(--app-font-serif);
  }
}

@layer utilities {
  .\@container\/field-group {
    container: field-group / inline-size;
  }

  .pointer-events-auto {
    pointer-events: auto;
  }

  .pointer-events-none {
    pointer-events: none;
  }

  .collapse {
    visibility: collapse;
  }

  .invisible {
    visibility: hidden;
  }

  .visible {
    visibility: visible;
  }

  .sr-only {
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .sticky {
    position: sticky;
  }

  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }

  .inset-4 {
    inset: calc(var(--spacing) * 4);
  }

  .inset-x-0 {
    inset-inline: calc(var(--spacing) * 0);
  }

  .inset-y-0 {
    inset-block: calc(var(--spacing) * 0);
  }

  .start {
    inset-inline-start: var(--spacing);
  }

  .end {
    inset-inline-end: var(--spacing);
  }

  .-top-0\.5 {
    top: calc(var(--spacing) * -.5);
  }

  .-top-1 {
    top: calc(var(--spacing) * -1);
  }

  .-top-1\.5 {
    top: calc(var(--spacing) * -1.5);
  }

  .-top-12 {
    top: calc(var(--spacing) * -12);
  }

  .top-0 {
    top: calc(var(--spacing) * 0);
  }

  .top-1\.5 {
    top: calc(var(--spacing) * 1.5);
  }

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

  .top-2 {
    top: calc(var(--spacing) * 2);
  }

  .top-2\.5 {
    top: calc(var(--spacing) * 2.5);
  }

  .top-3\.5 {
    top: calc(var(--spacing) * 3.5);
  }

  .top-4 {
    top: calc(var(--spacing) * 4);
  }

  .top-5 {
    top: calc(var(--spacing) * 5);
  }

  .top-6 {
    top: calc(var(--spacing) * 6);
  }

  .top-12 {
    top: calc(var(--spacing) * 12);
  }

  .top-24 {
    top: calc(var(--spacing) * 24);
  }

  .top-\[-10\%\] {
    top: -10%;
  }

  .top-\[1px\] {
    top: 1px;
  }

  .top-\[50\%\] {
    top: 50%;
  }

  .top-\[60\%\] {
    top: 60%;
  }

  .top-full {
    top: 100%;
  }

  .-right-0\.5 {
    right: calc(var(--spacing) * -.5);
  }

  .-right-1 {
    right: calc(var(--spacing) * -1);
  }

  .-right-1\.5 {
    right: calc(var(--spacing) * -1.5);
  }

  .-right-3 {
    right: calc(var(--spacing) * -3);
  }

  .-right-12 {
    right: calc(var(--spacing) * -12);
  }

  .right-0 {
    right: calc(var(--spacing) * 0);
  }

  .right-1 {
    right: calc(var(--spacing) * 1);
  }

  .right-2 {
    right: calc(var(--spacing) * 2);
  }

  .right-2\.5 {
    right: calc(var(--spacing) * 2.5);
  }

  .right-3 {
    right: calc(var(--spacing) * 3);
  }

  .right-3\.5 {
    right: calc(var(--spacing) * 3.5);
  }

  .right-4 {
    right: calc(var(--spacing) * 4);
  }

  .right-5 {
    right: calc(var(--spacing) * 5);
  }

  .right-6 {
    right: calc(var(--spacing) * 6);
  }

  .right-\[-10\%\] {
    right: -10%;
  }

  .-bottom-12 {
    bottom: calc(var(--spacing) * -12);
  }

  .bottom-0 {
    bottom: calc(var(--spacing) * 0);
  }

  .bottom-4 {
    bottom: calc(var(--spacing) * 4);
  }

  .bottom-6 {
    bottom: calc(var(--spacing) * 6);
  }

  .bottom-10 {
    bottom: calc(var(--spacing) * 10);
  }

  .bottom-12 {
    bottom: calc(var(--spacing) * 12);
  }

  .bottom-14 {
    bottom: calc(var(--spacing) * 14);
  }

  .bottom-16 {
    bottom: calc(var(--spacing) * 16);
  }

  .bottom-\[-10\%\] {
    bottom: -10%;
  }

  .-left-12 {
    left: calc(var(--spacing) * -12);
  }

  .left-0 {
    left: calc(var(--spacing) * 0);
  }

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

  .left-2 {
    left: calc(var(--spacing) * 2);
  }

  .left-2\.5 {
    left: calc(var(--spacing) * 2.5);
  }

  .left-3 {
    left: calc(var(--spacing) * 3);
  }

  .left-3\.5 {
    left: calc(var(--spacing) * 3.5);
  }

  .left-4 {
    left: calc(var(--spacing) * 4);
  }

  .left-6 {
    left: calc(var(--spacing) * 6);
  }

  .left-\[-10\%\] {
    left: -10%;
  }

  .left-\[27px\] {
    left: 27px;
  }

  .left-\[50\%\] {
    left: 50%;
  }

  .left-\[calc\(100\%\+4px\)\] {
    left: calc(100% + 4px);
  }

  .isolate {
    isolation: isolate;
  }

  .-z-10 {
    z-index: calc(10 * -1);
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .order-first {
    order: -9999;
  }

  .order-last {
    order: 9999;
  }

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

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

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

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

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

  .container {
    width: 100%;
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .\!m-0 {
    margin: calc(var(--spacing) * 0) !important;
  }

  .m-0 {
    margin: calc(var(--spacing) * 0);
  }

  .m-4 {
    margin: calc(var(--spacing) * 4);
  }

  .-mx-1 {
    margin-inline: calc(var(--spacing) * -1);
  }

  .-mx-2 {
    margin-inline: calc(var(--spacing) * -2);
  }

  .-mx-5 {
    margin-inline: calc(var(--spacing) * -5);
  }

  .-mx-6 {
    margin-inline: calc(var(--spacing) * -6);
  }

  .mx-2 {
    margin-inline: calc(var(--spacing) * 2);
  }

  .mx-3\.5 {
    margin-inline: calc(var(--spacing) * 3.5);
  }

  .mx-4 {
    margin-inline: calc(var(--spacing) * 4);
  }

  .mx-\[2px\] {
    margin-inline: 2px;
  }

  .mx-auto {
    margin-inline: auto;
  }

  .\!my-0 {
    margin-block: calc(var(--spacing) * 0) !important;
  }

  .-my-2 {
    margin-block: calc(var(--spacing) * -2);
  }

  .-my-6 {
    margin-block: calc(var(--spacing) * -6);
  }

  .my-0 {
    margin-block: calc(var(--spacing) * 0);
  }

  .my-0\.5 {
    margin-block: calc(var(--spacing) * .5);
  }

  .my-1 {
    margin-block: calc(var(--spacing) * 1);
  }

  .my-2 {
    margin-block: calc(var(--spacing) * 2);
  }

  .my-4 {
    margin-block: calc(var(--spacing) * 4);
  }

  .my-6 {
    margin-block: calc(var(--spacing) * 6);
  }

  .my-\[1px\] {
    margin-block: 1px;
  }

  .my-\[3px\] {
    margin-block: 3px;
  }

  .-mt-1 {
    margin-top: calc(var(--spacing) * -1);
  }

  .-mt-2 {
    margin-top: calc(var(--spacing) * -2);
  }

  .-mt-4 {
    margin-top: calc(var(--spacing) * -4);
  }

  .-mt-16 {
    margin-top: calc(var(--spacing) * -16);
  }

  .mt-0\.5 {
    margin-top: calc(var(--spacing) * .5);
  }

  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }

  .mt-1\.5 {
    margin-top: calc(var(--spacing) * 1.5);
  }

  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }

  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }

  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }

  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }

  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }

  .mt-12 {
    margin-top: calc(var(--spacing) * 12);
  }

  .mt-24 {
    margin-top: calc(var(--spacing) * 24);
  }

  .mt-\[2px\] {
    margin-top: 2px;
  }

  .mt-\[5px\] {
    margin-top: 5px;
  }

  .mt-\[10vh\] {
    margin-top: 10vh;
  }

  .mt-auto {
    margin-top: auto;
  }

  .-mr-16 {
    margin-right: calc(var(--spacing) * -16);
  }

  .mr-0\.5 {
    margin-right: calc(var(--spacing) * .5);
  }

  .mr-1 {
    margin-right: calc(var(--spacing) * 1);
  }

  .mr-1\.5 {
    margin-right: calc(var(--spacing) * 1.5);
  }

  .mr-2 {
    margin-right: calc(var(--spacing) * 2);
  }

  .mr-3 {
    margin-right: calc(var(--spacing) * 3);
  }

  .mr-4 {
    margin-right: calc(var(--spacing) * 4);
  }

  .mr-8 {
    margin-right: calc(var(--spacing) * 8);
  }

  .mr-auto {
    margin-right: auto;
  }

  .mb-0 {
    margin-bottom: calc(var(--spacing) * 0);
  }

  .mb-0\.5 {
    margin-bottom: calc(var(--spacing) * .5);
  }

  .mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }

  .mb-1\.5 {
    margin-bottom: calc(var(--spacing) * 1.5);
  }

  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }

  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }

  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }

  .mb-5 {
    margin-bottom: calc(var(--spacing) * 5);
  }

  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }

  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }

  .mb-10 {
    margin-bottom: calc(var(--spacing) * 10);
  }

  .mb-12 {
    margin-bottom: calc(var(--spacing) * 12);
  }

  .-ml-4 {
    margin-left: calc(var(--spacing) * -4);
  }

  .ml-0 {
    margin-left: calc(var(--spacing) * 0);
  }

  .ml-0\.5 {
    margin-left: calc(var(--spacing) * .5);
  }

  .ml-1 {
    margin-left: calc(var(--spacing) * 1);
  }

  .ml-1\.5 {
    margin-left: calc(var(--spacing) * 1.5);
  }

  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }

  .ml-3 {
    margin-left: calc(var(--spacing) * 3);
  }

  .ml-4 {
    margin-left: calc(var(--spacing) * 4);
  }

  .ml-6 {
    margin-left: calc(var(--spacing) * 6);
  }

  .ml-9 {
    margin-left: calc(var(--spacing) * 9);
  }

  .ml-12 {
    margin-left: calc(var(--spacing) * 12);
  }

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

  .line-clamp-2 {
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .block {
    display: block;
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

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

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

  .table {
    display: table;
  }

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

  .aspect-video {
    aspect-ratio: var(--aspect-video);
  }

  .size-4 {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }

  .size-6 {
    width: calc(var(--spacing) * 6);
    height: calc(var(--spacing) * 6);
  }

  .size-8 {
    width: calc(var(--spacing) * 8);
    height: calc(var(--spacing) * 8);
  }

  .size-10 {
    width: calc(var(--spacing) * 10);
    height: calc(var(--spacing) * 10);
  }

  .size-\[--cell-size\] {
    width: --cell-size;
    height: --cell-size;
  }

  .\!h-auto {
    height: auto !important;
  }

  .h-1\.5 {
    height: calc(var(--spacing) * 1.5);
  }

  .h-2 {
    height: calc(var(--spacing) * 2);
  }

  .h-2\.5 {
    height: calc(var(--spacing) * 2.5);
  }

  .h-3 {
    height: calc(var(--spacing) * 3);
  }

  .h-3\.5 {
    height: calc(var(--spacing) * 3.5);
  }

  .h-4 {
    height: calc(var(--spacing) * 4);
  }

  .h-5 {
    height: calc(var(--spacing) * 5);
  }

  .h-6 {
    height: calc(var(--spacing) * 6);
  }

  .h-7 {
    height: calc(var(--spacing) * 7);
  }

  .h-8 {
    height: calc(var(--spacing) * 8);
  }

  .h-9 {
    height: calc(var(--spacing) * 9);
  }

  .h-10 {
    height: calc(var(--spacing) * 10);
  }

  .h-11 {
    height: calc(var(--spacing) * 11);
  }

  .h-12 {
    height: calc(var(--spacing) * 12);
  }

  .h-14 {
    height: calc(var(--spacing) * 14);
  }

  .h-16 {
    height: calc(var(--spacing) * 16);
  }

  .h-20 {
    height: calc(var(--spacing) * 20);
  }

  .h-24 {
    height: calc(var(--spacing) * 24);
  }

  .h-28 {
    height: calc(var(--spacing) * 28);
  }

  .h-32 {
    height: calc(var(--spacing) * 32);
  }

  .h-36 {
    height: calc(var(--spacing) * 36);
  }

  .h-64 {
    height: calc(var(--spacing) * 64);
  }

  .h-\[--cell-size\] {
    height: --cell-size;
  }

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

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

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

  .h-\[40\%\] {
    height: 40%;
  }

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

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

  .h-\[60\%\] {
    height: 60%;
  }

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

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

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

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

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

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

  .h-\[var\(--radix-navigation-menu-viewport-height\)\] {
    height: var(--radix-navigation-menu-viewport-height);
  }

  .h-auto {
    height: auto;
  }

  .h-full {
    height: 100%;
  }

  .h-px {
    height: 1px;
  }

  .h-svh {
    height: 100svh;
  }

  .max-h-0 {
    max-height: calc(var(--spacing) * 0);
  }

  .max-h-32 {
    max-height: calc(var(--spacing) * 32);
  }

  .max-h-48 {
    max-height: calc(var(--spacing) * 48);
  }

  .max-h-60 {
    max-height: calc(var(--spacing) * 60);
  }

  .max-h-64 {
    max-height: calc(var(--spacing) * 64);
  }

  .max-h-\[--radix-context-menu-content-available-height\] {
    max-height: --radix-context-menu-content-available-height;
  }

  .max-h-\[--radix-select-content-available-height\] {
    max-height: --radix-select-content-available-height;
  }

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

  .max-h-\[85\%\] {
    max-height: 85%;
  }

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

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

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

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

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

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

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

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

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

  .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-screen {
    max-height: 100vh;
  }

  .\!min-h-fit {
    min-height: fit-content !important;
  }

  .min-h-0 {
    min-height: calc(var(--spacing) * 0);
  }

  .min-h-24 {
    min-height: calc(var(--spacing) * 24);
  }

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

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

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

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

  .min-h-\[100dvh\] {
    min-height: 100dvh;
  }

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

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

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

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

  .min-h-full {
    min-height: 100%;
  }

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

  .min-h-svh {
    min-height: 100svh;
  }

  .w-0 {
    width: calc(var(--spacing) * 0);
  }

  .w-0\.5 {
    width: calc(var(--spacing) * .5);
  }

  .w-1 {
    width: calc(var(--spacing) * 1);
  }

  .w-1\.5 {
    width: calc(var(--spacing) * 1.5);
  }

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

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

  .w-2 {
    width: calc(var(--spacing) * 2);
  }

  .w-2\.5 {
    width: calc(var(--spacing) * 2.5);
  }

  .w-3 {
    width: calc(var(--spacing) * 3);
  }

  .w-3\.5 {
    width: calc(var(--spacing) * 3.5);
  }

  .w-3\/4 {
    width: 75%;
  }

  .w-4 {
    width: calc(var(--spacing) * 4);
  }

  .w-5 {
    width: calc(var(--spacing) * 5);
  }

  .w-6 {
    width: calc(var(--spacing) * 6);
  }

  .w-7 {
    width: calc(var(--spacing) * 7);
  }

  .w-8 {
    width: calc(var(--spacing) * 8);
  }

  .w-9 {
    width: calc(var(--spacing) * 9);
  }

  .w-10 {
    width: calc(var(--spacing) * 10);
  }

  .w-11 {
    width: calc(var(--spacing) * 11);
  }

  .w-12 {
    width: calc(var(--spacing) * 12);
  }

  .w-14 {
    width: calc(var(--spacing) * 14);
  }

  .w-16 {
    width: calc(var(--spacing) * 16);
  }

  .w-20 {
    width: calc(var(--spacing) * 20);
  }

  .w-24 {
    width: calc(var(--spacing) * 24);
  }

  .w-28 {
    width: calc(var(--spacing) * 28);
  }

  .w-32 {
    width: calc(var(--spacing) * 32);
  }

  .w-36 {
    width: calc(var(--spacing) * 36);
  }

  .w-40 {
    width: calc(var(--spacing) * 40);
  }

  .w-48 {
    width: calc(var(--spacing) * 48);
  }

  .w-56 {
    width: calc(var(--spacing) * 56);
  }

  .w-64 {
    width: calc(var(--spacing) * 64);
  }

  .w-72 {
    width: calc(var(--spacing) * 72);
  }

  .w-\[--cell-size\] {
    width: --cell-size;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .w-\[calc\(50\%-4px\)\] {
    width: calc(50% - 4px);
  }

  .w-\[calc\(100\%\+1rem\)\] {
    width: calc(100% + 1rem);
  }

  .w-\[calc\(100\%\+2\.5rem\)\] {
    width: calc(100% + 2.5rem);
  }

  .w-\[var\(--sidebar-width\)\] {
    width: var(--sidebar-width);
  }

  .w-auto {
    width: auto;
  }

  .w-fit {
    width: fit-content;
  }

  .w-full {
    width: 100%;
  }

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

  .w-px {
    width: 1px;
  }

  .max-w-0 {
    max-width: calc(var(--spacing) * 0);
  }

  .max-w-2xl {
    max-width: var(--container-2xl);
  }

  .max-w-3xl {
    max-width: var(--container-3xl);
  }

  .max-w-4xl {
    max-width: var(--container-4xl);
  }

  .max-w-5xl {
    max-width: var(--container-5xl);
  }

  .max-w-6xl {
    max-width: var(--container-6xl);
  }

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

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

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

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

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

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

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

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

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

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

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

  .max-w-\[var\(--skeleton-width\)\] {
    max-width: var(--skeleton-width);
  }

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

  .max-w-lg {
    max-width: var(--container-lg);
  }

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

  .max-w-md {
    max-width: var(--container-md);
  }

  .max-w-sm {
    max-width: var(--container-sm);
  }

  .max-w-xl {
    max-width: var(--container-xl);
  }

  .max-w-xs {
    max-width: var(--container-xs);
  }

  .min-w-0 {
    min-width: calc(var(--spacing) * 0);
  }

  .min-w-5 {
    min-width: calc(var(--spacing) * 5);
  }

  .min-w-8 {
    min-width: calc(var(--spacing) * 8);
  }

  .min-w-9 {
    min-width: calc(var(--spacing) * 9);
  }

  .min-w-10 {
    min-width: calc(var(--spacing) * 10);
  }

  .min-w-\[--cell-size\] {
    min-width: --cell-size;
  }

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

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

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

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

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

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

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

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

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

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

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

  .min-w-\[var\(--radix-select-trigger-width\)\] {
    min-width: var(--radix-select-trigger-width);
  }

  .flex-1 {
    flex: 1;
  }

  .flex-\[2\] {
    flex: 2;
  }

  .flex-none {
    flex: none;
  }

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

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

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

  .basis-full {
    flex-basis: 100%;
  }

  .caption-bottom {
    caption-side: bottom;
  }

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

  .origin-\[--radix-context-menu-content-transform-origin\] {
    transform-origin: --radix-context-menu-content-transform-origin;
  }

  .origin-\[--radix-dropdown-menu-content-transform-origin\] {
    transform-origin: --radix-dropdown-menu-content-transform-origin;
  }

  .origin-\[--radix-hover-card-content-transform-origin\] {
    transform-origin: --radix-hover-card-content-transform-origin;
  }

  .origin-\[--radix-menubar-content-transform-origin\] {
    transform-origin: --radix-menubar-content-transform-origin;
  }

  .origin-\[--radix-popover-content-transform-origin\] {
    transform-origin: --radix-popover-content-transform-origin;
  }

  .origin-\[--radix-select-content-transform-origin\] {
    transform-origin: --radix-select-content-transform-origin;
  }

  .origin-\[--radix-tooltip-content-transform-origin\] {
    transform-origin: --radix-tooltip-content-transform-origin;
  }

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

  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .-translate-x-px {
    --tw-translate-x: -1px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-0\.5 {
    --tw-translate-x: calc(var(--spacing) * .5);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-7 {
    --tw-translate-x: calc(var(--spacing) * 7);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-\[-50\%\] {
    --tw-translate-x: -50%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-px {
    --tw-translate-x: 1px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .-translate-y-1\/2 {
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .-translate-y-\[1\.2px\] {
    --tw-translate-y: calc(1.2px * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-y-\[-50\%\] {
    --tw-translate-y: -50%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .scale-90 {
    --tw-scale-x: 90%;
    --tw-scale-y: 90%;
    --tw-scale-z: 90%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .scale-105 {
    --tw-scale-x: 105%;
    --tw-scale-y: 105%;
    --tw-scale-z: 105%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .scale-110 {
    --tw-scale-x: 110%;
    --tw-scale-y: 110%;
    --tw-scale-z: 110%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .scale-x-\[-1\] {
    --tw-scale-x: -1;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .scale-\[1\.02\] {
    scale: 1.02;
  }

  .-rotate-3 {
    rotate: -3deg;
  }

  .rotate-3 {
    rotate: 3deg;
  }

  .rotate-45 {
    rotate: 45deg;
  }

  .rotate-90 {
    rotate: 90deg;
  }

  .rotate-180 {
    rotate: 180deg;
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .animate-\[pulse_2s_ease-in-out_infinite\] {
    animation: 2s ease-in-out infinite pulse;
  }

  .animate-bounce {
    animation: var(--animate-bounce);
  }

  .animate-caret-blink {
    animation: 1.25s ease-out infinite caret-blink;
  }

  .animate-in {
    animation: enter var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none);
  }

  .animate-ping {
    animation: var(--animate-ping);
  }

  .animate-pulse {
    animation: var(--animate-pulse);
  }

  .animate-spin {
    animation: var(--animate-spin);
  }

  .cursor-default {
    cursor: default;
  }

  .cursor-help {
    cursor: help;
  }

  .cursor-not-allowed {
    cursor: not-allowed;
  }

  .cursor-pointer {
    cursor: pointer;
  }

  .cursor-text {
    cursor: text;
  }

  .cursor-wait {
    cursor: wait;
  }

  .cursor-zoom-in {
    cursor: zoom-in;
  }

  .touch-none {
    touch-action: none;
  }

  .resize {
    resize: both;
  }

  .resize-none {
    resize: none;
  }

  .list-disc {
    list-style-type: disc;
  }

  .list-none {
    list-style-type: none;
  }

  .\[appearance\:textfield\] {
    appearance: textfield;
  }

  .appearance-none {
    appearance: none;
  }

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

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

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

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

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

  .grid-cols-\[40px_2fr_1fr_1\.5fr_1\.5fr_40px\] {
    grid-template-columns: 40px 2fr 1fr 1.5fr 1.5fr 40px;
  }

  .grid-cols-\[40px_2fr_1fr_1\.5fr_1\.5fr_80px\] {
    grid-template-columns: 40px 2fr 1fr 1.5fr 1.5fr 80px;
  }

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

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

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

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

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

  .place-content-center {
    place-content: center;
  }

  .items-baseline {
    align-items: baseline;
  }

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

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

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

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

  .justify-around {
    justify-content: space-around;
  }

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

  .justify-center {
    justify-content: center;
  }

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

  .justify-start {
    justify-content: flex-start;
  }

  .justify-items-center {
    justify-items: center;
  }

  .gap-0 {
    gap: calc(var(--spacing) * 0);
  }

  .gap-0\.5 {
    gap: calc(var(--spacing) * .5);
  }

  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }

  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  .gap-2\.5 {
    gap: calc(var(--spacing) * 2.5);
  }

  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }

  .gap-3\.5 {
    gap: calc(var(--spacing) * 3.5);
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }

  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }

  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }

  .gap-7 {
    gap: calc(var(--spacing) * 7);
  }

  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }

  .gap-12 {
    gap: calc(var(--spacing) * 12);
  }

  .gap-px {
    gap: 1px;
  }

  :where(.space-y-0\.5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-1 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-1\.5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-2 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-2\.5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-3 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-4 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-6 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-8 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-10 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-12 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)));
  }

  .gap-x-2 {
    column-gap: calc(var(--spacing) * 2);
  }

  .gap-x-4 {
    column-gap: calc(var(--spacing) * 4);
  }

  :where(.space-x-1 > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(calc(var(--spacing) * 1) * var(--tw-space-x-reverse));
    margin-inline-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-x-reverse)));
  }

  :where(.space-x-3 > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));
    margin-inline-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)));
  }

  :where(.space-x-4 > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));
    margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));
  }

  .gap-y-0\.5 {
    row-gap: calc(var(--spacing) * .5);
  }

  .gap-y-1 {
    row-gap: calc(var(--spacing) * 1);
  }

  .gap-y-6 {
    row-gap: calc(var(--spacing) * 6);
  }

  :where(.divide-y > :not(:last-child)) {
    --tw-divide-y-reverse: 0;
    border-bottom-style: var(--tw-border-style);
    border-top-style: var(--tw-border-style);
    border-top-width: calc(1px * var(--tw-divide-y-reverse));
    border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  }

  :where(.divide-brand-gold\/5 > :not(:last-child)) {
    border-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    :where(.divide-brand-gold\/5 > :not(:last-child)) {
      border-color: color-mix(in oklab, hsl(var(--primary)) 5%, transparent);
    }
  }

  :where(.divide-brand-ink\/\[0\.03\] > :not(:last-child)) {
    border-color: hsl(var(--foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    :where(.divide-brand-ink\/\[0\.03\] > :not(:last-child)) {
      border-color: color-mix(in oklab, hsl(var(--foreground)) 3%, transparent);
    }
  }

  :where(.divide-white\/5 > :not(:last-child)) {
    border-color: #ffffff0d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    :where(.divide-white\/5 > :not(:last-child)) {
      border-color: color-mix(in oklab, var(--color-white) 5%, transparent);
    }
  }

  :where(.divide-zinc-800\/40 > :not(:last-child)) {
    border-color: #27272a66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    :where(.divide-zinc-800\/40 > :not(:last-child)) {
      border-color: color-mix(in oklab, var(--color-zinc-800) 40%, transparent);
    }
  }

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

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

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

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

  .\!overflow-visible {
    overflow: visible !important;
  }

  .overflow-auto {
    overflow: auto;
  }

  .overflow-hidden {
    overflow: hidden;
  }

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

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

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

  .rounded {
    border-radius: .25rem;
  }

  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }

  .rounded-3xl {
    border-radius: var(--radius-3xl);
  }

  .rounded-\[1\.8rem\] {
    border-radius: 1.8rem;
  }

  .rounded-\[2\.5rem\] {
    border-radius: 2.5rem;
  }

  .rounded-\[2px\] {
    border-radius: 2px;
  }

  .rounded-\[2rem\] {
    border-radius: 2rem;
  }

  .rounded-\[6px\] {
    border-radius: 6px;
  }

  .rounded-\[calc\(var\(--radius\)-5px\)\] {
    border-radius: calc(var(--radius) - 5px);
  }

  .rounded-\[inherit\] {
    border-radius: inherit;
  }

  .rounded-full {
    border-radius: 3.40282e38px;
  }

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

  .rounded-md {
    border-radius: calc(var(--radius) - 2px);
  }

  .rounded-none {
    border-radius: 0;
  }

  .rounded-sm {
    border-radius: calc(var(--radius) - 4px);
  }

  .rounded-xl {
    border-radius: calc(var(--radius) + 4px);
  }

  .rounded-t-3xl {
    border-top-left-radius: var(--radius-3xl);
    border-top-right-radius: var(--radius-3xl);
  }

  .rounded-t-\[10px\] {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
  }

  .rounded-l-2xl {
    border-top-left-radius: var(--radius-2xl);
    border-bottom-left-radius: var(--radius-2xl);
  }

  .rounded-l-md {
    border-top-left-radius: calc(var(--radius) - 2px);
    border-bottom-left-radius: calc(var(--radius) - 2px);
  }

  .rounded-l-xl {
    border-top-left-radius: calc(var(--radius) + 4px);
    border-bottom-left-radius: calc(var(--radius) + 4px);
  }

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

  .rounded-tl-sm {
    border-top-left-radius: calc(var(--radius) - 4px);
  }

  .rounded-r-2xl {
    border-top-right-radius: var(--radius-2xl);
    border-bottom-right-radius: var(--radius-2xl);
  }

  .rounded-r-md {
    border-top-right-radius: calc(var(--radius) - 2px);
    border-bottom-right-radius: calc(var(--radius) - 2px);
  }

  .rounded-r-xl {
    border-top-right-radius: calc(var(--radius) + 4px);
    border-bottom-right-radius: calc(var(--radius) + 4px);
  }

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

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

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

  .\!border {
    border-style: var(--tw-border-style) !important;
    border-width: 1px !important;
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-0 {
    border-style: var(--tw-border-style);
    border-width: 0;
  }

  .border-2 {
    border-style: var(--tw-border-style);
    border-width: 2px;
  }

  .border-4 {
    border-style: var(--tw-border-style);
    border-width: 4px;
  }

  .border-\[1\.5px\] {
    border-style: var(--tw-border-style);
    border-width: 1.5px;
  }

  .border-\[3px\] {
    border-style: var(--tw-border-style);
    border-width: 3px;
  }

  .border-\[4px\] {
    border-style: var(--tw-border-style);
    border-width: 4px;
  }

  .border-\[40px\] {
    border-style: var(--tw-border-style);
    border-width: 40px;
  }

  .border-x-0 {
    border-inline-style: var(--tw-border-style);
    border-inline-width: 0;
  }

  .border-y {
    border-block-style: var(--tw-border-style);
    border-block-width: 1px;
  }

  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }

  .border-t-2 {
    border-top-style: var(--tw-border-style);
    border-top-width: 2px;
  }

  .border-r {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
  }

  .border-r-0 {
    border-right-style: var(--tw-border-style);
    border-right-width: 0;
  }

  .border-r-2 {
    border-right-style: var(--tw-border-style);
    border-right-width: 2px;
  }

  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }

  .border-b-2 {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 2px;
  }

  .border-l {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }

  .border-l-2 {
    border-left-style: var(--tw-border-style);
    border-left-width: 2px;
  }

  .border-l-4 {
    border-left-style: var(--tw-border-style);
    border-left-width: 4px;
  }

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

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

  .\!border-\[\#22c55e\] {
    border-color: #22c55e !important;
  }

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

  .border-\[\#0f0f0e\] {
    border-color: #0f0f0e;
  }

  .border-\[\#22c55e\] {
    border-color: #22c55e;
  }

  .border-\[\#c5a059\]\/20 {
    border-color: oklab(72.4545% .0132898 .0989303 / .2);
  }

  .border-\[\#c5a059\]\/40 {
    border-color: oklab(72.4545% .0132898 .0989303 / .4);
  }

  .border-\[--color-border\] {
    border-color: --color-border;
  }

  .border-amber-500\/10 {
    border-color: #f99c001a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-amber-500\/10 {
      border-color: color-mix(in oklab, var(--color-amber-500) 10%, transparent);
    }
  }

  .border-amber-500\/20 {
    border-color: #f99c0033;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-amber-500\/20 {
      border-color: color-mix(in oklab, var(--color-amber-500) 20%, transparent);
    }
  }

  .border-amber-500\/30 {
    border-color: #f99c004d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-amber-500\/30 {
      border-color: color-mix(in oklab, var(--color-amber-500) 30%, transparent);
    }
  }

  .border-amber-500\/50 {
    border-color: #f99c0080;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-amber-500\/50 {
      border-color: color-mix(in oklab, var(--color-amber-500) 50%, transparent);
    }
  }

  .border-border, .border-border\/30 {
    border-color: hsl(var(--border));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-border\/30 {
      border-color: color-mix(in oklab, hsl(var(--border)) 30%, transparent);
    }
  }

  .border-border\/50 {
    border-color: hsl(var(--border));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-border\/50 {
      border-color: color-mix(in oklab, hsl(var(--border)) 50%, transparent);
    }
  }

  .border-brand-bg {
    border-color: hsl(var(--background));
  }

  .border-brand-card {
    border-color: hsl(var(--card));
  }

  .border-brand-gold, .border-brand-gold\/5 {
    border-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-brand-gold\/5 {
      border-color: color-mix(in oklab, hsl(var(--primary)) 5%, transparent);
    }
  }

  .border-brand-gold\/10 {
    border-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-brand-gold\/10 {
      border-color: color-mix(in oklab, hsl(var(--primary)) 10%, transparent);
    }
  }

  .border-brand-gold\/15 {
    border-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-brand-gold\/15 {
      border-color: color-mix(in oklab, hsl(var(--primary)) 15%, transparent);
    }
  }

  .border-brand-gold\/20 {
    border-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-brand-gold\/20 {
      border-color: color-mix(in oklab, hsl(var(--primary)) 20%, transparent);
    }
  }

  .border-brand-gold\/25 {
    border-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-brand-gold\/25 {
      border-color: color-mix(in oklab, hsl(var(--primary)) 25%, transparent);
    }
  }

  .border-brand-gold\/30 {
    border-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-brand-gold\/30 {
      border-color: color-mix(in oklab, hsl(var(--primary)) 30%, transparent);
    }
  }

  .border-brand-gold\/40 {
    border-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-brand-gold\/40 {
      border-color: color-mix(in oklab, hsl(var(--primary)) 40%, transparent);
    }
  }

  .border-brand-gold\/50 {
    border-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-brand-gold\/50 {
      border-color: color-mix(in oklab, hsl(var(--primary)) 50%, transparent);
    }
  }

  .border-brand-ink\/5 {
    border-color: hsl(var(--foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-brand-ink\/5 {
      border-color: color-mix(in oklab, hsl(var(--foreground)) 5%, transparent);
    }
  }

  .border-brand-ink\/10 {
    border-color: hsl(var(--foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-brand-ink\/10 {
      border-color: color-mix(in oklab, hsl(var(--foreground)) 10%, transparent);
    }
  }

  .border-brand-ink\/20 {
    border-color: hsl(var(--foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-brand-ink\/20 {
      border-color: color-mix(in oklab, hsl(var(--foreground)) 20%, transparent);
    }
  }

  .border-brand-ink\/\[0\.05\] {
    border-color: hsl(var(--foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-brand-ink\/\[0\.05\] {
      border-color: color-mix(in oklab, hsl(var(--foreground)) 5%, transparent);
    }
  }

  .border-destructive, .border-destructive\/20 {
    border-color: hsl(var(--destructive));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-destructive\/20 {
      border-color: color-mix(in oklab, hsl(var(--destructive)) 20%, transparent);
    }
  }

  .border-destructive\/50 {
    border-color: hsl(var(--destructive));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-destructive\/50 {
      border-color: color-mix(in oklab, hsl(var(--destructive)) 50%, transparent);
    }
  }

  .border-emerald-400 {
    border-color: var(--color-emerald-400);
  }

  .border-emerald-500\/20 {
    border-color: #00bb7f33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-emerald-500\/20 {
      border-color: color-mix(in oklab, var(--color-emerald-500) 20%, transparent);
    }
  }

  .border-emerald-500\/30 {
    border-color: #00bb7f4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-emerald-500\/30 {
      border-color: color-mix(in oklab, var(--color-emerald-500) 30%, transparent);
    }
  }

  .border-emerald-500\/40 {
    border-color: #00bb7f66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-emerald-500\/40 {
      border-color: color-mix(in oklab, var(--color-emerald-500) 40%, transparent);
    }
  }

  .border-emerald-500\/50 {
    border-color: #00bb7f80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-emerald-500\/50 {
      border-color: color-mix(in oklab, var(--color-emerald-500) 50%, transparent);
    }
  }

  .border-emerald-900\/30 {
    border-color: #004e3b4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-emerald-900\/30 {
      border-color: color-mix(in oklab, var(--color-emerald-900) 30%, transparent);
    }
  }

  .border-gray-200 {
    border-color: var(--color-gray-200);
  }

  .border-green-500\/15 {
    border-color: #00c75826;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-green-500\/15 {
      border-color: color-mix(in oklab, var(--color-green-500) 15%, transparent);
    }
  }

  .border-green-500\/20 {
    border-color: #00c75833;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-green-500\/20 {
      border-color: color-mix(in oklab, var(--color-green-500) 20%, transparent);
    }
  }

  .border-input {
    border-color: hsl(var(--input));
  }

  .border-muted-foreground\/30 {
    border-color: hsl(var(--muted-foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-muted-foreground\/30 {
      border-color: color-mix(in oklab, hsl(var(--muted-foreground)) 30%, transparent);
    }
  }

  .border-orange-500\/20 {
    border-color: #fe6e0033;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-orange-500\/20 {
      border-color: color-mix(in oklab, var(--color-orange-500) 20%, transparent);
    }
  }

  .border-orange-500\/30 {
    border-color: #fe6e004d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-orange-500\/30 {
      border-color: color-mix(in oklab, var(--color-orange-500) 30%, transparent);
    }
  }

  .border-primary, .border-primary\/10 {
    border-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-primary\/10 {
      border-color: color-mix(in oklab, hsl(var(--primary)) 10%, transparent);
    }
  }

  .border-primary\/20 {
    border-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-primary\/20 {
      border-color: color-mix(in oklab, hsl(var(--primary)) 20%, transparent);
    }
  }

  .border-primary\/50 {
    border-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-primary\/50 {
      border-color: color-mix(in oklab, hsl(var(--primary)) 50%, transparent);
    }
  }

  .border-purple-500\/20 {
    border-color: #ac4bff33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-purple-500\/20 {
      border-color: color-mix(in oklab, var(--color-purple-500) 20%, transparent);
    }
  }

  .border-red-400 {
    border-color: var(--color-red-400);
  }

  .border-red-500 {
    border-color: var(--color-red-500);
  }

  .border-red-500\/10 {
    border-color: #fb2c361a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-red-500\/10 {
      border-color: color-mix(in oklab, var(--color-red-500) 10%, transparent);
    }
  }

  .border-red-500\/20 {
    border-color: #fb2c3633;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-red-500\/20 {
      border-color: color-mix(in oklab, var(--color-red-500) 20%, transparent);
    }
  }

  .border-red-500\/30 {
    border-color: #fb2c364d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-red-500\/30 {
      border-color: color-mix(in oklab, var(--color-red-500) 30%, transparent);
    }
  }

  .border-red-500\/40 {
    border-color: #fb2c3666;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-red-500\/40 {
      border-color: color-mix(in oklab, var(--color-red-500) 40%, transparent);
    }
  }

  .border-red-500\/50 {
    border-color: #fb2c3680;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-red-500\/50 {
      border-color: color-mix(in oklab, var(--color-red-500) 50%, transparent);
    }
  }

  .border-red-900\/30 {
    border-color: #82181a4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-red-900\/30 {
      border-color: color-mix(in oklab, var(--color-red-900) 30%, transparent);
    }
  }

  .border-rose-500\/10 {
    border-color: #ff23571a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-rose-500\/10 {
      border-color: color-mix(in oklab, var(--color-rose-500) 10%, transparent);
    }
  }

  .border-rose-500\/20 {
    border-color: #ff235733;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-rose-500\/20 {
      border-color: color-mix(in oklab, var(--color-rose-500) 20%, transparent);
    }
  }

  .border-rose-500\/30 {
    border-color: #ff23574d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-rose-500\/30 {
      border-color: color-mix(in oklab, var(--color-rose-500) 30%, transparent);
    }
  }

  .border-rose-500\/50 {
    border-color: #ff235780;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-rose-500\/50 {
      border-color: color-mix(in oklab, var(--color-rose-500) 50%, transparent);
    }
  }

  .border-sidebar-border {
    border-color: hsl(var(--sidebar-border));
  }

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

  .border-violet-500\/20 {
    border-color: #8d54ff33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-violet-500\/20 {
      border-color: color-mix(in oklab, var(--color-violet-500) 20%, transparent);
    }
  }

  .border-white\/5 {
    border-color: #ffffff0d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/5 {
      border-color: color-mix(in oklab, var(--color-white) 5%, transparent);
    }
  }

  .border-white\/10 {
    border-color: #ffffff1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/10 {
      border-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }

  .border-white\/15 {
    border-color: #ffffff26;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/15 {
      border-color: color-mix(in oklab, var(--color-white) 15%, transparent);
    }
  }

  .border-yellow-500\/20 {
    border-color: #edb20033;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-yellow-500\/20 {
      border-color: color-mix(in oklab, var(--color-yellow-500) 20%, transparent);
    }
  }

  .border-yellow-500\/30 {
    border-color: #edb2004d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-yellow-500\/30 {
      border-color: color-mix(in oklab, var(--color-yellow-500) 30%, transparent);
    }
  }

  .border-zinc-700 {
    border-color: var(--color-zinc-700);
  }

  .border-zinc-700\/20 {
    border-color: #3f3f4633;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-zinc-700\/20 {
      border-color: color-mix(in oklab, var(--color-zinc-700) 20%, transparent);
    }
  }

  .border-zinc-800 {
    border-color: var(--color-zinc-800);
  }

  .border-zinc-800\/40 {
    border-color: #27272a66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-zinc-800\/40 {
      border-color: color-mix(in oklab, var(--color-zinc-800) 40%, transparent);
    }
  }

  .border-t-brand-gold, .border-t-primary {
    border-top-color: hsl(var(--primary));
  }

  .border-t-transparent {
    border-top-color: #0000;
  }

  .border-t-white {
    border-top-color: var(--color-white);
  }

  .border-l-brand-gold, .border-l-brand-gold\/20 {
    border-left-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-l-brand-gold\/20 {
      border-left-color: color-mix(in oklab, hsl(var(--primary)) 20%, transparent);
    }
  }

  .border-l-red-500\/50 {
    border-left-color: #fb2c3680;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-l-red-500\/50 {
      border-left-color: color-mix(in oklab, var(--color-red-500) 50%, transparent);
    }
  }

  .border-l-transparent {
    border-left-color: #0000;
  }

  .\!bg-brand-bg, .\!bg-brand-bg\/50 {
    background-color: hsl(var(--background)) !important;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .\!bg-brand-bg\/50 {
      background-color: color-mix(in oklab, hsl(var(--background)) 50%, transparent) !important;
    }
  }

  .\!bg-brand-card\/35 {
    background-color: hsl(var(--card)) !important;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .\!bg-brand-card\/35 {
      background-color: color-mix(in oklab, hsl(var(--card)) 35%, transparent) !important;
    }
  }

  .bg-\[\#0f0f0e\] {
    background-color: #0f0f0e;
  }

  .bg-\[\#0f0f0e\]\/90 {
    background-color: oklab(16.7992% -.000585087 .00196032 / .9);
  }

  .bg-\[\#22c55e\] {
    background-color: #22c55e;
  }

  .bg-\[\#121214\] {
    background-color: #121214;
  }

  .bg-\[\#161618\] {
    background-color: #161618;
  }

  .bg-\[\#171715\] {
    background-color: #171715;
  }

  .bg-\[\#c5a059\] {
    background-color: #c5a059;
  }

  .bg-\[\#c5a059\]\/10 {
    background-color: oklab(72.4545% .0132898 .0989303 / .1);
  }

  .bg-\[\#c5a059\]\/50 {
    background-color: oklab(72.4545% .0132898 .0989303 / .5);
  }

  .bg-\[--color-bg\] {
    background-color: --color-bg;
  }

  .bg-accent {
    background-color: hsl(var(--accent));
  }

  .bg-amber-500 {
    background-color: var(--color-amber-500);
  }

  .bg-amber-500\/5 {
    background-color: #f99c000d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-amber-500\/5 {
      background-color: color-mix(in oklab, var(--color-amber-500) 5%, transparent);
    }
  }

  .bg-amber-500\/10 {
    background-color: #f99c001a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-amber-500\/10 {
      background-color: color-mix(in oklab, var(--color-amber-500) 10%, transparent);
    }
  }

  .bg-amber-500\/15 {
    background-color: #f99c0026;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-amber-500\/15 {
      background-color: color-mix(in oklab, var(--color-amber-500) 15%, transparent);
    }
  }

  .bg-background, .bg-background\/10 {
    background-color: hsl(var(--background));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-background\/10 {
      background-color: color-mix(in oklab, hsl(var(--background)) 10%, transparent);
    }
  }

  .bg-background\/25 {
    background-color: hsl(var(--background));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-background\/25 {
      background-color: color-mix(in oklab, hsl(var(--background)) 25%, transparent);
    }
  }

  .bg-background\/30 {
    background-color: hsl(var(--background));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-background\/30 {
      background-color: color-mix(in oklab, hsl(var(--background)) 30%, transparent);
    }
  }

  .bg-background\/40 {
    background-color: hsl(var(--background));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-background\/40 {
      background-color: color-mix(in oklab, hsl(var(--background)) 40%, transparent);
    }
  }

  .bg-background\/50 {
    background-color: hsl(var(--background));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-background\/50 {
      background-color: color-mix(in oklab, hsl(var(--background)) 50%, transparent);
    }
  }

  .bg-background\/60 {
    background-color: hsl(var(--background));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-background\/60 {
      background-color: color-mix(in oklab, hsl(var(--background)) 60%, transparent);
    }
  }

  .bg-background\/80 {
    background-color: hsl(var(--background));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-background\/80 {
      background-color: color-mix(in oklab, hsl(var(--background)) 80%, transparent);
    }
  }

  .bg-background\/90 {
    background-color: hsl(var(--background));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-background\/90 {
      background-color: color-mix(in oklab, hsl(var(--background)) 90%, transparent);
    }
  }

  .bg-background\/95 {
    background-color: hsl(var(--background));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-background\/95 {
      background-color: color-mix(in oklab, hsl(var(--background)) 95%, transparent);
    }
  }

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

  .bg-black\/20 {
    background-color: #0003;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/20 {
      background-color: color-mix(in oklab, var(--color-black) 20%, transparent);
    }
  }

  .bg-black\/25 {
    background-color: #00000040;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/25 {
      background-color: color-mix(in oklab, var(--color-black) 25%, transparent);
    }
  }

  .bg-black\/40 {
    background-color: #0006;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/40 {
      background-color: color-mix(in oklab, var(--color-black) 40%, transparent);
    }
  }

  .bg-black\/50 {
    background-color: #00000080;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/50 {
      background-color: color-mix(in oklab, var(--color-black) 50%, transparent);
    }
  }

  .bg-black\/60 {
    background-color: #0009;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/60 {
      background-color: color-mix(in oklab, var(--color-black) 60%, transparent);
    }
  }

  .bg-black\/80 {
    background-color: #000c;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/80 {
      background-color: color-mix(in oklab, var(--color-black) 80%, transparent);
    }
  }

  .bg-black\/95 {
    background-color: #000000f2;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/95 {
      background-color: color-mix(in oklab, var(--color-black) 95%, transparent);
    }
  }

  .bg-black\/\[0\.03\] {
    background-color: #00000008;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/\[0\.03\] {
      background-color: color-mix(in oklab, var(--color-black) 3%, transparent);
    }
  }

  .bg-border {
    background-color: hsl(var(--border));
  }

  .bg-brand-bg, .bg-brand-bg\/30 {
    background-color: hsl(var(--background));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-bg\/30 {
      background-color: color-mix(in oklab, hsl(var(--background)) 30%, transparent);
    }
  }

  .bg-brand-bg\/40 {
    background-color: hsl(var(--background));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-bg\/40 {
      background-color: color-mix(in oklab, hsl(var(--background)) 40%, transparent);
    }
  }

  .bg-brand-bg\/50 {
    background-color: hsl(var(--background));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-bg\/50 {
      background-color: color-mix(in oklab, hsl(var(--background)) 50%, transparent);
    }
  }

  .bg-brand-bg\/60 {
    background-color: hsl(var(--background));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-bg\/60 {
      background-color: color-mix(in oklab, hsl(var(--background)) 60%, transparent);
    }
  }

  .bg-brand-bg\/80 {
    background-color: hsl(var(--background));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-bg\/80 {
      background-color: color-mix(in oklab, hsl(var(--background)) 80%, transparent);
    }
  }

  .bg-brand-bg\/90 {
    background-color: hsl(var(--background));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-bg\/90 {
      background-color: color-mix(in oklab, hsl(var(--background)) 90%, transparent);
    }
  }

  .bg-brand-bg\/95 {
    background-color: hsl(var(--background));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-bg\/95 {
      background-color: color-mix(in oklab, hsl(var(--background)) 95%, transparent);
    }
  }

  .bg-brand-card, .bg-brand-card\/10 {
    background-color: hsl(var(--card));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-card\/10 {
      background-color: color-mix(in oklab, hsl(var(--card)) 10%, transparent);
    }
  }

  .bg-brand-card\/20 {
    background-color: hsl(var(--card));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-card\/20 {
      background-color: color-mix(in oklab, hsl(var(--card)) 20%, transparent);
    }
  }

  .bg-brand-card\/30 {
    background-color: hsl(var(--card));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-card\/30 {
      background-color: color-mix(in oklab, hsl(var(--card)) 30%, transparent);
    }
  }

  .bg-brand-card\/35 {
    background-color: hsl(var(--card));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-card\/35 {
      background-color: color-mix(in oklab, hsl(var(--card)) 35%, transparent);
    }
  }

  .bg-brand-card\/50 {
    background-color: hsl(var(--card));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-card\/50 {
      background-color: color-mix(in oklab, hsl(var(--card)) 50%, transparent);
    }
  }

  .bg-brand-card\/90 {
    background-color: hsl(var(--card));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-card\/90 {
      background-color: color-mix(in oklab, hsl(var(--card)) 90%, transparent);
    }
  }

  .bg-brand-card\/95 {
    background-color: hsl(var(--card));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-card\/95 {
      background-color: color-mix(in oklab, hsl(var(--card)) 95%, transparent);
    }
  }

  .bg-brand-gold, .bg-brand-gold\/5 {
    background-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-gold\/5 {
      background-color: color-mix(in oklab, hsl(var(--primary)) 5%, transparent);
    }
  }

  .bg-brand-gold\/8 {
    background-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-gold\/8 {
      background-color: color-mix(in oklab, hsl(var(--primary)) 8%, transparent);
    }
  }

  .bg-brand-gold\/10 {
    background-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-gold\/10 {
      background-color: color-mix(in oklab, hsl(var(--primary)) 10%, transparent);
    }
  }

  .bg-brand-gold\/15 {
    background-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-gold\/15 {
      background-color: color-mix(in oklab, hsl(var(--primary)) 15%, transparent);
    }
  }

  .bg-brand-gold\/20 {
    background-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-gold\/20 {
      background-color: color-mix(in oklab, hsl(var(--primary)) 20%, transparent);
    }
  }

  .bg-brand-gold\/30 {
    background-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-gold\/30 {
      background-color: color-mix(in oklab, hsl(var(--primary)) 30%, transparent);
    }
  }

  .bg-brand-gold\/50 {
    background-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-gold\/50 {
      background-color: color-mix(in oklab, hsl(var(--primary)) 50%, transparent);
    }
  }

  .bg-brand-gold\/90 {
    background-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-gold\/90 {
      background-color: color-mix(in oklab, hsl(var(--primary)) 90%, transparent);
    }
  }

  .bg-brand-gold\/\[0\.02\] {
    background-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-gold\/\[0\.02\] {
      background-color: color-mix(in oklab, hsl(var(--primary)) 2%, transparent);
    }
  }

  .bg-brand-gold\/\[0\.03\] {
    background-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-gold\/\[0\.03\] {
      background-color: color-mix(in oklab, hsl(var(--primary)) 3%, transparent);
    }
  }

  .bg-brand-ink, .bg-brand-ink\/3 {
    background-color: hsl(var(--foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-ink\/3 {
      background-color: color-mix(in oklab, hsl(var(--foreground)) 3%, transparent);
    }
  }

  .bg-brand-ink\/5 {
    background-color: hsl(var(--foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-ink\/5 {
      background-color: color-mix(in oklab, hsl(var(--foreground)) 5%, transparent);
    }
  }

  .bg-brand-ink\/10 {
    background-color: hsl(var(--foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-ink\/10 {
      background-color: color-mix(in oklab, hsl(var(--foreground)) 10%, transparent);
    }
  }

  .bg-brand-ink\/20 {
    background-color: hsl(var(--foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-ink\/20 {
      background-color: color-mix(in oklab, hsl(var(--foreground)) 20%, transparent);
    }
  }

  .bg-brand-ink\/40 {
    background-color: hsl(var(--foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-ink\/40 {
      background-color: color-mix(in oklab, hsl(var(--foreground)) 40%, transparent);
    }
  }

  .bg-brand-ink\/\[0\.01\] {
    background-color: hsl(var(--foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-ink\/\[0\.01\] {
      background-color: color-mix(in oklab, hsl(var(--foreground)) 1%, transparent);
    }
  }

  .bg-brand-ink\/\[0\.02\] {
    background-color: hsl(var(--foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-ink\/\[0\.02\] {
      background-color: color-mix(in oklab, hsl(var(--foreground)) 2%, transparent);
    }
  }

  .bg-brand-ink\/\[0\.04\] {
    background-color: hsl(var(--foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-ink\/\[0\.04\] {
      background-color: color-mix(in oklab, hsl(var(--foreground)) 4%, transparent);
    }
  }

  .bg-card, .bg-card\/40 {
    background-color: hsl(var(--card));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-card\/40 {
      background-color: color-mix(in oklab, hsl(var(--card)) 40%, transparent);
    }
  }

  .bg-card\/60 {
    background-color: hsl(var(--card));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-card\/60 {
      background-color: color-mix(in oklab, hsl(var(--card)) 60%, transparent);
    }
  }

  .bg-card\/80 {
    background-color: hsl(var(--card));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-card\/80 {
      background-color: color-mix(in oklab, hsl(var(--card)) 80%, transparent);
    }
  }

  .bg-current {
    background-color: currentColor;
  }

  .bg-destructive, .bg-destructive\/10 {
    background-color: hsl(var(--destructive));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-destructive\/10 {
      background-color: color-mix(in oklab, hsl(var(--destructive)) 10%, transparent);
    }
  }

  .bg-emerald-500 {
    background-color: var(--color-emerald-500);
  }

  .bg-emerald-500\/5 {
    background-color: #00bb7f0d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-500\/5 {
      background-color: color-mix(in oklab, var(--color-emerald-500) 5%, transparent);
    }
  }

  .bg-emerald-500\/10 {
    background-color: #00bb7f1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-500\/10 {
      background-color: color-mix(in oklab, var(--color-emerald-500) 10%, transparent);
    }
  }

  .bg-emerald-500\/15 {
    background-color: #00bb7f26;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-500\/15 {
      background-color: color-mix(in oklab, var(--color-emerald-500) 15%, transparent);
    }
  }

  .bg-emerald-500\/30 {
    background-color: #00bb7f4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-500\/30 {
      background-color: color-mix(in oklab, var(--color-emerald-500) 30%, transparent);
    }
  }

  .bg-emerald-500\/90 {
    background-color: #00bb7fe6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-500\/90 {
      background-color: color-mix(in oklab, var(--color-emerald-500) 90%, transparent);
    }
  }

  .bg-emerald-950\/20 {
    background-color: #002c2233;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-950\/20 {
      background-color: color-mix(in oklab, var(--color-emerald-950) 20%, transparent);
    }
  }

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

  .bg-gray-50 {
    background-color: var(--color-gray-50);
  }

  .bg-green-500\/5 {
    background-color: #00c7580d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-green-500\/5 {
      background-color: color-mix(in oklab, var(--color-green-500) 5%, transparent);
    }
  }

  .bg-green-500\/8 {
    background-color: #00c75814;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-green-500\/8 {
      background-color: color-mix(in oklab, var(--color-green-500) 8%, transparent);
    }
  }

  .bg-green-500\/10 {
    background-color: #00c7581a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-green-500\/10 {
      background-color: color-mix(in oklab, var(--color-green-500) 10%, transparent);
    }
  }

  .bg-green-500\/15 {
    background-color: #00c75826;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-green-500\/15 {
      background-color: color-mix(in oklab, var(--color-green-500) 15%, transparent);
    }
  }

  .bg-input {
    background-color: hsl(var(--input));
  }

  .bg-muted, .bg-muted\/20 {
    background-color: hsl(var(--muted));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-muted\/20 {
      background-color: color-mix(in oklab, hsl(var(--muted)) 20%, transparent);
    }
  }

  .bg-muted\/30 {
    background-color: hsl(var(--muted));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-muted\/30 {
      background-color: color-mix(in oklab, hsl(var(--muted)) 30%, transparent);
    }
  }

  .bg-muted\/50 {
    background-color: hsl(var(--muted));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-muted\/50 {
      background-color: color-mix(in oklab, hsl(var(--muted)) 50%, transparent);
    }
  }

  .bg-orange-500\/10 {
    background-color: #fe6e001a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-orange-500\/10 {
      background-color: color-mix(in oklab, var(--color-orange-500) 10%, transparent);
    }
  }

  .bg-popover {
    background-color: hsl(var(--popover));
  }

  .bg-primary, .bg-primary\/0 {
    background-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-primary\/0 {
      background-color: color-mix(in oklab, hsl(var(--primary)) 0%, transparent);
    }
  }

  .bg-primary\/5 {
    background-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-primary\/5 {
      background-color: color-mix(in oklab, hsl(var(--primary)) 5%, transparent);
    }
  }

  .bg-primary\/10 {
    background-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-primary\/10 {
      background-color: color-mix(in oklab, hsl(var(--primary)) 10%, transparent);
    }
  }

  .bg-primary\/15 {
    background-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-primary\/15 {
      background-color: color-mix(in oklab, hsl(var(--primary)) 15%, transparent);
    }
  }

  .bg-primary\/20 {
    background-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-primary\/20 {
      background-color: color-mix(in oklab, hsl(var(--primary)) 20%, transparent);
    }
  }

  .bg-primary\/80 {
    background-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-primary\/80 {
      background-color: color-mix(in oklab, hsl(var(--primary)) 80%, transparent);
    }
  }

  .bg-primary\/90 {
    background-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-primary\/90 {
      background-color: color-mix(in oklab, hsl(var(--primary)) 90%, transparent);
    }
  }

  .bg-primary\/95 {
    background-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-primary\/95 {
      background-color: color-mix(in oklab, hsl(var(--primary)) 95%, transparent);
    }
  }

  .bg-purple-500\/10 {
    background-color: #ac4bff1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-purple-500\/10 {
      background-color: color-mix(in oklab, var(--color-purple-500) 10%, transparent);
    }
  }

  .bg-purple-600 {
    background-color: var(--color-purple-600);
  }

  .bg-purple-600\/10 {
    background-color: #9810fa1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-purple-600\/10 {
      background-color: color-mix(in oklab, var(--color-purple-600) 10%, transparent);
    }
  }

  .bg-red-500 {
    background-color: var(--color-red-500);
  }

  .bg-red-500\/5 {
    background-color: #fb2c360d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-red-500\/5 {
      background-color: color-mix(in oklab, var(--color-red-500) 5%, transparent);
    }
  }

  .bg-red-500\/10 {
    background-color: #fb2c361a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-red-500\/10 {
      background-color: color-mix(in oklab, var(--color-red-500) 10%, transparent);
    }
  }

  .bg-red-500\/15 {
    background-color: #fb2c3626;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-red-500\/15 {
      background-color: color-mix(in oklab, var(--color-red-500) 15%, transparent);
    }
  }

  .bg-red-500\/20 {
    background-color: #fb2c3633;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-red-500\/20 {
      background-color: color-mix(in oklab, var(--color-red-500) 20%, transparent);
    }
  }

  .bg-red-500\/25 {
    background-color: #fb2c3640;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-red-500\/25 {
      background-color: color-mix(in oklab, var(--color-red-500) 25%, transparent);
    }
  }

  .bg-red-500\/90 {
    background-color: #fb2c36e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-red-500\/90 {
      background-color: color-mix(in oklab, var(--color-red-500) 90%, transparent);
    }
  }

  .bg-red-600 {
    background-color: var(--color-red-600);
  }

  .bg-red-600\/40 {
    background-color: #e4001466;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-red-600\/40 {
      background-color: color-mix(in oklab, var(--color-red-600) 40%, transparent);
    }
  }

  .bg-red-950\/20 {
    background-color: #46080933;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-red-950\/20 {
      background-color: color-mix(in oklab, var(--color-red-950) 20%, transparent);
    }
  }

  .bg-rose-500 {
    background-color: var(--color-rose-500);
  }

  .bg-rose-500\/5 {
    background-color: #ff23570d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-rose-500\/5 {
      background-color: color-mix(in oklab, var(--color-rose-500) 5%, transparent);
    }
  }

  .bg-rose-500\/10 {
    background-color: #ff23571a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-rose-500\/10 {
      background-color: color-mix(in oklab, var(--color-rose-500) 10%, transparent);
    }
  }

  .bg-secondary, .bg-secondary\/10 {
    background-color: hsl(var(--secondary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-secondary\/10 {
      background-color: color-mix(in oklab, hsl(var(--secondary)) 10%, transparent);
    }
  }

  .bg-secondary\/20 {
    background-color: hsl(var(--secondary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-secondary\/20 {
      background-color: color-mix(in oklab, hsl(var(--secondary)) 20%, transparent);
    }
  }

  .bg-secondary\/30 {
    background-color: hsl(var(--secondary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-secondary\/30 {
      background-color: color-mix(in oklab, hsl(var(--secondary)) 30%, transparent);
    }
  }

  .bg-secondary\/40 {
    background-color: hsl(var(--secondary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-secondary\/40 {
      background-color: color-mix(in oklab, hsl(var(--secondary)) 40%, transparent);
    }
  }

  .bg-secondary\/50 {
    background-color: hsl(var(--secondary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-secondary\/50 {
      background-color: color-mix(in oklab, hsl(var(--secondary)) 50%, transparent);
    }
  }

  .bg-secondary\/80 {
    background-color: hsl(var(--secondary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-secondary\/80 {
      background-color: color-mix(in oklab, hsl(var(--secondary)) 80%, transparent);
    }
  }

  .bg-sidebar {
    background-color: hsl(var(--sidebar));
  }

  .bg-sidebar-border {
    background-color: hsl(var(--sidebar-border));
  }

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

  .bg-violet-500\/10 {
    background-color: #8d54ff1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-violet-500\/10 {
      background-color: color-mix(in oklab, var(--color-violet-500) 10%, transparent);
    }
  }

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

  .bg-white\/5 {
    background-color: #ffffff0d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/5 {
      background-color: color-mix(in oklab, var(--color-white) 5%, transparent);
    }
  }

  .bg-white\/10 {
    background-color: #ffffff1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/10 {
      background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }

  .bg-yellow-500\/10 {
    background-color: #edb2001a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-yellow-500\/10 {
      background-color: color-mix(in oklab, var(--color-yellow-500) 10%, transparent);
    }
  }

  .bg-yellow-500\/20 {
    background-color: #edb20033;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-yellow-500\/20 {
      background-color: color-mix(in oklab, var(--color-yellow-500) 20%, transparent);
    }
  }

  .bg-yellow-500\/25 {
    background-color: #edb20040;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-yellow-500\/25 {
      background-color: color-mix(in oklab, var(--color-yellow-500) 25%, transparent);
    }
  }

  .bg-zinc-800 {
    background-color: var(--color-zinc-800);
  }

  .bg-zinc-800\/20 {
    background-color: #27272a33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-zinc-800\/20 {
      background-color: color-mix(in oklab, var(--color-zinc-800) 20%, transparent);
    }
  }

  .bg-zinc-900 {
    background-color: var(--color-zinc-900);
  }

  .bg-zinc-900\/20 {
    background-color: #18181b33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-zinc-900\/20 {
      background-color: color-mix(in oklab, var(--color-zinc-900) 20%, transparent);
    }
  }

  .bg-zinc-900\/40 {
    background-color: #18181b66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-zinc-900\/40 {
      background-color: color-mix(in oklab, var(--color-zinc-900) 40%, transparent);
    }
  }

  .bg-zinc-900\/50 {
    background-color: #18181b80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-zinc-900\/50 {
      background-color: color-mix(in oklab, var(--color-zinc-900) 50%, transparent);
    }
  }

  .bg-zinc-950 {
    background-color: var(--color-zinc-950);
  }

  .bg-zinc-950\/20 {
    background-color: #09090b33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-zinc-950\/20 {
      background-color: color-mix(in oklab, var(--color-zinc-950) 20%, transparent);
    }
  }

  .bg-zinc-950\/40 {
    background-color: #09090b66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-zinc-950\/40 {
      background-color: color-mix(in oklab, var(--color-zinc-950) 40%, transparent);
    }
  }

  .bg-gradient-to-r {
    --tw-gradient-position: to right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .from-brand-gold {
    --tw-gradient-from: hsl(var(--primary));
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-brand-gold\/5 {
    --tw-gradient-from: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-brand-gold\/5 {
      --tw-gradient-from: color-mix(in oklab, hsl(var(--primary)) 5%, transparent);
    }
  }

  .from-brand-gold\/5 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .via-amber-200 {
    --tw-gradient-via: var(--color-amber-200);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .to-brand-gold {
    --tw-gradient-to: hsl(var(--primary));
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-transparent {
    --tw-gradient-to: transparent;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .bg-clip-text {
    -webkit-background-clip: text;
    background-clip: text;
  }

  .fill-brand-bg {
    fill: hsl(var(--background));
  }

  .fill-brand-gold {
    fill: hsl(var(--primary));
  }

  .fill-current {
    fill: currentColor;
  }

  .fill-primary {
    fill: hsl(var(--primary));
  }

  .fill-rose-500 {
    fill: var(--color-rose-500);
  }

  .fill-yellow-500 {
    fill: var(--color-yellow-500);
  }

  .stroke-1 {
    stroke-width: 1px;
  }

  .stroke-\[2\.5\] {
    stroke-width: 2.5px;
  }

  .stroke-\[2\] {
    stroke-width: 2px;
  }

  .stroke-\[3\] {
    stroke-width: 3px;
  }

  .stroke-\[4\] {
    stroke-width: 4px;
  }

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

  .object-cover {
    object-fit: cover;
  }

  .\!p-4 {
    padding: calc(var(--spacing) * 4) !important;
  }

  .p-0 {
    padding: calc(var(--spacing) * 0);
  }

  .p-0\.5 {
    padding: calc(var(--spacing) * .5);
  }

  .p-1 {
    padding: calc(var(--spacing) * 1);
  }

  .p-1\.5 {
    padding: calc(var(--spacing) * 1.5);
  }

  .p-2 {
    padding: calc(var(--spacing) * 2);
  }

  .p-2\.5 {
    padding: calc(var(--spacing) * 2.5);
  }

  .p-3 {
    padding: calc(var(--spacing) * 3);
  }

  .p-3\.5 {
    padding: calc(var(--spacing) * 3.5);
  }

  .p-4 {
    padding: calc(var(--spacing) * 4);
  }

  .p-5 {
    padding: calc(var(--spacing) * 5);
  }

  .p-6 {
    padding: calc(var(--spacing) * 6);
  }

  .p-8 {
    padding: calc(var(--spacing) * 8);
  }

  .p-12 {
    padding: calc(var(--spacing) * 12);
  }

  .p-\[1px\] {
    padding: 1px;
  }

  .p-\[8px\] {
    padding: 8px;
  }

  .px-0 {
    padding-inline: calc(var(--spacing) * 0);
  }

  .px-0\.5 {
    padding-inline: calc(var(--spacing) * .5);
  }

  .px-1 {
    padding-inline: calc(var(--spacing) * 1);
  }

  .px-1\.5 {
    padding-inline: calc(var(--spacing) * 1.5);
  }

  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }

  .px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }

  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }

  .px-3\.5 {
    padding-inline: calc(var(--spacing) * 3.5);
  }

  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }

  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }

  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }

  .px-8 {
    padding-inline: calc(var(--spacing) * 8);
  }

  .px-\[--cell-size\] {
    padding-inline: --cell-size;
  }

  .py-0 {
    padding-block: calc(var(--spacing) * 0);
  }

  .py-0\.5 {
    padding-block: calc(var(--spacing) * .5);
  }

  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }

  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }

  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }

  .py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }

  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }

  .py-3\.5 {
    padding-block: calc(var(--spacing) * 3.5);
  }

  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }

  .py-5 {
    padding-block: calc(var(--spacing) * 5);
  }

  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }

  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }

  .py-10 {
    padding-block: calc(var(--spacing) * 10);
  }

  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }

  .py-16 {
    padding-block: calc(var(--spacing) * 16);
  }

  .py-20 {
    padding-block: calc(var(--spacing) * 20);
  }

  .pt-0 {
    padding-top: calc(var(--spacing) * 0);
  }

  .pt-1 {
    padding-top: calc(var(--spacing) * 1);
  }

  .pt-1\.5 {
    padding-top: calc(var(--spacing) * 1.5);
  }

  .pt-2 {
    padding-top: calc(var(--spacing) * 2);
  }

  .pt-2\.5 {
    padding-top: calc(var(--spacing) * 2.5);
  }

  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }

  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }

  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }

  .pt-8 {
    padding-top: calc(var(--spacing) * 8);
  }

  .pt-10 {
    padding-top: calc(var(--spacing) * 10);
  }

  .pt-12 {
    padding-top: calc(var(--spacing) * 12);
  }

  .pr-1 {
    padding-right: calc(var(--spacing) * 1);
  }

  .pr-2 {
    padding-right: calc(var(--spacing) * 2);
  }

  .pr-2\.5 {
    padding-right: calc(var(--spacing) * 2.5);
  }

  .pr-3 {
    padding-right: calc(var(--spacing) * 3);
  }

  .pr-4 {
    padding-right: calc(var(--spacing) * 4);
  }

  .pr-8 {
    padding-right: calc(var(--spacing) * 8);
  }

  .pr-9 {
    padding-right: calc(var(--spacing) * 9);
  }

  .pr-10 {
    padding-right: calc(var(--spacing) * 10);
  }

  .pr-16 {
    padding-right: calc(var(--spacing) * 16);
  }

  .pb-0 {
    padding-bottom: calc(var(--spacing) * 0);
  }

  .pb-1 {
    padding-bottom: calc(var(--spacing) * 1);
  }

  .pb-2 {
    padding-bottom: calc(var(--spacing) * 2);
  }

  .pb-2\.5 {
    padding-bottom: calc(var(--spacing) * 2.5);
  }

  .pb-3 {
    padding-bottom: calc(var(--spacing) * 3);
  }

  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }

  .pb-6 {
    padding-bottom: calc(var(--spacing) * 6);
  }

  .pb-8 {
    padding-bottom: calc(var(--spacing) * 8);
  }

  .pb-12 {
    padding-bottom: calc(var(--spacing) * 12);
  }

  .pb-20 {
    padding-bottom: calc(var(--spacing) * 20);
  }

  .pb-24 {
    padding-bottom: calc(var(--spacing) * 24);
  }

  .pb-28 {
    padding-bottom: calc(var(--spacing) * 28);
  }

  .pb-36 {
    padding-bottom: calc(var(--spacing) * 36);
  }

  .\!pl-7 {
    padding-left: calc(var(--spacing) * 7) !important;
  }

  .\!pl-8 {
    padding-left: calc(var(--spacing) * 8) !important;
  }

  .\!pl-9 {
    padding-left: calc(var(--spacing) * 9) !important;
  }

  .pl-1 {
    padding-left: calc(var(--spacing) * 1);
  }

  .pl-2 {
    padding-left: calc(var(--spacing) * 2);
  }

  .pl-2\.5 {
    padding-left: calc(var(--spacing) * 2.5);
  }

  .pl-3 {
    padding-left: calc(var(--spacing) * 3);
  }

  .pl-4 {
    padding-left: calc(var(--spacing) * 4);
  }

  .pl-5 {
    padding-left: calc(var(--spacing) * 5);
  }

  .pl-8 {
    padding-left: calc(var(--spacing) * 8);
  }

  .pl-9 {
    padding-left: calc(var(--spacing) * 9);
  }

  .pl-10 {
    padding-left: calc(var(--spacing) * 10);
  }

  .pl-11 {
    padding-left: calc(var(--spacing) * 11);
  }

  .pl-12 {
    padding-left: calc(var(--spacing) * 12);
  }

  .pl-\[6px\] {
    padding-left: 6px;
  }

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

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

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

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

  .font-mono {
    font-family: var(--app-font-mono);
  }

  .font-sans {
    font-family: var(--app-font-sans);
  }

  .font-serif {
    font-family: var(--app-font-serif);
  }

  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }

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

  .text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }

  .text-5xl {
    font-size: var(--text-5xl);
    line-height: var(--tw-leading, var(--text-5xl--line-height));
  }

  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }

  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }

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

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

  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }

  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .text-\[0\.7em\] {
    font-size: .7em;
  }

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

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

  .text-\[0\.65em\] {
    font-size: .65em;
  }

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

  .text-\[0\.85em\] {
    font-size: .85em;
  }

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

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

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

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

  .text-\[7\.5px\] {
    font-size: 7.5px;
  }

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

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

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

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

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

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

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

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

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

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

  .leading-normal {
    --tw-leading: var(--leading-normal);
    line-height: var(--leading-normal);
  }

  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }

  .leading-snug {
    --tw-leading: var(--leading-snug);
    line-height: var(--leading-snug);
  }

  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }

  .font-black {
    --tw-font-weight: var(--font-weight-black);
    font-weight: var(--font-weight-black);
  }

  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }

  .font-extrabold {
    --tw-font-weight: var(--font-weight-extrabold);
    font-weight: var(--font-weight-extrabold);
  }

  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }

  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }

  .tracking-\[0\.1em\] {
    --tw-tracking: .1em;
    letter-spacing: .1em;
  }

  .tracking-\[0\.2em\] {
    --tw-tracking: .2em;
    letter-spacing: .2em;
  }

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

  .tracking-\[0\.4em\] {
    --tw-tracking: .4em;
    letter-spacing: .4em;
  }

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

  .tracking-\[0\.6em\] {
    --tw-tracking: .6em;
    letter-spacing: .6em;
  }

  .tracking-\[0\.15em\] {
    --tw-tracking: .15em;
    letter-spacing: .15em;
  }

  .tracking-\[0\.25em\] {
    --tw-tracking: .25em;
    letter-spacing: .25em;
  }

  .tracking-normal {
    --tw-tracking: var(--tracking-normal);
    letter-spacing: var(--tracking-normal);
  }

  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }

  .tracking-tighter {
    --tw-tracking: var(--tracking-tighter);
    letter-spacing: var(--tracking-tighter);
  }

  .tracking-wide {
    --tw-tracking: var(--tracking-wide);
    letter-spacing: var(--tracking-wide);
  }

  .tracking-wider {
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
  }

  .tracking-widest {
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
  }

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

  .\!break-words {
    overflow-wrap: break-word !important;
  }

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

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

  .\!whitespace-normal {
    white-space: normal !important;
  }

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

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

  .whitespace-pre-line {
    white-space: pre-line;
  }

  .whitespace-pre-wrap {
    white-space: pre-wrap;
  }

  .\!text-\[\#22c55e\] {
    color: #22c55e !important;
  }

  .\!text-brand-ink {
    color: hsl(var(--foreground)) !important;
  }

  .text-\[\#0f0f0e\] {
    color: #0f0f0e;
  }

  .text-\[\#c5a059\] {
    color: #c5a059;
  }

  .text-\[\#d4af37\] {
    color: #d4af37;
  }

  .text-accent-foreground {
    color: hsl(var(--accent-foreground));
  }

  .text-amber-200 {
    color: var(--color-amber-200);
  }

  .text-amber-300 {
    color: var(--color-amber-300);
  }

  .text-amber-400 {
    color: var(--color-amber-400);
  }

  .text-amber-400\/80 {
    color: #fcbb00cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-amber-400\/80 {
      color: color-mix(in oklab, var(--color-amber-400) 80%, transparent);
    }
  }

  .text-amber-500 {
    color: var(--color-amber-500);
  }

  .text-amber-500\/90 {
    color: #f99c00e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-amber-500\/90 {
      color: color-mix(in oklab, var(--color-amber-500) 90%, transparent);
    }
  }

  .text-amber-600 {
    color: var(--color-amber-600);
  }

  .text-black {
    color: var(--color-black);
  }

  .text-blue-400 {
    color: var(--color-blue-400);
  }

  .text-border {
    color: hsl(var(--border));
  }

  .text-brand-bg, .text-brand-bg\/50 {
    color: hsl(var(--background));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-brand-bg\/50 {
      color: color-mix(in oklab, hsl(var(--background)) 50%, transparent);
    }
  }

  .text-brand-gold, .text-brand-gold\/40 {
    color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-brand-gold\/40 {
      color: color-mix(in oklab, hsl(var(--primary)) 40%, transparent);
    }
  }

  .text-brand-gold\/50 {
    color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-brand-gold\/50 {
      color: color-mix(in oklab, hsl(var(--primary)) 50%, transparent);
    }
  }

  .text-brand-gold\/60 {
    color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-brand-gold\/60 {
      color: color-mix(in oklab, hsl(var(--primary)) 60%, transparent);
    }
  }

  .text-brand-gold\/65 {
    color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-brand-gold\/65 {
      color: color-mix(in oklab, hsl(var(--primary)) 65%, transparent);
    }
  }

  .text-brand-gold\/70 {
    color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-brand-gold\/70 {
      color: color-mix(in oklab, hsl(var(--primary)) 70%, transparent);
    }
  }

  .text-brand-gold\/80 {
    color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-brand-gold\/80 {
      color: color-mix(in oklab, hsl(var(--primary)) 80%, transparent);
    }
  }

  .text-brand-gold\/85 {
    color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-brand-gold\/85 {
      color: color-mix(in oklab, hsl(var(--primary)) 85%, transparent);
    }
  }

  .text-brand-gold\/90 {
    color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-brand-gold\/90 {
      color: color-mix(in oklab, hsl(var(--primary)) 90%, transparent);
    }
  }

  .text-brand-ink, .text-brand-ink\/20 {
    color: hsl(var(--foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-brand-ink\/20 {
      color: color-mix(in oklab, hsl(var(--foreground)) 20%, transparent);
    }
  }

  .text-brand-ink\/30 {
    color: hsl(var(--foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-brand-ink\/30 {
      color: color-mix(in oklab, hsl(var(--foreground)) 30%, transparent);
    }
  }

  .text-brand-ink\/40 {
    color: hsl(var(--foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-brand-ink\/40 {
      color: color-mix(in oklab, hsl(var(--foreground)) 40%, transparent);
    }
  }

  .text-brand-ink\/50 {
    color: hsl(var(--foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-brand-ink\/50 {
      color: color-mix(in oklab, hsl(var(--foreground)) 50%, transparent);
    }
  }

  .text-brand-ink\/60 {
    color: hsl(var(--foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-brand-ink\/60 {
      color: color-mix(in oklab, hsl(var(--foreground)) 60%, transparent);
    }
  }

  .text-brand-ink\/65 {
    color: hsl(var(--foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-brand-ink\/65 {
      color: color-mix(in oklab, hsl(var(--foreground)) 65%, transparent);
    }
  }

  .text-brand-ink\/70 {
    color: hsl(var(--foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-brand-ink\/70 {
      color: color-mix(in oklab, hsl(var(--foreground)) 70%, transparent);
    }
  }

  .text-brand-ink\/75 {
    color: hsl(var(--foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-brand-ink\/75 {
      color: color-mix(in oklab, hsl(var(--foreground)) 75%, transparent);
    }
  }

  .text-brand-ink\/80 {
    color: hsl(var(--foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-brand-ink\/80 {
      color: color-mix(in oklab, hsl(var(--foreground)) 80%, transparent);
    }
  }

  .text-brand-ink\/90 {
    color: hsl(var(--foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-brand-ink\/90 {
      color: color-mix(in oklab, hsl(var(--foreground)) 90%, transparent);
    }
  }

  .text-card-foreground {
    color: hsl(var(--card-foreground));
  }

  .text-current {
    color: currentColor;
  }

  .text-destructive {
    color: hsl(var(--destructive));
  }

  .text-destructive-foreground {
    color: hsl(var(--destructive-foreground));
  }

  .text-destructive\/90 {
    color: hsl(var(--destructive));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-destructive\/90 {
      color: color-mix(in oklab, hsl(var(--destructive)) 90%, transparent);
    }
  }

  .text-emerald-300 {
    color: var(--color-emerald-300);
  }

  .text-emerald-400 {
    color: var(--color-emerald-400);
  }

  .text-emerald-500 {
    color: var(--color-emerald-500);
  }

  .text-emerald-600 {
    color: var(--color-emerald-600);
  }

  .text-foreground, .text-foreground\/50 {
    color: hsl(var(--foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-foreground\/50 {
      color: color-mix(in oklab, hsl(var(--foreground)) 50%, transparent);
    }
  }

  .text-foreground\/70 {
    color: hsl(var(--foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-foreground\/70 {
      color: color-mix(in oklab, hsl(var(--foreground)) 70%, transparent);
    }
  }

  .text-foreground\/80 {
    color: hsl(var(--foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-foreground\/80 {
      color: color-mix(in oklab, hsl(var(--foreground)) 80%, transparent);
    }
  }

  .text-foreground\/90 {
    color: hsl(var(--foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-foreground\/90 {
      color: color-mix(in oklab, hsl(var(--foreground)) 90%, transparent);
    }
  }

  .text-gray-600 {
    color: var(--color-gray-600);
  }

  .text-gray-900 {
    color: var(--color-gray-900);
  }

  .text-green-400 {
    color: var(--color-green-400);
  }

  .text-green-400\/60 {
    color: #05df7299;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-green-400\/60 {
      color: color-mix(in oklab, var(--color-green-400) 60%, transparent);
    }
  }

  .text-green-500 {
    color: var(--color-green-500);
  }

  .text-green-600 {
    color: var(--color-green-600);
  }

  .text-muted-foreground, .text-muted-foreground\/30 {
    color: hsl(var(--muted-foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-muted-foreground\/30 {
      color: color-mix(in oklab, hsl(var(--muted-foreground)) 30%, transparent);
    }
  }

  .text-muted-foreground\/50 {
    color: hsl(var(--muted-foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-muted-foreground\/50 {
      color: color-mix(in oklab, hsl(var(--muted-foreground)) 50%, transparent);
    }
  }

  .text-muted-foreground\/60 {
    color: hsl(var(--muted-foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-muted-foreground\/60 {
      color: color-mix(in oklab, hsl(var(--muted-foreground)) 60%, transparent);
    }
  }

  .text-muted-foreground\/70 {
    color: hsl(var(--muted-foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-muted-foreground\/70 {
      color: color-mix(in oklab, hsl(var(--muted-foreground)) 70%, transparent);
    }
  }

  .text-orange-400 {
    color: var(--color-orange-400);
  }

  .text-orange-500 {
    color: var(--color-orange-500);
  }

  .text-popover-foreground {
    color: hsl(var(--popover-foreground));
  }

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

  .text-primary-foreground {
    color: hsl(var(--primary-foreground));
  }

  .text-primary\/70 {
    color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-primary\/70 {
      color: color-mix(in oklab, hsl(var(--primary)) 70%, transparent);
    }
  }

  .text-primary\/80 {
    color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-primary\/80 {
      color: color-mix(in oklab, hsl(var(--primary)) 80%, transparent);
    }
  }

  .text-purple-400 {
    color: var(--color-purple-400);
  }

  .text-red-200 {
    color: var(--color-red-200);
  }

  .text-red-300 {
    color: var(--color-red-300);
  }

  .text-red-400 {
    color: var(--color-red-400);
  }

  .text-red-400\/80 {
    color: #ff6568cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-red-400\/80 {
      color: color-mix(in oklab, var(--color-red-400) 80%, transparent);
    }
  }

  .text-red-500 {
    color: var(--color-red-500);
  }

  .text-red-500\/40 {
    color: #fb2c3666;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-red-500\/40 {
      color: color-mix(in oklab, var(--color-red-500) 40%, transparent);
    }
  }

  .text-red-500\/60 {
    color: #fb2c3699;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-red-500\/60 {
      color: color-mix(in oklab, var(--color-red-500) 60%, transparent);
    }
  }

  .text-red-500\/70 {
    color: #fb2c36b3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-red-500\/70 {
      color: color-mix(in oklab, var(--color-red-500) 70%, transparent);
    }
  }

  .text-red-500\/80 {
    color: #fb2c36cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-red-500\/80 {
      color: color-mix(in oklab, var(--color-red-500) 80%, transparent);
    }
  }

  .text-red-500\/90 {
    color: #fb2c36e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-red-500\/90 {
      color: color-mix(in oklab, var(--color-red-500) 90%, transparent);
    }
  }

  .text-red-600 {
    color: var(--color-red-600);
  }

  .text-rose-400 {
    color: var(--color-rose-400);
  }

  .text-rose-500 {
    color: var(--color-rose-500);
  }

  .text-secondary-foreground {
    color: hsl(var(--secondary-foreground));
  }

  .text-sidebar-foreground, .text-sidebar-foreground\/70 {
    color: hsl(var(--sidebar-foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-sidebar-foreground\/70 {
      color: color-mix(in oklab, hsl(var(--sidebar-foreground)) 70%, transparent);
    }
  }

  .text-sky-400 {
    color: var(--color-sky-400);
  }

  .text-violet-500 {
    color: var(--color-violet-500);
  }

  .text-white {
    color: var(--color-white);
  }

  .text-white\/30 {
    color: #ffffff4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/30 {
      color: color-mix(in oklab, var(--color-white) 30%, transparent);
    }
  }

  .text-white\/50 {
    color: #ffffff80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/50 {
      color: color-mix(in oklab, var(--color-white) 50%, transparent);
    }
  }

  .text-white\/70 {
    color: #ffffffb3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/70 {
      color: color-mix(in oklab, var(--color-white) 70%, transparent);
    }
  }

  .text-yellow-500 {
    color: var(--color-yellow-500);
  }

  .text-zinc-100 {
    color: var(--color-zinc-100);
  }

  .text-zinc-200 {
    color: var(--color-zinc-200);
  }

  .text-zinc-300 {
    color: var(--color-zinc-300);
  }

  .text-zinc-400 {
    color: var(--color-zinc-400);
  }

  .text-zinc-500 {
    color: var(--color-zinc-500);
  }

  .text-zinc-500\/60 {
    color: #71717b99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-zinc-500\/60 {
      color: color-mix(in oklab, var(--color-zinc-500) 60%, transparent);
    }
  }

  .text-zinc-600 {
    color: var(--color-zinc-600);
  }

  .lowercase {
    text-transform: lowercase;
  }

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

  .uppercase {
    text-transform: uppercase;
  }

  .italic {
    font-style: italic;
  }

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

  .line-through {
    text-decoration-line: line-through;
  }

  .underline {
    text-decoration-line: underline;
  }

  .decoration-brand-gold\/30 {
    -webkit-text-decoration-color: hsl(var(--primary));
    -webkit-text-decoration-color: hsl(var(--primary));
    text-decoration-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .decoration-brand-gold\/30 {
      -webkit-text-decoration-color: color-mix(in oklab, hsl(var(--primary)) 30%, transparent);
      -webkit-text-decoration-color: color-mix(in oklab, hsl(var(--primary)) 30%, transparent);
      text-decoration-color: color-mix(in oklab, hsl(var(--primary)) 30%, transparent);
    }
  }

  .underline-offset-4 {
    text-underline-offset: 4px;
  }

  .placeholder-brand-gold\/30::placeholder {
    color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .placeholder-brand-gold\/30::placeholder {
      color: color-mix(in oklab, hsl(var(--primary)) 30%, transparent);
    }
  }

  .placeholder-brand-ink\/30::placeholder {
    color: hsl(var(--foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .placeholder-brand-ink\/30::placeholder {
      color: color-mix(in oklab, hsl(var(--foreground)) 30%, transparent);
    }
  }

  .placeholder-brand-ink\/50::placeholder {
    color: hsl(var(--foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .placeholder-brand-ink\/50::placeholder {
      color: color-mix(in oklab, hsl(var(--foreground)) 50%, transparent);
    }
  }

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

  .placeholder-white\/20::placeholder {
    color: #fff3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .placeholder-white\/20::placeholder {
      color: color-mix(in oklab, var(--color-white) 20%, transparent);
    }
  }

  .placeholder-zinc-600::placeholder {
    color: var(--color-zinc-600);
  }

  .accent-brand-gold {
    accent-color: hsl(var(--primary));
  }

  .opacity-0 {
    opacity: 0;
  }

  .opacity-5 {
    opacity: .05;
  }

  .opacity-10 {
    opacity: .1;
  }

  .opacity-20 {
    opacity: .2;
  }

  .opacity-25 {
    opacity: .25;
  }

  .opacity-30 {
    opacity: .3;
  }

  .opacity-35 {
    opacity: .35;
  }

  .opacity-40 {
    opacity: .4;
  }

  .opacity-45 {
    opacity: .45;
  }

  .opacity-50 {
    opacity: .5;
  }

  .opacity-60 {
    opacity: .6;
  }

  .opacity-65 {
    opacity: .65;
  }

  .opacity-70 {
    opacity: .7;
  }

  .opacity-75 {
    opacity: .75;
  }

  .opacity-80 {
    opacity: .8;
  }

  .opacity-90 {
    opacity: .9;
  }

  .opacity-95 {
    opacity: .95;
  }

  .opacity-100 {
    opacity: 1;
  }

  .opacity-100\! {
    opacity: 1 !important;
  }

  .opacity-\[0\.03\] {
    opacity: .03;
  }

  .mix-blend-overlay {
    mix-blend-mode: overlay;
  }

  .mix-blend-screen {
    mix-blend-mode: screen;
  }

  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-2xl {
    --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, #00000040);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\] {
    --tw-shadow: 0 0 0 1px var(--tw-shadow-color, hsl(var(--sidebar-border)));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_8px_\#c5a059\] {
    --tw-shadow: 0 0 8px var(--tw-shadow-color, #c5a059);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_10px_rgba\(197\,160\,89\,0\.5\)\] {
    --tw-shadow: 0 0 10px var(--tw-shadow-color, #c5a05980);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_20px_rgba\(197\,160\,89\,0\.3\)\] {
    --tw-shadow: 0 0 20px var(--tw-shadow-color, #c5a0594d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_30px_rgba\(255\,255\,255\,0\.2\)\] {
    --tw-shadow: 0 0 30px var(--tw-shadow-color, #fff3);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_50px_rgba\(197\,160\,89\,0\.3\)\] {
    --tw-shadow: 0 0 50px var(--tw-shadow-color, #c5a0594d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_60px_rgba\(197\,160\,89\,0\.15\)\] {
    --tw-shadow: 0 0 60px var(--tw-shadow-color, #c5a05926);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_80px_rgba\(197\,160\,89\,0\.25\)\] {
    --tw-shadow: 0 0 80px var(--tw-shadow-color, #c5a05940);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_4px_10px_rgba\(197\,160\,89\,0\.2\)\] {
    --tw-shadow: 0 4px 10px var(--tw-shadow-color, #c5a05933);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_4px_10px_rgba\(197\,160\,89\,0\.25\)\] {
    --tw-shadow: 0 4px 10px var(--tw-shadow-color, #c5a05940);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_4px_20px_-10px_rgba\(0\,0\,0\,0\.1\)\] {
    --tw-shadow: 0 4px 20px -10px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_6px_15px_rgba\(197\,160\,89\,0\.25\)\] {
    --tw-shadow: 0 6px 15px var(--tw-shadow-color, #c5a05940);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-inner {
    --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, #0000000d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-md {
    --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-none {
    --tw-shadow: 0 0 #0000;
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-xl {
    --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-xs {
    --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, #0000000d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring-0 {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring-1 {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring-2 {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-brand-gold\/5 {
    --tw-shadow-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-brand-gold\/5 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, hsl(var(--primary)) 5%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-brand-gold\/10 {
    --tw-shadow-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-brand-gold\/10 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, hsl(var(--primary)) 10%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-brand-gold\/15 {
    --tw-shadow-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-brand-gold\/15 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, hsl(var(--primary)) 15%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-brand-gold\/20 {
    --tw-shadow-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-brand-gold\/20 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, hsl(var(--primary)) 20%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-primary\/5 {
    --tw-shadow-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-primary\/5 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, hsl(var(--primary)) 5%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-red-500\/10 {
    --tw-shadow-color: #fb2c361a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-red-500\/10 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-red-500) 10%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-rose-500\/20 {
    --tw-shadow-color: #ff235733;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-rose-500\/20 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-rose-500) 20%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .ring-brand-gold\/50 {
    --tw-ring-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-brand-gold\/50 {
      --tw-ring-color: color-mix(in oklab, hsl(var(--primary)) 50%, transparent);
    }
  }

  .ring-primary\/50 {
    --tw-ring-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-primary\/50 {
      --tw-ring-color: color-mix(in oklab, hsl(var(--primary)) 50%, transparent);
    }
  }

  .ring-ring {
    --tw-ring-color: hsl(var(--ring));
  }

  .ring-sidebar-ring {
    --tw-ring-color: hsl(var(--sidebar-ring));
  }

  .ring-offset-background {
    --tw-ring-offset-color: hsl(var(--background));
  }

  .outline-hidden {
    --tw-outline-style: none;
    outline-style: none;
  }

  @media (forced-colors: active) {
    .outline-hidden {
      outline-offset: 2px;
      outline: 2px solid #0000;
    }
  }

  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .outline-2 {
    outline-style: var(--tw-outline-style);
    outline-width: 2px;
  }

  .outline-offset-2 {
    outline-offset: 2px;
  }

  .outline-transparent {
    outline-color: #0000;
  }

  .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-3xl {
    --tw-blur: blur(var(--blur-3xl));
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .blur-\[100px\] {
    --tw-blur: blur(100px);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .blur-\[120px\] {
    --tw-blur: blur(120px);
    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-sm {
    --tw-blur: blur(var(--blur-sm));
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .filter {
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .backdrop-blur-2xl {
    --tw-backdrop-blur: blur(var(--blur-2xl));
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: 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-lg {
    --tw-backdrop-blur: blur(var(--blur-lg));
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: 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-md {
    --tw-backdrop-blur: blur(var(--blur-md));
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: 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(var(--blur-sm));
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: 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(var(--blur-xl));
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: 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, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-\[color\,box-shadow\] {
    transition-property: color, box-shadow;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-\[left\,right\,width\] {
    transition-property: left, right, width;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-\[margin\,opacity\] {
    transition-property: margin, opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-\[width\,height\,padding\] {
    transition-property: width, height, padding;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-\[width\] {
    transition-property: width;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-opacity {
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .duration-100 {
    --tw-duration: .1s;
    transition-duration: .1s;
  }

  .duration-200 {
    --tw-duration: .2s;
    transition-duration: .2s;
  }

  .duration-300 {
    --tw-duration: .3s;
    transition-duration: .3s;
  }

  .duration-500 {
    --tw-duration: .5s;
    transition-duration: .5s;
  }

  .duration-1000 {
    --tw-duration: 1s;
    transition-duration: 1s;
  }

  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }

  .ease-linear {
    --tw-ease: linear;
    transition-timing-function: linear;
  }

  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }

  .fade-in-0 {
    --tw-enter-opacity: 0;
  }

  .outline-none {
    --tw-outline-style: none;
    outline-style: none;
  }

  .select-all {
    -webkit-user-select: all;
    user-select: all;
  }

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

  .zoom-in-95 {
    --tw-enter-scale: .95;
  }

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

  .\[animation-delay\:-0\.3s\] {
    animation-delay: -.3s;
  }

  .\[animation-delay\:-0\.15s\] {
    animation-delay: -.15s;
  }

  .fade-in {
    --tw-enter-opacity: 0;
  }

  .running {
    animation-play-state: running;
  }

  .slide-in-from-bottom-2 {
    --tw-enter-translate-y: calc(2*var(--spacing));
  }

  .slide-in-from-bottom-4 {
    --tw-enter-translate-y: calc(4*var(--spacing));
  }

  .slide-in-from-right-4 {
    --tw-enter-translate-x: calc(4*var(--spacing));
  }

  .slide-in-from-top-1 {
    --tw-enter-translate-y: calc(1*var(--spacing)*-1);
  }

  .slide-in-from-top-2 {
    --tw-enter-translate-y: calc(2*var(--spacing)*-1);
  }

  .slide-in-from-top-4 {
    --tw-enter-translate-y: calc(4*var(--spacing)*-1);
  }

  .zoom-in {
    --tw-enter-scale: 0;
  }

  .group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *) {
    opacity: 1;
  }

  @media (hover: hover) {
    .group-hover\:ml-2:is(:where(.group):hover *) {
      margin-left: calc(var(--spacing) * 2);
    }

    .group-hover\:max-w-xs:is(:where(.group):hover *) {
      max-width: var(--container-xs);
    }

    .group-hover\:translate-x-1:is(:where(.group):hover *) {
      --tw-translate-x: calc(var(--spacing) * 1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\:scale-110:is(:where(.group):hover *) {
      --tw-scale-x: 110%;
      --tw-scale-y: 110%;
      --tw-scale-z: 110%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .group-hover\:rotate-12:is(:where(.group):hover *) {
      rotate: 12deg;
    }

    .group-hover\:border-brand-gold:is(:where(.group):hover *), .group-hover\:border-brand-gold\/50:is(:where(.group):hover *) {
      border-color: hsl(var(--primary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .group-hover\:border-brand-gold\/50:is(:where(.group):hover *) {
        border-color: color-mix(in oklab, hsl(var(--primary)) 50%, transparent);
      }
    }

    .group-hover\:border-primary:is(:where(.group):hover *) {
      border-color: hsl(var(--primary));
    }

    .group-hover\:bg-brand-gold:is(:where(.group):hover *), .group-hover\:bg-brand-gold\/10:is(:where(.group):hover *) {
      background-color: hsl(var(--primary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .group-hover\:bg-brand-gold\/10:is(:where(.group):hover *) {
        background-color: color-mix(in oklab, hsl(var(--primary)) 10%, transparent);
      }
    }

    .group-hover\:bg-brand-gold\/20:is(:where(.group):hover *) {
      background-color: hsl(var(--primary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .group-hover\:bg-brand-gold\/20:is(:where(.group):hover *) {
        background-color: color-mix(in oklab, hsl(var(--primary)) 20%, transparent);
      }
    }

    .group-hover\:bg-primary:is(:where(.group):hover *), .group-hover\:bg-primary\/10:is(:where(.group):hover *) {
      background-color: hsl(var(--primary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .group-hover\:bg-primary\/10:is(:where(.group):hover *) {
        background-color: color-mix(in oklab, hsl(var(--primary)) 10%, transparent);
      }
    }

    .group-hover\:bg-primary\/100:is(:where(.group):hover *) {
      background-color: hsl(var(--primary));
    }

    .group-hover\:text-brand-gold:is(:where(.group):hover *), .group-hover\:text-brand-gold\/80:is(:where(.group):hover *) {
      color: hsl(var(--primary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .group-hover\:text-brand-gold\/80:is(:where(.group):hover *) {
        color: color-mix(in oklab, hsl(var(--primary)) 80%, transparent);
      }
    }

    .group-hover\:text-foreground:is(:where(.group):hover *) {
      color: hsl(var(--foreground));
    }

    .group-hover\:text-primary:is(:where(.group):hover *) {
      color: hsl(var(--primary));
    }

    .group-hover\:text-primary-foreground:is(:where(.group):hover *) {
      color: hsl(var(--primary-foreground));
    }

    .group-hover\:underline:is(:where(.group):hover *) {
      text-decoration-line: underline;
    }

    .group-hover\:opacity-80:is(:where(.group):hover *) {
      opacity: .8;
    }

    .group-hover\:opacity-100:is(:where(.group):hover *) {
      opacity: 1;
    }

    .group-hover\/btn\:translate-x-0\.5:is(:where(.group\/btn):hover *) {
      --tw-translate-x: calc(var(--spacing) * .5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\/btn\:-translate-y-0\.5:is(:where(.group\/btn):hover *) {
      --tw-translate-y: calc(var(--spacing) * -.5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\/btn\:opacity-100:is(:where(.group\/btn):hover *), .group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *) {
      opacity: 1;
    }

    .group-hover\/thumb\:scale-\[1\.05\]:is(:where(.group\/thumb):hover *) {
      scale: 1.05;
    }

    .group-hover\/thumb\:opacity-100:is(:where(.group\/thumb):hover *) {
      opacity: 1;
    }
  }

  .group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar="menu-action"]) *) {
    padding-right: calc(var(--spacing) * 8);
  }

  .group-has-\[\[data-orientation\=horizontal\]\]\/field\:text-balance:is(:where(.group\/field):has([data-orientation="horizontal"]) *) {
    text-wrap: balance;
  }

  .group-has-\[\[data-slot\=item-description\]\]\/item\:translate-y-0\.5:is(:where(.group\/item):has([data-slot="item-description"]) *) {
    --tw-translate-y: calc(var(--spacing) * .5);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .group-has-\[\[data-slot\=item-description\]\]\/item\:self-start:is(:where(.group\/item):has([data-slot="item-description"]) *) {
    align-self: flex-start;
  }

  .group-has-\[\>input\]\/input-group\:pt-2\.5:is(:where(.group\/input-group):has( > input) *) {
    padding-top: calc(var(--spacing) * 2.5);
  }

  .group-has-\[\>input\]\/input-group\:pb-2\.5:is(:where(.group\/input-group):has( > input) *) {
    padding-bottom: calc(var(--spacing) * 2.5);
  }

  .group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible="icon"] *) {
    margin-top: calc(var(--spacing) * -8);
  }

  .group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible="icon"] *) {
    display: none;
  }

  .group-data-\[collapsible\=icon\]\:h-8\!:is(:where(.group)[data-collapsible="icon"] *) {
    height: calc(var(--spacing) * 8) !important;
  }

  .group-data-\[collapsible\=icon\]\:w-8\!:is(:where(.group)[data-collapsible="icon"] *) {
    width: calc(var(--spacing) * 8) !important;
  }

  .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+var\(--spacing-4\)\)\]:is(:where(.group)[data-collapsible="icon"] *) {
    width: calc(var(--sidebar-width-icon) + var(--spacing-4));
  }

  .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+var\(--spacing-4\)\+2px\)\]:is(:where(.group)[data-collapsible="icon"] *) {
    width: calc(var(--sidebar-width-icon) + var(--spacing-4) + 2px);
  }

  .group-data-\[collapsible\=icon\]\:w-\[var\(--sidebar-width-icon\)\]:is(:where(.group)[data-collapsible="icon"] *) {
    width: var(--sidebar-width-icon);
  }

  .group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible="icon"] *) {
    overflow: hidden;
  }

  .group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible="icon"] *) {
    padding: calc(var(--spacing) * 0) !important;
  }

  .group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible="icon"] *) {
    padding: calc(var(--spacing) * 2) !important;
  }

  .group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible="icon"] *) {
    opacity: 0;
  }

  .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible="offcanvas"] *) {
    right: calc(var(--sidebar-width) * -1);
  }

  .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible="offcanvas"] *) {
    left: calc(var(--sidebar-width) * -1);
  }

  .group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible="offcanvas"] *) {
    width: calc(var(--spacing) * 0);
  }

  .group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible="offcanvas"] *) {
    --tw-translate-x: calc(var(--spacing) * 0);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .group-data-\[disabled\=true\]\/field\:opacity-50:is(:where(.group\/field)[data-disabled="true"] *), .group-data-\[disabled\=true\]\/input-group\:opacity-50:is(:where(.group\/input-group)[data-disabled="true"] *) {
    opacity: .5;
  }

  .group-data-\[focused\=true\]\/day\:relative:is(:where(.group\/day)[data-focused="true"] *) {
    position: relative;
  }

  .group-data-\[focused\=true\]\/day\:z-10:is(:where(.group\/day)[data-focused="true"] *) {
    z-index: 10;
  }

  .group-data-\[focused\=true\]\/day\:border-ring:is(:where(.group\/day)[data-focused="true"] *) {
    border-color: hsl(var(--ring));
  }

  .group-data-\[focused\=true\]\/day\:ring-\[3px\]:is(:where(.group\/day)[data-focused="true"] *) {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .group-data-\[focused\=true\]\/day\:ring-ring\/50:is(:where(.group\/day)[data-focused="true"] *) {
    --tw-ring-color: hsl(var(--ring));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .group-data-\[focused\=true\]\/day\:ring-ring\/50:is(:where(.group\/day)[data-focused="true"] *) {
      --tw-ring-color: color-mix(in oklab, hsl(var(--ring)) 50%, transparent);
    }
  }

  .group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side="left"] *) {
    right: calc(var(--spacing) * -4);
  }

  .group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side="left"] *) {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
  }

  .group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side="right"] *) {
    left: calc(var(--spacing) * 0);
  }

  .group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side="right"] *) {
    rotate: 180deg;
  }

  .group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side="right"] *) {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }

  .group-data-\[state\=open\]\:rotate-180:is(:where(.group)[data-state="open"] *) {
    rotate: 180deg;
  }

  .group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant="floating"] *) {
    border-radius: var(--radius);
  }

  .group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant="floating"] *) {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .group-data-\[variant\=floating\]\:border-sidebar-border:is(:where(.group)[data-variant="floating"] *) {
    border-color: hsl(var(--sidebar-border));
  }

  .group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant="floating"] *) {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .group-data-\[variant\=outline\]\/field-group\:-mb-2:is(:where(.group\/field-group)[data-variant="outline"] *) {
    margin-bottom: calc(var(--spacing) * -2);
  }

  .group-\[\.destructive\]\:border-muted\/40:is(:where(.group).destructive *) {
    border-color: hsl(var(--muted));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .group-\[\.destructive\]\:border-muted\/40:is(:where(.group).destructive *) {
      border-color: color-mix(in oklab, hsl(var(--muted)) 40%, transparent);
    }
  }

  .group-\[\.destructive\]\:text-red-300:is(:where(.group).destructive *) {
    color: var(--color-red-300);
  }

  .group-\[\.toast\]\:bg-muted:is(:where(.group).toast *) {
    background-color: hsl(var(--muted));
  }

  .group-\[\.toast\]\:bg-primary:is(:where(.group).toast *) {
    background-color: hsl(var(--primary));
  }

  .group-\[\.toast\]\:text-muted-foreground:is(:where(.group).toast *) {
    color: hsl(var(--muted-foreground));
  }

  .group-\[\.toast\]\:text-primary-foreground:is(:where(.group).toast *) {
    color: hsl(var(--primary-foreground));
  }

  .group-\[\.toaster\]\:border-border:is(:where(.group).toaster *) {
    border-color: hsl(var(--border));
  }

  .group-\[\.toaster\]\:bg-background:is(:where(.group).toaster *) {
    background-color: hsl(var(--background));
  }

  .group-\[\.toaster\]\:text-foreground:is(:where(.group).toaster *) {
    color: hsl(var(--foreground));
  }

  .group-\[\.toaster\]\:shadow-lg:is(:where(.group).toaster *) {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .peer-checked\:border-brand-gold:is(:where(.peer):checked ~ *) {
    border-color: hsl(var(--primary));
  }

  .peer-checked\:bg-brand-gold:is(:where(.peer):checked ~ *) {
    background-color: hsl(var(--primary));
  }

  .peer-checked\:opacity-100:is(:where(.peer):checked ~ *) {
    opacity: 1;
  }

  @media (hover: hover) {
    .peer-hover\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button):hover ~ *) {
      color: hsl(var(--sidebar-accent-foreground));
    }
  }

  .peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled ~ *) {
    cursor: not-allowed;
  }

  .peer-disabled\:opacity-70:is(:where(.peer):disabled ~ *) {
    opacity: .7;
  }

  .peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button)[data-active="true"] ~ *) {
    color: hsl(var(--sidebar-accent-foreground));
  }

  .peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size="default"] ~ *) {
    top: calc(var(--spacing) * 1.5);
  }

  .peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size="lg"] ~ *) {
    top: calc(var(--spacing) * 2.5);
  }

  .peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size="sm"] ~ *) {
    top: calc(var(--spacing) * 1);
  }

  .selection\:bg-brand-gold\/30 ::selection {
    background-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .selection\:bg-brand-gold\/30 ::selection {
      background-color: color-mix(in oklab, hsl(var(--primary)) 30%, transparent);
    }
  }

  .selection\:bg-brand-gold\/30::selection {
    background-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .selection\:bg-brand-gold\/30::selection {
      background-color: color-mix(in oklab, hsl(var(--primary)) 30%, transparent);
    }
  }

  .file\:border-0::file-selector-button {
    border-style: var(--tw-border-style);
    border-width: 0;
  }

  .file\:bg-transparent::file-selector-button {
    background-color: #0000;
  }

  .file\:text-xs::file-selector-button {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .file\:font-medium::file-selector-button {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .placeholder\:text-brand-ink\/30::placeholder {
    color: hsl(var(--foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .placeholder\:text-brand-ink\/30::placeholder {
      color: color-mix(in oklab, hsl(var(--foreground)) 30%, transparent);
    }
  }

  .placeholder\:text-brand-ink\/40::placeholder {
    color: hsl(var(--foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .placeholder\:text-brand-ink\/40::placeholder {
      color: color-mix(in oklab, hsl(var(--foreground)) 40%, transparent);
    }
  }

  .placeholder\:text-brand-ink\/60::placeholder {
    color: hsl(var(--foreground));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .placeholder\:text-brand-ink\/60::placeholder {
      color: color-mix(in oklab, hsl(var(--foreground)) 60%, transparent);
    }
  }

  .placeholder\:text-muted-foreground::placeholder {
    color: hsl(var(--muted-foreground));
  }

  .after\:absolute:after {
    content: var(--tw-content);
    position: absolute;
  }

  .after\:-inset-2:after {
    content: var(--tw-content);
    inset: calc(var(--spacing) * -2);
  }

  .after\:inset-y-0:after {
    content: var(--tw-content);
    inset-block: calc(var(--spacing) * 0);
  }

  .after\:left-1\/2:after {
    content: var(--tw-content);
    left: 50%;
  }

  .after\:w-1:after {
    content: var(--tw-content);
    width: calc(var(--spacing) * 1);
  }

  .after\:w-\[2px\]:after {
    content: var(--tw-content);
    width: 2px;
  }

  .after\:-translate-x-1\/2:after {
    content: var(--tw-content);
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible="offcanvas"] *):after {
    content: var(--tw-content);
    left: 100%;
  }

  .first\:rounded-l-md:first-child {
    border-top-left-radius: calc(var(--radius) - 2px);
    border-bottom-left-radius: calc(var(--radius) - 2px);
  }

  .first\:border-l:first-child {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }

  .last\:mt-0:last-child {
    margin-top: calc(var(--spacing) * 0);
  }

  .last\:rounded-r-md:last-child {
    border-top-right-radius: calc(var(--radius) - 2px);
    border-bottom-right-radius: calc(var(--radius) - 2px);
  }

  .last\:border-0:last-child {
    border-style: var(--tw-border-style);
    border-width: 0;
  }

  .focus-within\:border-brand-gold:focus-within, .focus-within\:border-brand-gold\/40:focus-within {
    border-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus-within\:border-brand-gold\/40:focus-within {
      border-color: color-mix(in oklab, hsl(var(--primary)) 40%, transparent);
    }
  }

  @media (hover: hover) {
    .hover\:-translate-y-0\.5:hover {
      --tw-translate-y: calc(var(--spacing) * -.5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .hover\:scale-105:hover {
      --tw-scale-x: 105%;
      --tw-scale-y: 105%;
      --tw-scale-z: 105%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .hover\:scale-110:hover {
      --tw-scale-x: 110%;
      --tw-scale-y: 110%;
      --tw-scale-z: 110%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .hover\:scale-\[1\.02\]:hover {
      scale: 1.02;
    }

    .hover\:animate-none:hover {
      animation: none;
    }

    .hover\:border-\[\#c5a059\]\/40:hover {
      border-color: oklab(72.4545% .0132898 .0989303 / .4);
    }

    .hover\:border-\[\#c5a059\]\/50:hover {
      border-color: oklab(72.4545% .0132898 .0989303 / .5);
    }

    .hover\:border-amber-500\/50:hover {
      border-color: #f99c0080;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-amber-500\/50:hover {
        border-color: color-mix(in oklab, var(--color-amber-500) 50%, transparent);
      }
    }

    .hover\:border-border:hover {
      border-color: hsl(var(--border));
    }

    .hover\:border-brand-gold:hover, .hover\:border-brand-gold\/20:hover {
      border-color: hsl(var(--primary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-brand-gold\/20:hover {
        border-color: color-mix(in oklab, hsl(var(--primary)) 20%, transparent);
      }
    }

    .hover\:border-brand-gold\/25:hover {
      border-color: hsl(var(--primary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-brand-gold\/25:hover {
        border-color: color-mix(in oklab, hsl(var(--primary)) 25%, transparent);
      }
    }

    .hover\:border-brand-gold\/30:hover {
      border-color: hsl(var(--primary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-brand-gold\/30:hover {
        border-color: color-mix(in oklab, hsl(var(--primary)) 30%, transparent);
      }
    }

    .hover\:border-brand-gold\/35:hover {
      border-color: hsl(var(--primary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-brand-gold\/35:hover {
        border-color: color-mix(in oklab, hsl(var(--primary)) 35%, transparent);
      }
    }

    .hover\:border-brand-gold\/40:hover {
      border-color: hsl(var(--primary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-brand-gold\/40:hover {
        border-color: color-mix(in oklab, hsl(var(--primary)) 40%, transparent);
      }
    }

    .hover\:border-brand-gold\/50:hover {
      border-color: hsl(var(--primary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-brand-gold\/50:hover {
        border-color: color-mix(in oklab, hsl(var(--primary)) 50%, transparent);
      }
    }

    .hover\:border-brand-ink\/30:hover {
      border-color: hsl(var(--foreground));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-brand-ink\/30:hover {
        border-color: color-mix(in oklab, hsl(var(--foreground)) 30%, transparent);
      }
    }

    .hover\:border-primary:hover, .hover\:border-primary\/30:hover {
      border-color: hsl(var(--primary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-primary\/30:hover {
        border-color: color-mix(in oklab, hsl(var(--primary)) 30%, transparent);
      }
    }

    .hover\:border-primary\/40:hover {
      border-color: hsl(var(--primary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-primary\/40:hover {
        border-color: color-mix(in oklab, hsl(var(--primary)) 40%, transparent);
      }
    }

    .hover\:border-primary\/50:hover {
      border-color: hsl(var(--primary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-primary\/50:hover {
        border-color: color-mix(in oklab, hsl(var(--primary)) 50%, transparent);
      }
    }

    .hover\:border-red-500\/20:hover {
      border-color: #fb2c3633;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-red-500\/20:hover {
        border-color: color-mix(in oklab, var(--color-red-500) 20%, transparent);
      }
    }

    .hover\:border-yellow-500\/30:hover {
      border-color: #edb2004d;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-yellow-500\/30:hover {
        border-color: color-mix(in oklab, var(--color-yellow-500) 30%, transparent);
      }
    }

    .hover\:border-l-brand-gold:hover {
      border-left-color: hsl(var(--primary));
    }

    .hover\:bg-\[\#b08c47\]:hover {
      background-color: #b08c47;
    }

    .hover\:bg-accent:hover {
      background-color: hsl(var(--accent));
    }

    .hover\:bg-amber-500\/20:hover {
      background-color: #f99c0033;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-amber-500\/20:hover {
        background-color: color-mix(in oklab, var(--color-amber-500) 20%, transparent);
      }
    }

    .hover\:bg-background\/70:hover {
      background-color: hsl(var(--background));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-background\/70:hover {
        background-color: color-mix(in oklab, hsl(var(--background)) 70%, transparent);
      }
    }

    .hover\:bg-background\/80:hover {
      background-color: hsl(var(--background));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-background\/80:hover {
        background-color: color-mix(in oklab, hsl(var(--background)) 80%, transparent);
      }
    }

    .hover\:bg-black\/\[0\.02\]:hover {
      background-color: #00000005;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-black\/\[0\.02\]:hover {
        background-color: color-mix(in oklab, var(--color-black) 2%, transparent);
      }
    }

    .hover\:bg-brand-bg\/60:hover {
      background-color: hsl(var(--background));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-brand-bg\/60:hover {
        background-color: color-mix(in oklab, hsl(var(--background)) 60%, transparent);
      }
    }

    .hover\:bg-brand-bg\/80:hover {
      background-color: hsl(var(--background));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-brand-bg\/80:hover {
        background-color: color-mix(in oklab, hsl(var(--background)) 80%, transparent);
      }
    }

    .hover\:bg-brand-card:hover, .hover\:bg-brand-card\/40:hover {
      background-color: hsl(var(--card));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-brand-card\/40:hover {
        background-color: color-mix(in oklab, hsl(var(--card)) 40%, transparent);
      }
    }

    .hover\:bg-brand-card\/50:hover {
      background-color: hsl(var(--card));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-brand-card\/50:hover {
        background-color: color-mix(in oklab, hsl(var(--card)) 50%, transparent);
      }
    }

    .hover\:bg-brand-gold\/5:hover {
      background-color: hsl(var(--primary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-brand-gold\/5:hover {
        background-color: color-mix(in oklab, hsl(var(--primary)) 5%, transparent);
      }
    }

    .hover\:bg-brand-gold\/10:hover {
      background-color: hsl(var(--primary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-brand-gold\/10:hover {
        background-color: color-mix(in oklab, hsl(var(--primary)) 10%, transparent);
      }
    }

    .hover\:bg-brand-gold\/15:hover {
      background-color: hsl(var(--primary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-brand-gold\/15:hover {
        background-color: color-mix(in oklab, hsl(var(--primary)) 15%, transparent);
      }
    }

    .hover\:bg-brand-gold\/20:hover {
      background-color: hsl(var(--primary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-brand-gold\/20:hover {
        background-color: color-mix(in oklab, hsl(var(--primary)) 20%, transparent);
      }
    }

    .hover\:bg-brand-gold\/25:hover {
      background-color: hsl(var(--primary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-brand-gold\/25:hover {
        background-color: color-mix(in oklab, hsl(var(--primary)) 25%, transparent);
      }
    }

    .hover\:bg-brand-gold\/80:hover {
      background-color: hsl(var(--primary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-brand-gold\/80:hover {
        background-color: color-mix(in oklab, hsl(var(--primary)) 80%, transparent);
      }
    }

    .hover\:bg-brand-gold\/90:hover {
      background-color: hsl(var(--primary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-brand-gold\/90:hover {
        background-color: color-mix(in oklab, hsl(var(--primary)) 90%, transparent);
      }
    }

    .hover\:bg-brand-gold\/\[0\.05\]:hover {
      background-color: hsl(var(--primary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-brand-gold\/\[0\.05\]:hover {
        background-color: color-mix(in oklab, hsl(var(--primary)) 5%, transparent);
      }
    }

    .hover\:bg-brand-ink\/3:hover {
      background-color: hsl(var(--foreground));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-brand-ink\/3:hover {
        background-color: color-mix(in oklab, hsl(var(--foreground)) 3%, transparent);
      }
    }

    .hover\:bg-brand-ink\/5:hover {
      background-color: hsl(var(--foreground));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-brand-ink\/5:hover {
        background-color: color-mix(in oklab, hsl(var(--foreground)) 5%, transparent);
      }
    }

    .hover\:bg-brand-ink\/10:hover {
      background-color: hsl(var(--foreground));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-brand-ink\/10:hover {
        background-color: color-mix(in oklab, hsl(var(--foreground)) 10%, transparent);
      }
    }

    .hover\:bg-brand-ink\/30:hover {
      background-color: hsl(var(--foreground));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-brand-ink\/30:hover {
        background-color: color-mix(in oklab, hsl(var(--foreground)) 30%, transparent);
      }
    }

    .hover\:bg-brand-ink\/90:hover {
      background-color: hsl(var(--foreground));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-brand-ink\/90:hover {
        background-color: color-mix(in oklab, hsl(var(--foreground)) 90%, transparent);
      }
    }

    .hover\:bg-brand-ink\/\[0\.01\]:hover {
      background-color: hsl(var(--foreground));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-brand-ink\/\[0\.01\]:hover {
        background-color: color-mix(in oklab, hsl(var(--foreground)) 1%, transparent);
      }
    }

    .hover\:bg-card\/80:hover {
      background-color: hsl(var(--card));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-card\/80:hover {
        background-color: color-mix(in oklab, hsl(var(--card)) 80%, transparent);
      }
    }

    .hover\:bg-destructive:hover, .hover\:bg-destructive\/10:hover {
      background-color: hsl(var(--destructive));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-destructive\/10:hover {
        background-color: color-mix(in oklab, hsl(var(--destructive)) 10%, transparent);
      }
    }

    .hover\:bg-destructive\/20:hover {
      background-color: hsl(var(--destructive));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-destructive\/20:hover {
        background-color: color-mix(in oklab, hsl(var(--destructive)) 20%, transparent);
      }
    }

    .hover\:bg-destructive\/90:hover {
      background-color: hsl(var(--destructive));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-destructive\/90:hover {
        background-color: color-mix(in oklab, hsl(var(--destructive)) 90%, transparent);
      }
    }

    .hover\:bg-gray-50:hover {
      background-color: var(--color-gray-50);
    }

    .hover\:bg-muted:hover, .hover\:bg-muted\/40:hover {
      background-color: hsl(var(--muted));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-muted\/40:hover {
        background-color: color-mix(in oklab, hsl(var(--muted)) 40%, transparent);
      }
    }

    .hover\:bg-muted\/50:hover {
      background-color: hsl(var(--muted));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-muted\/50:hover {
        background-color: color-mix(in oklab, hsl(var(--muted)) 50%, transparent);
      }
    }

    .hover\:bg-primary:hover, .hover\:bg-primary\/10:hover {
      background-color: hsl(var(--primary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-primary\/10:hover {
        background-color: color-mix(in oklab, hsl(var(--primary)) 10%, transparent);
      }
    }

    .hover\:bg-primary\/20:hover {
      background-color: hsl(var(--primary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-primary\/20:hover {
        background-color: color-mix(in oklab, hsl(var(--primary)) 20%, transparent);
      }
    }

    .hover\:bg-primary\/90:hover {
      background-color: hsl(var(--primary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-primary\/90:hover {
        background-color: color-mix(in oklab, hsl(var(--primary)) 90%, transparent);
      }
    }

    .hover\:bg-purple-600\/20:hover {
      background-color: #9810fa33;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-purple-600\/20:hover {
        background-color: color-mix(in oklab, var(--color-purple-600) 20%, transparent);
      }
    }

    .hover\:bg-purple-700:hover {
      background-color: var(--color-purple-700);
    }

    .hover\:bg-red-500\/10:hover {
      background-color: #fb2c361a;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-red-500\/10:hover {
        background-color: color-mix(in oklab, var(--color-red-500) 10%, transparent);
      }
    }

    .hover\:bg-red-500\/20:hover {
      background-color: #fb2c3633;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-red-500\/20:hover {
        background-color: color-mix(in oklab, var(--color-red-500) 20%, transparent);
      }
    }

    .hover\:bg-red-500\/40:hover {
      background-color: #fb2c3666;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-red-500\/40:hover {
        background-color: color-mix(in oklab, var(--color-red-500) 40%, transparent);
      }
    }

    .hover\:bg-red-600:hover {
      background-color: var(--color-red-600);
    }

    .hover\:bg-red-600\/60:hover {
      background-color: #e4001499;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-red-600\/60:hover {
        background-color: color-mix(in oklab, var(--color-red-600) 60%, transparent);
      }
    }

    .hover\:bg-rose-500\/10:hover {
      background-color: #ff23571a;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-rose-500\/10:hover {
        background-color: color-mix(in oklab, var(--color-rose-500) 10%, transparent);
      }
    }

    .hover\:bg-rose-500\/20:hover {
      background-color: #ff235733;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-rose-500\/20:hover {
        background-color: color-mix(in oklab, var(--color-rose-500) 20%, transparent);
      }
    }

    .hover\:bg-rose-600:hover {
      background-color: var(--color-rose-600);
    }

    .hover\:bg-secondary:hover, .hover\:bg-secondary\/5:hover {
      background-color: hsl(var(--secondary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-secondary\/5:hover {
        background-color: color-mix(in oklab, hsl(var(--secondary)) 5%, transparent);
      }
    }

    .hover\:bg-secondary\/20:hover {
      background-color: hsl(var(--secondary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-secondary\/20:hover {
        background-color: color-mix(in oklab, hsl(var(--secondary)) 20%, transparent);
      }
    }

    .hover\:bg-secondary\/30:hover {
      background-color: hsl(var(--secondary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-secondary\/30:hover {
        background-color: color-mix(in oklab, hsl(var(--secondary)) 30%, transparent);
      }
    }

    .hover\:bg-secondary\/50:hover {
      background-color: hsl(var(--secondary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-secondary\/50:hover {
        background-color: color-mix(in oklab, hsl(var(--secondary)) 50%, transparent);
      }
    }

    .hover\:bg-secondary\/60:hover {
      background-color: hsl(var(--secondary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-secondary\/60:hover {
        background-color: color-mix(in oklab, hsl(var(--secondary)) 60%, transparent);
      }
    }

    .hover\:bg-secondary\/80:hover {
      background-color: hsl(var(--secondary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-secondary\/80:hover {
        background-color: color-mix(in oklab, hsl(var(--secondary)) 80%, transparent);
      }
    }

    .hover\:bg-sidebar-accent:hover {
      background-color: hsl(var(--sidebar-accent));
    }

    .hover\:bg-white\/5:hover {
      background-color: #ffffff0d;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/5:hover {
        background-color: color-mix(in oklab, var(--color-white) 5%, transparent);
      }
    }

    .hover\:bg-white\/10:hover {
      background-color: #ffffff1a;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/10:hover {
        background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
      }
    }

    .hover\:bg-white\/20:hover {
      background-color: #fff3;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/20:hover {
        background-color: color-mix(in oklab, var(--color-white) 20%, transparent);
      }
    }

    .hover\:bg-white\/90:hover {
      background-color: #ffffffe6;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/90:hover {
        background-color: color-mix(in oklab, var(--color-white) 90%, transparent);
      }
    }

    .hover\:bg-yellow-500\/10:hover {
      background-color: #edb2001a;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-yellow-500\/10:hover {
        background-color: color-mix(in oklab, var(--color-yellow-500) 10%, transparent);
      }
    }

    .hover\:bg-zinc-700:hover {
      background-color: var(--color-zinc-700);
    }

    .hover\:bg-zinc-800\/40:hover {
      background-color: #27272a66;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-zinc-800\/40:hover {
        background-color: color-mix(in oklab, var(--color-zinc-800) 40%, transparent);
      }
    }

    .hover\:text-accent-foreground:hover {
      color: hsl(var(--accent-foreground));
    }

    .hover\:text-amber-300:hover {
      color: var(--color-amber-300);
    }

    .hover\:text-amber-500:hover {
      color: var(--color-amber-500);
    }

    .hover\:text-brand-gold:hover, .hover\:text-brand-gold\/80:hover {
      color: hsl(var(--primary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:text-brand-gold\/80:hover {
        color: color-mix(in oklab, hsl(var(--primary)) 80%, transparent);
      }
    }

    .hover\:text-brand-ink:hover, .hover\:text-brand-ink\/80:hover {
      color: hsl(var(--foreground));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:text-brand-ink\/80:hover {
        color: color-mix(in oklab, hsl(var(--foreground)) 80%, transparent);
      }
    }

    .hover\:text-destructive:hover {
      color: hsl(var(--destructive));
    }

    .hover\:text-destructive-foreground:hover {
      color: hsl(var(--destructive-foreground));
    }

    .hover\:text-foreground:hover {
      color: hsl(var(--foreground));
    }

    .hover\:text-muted-foreground:hover {
      color: hsl(var(--muted-foreground));
    }

    .hover\:text-primary:hover, .hover\:text-primary\/80:hover {
      color: hsl(var(--primary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:text-primary\/80:hover {
        color: color-mix(in oklab, hsl(var(--primary)) 80%, transparent);
      }
    }

    .hover\:text-purple-300:hover {
      color: var(--color-purple-300);
    }

    .hover\:text-red-500:hover {
      color: var(--color-red-500);
    }

    .hover\:text-red-500\/40:hover {
      color: #fb2c3666;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:text-red-500\/40:hover {
        color: color-mix(in oklab, var(--color-red-500) 40%, transparent);
      }
    }

    .hover\:text-rose-300:hover {
      color: var(--color-rose-300);
    }

    .hover\:text-rose-400:hover {
      color: var(--color-rose-400);
    }

    .hover\:text-sidebar-accent-foreground:hover {
      color: hsl(var(--sidebar-accent-foreground));
    }

    .hover\:text-white:hover {
      color: var(--color-white);
    }

    .hover\:text-white\/80:hover {
      color: #fffc;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:text-white\/80:hover {
        color: color-mix(in oklab, var(--color-white) 80%, transparent);
      }
    }

    .hover\:text-yellow-500:hover {
      color: var(--color-yellow-500);
    }

    .hover\:text-yellow-500\/50:hover {
      color: #edb20080;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:text-yellow-500\/50:hover {
        color: color-mix(in oklab, var(--color-yellow-500) 50%, transparent);
      }
    }

    .hover\:text-zinc-500:hover {
      color: var(--color-zinc-500);
    }

    .hover\:underline:hover {
      text-decoration-line: underline;
    }

    .hover\:opacity-70:hover {
      opacity: .7;
    }

    .hover\:opacity-80:hover {
      opacity: .8;
    }

    .hover\:opacity-95:hover {
      opacity: .95;
    }

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

    .hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover {
      --tw-shadow: 0 0 0 1px var(--tw-shadow-color, hsl(var(--sidebar-accent)));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .hover\:shadow-md:hover {
      --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .hover\:shadow-brand-gold\/20:hover {
      --tw-shadow-color: hsl(var(--primary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:shadow-brand-gold\/20:hover {
        --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, hsl(var(--primary)) 20%, transparent) var(--tw-shadow-alpha), transparent);
      }
    }

    .hover\:brightness-110:hover {
      --tw-brightness: brightness(110%);
      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\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover:is(:where(.group)[data-collapsible="offcanvas"] *) {
      background-color: hsl(var(--sidebar));
    }

    .group-\[\.destructive\]\:hover\:border-destructive\/30:is(:where(.group).destructive *):hover {
      border-color: hsl(var(--destructive));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .group-\[\.destructive\]\:hover\:border-destructive\/30:is(:where(.group).destructive *):hover {
        border-color: color-mix(in oklab, hsl(var(--destructive)) 30%, transparent);
      }
    }

    .group-\[\.destructive\]\:hover\:bg-destructive:is(:where(.group).destructive *):hover {
      background-color: hsl(var(--destructive));
    }

    .group-\[\.destructive\]\:hover\:text-destructive-foreground:is(:where(.group).destructive *):hover {
      color: hsl(var(--destructive-foreground));
    }

    .group-\[\.destructive\]\:hover\:text-red-50:is(:where(.group).destructive *):hover {
      color: var(--color-red-50);
    }

    .hover\:after\:bg-sidebar-border:hover:after {
      content: var(--tw-content);
      background-color: hsl(var(--sidebar-border));
    }
  }

  .focus\:border-\[\#c5a059\]:focus {
    border-color: #c5a059;
  }

  .focus\:border-\[\#c5a059\]\/40:focus {
    border-color: oklab(72.4545% .0132898 .0989303 / .4);
  }

  .focus\:border-\[\#c5a059\]\/50:focus {
    border-color: oklab(72.4545% .0132898 .0989303 / .5);
  }

  .focus\:border-brand-gold:focus, .focus\:border-brand-gold\/40:focus {
    border-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:border-brand-gold\/40:focus {
      border-color: color-mix(in oklab, hsl(var(--primary)) 40%, transparent);
    }
  }

  .focus\:border-brand-gold\/45:focus {
    border-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:border-brand-gold\/45:focus {
      border-color: color-mix(in oklab, hsl(var(--primary)) 45%, transparent);
    }
  }

  .focus\:border-primary:focus, .focus\:border-primary\/50:focus {
    border-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:border-primary\/50:focus {
      border-color: color-mix(in oklab, hsl(var(--primary)) 50%, transparent);
    }
  }

  .focus\:border-red-500\/50:focus {
    border-color: #fb2c3680;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:border-red-500\/50:focus {
      border-color: color-mix(in oklab, var(--color-red-500) 50%, transparent);
    }
  }

  .focus\:bg-accent:focus {
    background-color: hsl(var(--accent));
  }

  .focus\:bg-brand-gold\/10:focus {
    background-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:bg-brand-gold\/10:focus {
      background-color: color-mix(in oklab, hsl(var(--primary)) 10%, transparent);
    }
  }

  .focus\:bg-brand-gold\/\[0\.03\]:focus {
    background-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:bg-brand-gold\/\[0\.03\]:focus {
      background-color: color-mix(in oklab, hsl(var(--primary)) 3%, transparent);
    }
  }

  .focus\:text-accent-foreground:focus {
    color: hsl(var(--accent-foreground));
  }

  .focus\:text-destructive:focus {
    color: hsl(var(--destructive));
  }

  .focus\:opacity-100:focus {
    opacity: 1;
  }

  .focus\:ring-1:focus {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus\:ring-2:focus {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus\:ring-brand-gold:focus, .focus\:ring-brand-gold\/20:focus {
    --tw-ring-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:ring-brand-gold\/20:focus {
      --tw-ring-color: color-mix(in oklab, hsl(var(--primary)) 20%, transparent);
    }
  }

  .focus\:ring-brand-gold\/50:focus {
    --tw-ring-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:ring-brand-gold\/50:focus {
      --tw-ring-color: color-mix(in oklab, hsl(var(--primary)) 50%, transparent);
    }
  }

  .focus\:ring-primary:focus {
    --tw-ring-color: hsl(var(--primary));
  }

  .focus\:ring-ring:focus {
    --tw-ring-color: hsl(var(--ring));
  }

  .focus\:ring-offset-0:focus {
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  }

  .focus\:ring-offset-2:focus {
    --tw-ring-offset-width: 2px;
    --tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  }

  .focus\:ring-offset-brand-bg:focus {
    --tw-ring-offset-color: hsl(var(--background));
  }

  .focus\:outline-none:focus {
    --tw-outline-style: none;
    outline-style: none;
  }

  .group-\[\.destructive\]\:focus\:ring-destructive:is(:where(.group).destructive *):focus {
    --tw-ring-color: hsl(var(--destructive));
  }

  .group-\[\.destructive\]\:focus\:ring-red-400:is(:where(.group).destructive *):focus {
    --tw-ring-color: var(--color-red-400);
  }

  .group-\[\.destructive\]\:focus\:ring-offset-red-600:is(:where(.group).destructive *):focus {
    --tw-ring-offset-color: var(--color-red-600);
  }

  .focus-visible\:border-ring:focus-visible {
    border-color: hsl(var(--ring));
  }

  .focus-visible\:ring-0:focus-visible {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus-visible\:ring-1:focus-visible {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus-visible\:ring-2:focus-visible {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus-visible\:ring-\[3px\]:focus-visible {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus-visible\:ring-brand-gold:focus-visible {
    --tw-ring-color: hsl(var(--primary));
  }

  .focus-visible\:ring-ring:focus-visible, .focus-visible\:ring-ring\/50:focus-visible {
    --tw-ring-color: hsl(var(--ring));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus-visible\:ring-ring\/50:focus-visible {
      --tw-ring-color: color-mix(in oklab, hsl(var(--ring)) 50%, transparent);
    }
  }

  .focus-visible\:ring-offset-1:focus-visible {
    --tw-ring-offset-width: 1px;
    --tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  }

  .focus-visible\:ring-offset-2:focus-visible {
    --tw-ring-offset-width: 2px;
    --tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  }

  .focus-visible\:ring-offset-background:focus-visible {
    --tw-ring-offset-color: hsl(var(--background));
  }

  .focus-visible\:outline-none:focus-visible {
    --tw-outline-style: none;
    outline-style: none;
  }

  .active\:scale-90:active {
    --tw-scale-x: 90%;
    --tw-scale-y: 90%;
    --tw-scale-z: 90%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .active\:scale-95:active {
    --tw-scale-x: 95%;
    --tw-scale-y: 95%;
    --tw-scale-z: 95%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .active\:scale-\[0\.98\]:active {
    scale: .98;
  }

  .active\:scale-\[0\.99\]:active {
    scale: .99;
  }

  .active\:bg-sidebar-accent:active {
    background-color: hsl(var(--sidebar-accent));
  }

  .active\:text-sidebar-accent-foreground:active {
    color: hsl(var(--sidebar-accent-foreground));
  }

  .disabled\:pointer-events-none:disabled {
    pointer-events: none;
  }

  .disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed;
  }

  .disabled\:bg-white\/5:disabled {
    background-color: #ffffff0d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .disabled\:bg-white\/5:disabled {
      background-color: color-mix(in oklab, var(--color-white) 5%, transparent);
    }
  }

  .disabled\:text-white\/30:disabled {
    color: #ffffff4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .disabled\:text-white\/30:disabled {
      color: color-mix(in oklab, var(--color-white) 30%, transparent);
    }
  }

  .disabled\:no-underline:disabled {
    text-decoration-line: none;
  }

  .disabled\:opacity-10:disabled {
    opacity: .1;
  }

  .disabled\:opacity-30:disabled {
    opacity: .3;
  }

  .disabled\:opacity-35:disabled {
    opacity: .35;
  }

  .disabled\:opacity-40:disabled {
    opacity: .4;
  }

  .disabled\:opacity-50:disabled {
    opacity: .5;
  }

  .disabled\:opacity-60:disabled {
    opacity: .6;
  }

  :where([data-side="left"]) .in-data-\[side\=left\]\:cursor-w-resize {
    cursor: w-resize;
  }

  :where([data-side="right"]) .in-data-\[side\=right\]\:cursor-e-resize {
    cursor: e-resize;
  }

  .has-focus\:border-ring:has(:focus) {
    border-color: hsl(var(--ring));
  }

  .has-focus\:ring-\[3px\]:has(:focus) {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .has-focus\:ring-ring\/50:has(:focus) {
    --tw-ring-color: hsl(var(--ring));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .has-focus\:ring-ring\/50:has(:focus) {
      --tw-ring-color: color-mix(in oklab, hsl(var(--ring)) 50%, transparent);
    }
  }

  .has-data-\[state\=checked\]\:border-primary:has([data-state="checked"]) {
    border-color: hsl(var(--primary));
  }

  .has-data-\[state\=checked\]\:bg-primary\/5:has([data-state="checked"]) {
    background-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .has-data-\[state\=checked\]\:bg-primary\/5:has([data-state="checked"]) {
      background-color: color-mix(in oklab, hsl(var(--primary)) 5%, transparent);
    }
  }

  .has-data-\[variant\=inset\]\:bg-sidebar:has([data-variant="inset"]) {
    background-color: hsl(var(--sidebar));
  }

  .has-\[\:disabled\]\:opacity-50:has(:disabled) {
    opacity: .5;
  }

  .has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-1:has([data-slot="input-group-control"]:focus-visible) {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring:has([data-slot="input-group-control"]:focus-visible) {
    --tw-ring-color: hsl(var(--ring));
  }

  .has-\[\[data-slot\]\[aria-invalid\=true\]\]\:border-destructive:has([data-slot][aria-invalid="true"]) {
    border-color: hsl(var(--destructive));
  }

  .has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid="true"]) {
    --tw-ring-color: hsl(var(--destructive));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid="true"]) {
      --tw-ring-color: color-mix(in oklab, hsl(var(--destructive)) 20%, transparent);
    }
  }

  .has-\[\>\[data-align\=block-end\]\]\:h-auto:has( > [data-align="block-end"]) {
    height: auto;
  }

  .has-\[\>\[data-align\=block-end\]\]\:flex-col:has( > [data-align="block-end"]) {
    flex-direction: column;
  }

  .has-\[\>\[data-align\=block-start\]\]\:h-auto:has( > [data-align="block-start"]) {
    height: auto;
  }

  .has-\[\>\[data-align\=block-start\]\]\:flex-col:has( > [data-align="block-start"]) {
    flex-direction: column;
  }

  .has-\[\>\[data-slot\=button-group\]\]\:gap-2:has( > [data-slot="button-group"]) {
    gap: calc(var(--spacing) * 2);
  }

  .has-\[\>\[data-slot\=checkbox-group\]\]\:gap-3:has( > [data-slot="checkbox-group"]) {
    gap: calc(var(--spacing) * 3);
  }

  .has-\[\>\[data-slot\=field-content\]\]\:items-start:has( > [data-slot="field-content"]) {
    align-items: flex-start;
  }

  .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\]\]\:rounded-md:has( > [data-slot="field"]) {
    border-radius: calc(var(--radius) - 2px);
  }

  .has-\[\>\[data-slot\=field\]\]\:border:has( > [data-slot="field"]) {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .has-\[\>\[data-slot\=radio-group\]\]\:gap-3:has( > [data-slot="radio-group"]) {
    gap: calc(var(--spacing) * 3);
  }

  .has-\[\>button\]\:mr-\[-0\.4rem\]:has( > button) {
    margin-right: -.4rem;
  }

  .has-\[\>button\]\:ml-\[-0\.45rem\]:has( > button) {
    margin-left: -.45rem;
  }

  .has-\[\>kbd\]\:mr-\[-0\.35rem\]:has( > kbd) {
    margin-right: -.35rem;
  }

  .has-\[\>kbd\]\:ml-\[-0\.35rem\]:has( > kbd) {
    margin-left: -.35rem;
  }

  .has-\[\>svg\]\:p-0:has( > svg) {
    padding: calc(var(--spacing) * 0);
  }

  .has-\[\>svg\]\:px-2:has( > svg) {
    padding-inline: calc(var(--spacing) * 2);
  }

  .has-\[\>svg\]\:px-2\.5:has( > svg) {
    padding-inline: calc(var(--spacing) * 2.5);
  }

  .has-\[\>textarea\]\:h-auto:has( > textarea) {
    height: auto;
  }

  .aria-disabled\:pointer-events-none[aria-disabled="true"] {
    pointer-events: none;
  }

  .aria-disabled\:opacity-50[aria-disabled="true"] {
    opacity: .5;
  }

  .aria-selected\:text-muted-foreground[aria-selected="true"] {
    color: hsl(var(--muted-foreground));
  }

  .data-\[active\=true\]\:bg-sidebar-accent[data-active="true"] {
    background-color: hsl(var(--sidebar-accent));
  }

  .data-\[active\=true\]\:font-medium[data-active="true"] {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .data-\[active\=true\]\:text-sidebar-accent-foreground[data-active="true"] {
    color: hsl(var(--sidebar-accent-foreground));
  }

  .data-\[disabled\]\:pointer-events-none[data-disabled] {
    pointer-events: none;
  }

  .data-\[disabled\]\:opacity-50[data-disabled] {
    opacity: .5;
  }

  .data-\[disabled\=true\]\:pointer-events-none[data-disabled="true"] {
    pointer-events: none;
  }

  .data-\[disabled\=true\]\:opacity-50[data-disabled="true"] {
    opacity: .5;
  }

  .data-\[invalid\=true\]\:text-destructive[data-invalid="true"] {
    color: hsl(var(--destructive));
  }

  .data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion="from-end"] {
    --tw-enter-translate-x: calc(52*var(--spacing));
  }

  .data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion="from-start"] {
    --tw-enter-translate-x: calc(52*var(--spacing)*-1);
  }

  .data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion="to-end"] {
    --tw-exit-translate-x: calc(52*var(--spacing));
  }

  .data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion="to-start"] {
    --tw-exit-translate-x: calc(52*var(--spacing)*-1);
  }

  .data-\[motion\^\=from-\]\:animate-in[data-motion^="from-"] {
    animation: enter var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none);
  }

  .data-\[motion\^\=from-\]\:fade-in[data-motion^="from-"] {
    --tw-enter-opacity: 0;
  }

  .data-\[motion\^\=to-\]\:animate-out[data-motion^="to-"] {
    animation: exit var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none);
  }

  .data-\[motion\^\=to-\]\:fade-out[data-motion^="to-"] {
    --tw-exit-opacity: 0;
  }

  .data-\[orientation\=vertical\]\:h-auto[data-orientation="vertical"] {
    height: auto;
  }

  .data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction="vertical"] {
    height: 1px;
  }

  .data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction="vertical"] {
    width: 100%;
  }

  .data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction="vertical"] {
    flex-direction: column;
  }

  .data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction="vertical"]:after {
    content: var(--tw-content);
    left: calc(var(--spacing) * 0);
  }

  .data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction="vertical"]:after {
    content: var(--tw-content);
    height: calc(var(--spacing) * 1);
  }

  .data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction="vertical"]:after {
    content: var(--tw-content);
    width: 100%;
  }

  .data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction="vertical"]:after {
    content: var(--tw-content);
    --tw-translate-x: calc(var(--spacing) * 0);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction="vertical"]:after {
    content: var(--tw-content);
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[placeholder\]\:text-muted-foreground[data-placeholder] {
    color: hsl(var(--muted-foreground));
  }

  .data-\[range-end\=true\]\:rounded-md[data-range-end="true"] {
    border-radius: calc(var(--radius) - 2px);
  }

  .data-\[range-end\=true\]\:bg-primary[data-range-end="true"] {
    background-color: hsl(var(--primary));
  }

  .data-\[range-end\=true\]\:text-primary-foreground[data-range-end="true"] {
    color: hsl(var(--primary-foreground));
  }

  .data-\[range-middle\=true\]\:rounded-none[data-range-middle="true"] {
    border-radius: 0;
  }

  .data-\[range-middle\=true\]\:bg-accent[data-range-middle="true"] {
    background-color: hsl(var(--accent));
  }

  .data-\[range-middle\=true\]\:text-accent-foreground[data-range-middle="true"] {
    color: hsl(var(--accent-foreground));
  }

  .data-\[range-start\=true\]\:rounded-md[data-range-start="true"] {
    border-radius: calc(var(--radius) - 2px);
  }

  .data-\[range-start\=true\]\:bg-primary[data-range-start="true"] {
    background-color: hsl(var(--primary));
  }

  .data-\[range-start\=true\]\:text-primary-foreground[data-range-start="true"] {
    color: hsl(var(--primary-foreground));
  }

  .data-\[selected-single\=true\]\:bg-primary[data-selected-single="true"] {
    background-color: hsl(var(--primary));
  }

  .data-\[selected-single\=true\]\:text-primary-foreground[data-selected-single="true"] {
    color: hsl(var(--primary-foreground));
  }

  .data-\[selected\=true\]\:rounded-none[data-selected="true"] {
    border-radius: 0;
  }

  .data-\[selected\=true\]\:bg-accent[data-selected="true"] {
    background-color: hsl(var(--accent));
  }

  .data-\[selected\=true\]\:text-accent-foreground[data-selected="true"] {
    color: hsl(var(--accent-foreground));
  }

  .data-\[side\=bottom\]\:translate-y-1[data-side="bottom"] {
    --tw-translate-y: calc(var(--spacing) * 1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[side\=bottom\]\:slide-in-from-top-2[data-side="bottom"] {
    --tw-enter-translate-y: calc(2*var(--spacing)*-1);
  }

  .data-\[side\=left\]\:-translate-x-1[data-side="left"] {
    --tw-translate-x: calc(var(--spacing) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[side\=left\]\:slide-in-from-right-2[data-side="left"] {
    --tw-enter-translate-x: calc(2*var(--spacing));
  }

  .data-\[side\=right\]\:translate-x-1[data-side="right"] {
    --tw-translate-x: calc(var(--spacing) * 1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[side\=right\]\:slide-in-from-left-2[data-side="right"] {
    --tw-enter-translate-x: calc(2*var(--spacing)*-1);
  }

  .data-\[side\=top\]\:-translate-y-1[data-side="top"] {
    --tw-translate-y: calc(var(--spacing) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[side\=top\]\:slide-in-from-bottom-2[data-side="top"] {
    --tw-enter-translate-y: calc(2*var(--spacing));
  }

  .data-\[slot\=checkbox-group\]\:gap-3[data-slot="checkbox-group"] {
    gap: calc(var(--spacing) * 3);
  }

  .data-\[state\=active\]\:bg-background[data-state="active"] {
    background-color: hsl(var(--background));
  }

  .data-\[state\=active\]\:text-foreground[data-state="active"] {
    color: hsl(var(--foreground));
  }

  .data-\[state\=active\]\:shadow[data-state="active"] {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .data-\[state\=checked\]\:translate-x-4[data-state="checked"] {
    --tw-translate-x: calc(var(--spacing) * 4);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[state\=checked\]\:bg-primary[data-state="checked"] {
    background-color: hsl(var(--primary));
  }

  .data-\[state\=checked\]\:text-primary-foreground[data-state="checked"] {
    color: hsl(var(--primary-foreground));
  }

  .data-\[state\=closed\]\:animate-accordion-up[data-state="closed"] {
    animation: accordion-up var(--tw-animation-duration, var(--tw-duration, .2s))var(--tw-ease, ease-out)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none);
  }

  .data-\[state\=closed\]\:animate-out[data-state="closed"] {
    animation: exit var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none);
  }

  .data-\[state\=closed\]\:duration-300[data-state="closed"] {
    --tw-duration: .3s;
    transition-duration: .3s;
  }

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

  .data-\[state\=closed\]\:zoom-out-95[data-state="closed"] {
    --tw-exit-scale: .95;
  }

  .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: calc(1 / 2*-100%);
  }

  .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: calc(1*100%);
  }

  .data-\[state\=closed\]\:slide-out-to-top[data-state="closed"] {
    --tw-exit-translate-y: -100%;
  }

  .data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state="closed"] {
    --tw-exit-translate-y: calc(48%*-1);
  }

  .data-\[state\=hidden\]\:animate-out[data-state="hidden"] {
    animation: exit var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none);
  }

  .data-\[state\=hidden\]\:fade-out[data-state="hidden"] {
    --tw-exit-opacity: 0;
  }

  .data-\[state\=on\]\:bg-accent[data-state="on"] {
    background-color: hsl(var(--accent));
  }

  .data-\[state\=on\]\:text-accent-foreground[data-state="on"] {
    color: hsl(var(--accent-foreground));
  }

  .data-\[state\=open\]\:animate-accordion-down[data-state="open"] {
    animation: accordion-down var(--tw-animation-duration, var(--tw-duration, .2s))var(--tw-ease, ease-out)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none);
  }

  .data-\[state\=open\]\:animate-in[data-state="open"] {
    animation: enter var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none);
  }

  .data-\[state\=open\]\:bg-accent[data-state="open"], .data-\[state\=open\]\:bg-accent\/50[data-state="open"] {
    background-color: hsl(var(--accent));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .data-\[state\=open\]\:bg-accent\/50[data-state="open"] {
      background-color: color-mix(in oklab, hsl(var(--accent)) 50%, transparent);
    }
  }

  .data-\[state\=open\]\:bg-secondary[data-state="open"] {
    background-color: hsl(var(--secondary));
  }

  .data-\[state\=open\]\:text-accent-foreground[data-state="open"] {
    color: hsl(var(--accent-foreground));
  }

  .data-\[state\=open\]\:text-muted-foreground[data-state="open"] {
    color: hsl(var(--muted-foreground));
  }

  .data-\[state\=open\]\:opacity-100[data-state="open"] {
    opacity: 1;
  }

  .data-\[state\=open\]\:duration-500[data-state="open"] {
    --tw-duration: .5s;
    transition-duration: .5s;
  }

  .data-\[state\=open\]\:fade-in-0[data-state="open"] {
    --tw-enter-opacity: 0;
  }

  .data-\[state\=open\]\:zoom-in-90[data-state="open"] {
    --tw-enter-scale: .9;
  }

  .data-\[state\=open\]\:zoom-in-95[data-state="open"] {
    --tw-enter-scale: .95;
  }

  .data-\[state\=open\]\:slide-in-from-bottom[data-state="open"] {
    --tw-enter-translate-y: 100%;
  }

  .data-\[state\=open\]\:slide-in-from-left[data-state="open"] {
    --tw-enter-translate-x: -100%;
  }

  .data-\[state\=open\]\:slide-in-from-left-1\/2[data-state="open"] {
    --tw-enter-translate-x: calc(1 / 2*-100%);
  }

  .data-\[state\=open\]\:slide-in-from-right[data-state="open"] {
    --tw-enter-translate-x: 100%;
  }

  .data-\[state\=open\]\:slide-in-from-top[data-state="open"] {
    --tw-enter-translate-y: -100%;
  }

  .data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state="open"] {
    --tw-enter-translate-y: calc(48%*-1);
  }

  .data-\[state\=open\]\:slide-in-from-top-full[data-state="open"] {
    --tw-enter-translate-y: calc(1*-100%);
  }

  @media (hover: hover) {
    .data-\[state\=open\]\:hover\:bg-accent[data-state="open"]:hover {
      background-color: hsl(var(--accent));
    }

    .data-\[state\=open\]\:hover\:bg-sidebar-accent[data-state="open"]:hover {
      background-color: hsl(var(--sidebar-accent));
    }

    .data-\[state\=open\]\:hover\:text-sidebar-accent-foreground[data-state="open"]:hover {
      color: hsl(var(--sidebar-accent-foreground));
    }
  }

  .data-\[state\=open\]\:focus\:bg-accent[data-state="open"]:focus {
    background-color: hsl(var(--accent));
  }

  .data-\[state\=selected\]\:bg-muted[data-state="selected"] {
    background-color: hsl(var(--muted));
  }

  .data-\[state\=unchecked\]\:translate-x-0[data-state="unchecked"] {
    --tw-translate-x: calc(var(--spacing) * 0);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[state\=unchecked\]\:bg-input[data-state="unchecked"] {
    background-color: hsl(var(--input));
  }

  .data-\[state\=visible\]\:animate-in[data-state="visible"] {
    animation: enter var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none);
  }

  .data-\[state\=visible\]\:fade-in[data-state="visible"] {
    --tw-enter-opacity: 0;
  }

  .data-\[swipe\=cancel\]\:translate-x-0[data-swipe="cancel"] {
    --tw-translate-x: calc(var(--spacing) * 0);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe="end"] {
    --tw-translate-x: var(--radix-toast-swipe-end-x);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[swipe\=end\]\:animate-out[data-swipe="end"] {
    animation: exit var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none);
  }

  .data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe="move"] {
    --tw-translate-x: var(--radix-toast-swipe-move-x);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[swipe\=move\]\:transition-none[data-swipe="move"] {
    transition-property: none;
  }

  .data-\[variant\=label\]\:text-sm[data-variant="label"] {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

  .data-\[variant\=legend\]\:text-base[data-variant="legend"] {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }

  .nth-last-2\:-mt-1:nth-last-child(2) {
    margin-top: calc(var(--spacing) * -1);
  }

  @media (min-width: 340px) {
    .min-\[340px\]\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (min-width: 480px) {
    .min-\[480px\]\:mx-0 {
      margin-inline: calc(var(--spacing) * 0);
    }

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

    .min-\[480px\]\:w-full {
      width: 100%;
    }

    .min-\[480px\]\:max-w-lg {
      max-width: var(--container-lg);
    }

    .min-\[480px\]\:flex-row {
      flex-direction: row;
    }

    .min-\[480px\]\:items-start {
      align-items: flex-start;
    }

    .min-\[480px\]\:justify-start {
      justify-content: flex-start;
    }

    .min-\[480px\]\:rounded-2xl {
      border-radius: var(--radius-2xl);
    }

    .min-\[480px\]\:border {
      border-style: var(--tw-border-style);
      border-width: 1px;
    }

    .min-\[480px\]\:p-5 {
      padding: calc(var(--spacing) * 5);
    }

    .min-\[480px\]\:text-left {
      text-align: left;
    }
  }

  @media (min-width: 40rem) {
    .sm\:top-8 {
      top: calc(var(--spacing) * 8);
    }

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

    .sm\:right-0 {
      right: calc(var(--spacing) * 0);
    }

    .sm\:right-8 {
      right: calc(var(--spacing) * 8);
    }

    .sm\:bottom-0 {
      bottom: calc(var(--spacing) * 0);
    }

    .sm\:mx-0 {
      margin-inline: calc(var(--spacing) * 0);
    }

    .sm\:mx-auto {
      margin-inline: auto;
    }

    .sm\:mt-0 {
      margin-top: calc(var(--spacing) * 0);
    }

    .sm\:block {
      display: block;
    }

    .sm\:flex {
      display: flex;
    }

    .sm\:hidden {
      display: none;
    }

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

    .sm\:h-3\.5 {
      height: calc(var(--spacing) * 3.5);
    }

    .sm\:h-7 {
      height: calc(var(--spacing) * 7);
    }

    .sm\:w-3\.5 {
      width: calc(var(--spacing) * 3.5);
    }

    .sm\:w-7 {
      width: calc(var(--spacing) * 7);
    }

    .sm\:w-60 {
      width: calc(var(--spacing) * 60);
    }

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

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

    .sm\:w-full {
      width: 100%;
    }

    .sm\:max-w-md {
      max-width: var(--container-md);
    }

    .sm\:max-w-sm {
      max-width: var(--container-sm);
    }

    .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-6 {
      grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .sm\:grid-cols-\[repeat\(auto-fill\,minmax\(80px\,1fr\)\)\] {
      grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
    }

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

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

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

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

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

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

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

    .sm\:gap-1\.5 {
      gap: calc(var(--spacing) * 1.5);
    }

    .sm\:gap-2 {
      gap: calc(var(--spacing) * 2);
    }

    .sm\:gap-2\.5 {
      gap: calc(var(--spacing) * 2.5);
    }

    .sm\:gap-4 {
      gap: calc(var(--spacing) * 4);
    }

    :where(.sm\:space-x-2 > :not(:last-child)) {
      --tw-space-x-reverse: 0;
      margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
      margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
    }

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

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

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

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

    .sm\:rounded-xl {
      border-radius: calc(var(--radius) + 4px);
    }

    .sm\:border {
      border-style: var(--tw-border-style);
      border-width: 1px;
    }

    .sm\:border-border\/50 {
      border-color: hsl(var(--border));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .sm\:border-border\/50 {
        border-color: color-mix(in oklab, hsl(var(--border)) 50%, transparent);
      }
    }

    .sm\:border-primary\/50 {
      border-color: hsl(var(--primary));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .sm\:border-primary\/50 {
        border-color: color-mix(in oklab, hsl(var(--primary)) 50%, transparent);
      }
    }

    .sm\:bg-transparent {
      background-color: #0000;
    }

    .sm\:p-4 {
      padding: calc(var(--spacing) * 4);
    }

    .sm\:p-5 {
      padding: calc(var(--spacing) * 5);
    }

    .sm\:p-6 {
      padding: calc(var(--spacing) * 6);
    }

    .sm\:p-8 {
      padding: calc(var(--spacing) * 8);
    }

    .sm\:px-0 {
      padding-inline: calc(var(--spacing) * 0);
    }

    .sm\:px-5 {
      padding-inline: calc(var(--spacing) * 5);
    }

    .sm\:px-8 {
      padding-inline: calc(var(--spacing) * 8);
    }

    .sm\:py-4 {
      padding-block: calc(var(--spacing) * 4);
    }

    .sm\:pt-4 {
      padding-top: calc(var(--spacing) * 4);
    }

    .sm\:pb-24 {
      padding-bottom: calc(var(--spacing) * 24);
    }

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

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

    @media (hover: hover) {
      .sm\:hover\:border-primary:hover, .sm\:hover\:border-primary\/30:hover {
        border-color: hsl(var(--primary));
      }

      @supports (color: color-mix(in lab, red, red)) {
        .sm\:hover\:border-primary\/30:hover {
          border-color: color-mix(in oklab, hsl(var(--primary)) 30%, transparent);
        }
      }
    }

    .data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state="open"] {
      --tw-enter-translate-y: calc(1*100%);
    }
  }

  @media (min-width: 48rem) {
    .md\:absolute {
      position: absolute;
    }

    .md\:fixed {
      position: fixed;
    }

    .md\:right-6 {
      right: calc(var(--spacing) * 6);
    }

    .md\:bottom-6 {
      bottom: calc(var(--spacing) * 6);
    }

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

    .md\:left-6 {
      left: calc(var(--spacing) * 6);
    }

    .md\:left-\[39px\] {
      left: 39px;
    }

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

    .md\:m-0 {
      margin: calc(var(--spacing) * 0);
    }

    .md\:mt-0 {
      margin-top: calc(var(--spacing) * 0);
    }

    .md\:block {
      display: block;
    }

    .md\:flex {
      display: flex;
    }

    .md\:grid {
      display: grid;
    }

    .md\:hidden {
      display: none;
    }

    .md\:h-28 {
      height: calc(var(--spacing) * 28);
    }

    .md\:h-32 {
      height: calc(var(--spacing) * 32);
    }

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

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

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

    .md\:w-28 {
      width: calc(var(--spacing) * 28);
    }

    .md\:w-32 {
      width: calc(var(--spacing) * 32);
    }

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

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

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

    .md\:max-w-5xl {
      max-width: var(--container-5xl);
    }

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

    .md\:max-w-md {
      max-width: var(--container-md);
    }

    .md\:-translate-x-1\/2 {
      --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

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

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

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

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

    .md\:gap-1 {
      gap: calc(var(--spacing) * 1);
    }

    .md\:gap-3 {
      gap: calc(var(--spacing) * 3);
    }

    .md\:gap-6 {
      gap: calc(var(--spacing) * 6);
    }

    :where(.md\:space-x-6 > :not(:last-child)) {
      --tw-space-x-reverse: 0;
      margin-inline-start: calc(calc(var(--spacing) * 6) * var(--tw-space-x-reverse));
      margin-inline-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-x-reverse)));
    }

    :where(.md\:divide-x > :not(:last-child)) {
      --tw-divide-x-reverse: 0;
      border-inline-style: var(--tw-border-style);
      border-inline-start-width: calc(1px * var(--tw-divide-x-reverse));
      border-inline-end-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
    }

    :where(.md\:divide-brand-ink\/5 > :not(:last-child)) {
      border-color: hsl(var(--foreground));
    }

    @supports (color: color-mix(in lab, red, red)) {
      :where(.md\:divide-brand-ink\/5 > :not(:last-child)) {
        border-color: color-mix(in oklab, hsl(var(--foreground)) 5%, transparent);
      }
    }

    .md\:rounded-3xl {
      border-radius: var(--radius-3xl);
    }

    .md\:\!p-6 {
      padding: calc(var(--spacing) * 6) !important;
    }

    .md\:p-5 {
      padding: calc(var(--spacing) * 5);
    }

    .md\:p-6 {
      padding: calc(var(--spacing) * 6);
    }

    .md\:p-8 {
      padding: calc(var(--spacing) * 8);
    }

    .md\:p-10 {
      padding: calc(var(--spacing) * 10);
    }

    .md\:p-12 {
      padding: calc(var(--spacing) * 12);
    }

    .md\:px-6 {
      padding-inline: calc(var(--spacing) * 6);
    }

    .md\:py-6 {
      padding-block: calc(var(--spacing) * 6);
    }

    .md\:pt-4 {
      padding-top: calc(var(--spacing) * 4);
    }

    .md\:pt-6 {
      padding-top: calc(var(--spacing) * 6);
    }

    .md\:pb-0 {
      padding-bottom: calc(var(--spacing) * 0);
    }

    .md\:pb-4 {
      padding-bottom: calc(var(--spacing) * 4);
    }

    .md\:pb-32 {
      padding-bottom: calc(var(--spacing) * 32);
    }

    .md\:pl-8 {
      padding-left: calc(var(--spacing) * 8);
    }

    .md\:text-4xl {
      font-size: var(--text-4xl);
      line-height: var(--tw-leading, var(--text-4xl--line-height));
    }

    .md\:text-5xl {
      font-size: var(--text-5xl);
      line-height: var(--tw-leading, var(--text-5xl--line-height));
    }

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

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

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

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

    .md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant="inset"] ~ *) {
      margin: calc(var(--spacing) * 2);
    }

    .md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant="inset"] ~ *) {
      margin-left: calc(var(--spacing) * 0);
    }

    .md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant="inset"] ~ *) {
      border-radius: calc(var(--radius) + 4px);
    }

    .md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant="inset"] ~ *) {
      --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant="inset"] ~ *):is(:where(.peer)[data-state="collapsed"] ~ *) {
      margin-left: calc(var(--spacing) * 2);
    }

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

  @media (min-width: 64rem) {
    .lg\:col-span-1 {
      grid-column: span 1 / span 1;
    }

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

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

    .lg\:gap-12 {
      gap: calc(var(--spacing) * 12);
    }
  }

  @container field-group (min-width: 28rem) {
    .\@md\/field-group\:flex-row {
      flex-direction: row;
    }

    .\@md\/field-group\:items-center {
      align-items: center;
    }

    .\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:items-start:has( > [data-slot="field-content"]) {
      align-items: flex-start;
    }
  }

  .dark\:border-brand-gold\/20:is(.dark *) {
    border-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:border-brand-gold\/20:is(.dark *) {
      border-color: color-mix(in oklab, hsl(var(--primary)) 20%, transparent);
    }
  }

  .dark\:border-destructive:is(.dark *) {
    border-color: hsl(var(--destructive));
  }

  .dark\:bg-brand-card:is(.dark *) {
    background-color: hsl(var(--card));
  }

  .dark\:bg-input\/30:is(.dark *) {
    background-color: hsl(var(--input));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:bg-input\/30:is(.dark *) {
      background-color: color-mix(in oklab, hsl(var(--input)) 30%, transparent);
    }
  }

  .dark\:bg-transparent:is(.dark *) {
    background-color: #0000;
  }

  .dark\:text-muted-foreground:is(.dark *) {
    color: hsl(var(--muted-foreground));
  }

  .dark\:has-data-\[state\=checked\]\:bg-primary\/10:is(.dark *):has([data-state="checked"]) {
    background-color: hsl(var(--primary));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:has-data-\[state\=checked\]\:bg-primary\/10:is(.dark *):has([data-state="checked"]) {
      background-color: color-mix(in oklab, hsl(var(--primary)) 10%, transparent);
    }
  }

  .dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:is(.dark *):has([data-slot][aria-invalid="true"]) {
    --tw-ring-color: hsl(var(--destructive));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:is(.dark *):has([data-slot][aria-invalid="true"]) {
      --tw-ring-color: color-mix(in oklab, hsl(var(--destructive)) 40%, transparent);
    }
  }

  .\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text {
    fill: hsl(var(--muted-foreground));
  }

  .\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"] {
    stroke: hsl(var(--border));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"] {
      stroke: color-mix(in oklab, hsl(var(--border)) 50%, transparent);
    }
  }

  .\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor {
    stroke: hsl(var(--border));
  }

  .\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke="#fff"] {
    stroke: #0000;
  }

  .\[\&_\.recharts-layer\]\:outline-none .recharts-layer {
    --tw-outline-style: none;
    outline-style: none;
  }

  .\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke="#ccc"] {
    stroke: hsl(var(--border));
  }

  .\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector, .\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor {
    fill: hsl(var(--muted));
  }

  .\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke="#ccc"] {
    stroke: hsl(var(--border));
  }

  .\[\&_\.recharts-sector\]\:outline-none .recharts-sector {
    --tw-outline-style: none;
    outline-style: none;
  }

  .\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke="#fff"] {
    stroke: #0000;
  }

  .\[\&_\.recharts-surface\]\:outline-none .recharts-surface {
    --tw-outline-style: none;
    outline-style: none;
  }

  .\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading] {
    padding-inline: calc(var(--spacing) * 2);
  }

  .\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading] {
    padding-block: calc(var(--spacing) * 1.5);
  }

  .\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading] {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading] {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading] {
    color: hsl(var(--muted-foreground));
  }

  .\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group] {
    padding-inline: calc(var(--spacing) * 2);
  }

  .\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden]) ~ [cmdk-group] {
    padding-top: calc(var(--spacing) * 0);
  }

  .\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg {
    height: calc(var(--spacing) * 5);
  }

  .\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg {
    width: calc(var(--spacing) * 5);
  }

  .\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input] {
    height: calc(var(--spacing) * 12);
  }

  .\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item] {
    padding-inline: calc(var(--spacing) * 2);
  }

  .\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item] {
    padding-block: calc(var(--spacing) * 3);
  }

  .\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg {
    height: calc(var(--spacing) * 5);
  }

  .\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg {
    width: calc(var(--spacing) * 5);
  }

  .\[\&_img\]\:size-full img {
    width: 100%;
    height: 100%;
  }

  .\[\&_img\]\:object-cover img {
    object-fit: cover;
  }

  .\[\&_p\]\:leading-relaxed p {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }

  .\[\&_svg\]\:pointer-events-none svg {
    pointer-events: none;
  }

  .\[\&_svg\]\:size-4 svg {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }

  .\[\&_svg\]\:shrink-0 svg {
    flex-shrink: 0;
  }

  .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*="size-"]) {
    width: calc(var(--spacing) * 3);
    height: calc(var(--spacing) * 3);
  }

  .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*="size-"]) {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }

  .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-6 svg:not([class*="size-"]) {
    width: calc(var(--spacing) * 6);
    height: calc(var(--spacing) * 6);
  }

  .\[\&_tr\]\:border-b tr {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }

  .\[\&_tr\:last-child\]\:border-0 tr:last-child {
    border-style: var(--tw-border-style);
    border-width: 0;
  }

  .\[\&\+\[data-slot\=item-content\]\]\:flex-none + [data-slot="item-content"] {
    flex: none;
  }

  .\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button {
    appearance: none;
  }

  .\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button {
    appearance: none;
  }

  .\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-md:first-child[data-selected="true"] button {
    border-top-left-radius: calc(var(--radius) - 2px);
    border-bottom-left-radius: calc(var(--radius) - 2px);
  }

  .\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role="checkbox"]) {
    padding-right: calc(var(--spacing) * 0);
  }

  .\[\.border-b\]\:pb-3.border-b {
    padding-bottom: calc(var(--spacing) * 3);
  }

  .\[\.border-t\]\:pt-3.border-t {
    padding-top: calc(var(--spacing) * 3);
  }

  :is(.rtl\:\*\*\:\[\.rdp-button\\_next\>svg\]\:rotate-180:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) *):is(.rdp-button_next > svg), :is(.rtl\:\*\*\:\[\.rdp-button\\_previous\>svg\]\:rotate-180:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) *):is(.rdp-button_previous > svg) {
    rotate: 180deg;
  }

  .\[a\]\:transition-colors:is(a) {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  @media (hover: hover) {
    .\[a\]\:hover\:bg-accent\/50:is(a):hover {
      background-color: hsl(var(--accent));
    }

    @supports (color: color-mix(in lab, red, red)) {
      .\[a\]\:hover\:bg-accent\/50:is(a):hover {
        background-color: color-mix(in oklab, hsl(var(--accent)) 50%, transparent);
      }
    }
  }

  .\[\&\:last-child\[data-selected\=true\]_button\]\:rounded-r-md:last-child[data-selected="true"] button {
    border-top-right-radius: calc(var(--radius) - 2px);
    border-bottom-right-radius: calc(var(--radius) - 2px);
  }

  .\[\&\>\*\]\:w-full > * {
    width: 100%;
  }

  .\[\&\>\*\]\:focus-visible\:relative > :focus-visible {
    position: relative;
  }

  .\[\&\>\*\]\:focus-visible\:z-10 > :focus-visible {
    z-index: 10;
  }

  @container field-group (min-width: 28rem) {
    .\@md\/field-group\:\[\&\>\*\]\:w-auto > * {
      width: auto;
    }
  }

  .\[\&\>\*\:not\(\:first-child\)\]\:rounded-t-none > :not(:first-child) {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }

  .\[\&\>\*\:not\(\:first-child\)\]\:rounded-l-none > :not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }

  .\[\&\>\*\:not\(\:first-child\)\]\:border-t-0 > :not(:first-child) {
    border-top-style: var(--tw-border-style);
    border-top-width: 0;
  }

  .\[\&\>\*\:not\(\:first-child\)\]\:border-l-0 > :not(:first-child) {
    border-left-style: var(--tw-border-style);
    border-left-width: 0;
  }

  .\[\&\>\*\:not\(\:last-child\)\]\:rounded-r-none > :not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }

  .\[\&\>\*\:not\(\:last-child\)\]\:rounded-b-none > :not(:last-child) {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }

  .\[\&\>\.sr-only\]\:w-auto > .sr-only {
    width: auto;
  }

  .\[\&\>\[data-slot\=field-group\]\]\:gap-4 > [data-slot="field-group"] {
    gap: calc(var(--spacing) * 4);
  }

  .\[\&\>\[data-slot\=field-label\]\]\:flex-auto > [data-slot="field-label"] {
    flex: auto;
  }

  @container field-group (min-width: 28rem) {
    .\@md\/field-group\:\[\&\>\[data-slot\=field-label\]\]\:flex-auto > [data-slot="field-label"] {
      flex: auto;
    }
  }

  .\[\&\>\[data-slot\=field\]\]\:p-4 > [data-slot="field"] {
    padding: calc(var(--spacing) * 4);
  }

  .has-\[select\[aria-hidden\=true\]\:last-child\]\:\[\&\>\[data-slot\=select-trigger\]\:last-of-type\]\:rounded-r-md:has(:is(select[aria-hidden="true"]:last-child)) > [data-slot="select-trigger"]:last-of-type {
    border-top-right-radius: calc(var(--radius) - 2px);
    border-bottom-right-radius: calc(var(--radius) - 2px);
  }

  .\[\&\>\[data-slot\=select-trigger\]\:not\(\[class\*\=\'w-\'\]\)\]\:w-fit > [data-slot="select-trigger"]:not([class*="w-"]) {
    width: fit-content;
  }

  .\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\] > [role="checkbox"] {
    --tw-translate-y: 2px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has( > [data-slot="field-content"]) > [role="checkbox"], .has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has( > [data-slot="field-content"]) [role="radio"] {
    margin-top: 1px;
  }

  @container field-group (min-width: 28rem) {
    .\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has( > [data-slot="field-content"]) > [role="checkbox"], .\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has( > [data-slot="field-content"]) [role="radio"] {
      margin-top: 1px;
    }
  }

  .\[\&\>a\]\:underline > a {
    text-decoration-line: underline;
  }

  .\[\&\>a\]\:underline-offset-4 > a {
    text-underline-offset: 4px;
  }

  .\[\&\>a\:hover\]\:text-primary > a:hover {
    color: hsl(var(--primary));
  }

  .\[\&\>button\]\:hidden > button {
    display: none;
  }

  .\[\&\>input\]\:flex-1 > input {
    flex: 1;
  }

  .has-\[\>\[data-align\=block-end\]\]\:\[\&\>input\]\:pt-3:has( > [data-align="block-end"]) > input {
    padding-top: calc(var(--spacing) * 3);
  }

  .has-\[\>\[data-align\=block-start\]\]\:\[\&\>input\]\:pb-3:has( > [data-align="block-start"]) > input {
    padding-bottom: calc(var(--spacing) * 3);
  }

  .has-\[\>\[data-align\=inline-end\]\]\:\[\&\>input\]\:pr-2:has( > [data-align="inline-end"]) > input {
    padding-right: calc(var(--spacing) * 2);
  }

  .has-\[\>\[data-align\=inline-start\]\]\:\[\&\>input\]\:pl-2:has( > [data-align="inline-start"]) > input {
    padding-left: calc(var(--spacing) * 2);
  }

  .\[\&\>kbd\]\:rounded-\[calc\(var\(--radius\)-5px\)\] > kbd {
    border-radius: calc(var(--radius) - 5px);
  }

  .\[\&\>span\]\:line-clamp-1 > span {
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .\[\&\>span\]\:text-xs > span {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .\[\&\>span\]\:opacity-70 > span {
    opacity: .7;
  }

  .\[\&\>span\:last-child\]\:truncate > span:last-child {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  .\[\&\>svg\]\:absolute > svg {
    position: absolute;
  }

  .\[\&\>svg\]\:top-4 > svg {
    top: calc(var(--spacing) * 4);
  }

  .\[\&\>svg\]\:left-4 > svg {
    left: calc(var(--spacing) * 4);
  }

  .\[\&\>svg\]\:size-3\.5 > svg {
    width: calc(var(--spacing) * 3.5);
    height: calc(var(--spacing) * 3.5);
  }

  .\[\&\>svg\]\:size-4 > svg {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }

  .\[\&\>svg\]\:h-2\.5 > svg {
    height: calc(var(--spacing) * 2.5);
  }

  .\[\&\>svg\]\:h-3 > svg {
    height: calc(var(--spacing) * 3);
  }

  .\[\&\>svg\]\:h-3\.5 > svg {
    height: calc(var(--spacing) * 3.5);
  }

  .\[\&\>svg\]\:h-4 > svg {
    height: calc(var(--spacing) * 4);
  }

  .\[\&\>svg\]\:w-2\.5 > svg {
    width: calc(var(--spacing) * 2.5);
  }

  .\[\&\>svg\]\:w-3 > svg {
    width: calc(var(--spacing) * 3);
  }

  .\[\&\>svg\]\:w-3\.5 > svg {
    width: calc(var(--spacing) * 3.5);
  }

  .\[\&\>svg\]\:w-4 > svg {
    width: calc(var(--spacing) * 4);
  }

  .\[\&\>svg\]\:shrink-0 > svg {
    flex-shrink: 0;
  }

  .\[\&\>svg\]\:text-destructive > svg {
    color: hsl(var(--destructive));
  }

  .\[\&\>svg\]\:text-foreground > svg {
    color: hsl(var(--foreground));
  }

  .\[\&\>svg\]\:text-muted-foreground > svg {
    color: hsl(var(--muted-foreground));
  }

  .\[\&\>svg\]\:text-sidebar-accent-foreground > svg {
    color: hsl(var(--sidebar-accent-foreground));
  }

  .\[\&\>svg\+div\]\:translate-y-\[-3px\] > svg + div {
    --tw-translate-y: -3px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 > svg:not([class*="size-"]) {
    width: calc(var(--spacing) * 3.5);
    height: calc(var(--spacing) * 3.5);
  }

  .\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 > svg:not([class*="size-"]) {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }

  .\[\&\>svg\~\*\]\:pl-7 > svg ~ * {
    padding-left: calc(var(--spacing) * 7);
  }

  .\[\&\>tr\]\:last\:border-b-0 > tr:last-child {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 0;
  }

  .\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction="vertical"] > div {
    rotate: 90deg;
  }

  .\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state="open"] > svg {
    rotate: 180deg;
  }

  [data-side="left"][data-collapsible="offcanvas"] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2 {
    right: calc(var(--spacing) * -2);
  }

  [data-side="left"][data-state="collapsed"] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize {
    cursor: e-resize;
  }

  [data-side="right"][data-collapsible="offcanvas"] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2 {
    left: calc(var(--spacing) * -2);
  }

  [data-side="right"][data-state="collapsed"] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize {
    cursor: w-resize;
  }

  [data-slot="card-content"] .\[\[data-slot\=card-content\]_\&\]\:bg-transparent, [data-slot="popover-content"] .\[\[data-slot\=popover-content\]_\&\]\:bg-transparent {
    background-color: #0000;
  }

  [data-slot="tooltip-content"] .\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/20 {
    background-color: hsl(var(--background));
  }

  @supports (color: color-mix(in lab, red, red)) {
    [data-slot="tooltip-content"] .\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/20 {
      background-color: color-mix(in oklab, hsl(var(--background)) 20%, transparent);
    }
  }

  [data-slot="tooltip-content"] .\[\[data-slot\=tooltip-content\]_\&\]\:text-background {
    color: hsl(var(--background));
  }

  [data-slot="tooltip-content"] .dark\:\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/10:is(.dark *) {
    background-color: hsl(var(--background));
  }

  @supports (color: color-mix(in lab, red, red)) {
    [data-slot="tooltip-content"] .dark\:\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/10:is(.dark *) {
      background-color: color-mix(in oklab, hsl(var(--background)) 10%, transparent);
    }
  }

  [data-variant="legend"] + .\[\[data-variant\=legend\]\+\&\]\:-mt-1\.5 {
    margin-top: calc(var(--spacing) * -1.5);
  }
}

@property --tw-animation-delay {
  syntax: "*";
  inherits: false;
  initial-value: 0s;
}

@property --tw-animation-direction {
  syntax: "*";
  inherits: false;
  initial-value: normal;
}

@property --tw-animation-duration {
  syntax: "*";
  inherits: false
}

@property --tw-animation-fill-mode {
  syntax: "*";
  inherits: false;
  initial-value: none;
}

@property --tw-animation-iteration-count {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-enter-blur {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-enter-opacity {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-enter-rotate {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-enter-scale {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-enter-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-enter-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-exit-blur {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-exit-opacity {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-exit-rotate {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-exit-scale {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-exit-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-exit-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

.theme-dark, [data-bob-variant$="-night"], .portal-night, [data-theme="night"], [data-theme="gold-night"] {
  --portal-bg: #100c08;
  --portal-card-bg: #16100c;
  --portal-card-bg-subtle: #16100c99;
  --portal-card-border: #ffffff14;
  --portal-input-bg: #ffffff0d;
  --portal-input-border: #ffffff1f;
  --portal-input-focus: #d4af37;
  --portal-text-primary: #fff;
  --portal-text-secondary: #e2e8f0;
  --portal-text-muted: #94a3b8;
  --portal-accent-gold: #d4af37;
  --portal-accent-gold-light: #f3e5ab;
  --portal-accent-gold-bg: #d4af3726;
  --portal-autofill-bg: #16100c;
  --portal-header-bg: #100c08d9;
  --portal-overlay: #0009;
  --portal-caret-color: #fff;
  --background: 25 18% 5%;
  --foreground: 0 0% 96%;
  --card: 25 16% 8%;
  --card-foreground: 0 0% 96%;
  --card-border: 25 14% 14%;
  --popover: 25 16% 8%;
  --popover-foreground: 0 0% 96%;
  --primary: 43 65% 59%;
  --primary-foreground: 0 0% 0%;
  --secondary: 25 13% 13%;
  --secondary-foreground: 0 0% 94%;
  --muted: 25 13% 13%;
  --muted-foreground: 25 8% 60%;
  --accent: 25 12% 17%;
  --accent-foreground: 0 0% 94%;
  --border: 25 12% 16%;
  --input: 25 12% 16%;
  --ring: 43 65% 59%;
}

.theme-light, [data-bob-variant$="-day"], .portal-day, [data-theme="day"], [data-theme="gold-day"] {
  --portal-bg: #f8fafc;
  --portal-card-bg: #fff;
  --portal-card-bg-subtle: #ffffffe6;
  --portal-card-border: #00000014;
  --portal-input-bg: #00000008;
  --portal-input-border: #00000026;
  --portal-input-focus: #b8860b;
  --portal-text-primary: #0f172a;
  --portal-text-secondary: #334155;
  --portal-text-muted: #64748b;
  --portal-accent-gold: #b8860b;
  --portal-accent-gold-light: #d4af37;
  --portal-accent-gold-bg: #b8860b1f;
  --portal-autofill-bg: #fff;
  --portal-header-bg: #f8fafce6;
  --portal-overlay: #0f172a66;
  --portal-caret-color: #0f172a;
  --background: 210 40% 98%;
  --foreground: 222 47% 11%;
  --card: 0 0% 100%;
  --card-foreground: 222 47% 11%;
  --card-border: 214 32% 91%;
  --popover: 0 0% 100%;
  --popover-foreground: 222 47% 11%;
  --primary: 43 74% 38%;
  --primary-foreground: 0 0% 100%;
  --secondary: 210 40% 96%;
  --secondary-foreground: 222 47% 11%;
  --muted: 210 40% 96%;
  --muted-foreground: 215 16% 47%;
  --accent: 210 40% 96%;
  --accent-foreground: 222 47% 11%;
  --border: 214 32% 91%;
  --input: 214 32% 91%;
  --ring: 43 74% 38%;
}

html body #root .portal-field-input, html body .portal-field-input {
  background-color: var(--portal-input-bg);
  color: var(--portal-text-primary);
  border-color: var(--portal-input-border);
  caret-color: currentColor;
}

html body #root .portal-field-input:focus, html body #root .portal-field-input:focus-visible, html body .portal-field-input:focus, html body .portal-field-input:focus-visible {
  border-color: var(--portal-input-focus);
}

.portal-card {
  background-color: var(--portal-card-bg);
  border-color: var(--portal-card-border);
  color: var(--portal-text-primary);
}

.portal-card-subtle {
  background-color: var(--portal-card-bg-subtle);
  border-color: var(--portal-card-border);
}

.portal-gold-gradient {
  background: linear-gradient(135deg, var(--portal-accent-gold) 0%, var(--portal-accent-gold-light) 50%, var(--portal-accent-gold) 100%);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
}

.portal-bg-noise {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
}

html body #root input:-webkit-autofill {
  -webkit-text-fill-color: var(--portal-text-primary);
  color: var(--portal-text-primary);
  -webkit-box-shadow: 0 0 0px 1000px var(--portal-autofill-bg) inset;
  box-shadow: 0 0 0px 1000px var(--portal-autofill-bg) inset;
  transition: background-color 5000s ease-in-out;
}

html body #root input:-webkit-autofill:hover {
  -webkit-text-fill-color: var(--portal-text-primary);
  color: var(--portal-text-primary);
  -webkit-box-shadow: 0 0 0px 1000px var(--portal-autofill-bg) inset;
  box-shadow: 0 0 0px 1000px var(--portal-autofill-bg) inset;
  transition: background-color 5000s ease-in-out;
}

html body #root input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--portal-text-primary);
  color: var(--portal-text-primary);
  -webkit-box-shadow: 0 0 0px 1000px var(--portal-autofill-bg) inset;
  box-shadow: 0 0 0px 1000px var(--portal-autofill-bg) inset;
  transition: background-color 5000s ease-in-out;
}

html body #root input:-webkit-autofill:active {
  -webkit-text-fill-color: var(--portal-text-primary);
  color: var(--portal-text-primary);
  -webkit-box-shadow: 0 0 0px 1000px var(--portal-autofill-bg) inset;
  box-shadow: 0 0 0px 1000px var(--portal-autofill-bg) inset;
  transition: background-color 5000s ease-in-out;
}

html body input:-webkit-autofill {
  -webkit-text-fill-color: var(--portal-text-primary);
  color: var(--portal-text-primary);
  -webkit-box-shadow: 0 0 0px 1000px var(--portal-autofill-bg) inset;
  box-shadow: 0 0 0px 1000px var(--portal-autofill-bg) inset;
  transition: background-color 5000s ease-in-out;
}

html body input:-webkit-autofill:hover {
  -webkit-text-fill-color: var(--portal-text-primary);
  color: var(--portal-text-primary);
  -webkit-box-shadow: 0 0 0px 1000px var(--portal-autofill-bg) inset;
  box-shadow: 0 0 0px 1000px var(--portal-autofill-bg) inset;
  transition: background-color 5000s ease-in-out;
}

html body input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--portal-text-primary);
  color: var(--portal-text-primary);
  -webkit-box-shadow: 0 0 0px 1000px var(--portal-autofill-bg) inset;
  box-shadow: 0 0 0px 1000px var(--portal-autofill-bg) inset;
  transition: background-color 5000s ease-in-out;
}

html body input:-webkit-autofill:active {
  -webkit-text-fill-color: var(--portal-text-primary);
  color: var(--portal-text-primary);
  -webkit-box-shadow: 0 0 0px 1000px var(--portal-autofill-bg) inset;
  box-shadow: 0 0 0px 1000px var(--portal-autofill-bg) inset;
  transition: background-color 5000s ease-in-out;
}

html.portal-font-small, html.font-size-small {
  --ui-scale: 1;
  font-size: 14px;
}

html.portal-font-medium, html.font-size-medium {
  --ui-scale: 1.5;
  font-size: 16px;
}

html.portal-font-large, html.font-size-large {
  --ui-scale: 2;
  font-size: 18px;
}

html body #root .bob-auth-panel-inline, html body #root .bob-auth-card, html body #root .bob-auth-container, html body #root .ba-auth-panel-inline, html body #root .ba-auth-card, html body #root .ba-auth-container {
  background-color: var(--portal-card-bg);
  border-color: var(--portal-card-border);
  color: var(--portal-text-primary);
  border-radius: .5rem;
}

html body #root .bob-auth-input, html body #root .bob-auth-field input, html body #root .bob-auth-panel-inline input, html body #root .ba-auth-input, html body #root .ba-auth-field input, html body #root .ba-auth-panel-inline input {
  background-color: var(--portal-input-bg);
  color: var(--portal-text-primary);
  border-color: var(--portal-input-border);
  caret-color: currentColor;
}

html body #root .bob-auth-button-primary, html body #root .ba-auth-button-primary {
  background-color: var(--portal-accent-gold);
  color: #000;
  border-radius: .375rem;
  font-weight: 600;
}

html:root, html:root.theme-light, html:root[data-bob-variant="gold-day"] {
  --background: 0 0% 100%;
  --foreground: 210 11% 15%;
  --card: 0 0% 100%;
  --card-foreground: 210 11% 15%;
  --card-border: 165 9% 85%;
  --popover: 0 0% 100%;
  --popover-foreground: 210 11% 15%;
  --popover-border: 165 9% 85%;
  --primary: 214 88% 13%;
  --primary-foreground: 0 0% 100%;
  --secondary: 45 100% 51%;
  --secondary-foreground: 214 88% 13%;
  --muted: 165 9% 92%;
  --muted-foreground: 210 11% 45%;
  --accent: 38 93% 56%;
  --accent-foreground: 214 88% 13%;
  --destructive: 0 84% 60%;
  --destructive-foreground: 0 0% 98%;
  --border: 165 9% 85%;
  --input: 165 9% 85%;
  --ring: 214 88% 13%;
  --sidebar: 0 0% 98%;
  --sidebar-foreground: 210 11% 15%;
  --sidebar-border: 165 9% 85%;
  --sidebar-primary: 214 88% 13%;
  --sidebar-primary-foreground: 0 0% 100%;
  --sidebar-accent: 165 9% 90%;
  --sidebar-accent-foreground: 214 88% 13%;
  --sidebar-ring: 214 88% 13%;
  --app-font-sans: "Plus Jakarta Sans", sans-serif;
  --app-font-serif: "Cormorant Garamond", serif;
  --app-font-mono: monospace;
  --radius: .25rem;
  --beta-bg: #00008b;
  --beta-text: #fff;
  --beta-border: #00008b;
  --chart-1: 214 88% 13%;
  --chart-2: 45 100% 51%;
  --chart-3: 38 93% 56%;
  --chart-4: 165 9% 76%;
  --chart-5: 214 96% 9%;
}

html:root.theme-dark, html:root[data-bob-variant="gold-night"] {
  --background: 25 18% 5%;
  --foreground: 0 0% 96%;
  --card: 25 16% 8%;
  --card-foreground: 0 0% 96%;
  --card-border: 25 14% 14%;
  --popover: 25 16% 8%;
  --popover-foreground: 0 0% 96%;
  --popover-border: 25 14% 14%;
  --primary: 43 65% 59%;
  --primary-foreground: 0 0% 0%;
  --secondary: 25 13% 13%;
  --secondary-foreground: 0 0% 94%;
  --muted: 25 13% 13%;
  --muted-foreground: 25 8% 60%;
  --accent: 25 12% 17%;
  --accent-foreground: 0 0% 94%;
  --destructive: 0 84% 60%;
  --destructive-foreground: 0 0% 98%;
  --border: 25 12% 16%;
  --input: 25 12% 16%;
  --ring: 43 65% 59%;
  --sidebar: 25 17% 6%;
  --sidebar-foreground: 0 0% 94%;
  --sidebar-border: 25 14% 13%;
  --sidebar-primary: 43 65% 59%;
  --sidebar-primary-foreground: 0 0% 0%;
  --sidebar-accent: 25 13% 12%;
  --sidebar-accent-foreground: 0 0% 94%;
  --sidebar-ring: 43 65% 59%;
  --chart-1: 43 65% 59%;
  --chart-2: 43 45% 49%;
  --chart-3: 43 25% 39%;
  --chart-4: 43 15% 29%;
  --chart-5: 43 5% 19%;
  --beta-bg: transparent;
  --beta-text: #f59e0b;
  --beta-border: transparent;
}

.text-gradient-gold {
  -webkit-text-fill-color: transparent;
  background: linear-gradient(135deg, #d4af37 0%, #f3e5ab 50%, #d4af37 100%);
  -webkit-background-clip: text;
}

html.theme-variant-gold input, html.theme-variant-moonlit input, html.theme-variant-gold .q-input, html.theme-variant-moonlit .q-input, input, input[type="email"], input[type="password"], input[type="text"], input[type="number"], input[type="tel"] {
  color: var(--portal-text-primary) !important;
  background-color: var(--portal-input-bg) !important;
  caret-color: currentColor !important;
  border-color: var(--portal-input-border) !important;
}

.text-muted-foreground.uppercase.text-\[10px\].tracking-widest {
  text-align: left;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif !important;
  font-size: calc(11px * var(--ui-scale, 1)) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  margin-top: 0 !important;
  margin-bottom: 3px !important;
  font-weight: 500 !important;
  display: block !important;
}

input[type="text"], input[type="number"], input[type="email"], input[type="tel"], input[type="password"], input[type="url"], input[type="search"], input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="file"]):not(.input-otp-input-field), select, input.portal-field-input, .portal-field-input, button[role="combobox"], [data-testid^="select-"], [data-testid^="input-"], .q-input-wrapper, .q-input, .flex.w-full.items-center.justify-between.whitespace-nowrap {
  height: calc(36px * var(--ui-scale, 1)) !important;
  min-height: calc(36px * var(--ui-scale, 1)) !important;
  max-height: calc(36px * var(--ui-scale, 1)) !important;
  box-sizing: border-box !important;
  font-size: calc(12px * var(--ui-scale, 1)) !important;
}

input::placeholder, textarea::placeholder {
  color: var(--portal-text-muted) !important;
  opacity: 1 !important;
}

[data-placeholder], [data-placeholder] > span, [data-placeholder] * {
  color: var(--portal-text-muted) !important;
}

html input.input-otp-input-field, html.theme-variant-gold input.input-otp-input-field, html.theme-variant-moonlit input.input-otp-input-field {
  color: #0000 !important;
  -webkit-text-fill-color: transparent !important;
  caret-color: #0000 !important;
  box-shadow: none !important;
  background-color: #0000 !important;
  border-width: 0 !important;
  border-color: #0000 !important;
  outline: none !important;
  min-height: 100% !important;
}

iframe.skiptranslate, .VIpgJd-ZVi9od-ORHb-OEVmcd {
  display: none !important;
}

body {
  top: 0 !important;
}

@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}

@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-space-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-divide-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-gradient-position {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-stops {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}

@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}

@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-leading {
  syntax: "*";
  inherits: false
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

@property --tw-tracking {
  syntax: "*";
  inherits: false
}

@property --tw-ordinal {
  syntax: "*";
  inherits: false
}

@property --tw-slashed-zero {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-figure {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-duration {
  syntax: "*";
  inherits: false
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}

@property --tw-content {
  syntax: "*";
  inherits: false;
  initial-value: "";
}

@property --tw-divide-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

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

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

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

@keyframes bounce {
  0%, 100% {
    animation-timing-function: cubic-bezier(.8, 0, 1, 1);
    transform: translateY(-25%);
  }

  50% {
    animation-timing-function: cubic-bezier(0, 0, .2, 1);
    transform: none;
  }
}

@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));
    filter: blur(var(--tw-enter-blur, 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));
    filter: blur(var(--tw-exit-blur, 0));
  }
}

@keyframes accordion-down {
  from {
    height: 0;
  }

  to {
    height: var(--radix-accordion-content-height, var(--bits-accordion-content-height, var(--reka-accordion-content-height, var(--kb-accordion-content-height, var(--ngp-accordion-content-height, auto)))));
  }
}

@keyframes accordion-up {
  from {
    height: var(--radix-accordion-content-height, var(--bits-accordion-content-height, var(--reka-accordion-content-height, var(--kb-accordion-content-height, var(--ngp-accordion-content-height, auto)))));
  }

  to {
    height: 0;
  }
}

@keyframes caret-blink {
  0%, 70%, 100% {
    opacity: 1;
  }

  20%, 50% {
    opacity: 0;
  }
}
