/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: var(--font-sans);
    --font-serif: var(--font-serif);
    --font-mono: var(--font-mono);
    --color-red-400: oklch(70.4% 0.191 22.216);
    --color-red-500: oklch(63.7% 0.237 25.331);
    --color-red-600: oklch(57.7% 0.245 27.325);
    --color-amber-500: oklch(76.9% 0.188 70.08);
    --color-green-100: oklch(96.2% 0.044 156.743);
    --color-green-400: oklch(79.2% 0.209 151.711);
    --color-green-500: oklch(72.3% 0.219 149.579);
    --color-green-600: oklch(62.7% 0.194 149.214);
    --color-green-700: oklch(52.7% 0.154 150.069);
    --color-green-800: oklch(44.8% 0.119 151.328);
    --color-green-900: oklch(39.3% 0.095 152.535);
    --color-purple-50: oklch(97.7% 0.014 308.299);
    --color-purple-500: oklch(62.7% 0.265 303.9);
    --color-purple-600: oklch(55.8% 0.288 302.321);
    --color-slate-400: oklch(70.4% 0.04 256.788);
    --color-slate-600: oklch(44.6% 0.043 257.281);
    --color-gray-500: oklch(55.1% 0.027 264.364);
    --color-neutral-200: oklch(92.2% 0 0);
    --color-neutral-500: oklch(55.6% 0 0);
    --color-black: #000;
    --color-white: #fff;
    --spacing: 0.25rem;
    --container-xs: 20rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-2xl: 42rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.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);
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --tracking-tight: -0.025em;
    --tracking-wide: 0.025em;
    --leading-snug: 1.375;
    --leading-normal: 1.5;
    --leading-relaxed: 1.625;
    --radius-xs: 0.125rem;
    --radius-sm: calc(var(--radius) - 4px);
    --radius-md: calc(var(--radius) - 2px);
    --radius-lg: var(--radius);
    --radius-xl: calc(var(--radius) + 4px);
    --shadow-2xs: var(--shadow-2xs);
    --shadow-xs: var(--shadow-xs);
    --shadow-sm: var(--shadow-sm);
    --shadow-md: var(--shadow-md);
    --shadow-lg: var(--shadow-lg);
    --shadow-xl: var(--shadow-xl);
    --shadow-2xl: var(--shadow-2xl);
    --ease-out: cubic-bezier(0, 0, 0.2, 1);
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --animate-spin: spin 1s linear infinite;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --shadow: var(--shadow);
    --color-border: var(--border);
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    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;
    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 {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.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 {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :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)) {
        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, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-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"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .collapse {
    visibility: collapse;
  }
  .visible {
    visibility: visible;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .container {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .-mx-6 {
    margin-inline: calc(var(--spacing) * -6);
  }
  .mx-auto {
    margin-inline: auto;
  }
  .mt-0\.5 {
    margin-top: calc(var(--spacing) * 0.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-8 {
    margin-top: calc(var(--spacing) * 8);
  }
  .-mb-6 {
    margin-bottom: calc(var(--spacing) * -6);
  }
  .mb-0 {
    margin-bottom: calc(var(--spacing) * 0);
  }
  .mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }
  .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-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }
  .ml-1 {
    margin-left: calc(var(--spacing) * 1);
  }
  .ml-auto {
    margin-left: auto;
  }
  .block {
    display: block;
  }
  .contents {
    display: contents;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .inline-flex {
    display: inline-flex;
  }
  .table {
    display: table;
  }
  .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-8 {
    height: calc(var(--spacing) * 8);
  }
  .h-10 {
    height: calc(var(--spacing) * 10);
  }
  .h-12 {
    height: calc(var(--spacing) * 12);
  }
  .min-h-screen {
    min-height: 100vh;
  }
  .w-3 {
    width: calc(var(--spacing) * 3);
  }
  .w-3\.5 {
    width: calc(var(--spacing) * 3.5);
  }
  .w-4 {
    width: calc(var(--spacing) * 4);
  }
  .w-5 {
    width: calc(var(--spacing) * 5);
  }
  .w-6 {
    width: calc(var(--spacing) * 6);
  }
  .w-10 {
    width: calc(var(--spacing) * 10);
  }
  .w-12 {
    width: calc(var(--spacing) * 12);
  }
  .w-32 {
    width: calc(var(--spacing) * 32);
  }
  .w-48 {
    width: calc(var(--spacing) * 48);
  }
  .w-auto {
    width: auto;
  }
  .w-full {
    width: 100%;
  }
  .w-px {
    width: 1px;
  }
  .max-w-2xl {
    max-width: var(--container-2xl);
  }
  .max-w-full {
    max-width: 100%;
  }
  .max-w-md {
    max-width: var(--container-md);
  }
  .min-w-\[200px\] {
    min-width: 200px;
  }
  .flex-1 {
    flex: 1;
  }
  .border-collapse {
    border-collapse: collapse;
  }
  .animate-spin {
    animation: var(--animate-spin);
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .items-center {
    align-items: center;
  }
  .items-start {
    align-items: flex-start;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .justify-end {
    justify-content: flex-end;
  }
  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }
  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .space-y-5 {
    :where(& > :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)));
    }
  }
  .space-y-6 {
    :where(& > :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)));
    }
  }
  .overflow-auto {
    overflow: auto;
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .overflow-x-auto {
    overflow-x: auto;
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-lg {
    border-radius: var(--radius);
  }
  .rounded-sm {
    border-radius: calc(var(--radius) - 4px);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-0 {
    border-style: var(--tw-border-style);
    border-width: 0px;
  }
  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-border {
    border-color: var(--border);
  }
  .border-destructive\/20 {
    border-color: var(--destructive);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--destructive) 20%, transparent);
    }
  }
  .bg-background {
    background-color: var(--background);
  }
  .bg-border {
    background-color: var(--border);
  }
  .bg-card {
    background-color: var(--card);
  }
  .bg-destructive\/10 {
    background-color: var(--destructive);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--destructive) 10%, transparent);
    }
  }
  .bg-green-100 {
    background-color: var(--color-green-100);
  }
  .bg-green-500 {
    background-color: var(--color-green-500);
  }
  .bg-muted {
    background-color: var(--muted);
  }
  .bg-neutral-200 {
    background-color: var(--color-neutral-200);
  }
  .bg-primary {
    background-color: var(--primary);
  }
  .bg-red-500 {
    background-color: var(--color-red-500);
  }
  .bg-slate-600 {
    background-color: var(--color-slate-600);
  }
  .bg-transparent {
    background-color: transparent;
  }
  .p-0 {
    padding: calc(var(--spacing) * 0);
  }
  .p-3 {
    padding: calc(var(--spacing) * 3);
  }
  .p-4 {
    padding: calc(var(--spacing) * 4);
  }
  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }
  .px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }
  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
  .py-0\.5 {
    padding-block: calc(var(--spacing) * 0.5);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }
  .text-center {
    text-align: center;
  }
  .text-left {
    text-align: left;
  }
  .font-mono {
    font-family: var(--font-mono);
  }
  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--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-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));
  }
  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .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-wide {
    --tw-tracking: var(--tracking-wide);
    letter-spacing: var(--tracking-wide);
  }
  .text-amber-500 {
    color: var(--color-amber-500);
  }
  .text-destructive {
    color: var(--destructive);
  }
  .text-foreground {
    color: var(--foreground);
  }
  .text-gray-500 {
    color: var(--color-gray-500);
  }
  .text-green-600 {
    color: var(--color-green-600);
  }
  .text-green-700 {
    color: var(--color-green-700);
  }
  .text-green-800 {
    color: var(--color-green-800);
  }
  .text-input {
    color: var(--input);
  }
  .text-muted-foreground {
    color: var(--muted-foreground);
  }
  .text-neutral-500 {
    color: var(--color-neutral-500);
  }
  .text-primary {
    color: var(--primary);
  }
  .text-red-600 {
    color: var(--color-red-600);
  }
  .text-slate-400 {
    color: var(--color-slate-400);
  }
  .text-white\/60 {
    color: color-mix(in srgb, #fff 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 60%, transparent);
    }
  }
  .uppercase {
    text-transform: uppercase;
  }
  .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);
  }
  .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .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));
  }
  .duration-300 {
    --tw-duration: 300ms;
    transition-duration: 300ms;
  }
  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }
  .hover\:border-primary {
    &:hover {
      @media (hover: hover) {
        border-color: var(--primary);
      }
    }
  }
  .hover\:bg-muted\/50 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--muted);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--muted) 50%, transparent);
        }
      }
    }
  }
  .hover\:text-foreground {
    &:hover {
      @media (hover: hover) {
        color: var(--foreground);
      }
    }
  }
  .hover\:underline {
    &:hover {
      @media (hover: hover) {
        text-decoration-line: underline;
      }
    }
  }
  .sm\:grid-cols-2 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .md\:grid-cols-2 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .md\:grid-cols-3 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-2 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-3 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .xl\:grid-cols-2 {
    @media (width >= 80rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .dark\:block {
    &:is(.dark *) {
      display: block;
    }
  }
  .dark\:hidden {
    &:is(.dark *) {
      display: none;
    }
  }
  .dark\:bg-green-900\/30 {
    &:is(.dark *) {
      background-color: color-mix(in srgb, oklch(39.3% 0.095 152.535) 30%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-green-900) 30%, transparent);
      }
    }
  }
  .dark\:text-green-400 {
    &:is(.dark *) {
      color: var(--color-green-400);
    }
  }
  .dark\:text-red-400 {
    &:is(.dark *) {
      color: var(--color-red-400);
    }
  }
}
:root {
  --radius: 0.625rem;
  --background: oklch(1 0 0);
  --foreground: oklch(0.145 0 0);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.145 0 0);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.145 0 0);
  --primary: oklch(0.205 0 0);
  --primary-foreground: oklch(0.985 0 0);
  --secondary: oklch(0.97 0 0);
  --secondary-foreground: oklch(0.205 0 0);
  --muted: oklch(0.97 0 0);
  --muted-foreground: oklch(0.556 0 0);
  --accent: oklch(0.97 0 0);
  --accent-foreground: oklch(0.205 0 0);
  --destructive: oklch(0.577 0.245 27.325);
  --border: oklch(0.922 0 0);
  --input: oklch(0.922 0 0);
  --ring: oklch(0.708 0 0);
  --chart-1: oklch(0.646 0.222 41.116);
  --chart-2: oklch(0.6 0.118 184.704);
  --chart-3: oklch(0.398 0.07 227.392);
  --chart-4: oklch(0.828 0.189 84.429);
  --chart-5: oklch(0.769 0.188 70.08);
  --sidebar: oklch(0.985 0 0);
  --sidebar-foreground: oklch(0.145 0 0);
  --sidebar-primary: oklch(0.205 0 0);
  --sidebar-primary-foreground: oklch(0.985 0 0);
  --sidebar-accent: oklch(0.97 0 0);
  --sidebar-accent-foreground: oklch(0.205 0 0);
  --sidebar-border: oklch(0.922 0 0);
  --sidebar-ring: oklch(0.708 0 0);
  --sidebar-width: 16rem;
  --sidebar-mobile-width: 18rem;
  --scrollbar-track: transparent;
  --scrollbar-thumb: rgba(0, 0, 0, 0.3);
  --scrollbar-width: 6px;
  --scrollbar-radius: 6px;
  --chevron-down-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="oklch(0.556 0 0)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down-icon lucide-chevron-down"><path d="m6 9 6 6 6-6"/></svg>');
  --chevron-down-icon-50: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="oklch(0.556 0 0 / 0.5)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down-icon lucide-chevron-down"><path d="m6 9 6 6 6-6"/></svg>');
  --check-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="oklch(0.556 0 0)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check-icon lucide-check"><path d="M20 6 9 17l-5-5"/></svg>');
}
.dark {
  --background: oklch(0.145 0 0);
  --foreground: oklch(0.985 0 0);
  --card: oklch(0.205 0 0);
  --card-foreground: oklch(0.985 0 0);
  --popover: oklch(0.269 0 0);
  --popover-foreground: oklch(0.985 0 0);
  --primary: oklch(0.922 0 0);
  --primary-foreground: oklch(0.205 0 0);
  --secondary: oklch(0.269 0 0);
  --secondary-foreground: oklch(0.985 0 0);
  --muted: oklch(0.269 0 0);
  --muted-foreground: oklch(0.708 0 0);
  --accent: oklch(0.371 0 0);
  --accent-foreground: oklch(0.985 0 0);
  --destructive: oklch(0.704 0.191 22.216);
  --border: oklch(1 0 0 / 10%);
  --input: oklch(1 0 0 / 15%);
  --ring: oklch(0.556 0 0);
  --chart-1: oklch(0.488 0.243 264.376);
  --chart-2: oklch(0.696 0.17 162.48);
  --chart-3: oklch(0.769 0.188 70.08);
  --chart-4: oklch(0.627 0.265 303.9);
  --chart-5: oklch(0.645 0.246 16.439);
  --sidebar: oklch(0.205 0 0);
  --sidebar-foreground: oklch(0.985 0 0);
  --sidebar-primary: oklch(0.488 0.243 264.376);
  --sidebar-primary-foreground: oklch(0.985 0 0);
  --sidebar-accent: oklch(0.269 0 0);
  --sidebar-accent-foreground: oklch(0.985 0 0);
  --sidebar-border: oklch(1 0 0 / 10%);
  --sidebar-ring: oklch(0.439 0 0);
  --scrollbar-thumb: rgba(255, 255, 255, 0.3);
  --chevron-down-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="oklch(0.708 0 0)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down-icon lucide-chevron-down"><path d="m6 9 6 6 6-6"/></svg>');
  --chevron-down-icon-50: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="oklch(0.708 0 0 / 0.5)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down-icon lucide-chevron-down"><path d="m6 9 6 6 6-6"/></svg>');
  --check-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="oklch(0.708 0 0)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check-icon lucide-check"><path d="M20 6 9 17l-5-5"/></svg>');
  color-scheme: dark;
}
@layer base {
  * {
    border-color: var(--border);
    outline-color: var(--ring);
    @supports (color: color-mix(in lab, red, red)) {
      outline-color: color-mix(in oklab, var(--ring) 50%, transparent);
    }
  }
  html {
    scroll-behavior: smooth;
  }
  body {
    overscroll-behavior: none;
    background-color: var(--background);
    color: var(--foreground);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  .scrollbar {
    scrollbar-width: thin;
    scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
    &::-webkit-scrollbar {
      width: var(--scrollbar-width);
    }
    &::-webkit-scrollbar-track {
      background: var(--scrollbar-track);
    }
    &::-webkit-scrollbar-thumb {
      background: var(--scrollbar-thumb);
      border-radius: var(--scrollbar-radius);
    }
  }
}
@layer components {
  .alert, .alert-destructive {
    position: relative;
    display: grid;
    width: 100%;
    grid-template-columns: 0 1fr;
    align-items: flex-start;
    row-gap: calc(var(--spacing) * 0.5);
    border-radius: var(--radius);
    border-style: var(--tw-border-style);
    border-width: 1px;
    padding-inline: calc(var(--spacing) * 4);
    padding-block: calc(var(--spacing) * 3);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    &:has(>svg) {
      grid-template-columns: calc(var(--spacing) * 4) 1fr;
    }
    &:has(>svg) {
      column-gap: calc(var(--spacing) * 3);
    }
    &>svg {
      width: calc(var(--spacing) * 4);
      height: calc(var(--spacing) * 4);
    }
    &>svg {
      --tw-translate-y: calc(var(--spacing) * 0.5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    &>svg {
      color: currentcolor;
    }
    h2, h3 {
      grid-column-start: 2;
      overflow: hidden;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 1;
      min-height: calc(var(--spacing) * 4);
      --tw-font-weight: var(--font-weight-medium);
      font-weight: var(--font-weight-medium);
      --tw-tracking: var(--tracking-tight);
      letter-spacing: var(--tracking-tight);
    }
    section {
      grid-column-start: 2;
      display: grid;
      justify-items: start;
      gap: calc(var(--spacing) * 1);
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
      color: var(--muted-foreground);
      & p {
        --tw-leading: var(--leading-relaxed);
        line-height: var(--leading-relaxed);
      }
      ul {
        list-style-position: inside;
        list-style-type: disc;
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height));
      }
    }
  }
  .alert {
    background-color: var(--card);
    color: var(--card-foreground);
  }
  .alert-destructive {
    background-color: var(--card);
    color: var(--destructive);
    &>svg {
      color: currentcolor;
    }
    section {
      color: var(--destructive);
    }
  }
}
@layer components {
  .badge, .badge-primary, .badge-secondary, .badge-destructive, .badge-outline {
    display: inline-flex;
    width: fit-content;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 1);
    overflow: hidden;
    border-radius: calc(infinity * 1px);
    border-style: var(--tw-border-style);
    border-width: 1px;
    padding-inline: calc(var(--spacing) * 2);
    padding-block: calc(var(--spacing) * 0.5);
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    white-space: nowrap;
    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));
    &:focus-visible {
      border-color: var(--ring);
    }
    &: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 {
      --tw-ring-color: var(--ring);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
      }
    }
    &[aria-invalid="true"] {
      border-color: var(--destructive);
    }
    &[aria-invalid="true"] {
      --tw-ring-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
      }
    }
    &:is(.dark *) {
      &[aria-invalid="true"] {
        --tw-ring-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
        }
      }
    }
    &>svg {
      pointer-events: none;
    }
    &>svg {
      width: calc(var(--spacing) * 3);
      height: calc(var(--spacing) * 3);
    }
  }
  .badge, .badge-primary {
    border-color: transparent;
    background-color: var(--primary);
    color: var(--primary-foreground);
    a& {
      &:hover {
        @media (hover: hover) {
          background-color: var(--primary);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--primary) 90%, transparent);
          }
        }
      }
    }
  }
  .badge-secondary {
    border-color: transparent;
    background-color: var(--secondary);
    color: var(--secondary-foreground);
    a& {
      &:hover {
        @media (hover: hover) {
          background-color: var(--secondary);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--secondary) 90%, transparent);
          }
        }
      }
    }
  }
  .badge-destructive {
    border-color: transparent;
    background-color: var(--destructive);
    color: var(--color-white);
    &:focus-visible {
      --tw-ring-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
      }
    }
    &:is(.dark *) {
      background-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--destructive) 60%, transparent);
      }
    }
    &:is(.dark *) {
      &:focus-visible {
        --tw-ring-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
        }
      }
    }
    a& {
      &:hover {
        @media (hover: hover) {
          background-color: var(--destructive);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--destructive) 90%, transparent);
          }
        }
      }
    }
  }
  .badge-outline {
    color: var(--foreground);
    a& {
      &:hover {
        @media (hover: hover) {
          background-color: var(--accent);
        }
      }
    }
    a& {
      &:hover {
        @media (hover: hover) {
          color: var(--accent-foreground);
        }
      }
    }
  }
}
@layer components {
  .btn, .btn-primary, .btn-secondary, .btn-outline, .btn-ghost, .btn-link, .btn-destructive, .btn-sm, .btn-sm-primary, .btn-sm-secondary, .btn-sm-outline, .btn-sm-ghost, .btn-sm-link, .btn-sm-destructive, .btn-lg, .btn-lg-primary, .btn-lg-secondary, .btn-lg-outline, .btn-lg-ghost, .btn-lg-link, .btn-lg-destructive, .btn-icon, .btn-icon-primary, .btn-icon-secondary, .btn-icon-outline, .btn-icon-ghost, .btn-icon-link, .btn-icon-destructive, .btn-sm-icon, .btn-sm-icon-primary, .btn-sm-icon-secondary, .btn-sm-icon-outline, .btn-sm-icon-ghost, .btn-sm-icon-link, .btn-sm-icon-destructive, .btn-lg-icon, .btn-lg-icon-primary, .btn-lg-icon-secondary, .btn-lg-icon-outline, .btn-lg-icon-ghost, .btn-lg-icon-link, .btn-lg-icon-destructive {
    display: inline-flex;
    flex-shrink: 0;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    border-radius: calc(var(--radius) - 2px);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    white-space: nowrap;
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-outline-style: none;
    outline-style: none;
    &:focus-visible {
      border-color: var(--ring);
    }
    &: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 {
      --tw-ring-color: var(--ring);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
      }
    }
    &:disabled {
      pointer-events: none;
    }
    &:disabled {
      opacity: 50%;
    }
    &[aria-invalid="true"] {
      border-color: var(--destructive);
    }
    &[aria-invalid="true"] {
      --tw-ring-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
      }
    }
    &:is(.dark *) {
      &[aria-invalid="true"] {
        --tw-ring-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
        }
      }
    }
    & svg {
      pointer-events: none;
    }
    & svg {
      flex-shrink: 0;
    }
    & svg:not([class*='size-']) {
      width: calc(var(--spacing) * 4);
      height: calc(var(--spacing) * 4);
    }
  }
  .btn, .btn-primary, .btn-secondary, .btn-outline, .btn-ghost, .btn-link, .btn-destructive {
    height: calc(var(--spacing) * 9);
    gap: calc(var(--spacing) * 2);
    padding-inline: calc(var(--spacing) * 4);
    padding-block: calc(var(--spacing) * 2);
    &:has(>svg) {
      padding-inline: calc(var(--spacing) * 3);
    }
  }
  .btn-icon, .btn-icon-primary, .btn-icon-secondary, .btn-icon-outline, .btn-icon-ghost, .btn-icon-link, .btn-icon-destructive {
    width: calc(var(--spacing) * 9);
    height: calc(var(--spacing) * 9);
  }
  .btn-sm, .btn-sm-primary, .btn-sm-secondary, .btn-sm-outline, .btn-sm-ghost, .btn-sm-link, .btn-sm-destructive {
    height: calc(var(--spacing) * 8);
    gap: calc(var(--spacing) * 1.5);
    padding-inline: calc(var(--spacing) * 3);
    &:has(>svg) {
      padding-inline: calc(var(--spacing) * 2.5);
    }
  }
  .btn-sm-icon, .btn-sm-icon-primary, .btn-sm-icon-secondary, .btn-sm-icon-outline, .btn-sm-icon-ghost, .btn-sm-icon-link, .btn-sm-icon-destructive {
    width: calc(var(--spacing) * 8);
    height: calc(var(--spacing) * 8);
  }
  .btn-lg, .btn-lg-primary, .btn-lg-secondary, .btn-lg-outline, .btn-lg-ghost, .btn-lg-link, .btn-lg-destructive {
    height: calc(var(--spacing) * 10);
    gap: calc(var(--spacing) * 2);
    padding-inline: calc(var(--spacing) * 6);
    &:has(>svg) {
      padding-inline: calc(var(--spacing) * 4);
    }
  }
  .btn-lg-icon, .btn-lg-icon-primary, .btn-lg-icon-secondary, .btn-lg-icon-outline, .btn-lg-icon-ghost, .btn-lg-icon-link, .btn-lg-icon-destructive {
    width: calc(var(--spacing) * 10);
    height: calc(var(--spacing) * 10);
  }
  .btn, .btn-primary, .btn-sm, .btn-sm-primary, .btn-lg, .btn-lg-primary, .btn-icon, .btn-icon-primary, .btn-sm-icon, .btn-sm-icon-primary, .btn-lg-icon, .btn-lg-icon-primary {
    background-color: var(--primary);
    color: var(--primary-foreground);
    --tw-shadow: var(--shadow-xs);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    &:hover {
      @media (hover: hover) {
        background-color: var(--primary);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--primary) 90%, transparent);
        }
      }
    }
    &[aria-pressed='true'] {
      background-color: var(--primary);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--primary) 90%, transparent);
      }
    }
  }
  .btn-secondary, .btn-sm-secondary, .btn-lg-secondary, .btn-icon-secondary, .btn-sm-icon-secondary, .btn-lg-icon-secondary {
    background-color: var(--secondary);
    color: var(--secondary-foreground);
    --tw-shadow: var(--shadow-xs);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    &:hover, &[aria-pressed='true'] {
      background-color: var(--secondary);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--secondary) 80%, transparent);
      }
    }
  }
  .btn-outline, .btn-sm-outline, .btn-lg-outline, .btn-icon-outline, .btn-sm-icon-outline, .btn-lg-icon-outline {
    border-style: var(--tw-border-style);
    border-width: 1px;
    background-color: var(--background);
    --tw-shadow: var(--shadow-xs);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    &:is(.dark *) {
      border-color: var(--input);
    }
    &:is(.dark *) {
      background-color: var(--input);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--input) 30%, transparent);
      }
    }
    &:hover, &[aria-pressed='true'] {
      background-color: var(--accent);
      color: var(--accent-foreground);
      &:is(.dark *) {
        background-color: var(--accent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--accent) 50%, transparent);
        }
      }
    }
  }
  .btn-ghost, .btn-sm-ghost, .btn-lg-ghost, .btn-icon-ghost, .btn-sm-icon-ghost, .btn-lg-icon-ghost {
    &:hover, &[aria-pressed='true'] {
      background-color: var(--accent);
      color: var(--accent-foreground);
      &:is(.dark *) {
        background-color: var(--accent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--accent) 50%, transparent);
        }
      }
    }
  }
  .btn-link, .btn-sm-link, .btn-lg-link, .btn-icon-link, .btn-sm-icon-link, .btn-lg-icon-link {
    color: var(--primary);
    text-underline-offset: 4px;
    &:hover, &[aria-pressed='true'] {
      &:hover {
        @media (hover: hover) {
          text-decoration-line: underline;
        }
      }
    }
  }
  .btn-destructive, .btn-sm-destructive, .btn-lg-destructive, .btn-icon-destructive, .btn-sm-icon-destructive, .btn-lg-icon-destructive {
    background-color: var(--destructive);
    color: var(--color-white);
    --tw-shadow: var(--shadow-xs);
    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 {
      --tw-ring-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
      }
    }
    &:is(.dark *) {
      background-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--destructive) 60%, transparent);
      }
    }
    &:is(.dark *) {
      &:focus-visible {
        --tw-ring-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
        }
      }
    }
    &:hover, &[aria-pressed='true'] {
      background-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--destructive) 90%, transparent);
      }
      &:is(.dark *) {
        background-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--destructive) 50%, transparent);
        }
      }
    }
  }
}
@layer components {
  .button-group {
    isolation: isolate;
    display: inline-flex;
    width: fit-content;
    align-items: stretch;
    > *:focus-visible, > :is(.dropdown-menu, .popover, .select) > button:focus-visible {
      position: relative;
      z-index: 10;
    }
    > hr[role='separator'] {
      margin: calc(var(--spacing) * 0);
      height: auto;
      width: calc(var(--spacing) * 0);
      flex-shrink: 0;
      align-self: stretch;
      border-style: var(--tw-border-style);
      border-width: 1px;
      border-color: var(--input);
    }
    &:not([data-orientation='vertical']) {
      > *:not(:first-child), > :is(.dropdown-menu, .popover, .select):not(:first-child) > button {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
        border-left-style: var(--tw-border-style);
        border-left-width: 0px;
      }
      > *:not(:last-child), > :is(.dropdown-menu, .popover, .select):not(:last-child) > button {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
      }
    }
    &[data-orientation='vertical'] {
      flex-direction: column;
      > hr[role='separator'] {
        height: 1px;
        width: auto;
      }
      > *:not(:first-child), > :is(.dropdown-menu, .popover, .select):not(:first-child) > button {
        border-top-left-radius: 0;
        border-top-right-radius: 0;
        border-top-style: var(--tw-border-style);
        border-top-width: 0px;
      }
      > *:not(:last-child), > :is(.dropdown-menu, .popover, .select):not(:last-child) > button {
        border-bottom-right-radius: 0;
        border-bottom-left-radius: 0;
      }
    }
  }
}
@layer components {
  .card {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 6);
    border-radius: calc(var(--radius) + 4px);
    border-style: var(--tw-border-style);
    border-width: 1px;
    background-color: var(--card);
    padding-block: calc(var(--spacing) * 6);
    color: var(--card-foreground);
    --tw-shadow: var(--shadow-sm);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    > header {
      container-type: inline-size;
      container-name: card-header;
      display: grid;
      grid-auto-rows: min-content;
      grid-template-rows: auto auto;
      align-items: flex-start;
      gap: calc(var(--spacing) * 1.5);
      padding-inline: calc(var(--spacing) * 6);
      &:has(*[data-slot="card-action"]) {
        grid-template-columns: 1fr auto;
      }
      &:is(.border-b) {
        padding-bottom: calc(var(--spacing) * 6);
      }
      h2 {
        --tw-leading: 1;
        line-height: 1;
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
      }
      p {
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height));
        color: var(--muted-foreground);
      }
    }
    > section {
      padding-inline: calc(var(--spacing) * 6);
    }
    > footer {
      display: flex;
      align-items: center;
      padding-inline: calc(var(--spacing) * 6);
      &:is(.border-t) {
        padding-top: calc(var(--spacing) * 6);
      }
    }
  }
}
@layer components {
  :is(.form, .field) input[type='checkbox']:not([role='switch']), .input[type='checkbox']:not([role='switch']) {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
    flex-shrink: 0;
    appearance: none;
    border-radius: 4px;
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--input);
    --tw-shadow: var(--shadow-xs);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    transition-property: box-shadow;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-outline-style: none;
    outline-style: none;
    &:checked {
      border-color: var(--primary);
    }
    &:checked {
      background-color: var(--primary);
    }
    &:focus-visible {
      border-color: var(--ring);
    }
    &: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 {
      --tw-ring-color: var(--ring);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
      }
    }
    &:disabled {
      cursor: not-allowed;
    }
    &:disabled {
      opacity: 50%;
    }
    &[aria-invalid="true"] {
      border-color: var(--destructive);
    }
    &[aria-invalid="true"] {
      --tw-ring-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
      }
    }
    &:is(.dark *) {
      background-color: var(--input);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--input) 30%, transparent);
      }
    }
    &:is(.dark *) {
      &:checked {
        background-color: var(--primary);
      }
    }
    &:is(.dark *) {
      &[aria-invalid="true"] {
        --tw-ring-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
        }
      }
    }
    &:checked:after {
      display: block;
      width: calc(var(--spacing) * 3.5);
      height: calc(var(--spacing) * 3.5);
      background-color: var(--primary-foreground);
      --tw-content: '';
      content: var(--tw-content);
      mask-image: var(--check-icon);
      mask-size: 0.875rem;
      mask-position: center;
      mask-repeat: no-repeat;
    }
  }
}
@layer components {
  details {
    &::details-content {
      block-size: 0;
      display: block;
      opacity: 0%;
      transition-property: all;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
      transition-behavior: allow-discrete;
    }
    &[open]::details-content {
      block-size: auto;
      block-size: calc-size(auto, size);
      opacity: 100%;
    }
    summary {
      display: inline-flex;
      cursor: pointer;
      align-items: center;
    }
  }
  details > summary::-webkit-details-marker {
    display: none;
  }
}
@layer components {
  .command-dialog {
    inset-block: calc(var(--spacing) * 0);
    opacity: 0%;
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    transition-behavior: allow-discrete;
    &:is([open],:popover-open) {
      opacity: 100%;
      &::backdrop {
        opacity: 100%;
      }
      > * {
        --tw-scale-x: 100%;
        --tw-scale-y: 100%;
        --tw-scale-z: 100%;
        scale: var(--tw-scale-x) var(--tw-scale-y);
      }
      @starting-style {
        opacity: 0%;
        &::backdrop {
          opacity: 0%;
        }
        > * {
          --tw-scale-x: 95%;
          --tw-scale-y: 95%;
          --tw-scale-z: 95%;
          scale: var(--tw-scale-x) var(--tw-scale-y);
        }
      }
    }
    &::backdrop {
      background-color: color-mix(in srgb, #000 50%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-black) 50%, transparent);
      }
      opacity: 0%;
      transition-property: all;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
      transition-behavior: allow-discrete;
    }
    > * {
      position: fixed;
      top: 50%;
      left: 50%;
      z-index: 50;
      display: flex;
      max-height: min(640px, calc(100% - 2rem));
      width: 100%;
      max-width: calc(100% - 2rem);
      --tw-translate-x: calc(calc(1/2 * 100%) * -1);
      --tw-translate-y: calc(calc(1/2 * 100%) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
      flex-direction: column;
      overflow: hidden;
      border-radius: var(--radius);
      border-style: var(--tw-border-style);
      border-width: 1px;
      background-color: var(--background);
      --tw-shadow: var(--shadow-lg);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      @media (width >= 40rem) {
        max-width: var(--container-lg);
      }
      --tw-scale-x: 95%;
      --tw-scale-y: 95%;
      --tw-scale-z: 95%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
      transition-property: all;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
      > button, > form[method='dialog'] {
        position: absolute;
        top: calc(var(--spacing) * 4);
        right: calc(var(--spacing) * 4);
      }
      > button, > form[method='dialog'] > button {
        border-radius: var(--radius-xs);
        opacity: 70%;
        --tw-ring-offset-color: var(--background);
        transition-property: opacity;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration));
        &:hover {
          @media (hover: hover) {
            opacity: 100%;
          }
        }
        &: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 {
          --tw-ring-color: var(--ring);
        }
        &: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 {
          --tw-outline-style: none;
          outline-style: none;
          @media (forced-colors: active) {
            outline: 2px solid transparent;
            outline-offset: 2px;
          }
        }
        &:disabled {
          pointer-events: none;
        }
        &[data-state="open"] {
          background-color: var(--accent);
        }
        &[data-state="open"] {
          color: var(--muted-foreground);
        }
        & svg {
          pointer-events: none;
        }
        & svg {
          flex-shrink: 0;
        }
        & svg:not([class*='size-']) {
          width: calc(var(--spacing) * 4);
          height: calc(var(--spacing) * 4);
        }
      }
    }
    .command {
      > header input {
        height: calc(var(--spacing) * 12);
      }
      [role='menu'] {
        padding-inline: calc(var(--spacing) * 2);
        [role='menuitem'] {
          padding-inline: calc(var(--spacing) * 2);
          padding-block: calc(var(--spacing) * 3);
          & svg {
            width: calc(var(--spacing) * 5);
            height: calc(var(--spacing) * 5);
          }
        }
        [role='heading'] {
          padding-inline: calc(var(--spacing) * 2);
          padding-block: calc(var(--spacing) * 1.5);
          --tw-font-weight: var(--font-weight-medium);
          font-weight: var(--font-weight-medium);
          color: var(--muted-foreground);
        }
      }
    }
  }
  .command {
    > header {
      display: flex;
      align-items: center;
      gap: calc(var(--spacing) * 2);
      border-bottom-style: var(--tw-border-style);
      border-bottom-width: 1px;
      padding-inline: calc(var(--spacing) * 3);
      svg {
        width: calc(var(--spacing) * 4);
        height: calc(var(--spacing) * 4);
        flex-shrink: 0;
        opacity: 50%;
      }
      input {
        display: flex;
        height: calc(var(--spacing) * 10);
        width: 100%;
        border-radius: calc(var(--radius) - 2px);
        background-color: transparent;
        padding-block: calc(var(--spacing) * 3);
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height));
        --tw-outline-style: none;
        outline-style: none;
        @media (forced-colors: active) {
          outline: 2px solid transparent;
          outline-offset: 2px;
        }
        &::placeholder {
          color: var(--muted-foreground);
        }
        &:disabled {
          cursor: not-allowed;
        }
        &:disabled {
          opacity: 50%;
        }
      }
    }
    [role='menu'] {
      max-height: 300px;
      overflow-x: hidden;
      overflow-y: auto;
      padding: calc(var(--spacing) * 1);
      [role='menuitem'] {
        position: relative;
        display: flex;
        width: 100%;
        cursor: default;
        align-items: center;
        gap: calc(var(--spacing) * 2);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        border-radius: calc(var(--radius) - 4px);
        padding-inline: calc(var(--spacing) * 2);
        padding-block: calc(var(--spacing) * 1.5);
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height));
        --tw-outline-style: none;
        outline-style: none;
        @media (forced-colors: active) {
          outline: 2px solid transparent;
          outline-offset: 2px;
        }
        -webkit-user-select: none;
        user-select: none;
        &:disabled {
          pointer-events: none;
        }
        &:disabled {
          opacity: 50%;
        }
        &[aria-disabled="true"] {
          pointer-events: none;
        }
        &[aria-disabled="true"] {
          opacity: 50%;
        }
        &[aria-hidden="true"] {
          display: none;
        }
        & svg {
          pointer-events: none;
        }
        & svg {
          flex-shrink: 0;
        }
        & svg:not([class*='size-']) {
          width: calc(var(--spacing) * 4);
          height: calc(var(--spacing) * 4);
        }
        & svg:not([class*='text-']) {
          color: var(--muted-foreground);
        }
        &.active {
          background-color: var(--accent);
          color: var(--accent-foreground);
        }
      }
      [role='heading'] {
        display: flex;
        padding-inline: calc(var(--spacing) * 2);
        padding-block: calc(var(--spacing) * 1.5);
        font-size: var(--text-xs);
        line-height: var(--tw-leading, var(--text-xs--line-height));
        --tw-font-weight: var(--font-weight-medium);
        font-weight: var(--font-weight-medium);
        color: var(--muted-foreground);
      }
      [role='group']:not(:has([role='menuitem']:not([aria-hidden='true']))) {
        display: none;
      }
      [role='separator'] {
        margin-inline: calc(var(--spacing) * -1);
        margin-block: calc(var(--spacing) * 1);
        border-color: var(--border);
      }
      &:not(:has([role='menuitem']:not([aria-hidden='true'])))::before {
        margin: calc(var(--spacing) * -1);
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        padding-inline: calc(var(--spacing) * 3);
        padding-block: calc(var(--spacing) * 6);
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height));
      }
      &[data-empty]:not(:has([role='menuitem']:not([aria-hidden='true'])))::before {
        --tw-content: attr(data-empty);
        content: var(--tw-content);
      }
      &:not([data-empty]):not(:has([role='menuitem']:not([aria-hidden='true'])))::before {
        --tw-content: 'No results found';
        content: var(--tw-content);
      }
    }
    &:not([data-command-initialized]) [role='menuitem'] {
      &:hover {
        @media (hover: hover) {
          background-color: var(--accent);
        }
      }
      &:hover {
        @media (hover: hover) {
          color: var(--accent-foreground);
        }
      }
    }
    &:has(> header input:not(:placeholder-shown)) [role='separator'] {
      display: none;
    }
  }
}
@layer components {
  .dialog {
    inset-block: calc(var(--spacing) * 0);
    opacity: 0%;
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    transition-behavior: allow-discrete;
    &:is([open],:popover-open) {
      opacity: 100%;
      &::backdrop {
        opacity: 100%;
      }
      > * {
        --tw-scale-x: 100%;
        --tw-scale-y: 100%;
        --tw-scale-z: 100%;
        scale: var(--tw-scale-x) var(--tw-scale-y);
      }
      @starting-style {
        opacity: 0%;
        &::backdrop {
          opacity: 0%;
        }
        > * {
          --tw-scale-x: 95%;
          --tw-scale-y: 95%;
          --tw-scale-z: 95%;
          scale: var(--tw-scale-x) var(--tw-scale-y);
        }
      }
    }
    &::backdrop {
      background-color: color-mix(in srgb, #000 50%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-black) 50%, transparent);
      }
      opacity: 0%;
      transition-property: all;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
      transition-behavior: allow-discrete;
    }
    > * {
      position: fixed;
      top: 50%;
      left: 50%;
      z-index: 50;
      display: flex;
      max-height: calc(100% - 2rem);
      width: 100%;
      max-width: calc(100% - 2rem);
      --tw-translate-x: calc(calc(1/2 * 100%) * -1);
      --tw-translate-y: calc(calc(1/2 * 100%) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
      flex-direction: column;
      gap: calc(var(--spacing) * 4);
      border-radius: var(--radius);
      border-style: var(--tw-border-style);
      border-width: 1px;
      background-color: var(--background);
      padding: calc(var(--spacing) * 6);
      --tw-shadow: var(--shadow-lg);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      @media (width >= 40rem) {
        max-width: var(--container-lg);
      }
      --tw-scale-x: 95%;
      --tw-scale-y: 95%;
      --tw-scale-z: 95%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
      transition-property: all;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
      > header {
        display: flex;
        flex-direction: column;
        gap: calc(var(--spacing) * 2);
        text-align: center;
        @media (width >= 40rem) {
          text-align: left;
        }
        > h2 {
          font-size: var(--text-lg);
          line-height: var(--tw-leading, var(--text-lg--line-height));
          --tw-leading: 1;
          line-height: 1;
          --tw-font-weight: var(--font-weight-semibold);
          font-weight: var(--font-weight-semibold);
        }
        > p {
          font-size: var(--text-sm);
          line-height: var(--tw-leading, var(--text-sm--line-height));
          color: var(--muted-foreground);
        }
      }
      > section {
        margin-inline: calc(var(--spacing) * -6);
        flex: 1;
        padding-inline: calc(var(--spacing) * 6);
      }
      > footer {
        display: flex;
        flex-direction: column-reverse;
        gap: calc(var(--spacing) * 2);
        @media (width >= 40rem) {
          flex-direction: row;
        }
        @media (width >= 40rem) {
          justify-content: flex-end;
        }
      }
      > button, > form[method='dialog'] {
        position: absolute;
        top: calc(var(--spacing) * 4);
        right: calc(var(--spacing) * 4);
      }
      > button, > form[method='dialog'] > button {
        border-radius: var(--radius-xs);
        opacity: 70%;
        --tw-ring-offset-color: var(--background);
        transition-property: opacity;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration));
        &:hover {
          @media (hover: hover) {
            opacity: 100%;
          }
        }
        &: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 {
          --tw-ring-color: var(--ring);
        }
        &: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 {
          --tw-outline-style: none;
          outline-style: none;
          @media (forced-colors: active) {
            outline: 2px solid transparent;
            outline-offset: 2px;
          }
        }
        &:disabled {
          pointer-events: none;
        }
        &[data-state="open"] {
          background-color: var(--accent);
        }
        &[data-state="open"] {
          color: var(--muted-foreground);
        }
        & svg {
          pointer-events: none;
        }
        & svg {
          flex-shrink: 0;
        }
        & svg:not([class*='size-']) {
          width: calc(var(--spacing) * 4);
          height: calc(var(--spacing) * 4);
        }
      }
    }
  }
}
@layer components {
  .dropdown-menu {
    position: relative;
    display: inline-flex;
    [data-popover] {
      padding: calc(var(--spacing) * 1);
      min-width: anchor-size(width);
      [role='menuitem'], [role='menuitemcheckbox'], [role='menuitemradio'] {
        position: relative;
        display: flex;
        width: 100%;
        cursor: default;
        align-items: center;
        gap: calc(var(--spacing) * 2);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        border-radius: calc(var(--radius) - 4px);
        padding-inline: calc(var(--spacing) * 2);
        padding-block: calc(var(--spacing) * 1.5);
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height));
        --tw-outline-style: none;
        outline-style: none;
        @media (forced-colors: active) {
          outline: 2px solid transparent;
          outline-offset: 2px;
        }
        -webkit-user-select: none;
        user-select: none;
        &:disabled {
          pointer-events: none;
        }
        &:disabled {
          opacity: 50%;
        }
        &[aria-disabled="true"] {
          pointer-events: none;
        }
        &[aria-disabled="true"] {
          opacity: 50%;
        }
        &[aria-hidden="true"] {
          display: none;
        }
        & svg {
          width: calc(var(--spacing) * 4);
          height: calc(var(--spacing) * 4);
        }
        & svg {
          flex-shrink: 0;
        }
        & svg {
          color: var(--muted-foreground);
        }
        &:not([aria-disabled='true']) {
          &:focus-visible {
            background-color: var(--accent);
          }
          &:focus-visible {
            color: var(--accent-foreground);
          }
        }
        &.active {
          background-color: var(--accent);
          color: var(--accent-foreground);
        }
      }
      [role='menu'] [role='heading'] {
        display: flex;
        padding-inline: calc(var(--spacing) * 2);
        padding-block: calc(var(--spacing) * 1.5);
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height));
        --tw-font-weight: var(--font-weight-medium);
        font-weight: var(--font-weight-medium);
      }
      [role='separator'] {
        margin-inline: calc(var(--spacing) * -1);
        margin-block: calc(var(--spacing) * 1);
        border-color: var(--border);
      }
    }
    &:not([data-dropdown-menu-initialized]) [data-popover] {
      [role='menuitem'], [role='menuitemcheckbox'], [role='menuitemradio'] {
        &:hover {
          @media (hover: hover) {
            background-color: var(--accent);
          }
        }
        &:hover {
          @media (hover: hover) {
            color: var(--accent-foreground);
          }
        }
      }
    }
  }
}
@layer components {
  .fieldset {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 6);
    > legend {
      margin-bottom: calc(var(--spacing) * 3);
      font-size: var(--text-base);
      line-height: var(--tw-leading, var(--text-base--line-height));
      --tw-font-weight: var(--font-weight-medium);
      font-weight: var(--font-weight-medium);
    }
  }
  .field {
    display: flex;
    width: 100%;
    flex-direction: column;
    gap: calc(var(--spacing) * 3);
    &[data-invalid="true"] {
      color: var(--destructive);
    }
    &>* {
      width: 100%;
    }
    &>.sr-only {
      width: auto;
    }
    h2, h3 {
      display: flex;
      width: fit-content;
      align-items: center;
      gap: calc(var(--spacing) * 2);
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
      --tw-leading: var(--leading-snug);
      line-height: var(--leading-snug);
      --tw-font-weight: var(--font-weight-medium);
      font-weight: var(--font-weight-medium);
    }
    [role="alert"] {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
      --tw-font-weight: var(--font-weight-normal);
      font-weight: var(--font-weight-normal);
      color: var(--destructive);
      ul {
        margin-left: calc(var(--spacing) * 4);
        display: flex;
        list-style-type: disc;
        flex-direction: column;
        gap: calc(var(--spacing) * 1);
      }
    }
    section {
      display: flex;
      flex: 1;
      flex-direction: column;
      gap: calc(var(--spacing) * 1.5);
      --tw-leading: var(--leading-snug);
      line-height: var(--leading-snug);
    }
    &[data-orientation='horizontal'] {
      flex-direction: row;
      align-items: center;
      &:has(>section) {
        align-items: flex-start;
      }
      & p {
        text-wrap: balance;
      }
      &:has(>section) {
        &>[type=checkbox],[type=radio] {
          margin-top: 1px;
        }
      }
      &>label {
        flex: auto;
      }
    }
  }
  .fieldset legend + p, .field > p, .field section > p {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    --tw-leading: var(--leading-normal);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
    color: var(--muted-foreground);
    &>a {
      text-decoration-line: underline;
    }
    &>a {
      text-underline-offset: 4px;
    }
    &>a:hover {
      color: var(--primary);
    }
  }
  .fieldset legend + p {
    margin-top: calc(var(--spacing) * -1.5);
  }
  .field > p {
    &:last-child {
      margin-top: calc(var(--spacing) * 0);
    }
    &:nth-last-child(2) {
      margin-top: calc(var(--spacing) * -1);
    }
  }
}
@layer components {
  :is(.form, .field) input[type='text'], :is(.form, .field) input[type='email'], :is(.form, .field) input[type='password'], :is(.form, .field) input[type='number'], :is(.form, .field) input[type='file'], :is(.form, .field) input[type='tel'], :is(.form, .field) input[type='url'], :is(.form, .field) input[type='search'], :is(.form, .field) input[type='date'], :is(.form, .field) input[type='datetime-local'], :is(.form, .field) input[type='month'], :is(.form, .field) input[type='week'], :is(.form, .field) input[type='time'], .input[type='text'], .input[type='email'], .input[type='password'], .input[type='number'], .input[type='file'], .input[type='tel'], .input[type='url'], .input[type='search'], .input[type='date'], .input[type='datetime-local'], .input[type='month'], .input[type='week'], .input[type='time'] {
    display: flex;
    height: calc(var(--spacing) * 9);
    width: 100%;
    min-width: calc(var(--spacing) * 0);
    appearance: none;
    border-radius: calc(var(--radius) - 2px);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--input);
    background-color: transparent;
    padding-inline: calc(var(--spacing) * 3);
    padding-block: calc(var(--spacing) * 1);
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
    --tw-shadow: var(--shadow-xs);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-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));
    --tw-outline-style: none;
    outline-style: none;
    & *::selection {
      background-color: var(--primary);
    }
    &::selection {
      background-color: var(--primary);
    }
    & *::selection {
      color: var(--primary-foreground);
    }
    &::selection {
      color: var(--primary-foreground);
    }
    &::file-selector-button {
      display: inline-flex;
    }
    &::file-selector-button {
      height: calc(var(--spacing) * 7);
    }
    &::file-selector-button {
      border-style: var(--tw-border-style);
      border-width: 0px;
    }
    &::file-selector-button {
      background-color: transparent;
    }
    &::file-selector-button {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
    &::file-selector-button {
      --tw-font-weight: var(--font-weight-medium);
      font-weight: var(--font-weight-medium);
    }
    &::file-selector-button {
      color: var(--foreground);
    }
    &::placeholder {
      color: var(--muted-foreground);
    }
    &:disabled {
      pointer-events: none;
    }
    &:disabled {
      cursor: not-allowed;
    }
    &:disabled {
      opacity: 50%;
    }
    @media (width >= 48rem) {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
    &:is(.dark *) {
      background-color: var(--input);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--input) 30%, transparent);
      }
    }
    &:focus-visible {
      border-color: var(--ring);
    }
    &: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 {
      --tw-ring-color: var(--ring);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
      }
    }
    &[aria-invalid="true"] {
      border-color: var(--destructive);
    }
    &[aria-invalid="true"] {
      --tw-ring-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
      }
    }
    &:is(.dark *) {
      &[aria-invalid="true"] {
        --tw-ring-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
        }
      }
    }
  }
}
@layer components {
  .kbd {
    pointer-events: none;
    display: inline-flex;
    height: calc(var(--spacing) * 5);
    width: fit-content;
    min-width: calc(var(--spacing) * 5);
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 1);
    border-radius: calc(var(--radius) - 4px);
    background-color: var(--muted);
    padding-inline: calc(var(--spacing) * 1);
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    color: var(--muted-foreground);
    -webkit-user-select: none;
    user-select: none;
    & svg:not([class*='size-']) {
      width: calc(var(--spacing) * 3);
      height: calc(var(--spacing) * 3);
    }
  }
}
@layer components {
  :is(.form, .field) label, .label {
    display: flex;
    align-items: center;
    gap: calc(var(--spacing) * 2);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    --tw-leading: 1;
    line-height: 1;
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    -webkit-user-select: none;
    user-select: none;
    &:is(:where(.peer):disabled ~ *) {
      pointer-events: none;
    }
    &:is(:where(.peer):disabled ~ *) {
      opacity: 50%;
    }
    &:has(>*:disabled), &:has(+*:disabled) {
      pointer-events: none;
      opacity: 50%;
    }
  }
}
@layer components {
  [data-popover] {
    visibility: visible;
    position: absolute;
    z-index: 50;
    width: max-content;
    min-width: 100%;
    --tw-scale-x: 100%;
    --tw-scale-y: 100%;
    --tw-scale-z: 100%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
    overflow-x: hidden;
    overflow-y: auto;
    border-radius: calc(var(--radius) - 2px);
    border-style: var(--tw-border-style);
    border-width: 1px;
    background-color: var(--popover);
    color: var(--popover-foreground);
    opacity: 100%;
    --tw-shadow: var(--shadow-md);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    &[aria-hidden='true'] {
      visibility: hidden;
      --tw-scale-x: 95%;
      --tw-scale-y: 95%;
      --tw-scale-z: 95%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
      opacity: 0%;
      &:not([data-side]), &[data-side='bottom'] {
        --tw-translate-y: calc(var(--spacing) * -2);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
      &[data-side='top'] {
        --tw-translate-y: calc(var(--spacing) * 2);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
      &[data-side='left'] {
        --tw-translate-x: calc(var(--spacing) * 2);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
      &[data-side='right'] {
        --tw-translate-x: calc(var(--spacing) * -2);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
    &:not([data-side]), &[data-side='bottom'] {
      top: 100%;
      margin-top: calc(var(--spacing) * 1);
    }
    &[data-side='top'] {
      bottom: 100%;
      margin-bottom: calc(var(--spacing) * 1);
    }
    &[data-side='left'] {
      right: 100%;
      margin-right: calc(var(--spacing) * 1);
    }
    &[data-side='right'] {
      left: 100%;
      margin-left: calc(var(--spacing) * 1);
    }
    &:not([data-side]), &[data-side='bottom'], &[data-side='top'] {
      &:not([data-align]), &[data-align='start'] {
        left: calc(var(--spacing) * 0);
      }
      &[data-align='end'] {
        right: calc(var(--spacing) * 0);
      }
      &[data-align='center'] {
        left: calc(1/2 * 100%);
        --tw-translate-x: calc(calc(1/2 * 100%) * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
    &[data-side='left'], &[data-side='right'] {
      &:not([data-align]), &[data-align='start'] {
        top: calc(var(--spacing) * 0);
      }
      &[data-align='end'] {
        bottom: calc(var(--spacing) * 0);
      }
      &[data-align='center'] {
        top: calc(1/2 * 100%);
        --tw-translate-y: calc(calc(1/2 * 100%) * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .popover {
    position: relative;
    display: inline-flex;
    [data-popover] {
      padding: calc(var(--spacing) * 4);
    }
  }
}
@layer components {
  :is(.form, .field) input[type='radio'], .input[type='radio'] {
    position: relative;
    aspect-ratio: 1 / 1;
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
    flex-shrink: 0;
    appearance: none;
    border-radius: calc(infinity * 1px);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--input);
    color: var(--primary);
    --tw-shadow: var(--shadow-xs);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-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));
    --tw-outline-style: none;
    outline-style: none;
    &:focus-visible {
      border-color: var(--ring);
    }
    &: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 {
      --tw-ring-color: var(--ring);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
      }
    }
    &:disabled {
      cursor: not-allowed;
    }
    &:disabled {
      opacity: 50%;
    }
    &[aria-invalid="true"] {
      border-color: var(--destructive);
    }
    &[aria-invalid="true"] {
      --tw-ring-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
      }
    }
    &:is(.dark *) {
      background-color: var(--input);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--input) 30%, transparent);
      }
    }
    &:is(.dark *) {
      &[aria-invalid="true"] {
        --tw-ring-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
        }
      }
    }
    &:checked:before {
      position: absolute;
      top: calc(1/2 * 100%);
      left: calc(1/2 * 100%);
      width: calc(var(--spacing) * 2);
      height: calc(var(--spacing) * 2);
      --tw-translate-x: calc(calc(1/2 * 100%) * -1);
      --tw-translate-y: calc(calc(1/2 * 100%) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
      border-radius: calc(infinity * 1px);
      background-color: var(--primary);
      --tw-content: '';
      content: var(--tw-content);
    }
  }
}
@layer components {
  :is(.form, .field) input[type='range'], .input[type='range'] {
    display: flex;
    appearance: none;
    align-items: center;
    padding: calc(var(--spacing) * 0);
    --tw-outline-style: none;
    outline-style: none;
    --slider-value: 20%;
    &:hover, &:focus-visible {
      &::-webkit-slider-thumb {
        --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + 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);
      }
      &::-moz-range-thumb {
        --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + 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);
      }
      &::-ms-thumb {
        --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + 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);
      }
    }
    &::-webkit-slider-thumb {
      margin-top: calc(var(--spacing) * -1.25);
      display: block;
      width: calc(var(--spacing) * 4);
      height: calc(var(--spacing) * 4);
      flex-shrink: 0;
      appearance: none;
      border-radius: calc(infinity * 1px);
      border-style: var(--tw-border-style);
      border-width: 1px;
      border-color: var(--primary);
      background-color: var(--background);
      --tw-shadow: var(--shadow-sm);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      --tw-ring-color: var(--ring);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
      }
    }
    &::-webkit-slider-runnable-track {
      height: calc(var(--spacing) * 1.5);
      width: 100%;
      appearance: none;
      border-radius: calc(infinity * 1px);
      background: linear-gradient(to right, var(--primary) var(--slider-value), var(--muted) var(--slider-value));
    }
    &::-moz-range-thumb {
      margin-top: calc(var(--spacing) * -1.25);
      display: block;
      width: calc(var(--spacing) * 4);
      height: calc(var(--spacing) * 4);
      flex-shrink: 0;
      appearance: none;
      border-radius: calc(infinity * 1px);
      border-style: var(--tw-border-style);
      border-width: 1px;
      border-color: var(--primary);
      background-color: var(--background);
      --tw-shadow: var(--shadow-sm);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      --tw-ring-color: var(--ring);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
      }
    }
    &::-moz-range-track {
      height: calc(var(--spacing) * 1.5);
      width: 100%;
      appearance: none;
      border-radius: calc(infinity * 1px);
      background: linear-gradient(to right, var(--primary) var(--slider-value), var(--muted) var(--slider-value));
    }
    &::-ms-thumb {
      margin-top: calc(var(--spacing) * -1.25);
      display: block;
      width: calc(var(--spacing) * 4);
      height: calc(var(--spacing) * 4);
      flex-shrink: 0;
      appearance: none;
      border-radius: calc(infinity * 1px);
      border-style: var(--tw-border-style);
      border-width: 1px;
      border-color: var(--primary);
      background-color: var(--background);
      --tw-shadow: var(--shadow-sm);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      --tw-ring-color: var(--ring);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
      }
    }
    &::-ms-track {
      height: calc(var(--spacing) * 1.5);
      width: 100%;
      appearance: none;
      border-radius: calc(infinity * 1px);
    }
    &::-ms-fill-lower {
      border-radius: calc(infinity * 1px);
      background-color: var(--primary);
    }
    &::-ms-fill-upper {
      border-radius: calc(infinity * 1px);
      background-color: var(--muted);
    }
  }
}
@layer components {
  :is(.form, .field) select, select.select {
    display: flex;
    height: calc(var(--spacing) * 9);
    width: fit-content;
    appearance: none;
    align-items: center;
    justify-content: space-between;
    gap: calc(var(--spacing) * 2);
    border-radius: calc(var(--radius) - 2px);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--input);
    background-color: transparent;
    padding-block: calc(var(--spacing) * 2);
    padding-right: calc(var(--spacing) * 9);
    padding-left: calc(var(--spacing) * 3);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    white-space: nowrap;
    --tw-shadow: var(--shadow-xs);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-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));
    --tw-outline-style: none;
    outline-style: none;
    &:focus-visible {
      border-color: var(--ring);
    }
    &: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 {
      --tw-ring-color: var(--ring);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
      }
    }
    &:disabled {
      cursor: not-allowed;
    }
    &:disabled {
      opacity: 50%;
    }
    &[aria-invalid="true"] {
      border-color: var(--destructive);
    }
    &[aria-invalid="true"] {
      --tw-ring-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
      }
    }
    &:is(.dark *) {
      background-color: var(--input);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--input) 30%, transparent);
      }
    }
    &:is(.dark *) {
      &:hover {
        @media (hover: hover) {
          background-color: var(--input);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--input) 50%, transparent);
          }
        }
      }
    }
    &:is(.dark *) {
      &[aria-invalid="true"] {
        --tw-ring-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
        }
      }
    }
    background-image: var(--chevron-down-icon-50);
    background-size: 1rem;
    background-position: center right 0.75rem;
    background-repeat: no-repeat;
    option, optgroup {
      background-color: var(--popover);
      color: var(--popover-foreground);
    }
  }
  *:not(select).select {
    position: relative;
    display: inline-flex;
    [data-popover] {
      padding: calc(var(--spacing) * 1);
      [role='option'] {
        position: relative;
        display: flex;
        width: 100%;
        cursor: default;
        align-items: center;
        gap: calc(var(--spacing) * 2);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        border-radius: calc(var(--radius) - 4px);
        padding-block: calc(var(--spacing) * 1.5);
        padding-right: calc(var(--spacing) * 7.5);
        padding-left: calc(var(--spacing) * 2);
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height));
        --tw-outline-style: none;
        outline-style: none;
        @media (forced-colors: active) {
          outline: 2px solid transparent;
          outline-offset: 2px;
        }
        -webkit-user-select: none;
        user-select: none;
        &:disabled {
          pointer-events: none;
        }
        &:disabled {
          opacity: 50%;
        }
        &[aria-disabled="true"] {
          pointer-events: none;
        }
        &[aria-disabled="true"] {
          opacity: 50%;
        }
        &[aria-hidden="true"] {
          display: none;
        }
        & svg {
          width: calc(var(--spacing) * 4);
          height: calc(var(--spacing) * 4);
        }
        & svg {
          flex-shrink: 0;
        }
        & svg {
          color: var(--muted-foreground);
        }
        &[aria-selected='true'] {
          background-image: var(--check-icon);
          background-size: 0.875rem;
          background-position: center right 0.5rem;
          background-repeat: no-repeat;
        }
        &.active, &:focus-visible {
          background-color: var(--accent);
          color: var(--accent-foreground);
        }
      }
      [role='listbox'] [role='heading'] {
        display: flex;
        padding-inline: calc(var(--spacing) * 2);
        padding-block: calc(var(--spacing) * 1.5);
        font-size: var(--text-xs);
        line-height: var(--tw-leading, var(--text-xs--line-height));
        color: var(--muted-foreground);
      }
      [role='listbox'] [role='group']:not(:has([role='option']:not([aria-hidden='true']))) {
        display: none;
      }
      [role='separator'] {
        margin-inline: calc(var(--spacing) * -1);
        margin-block: calc(var(--spacing) * 1);
        border-color: var(--border);
      }
      > header {
        margin-inline: calc(var(--spacing) * -1);
        margin-top: calc(var(--spacing) * -1);
        margin-bottom: calc(var(--spacing) * 1);
        display: flex;
        height: calc(var(--spacing) * 9);
        align-items: center;
        gap: calc(var(--spacing) * 2);
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 1px;
        padding-inline: calc(var(--spacing) * 3);
        svg {
          width: calc(var(--spacing) * 4);
          height: calc(var(--spacing) * 4);
          flex-shrink: 0;
          opacity: 50%;
        }
        input[role='combobox'] {
          display: flex;
          height: calc(var(--spacing) * 10);
          width: 100%;
          min-width: calc(var(--spacing) * 0);
          flex: 1;
          border-radius: calc(var(--radius) - 2px);
          background-color: transparent;
          padding-block: calc(var(--spacing) * 3);
          font-size: var(--text-sm);
          line-height: var(--tw-leading, var(--text-sm--line-height));
          --tw-outline-style: none;
          outline-style: none;
          @media (forced-colors: active) {
            outline: 2px solid transparent;
            outline-offset: 2px;
          }
          &::placeholder {
            color: var(--muted-foreground);
          }
          &:disabled {
            cursor: not-allowed;
          }
          &:disabled {
            opacity: 50%;
          }
        }
      }
      [role='listbox']:not(:has([data-value]:not([aria-hidden='true'])))::before {
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        padding: calc(var(--spacing) * 6);
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height));
      }
      [role='listbox'][data-empty]:not(:has([data-value]:not([aria-hidden='true'])))::before {
        --tw-content: attr(data-empty);
        content: var(--tw-content);
      }
      [role='listbox']:not([data-empty]):not(:has([data-value]:not([aria-hidden='true'])))::before {
        --tw-content: 'No results found';
        content: var(--tw-content);
      }
    }
    [data-popover]:has(> header input:not(:placeholder-shown)) [role='separator'] {
      display: none;
    }
    &:not([data-select-initialized]) [data-popover] [role='option'] {
      &:hover {
        @media (hover: hover) {
          background-color: var(--accent);
        }
      }
      &:hover {
        @media (hover: hover) {
          color: var(--accent-foreground);
        }
      }
    }
  }
}
@layer components {
  .sidebar {
    &:not([data-sidebar-initialized]) {
      @media (width < 48rem) {
        display: none;
      }
    }
    &:not([aria-hidden]), &[aria-hidden=false] {
      @media (width < 48rem) {
        position: fixed;
      }
      @media (width < 48rem) {
        inset: calc(var(--spacing) * 0);
      }
      @media (width < 48rem) {
        z-index: 40;
      }
      @media (width < 48rem) {
        background-color: color-mix(in srgb, #000 50%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-black) 50%, transparent);
        }
      }
    }
    nav {
      position: fixed;
      inset-block: calc(var(--spacing) * 0);
      z-index: 50;
      display: flex;
      width: var(--sidebar-mobile-width);
      flex-direction: column;
      background-color: var(--sidebar);
      color: var(--sidebar-foreground);
      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));
      --tw-duration: 300ms;
      transition-duration: 300ms;
      --tw-ease: var(--ease-in-out);
      transition-timing-function: var(--ease-in-out);
      @media (width >= 48rem) {
        width: var(--sidebar-width);
      }
    }
    & + * {
      transition-property: margin;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
      --tw-duration: 300ms;
      transition-duration: 300ms;
      --tw-ease: var(--ease-in-out);
      transition-timing-function: var(--ease-in-out);
    }
    &:not([data-side]), &[data-side=left] {
      nav {
        left: calc(var(--spacing) * 0);
        border-right-style: var(--tw-border-style);
        border-right-width: 1px;
      }
      & + * {
        position: relative;
        @media (width >= 48rem) {
          margin-left: var(--sidebar-width);
        }
      }
      &[aria-hidden=true] {
        nav {
          --tw-translate-x: -100%;
          translate: var(--tw-translate-x) var(--tw-translate-y);
        }
        & + * {
          @media (width >= 48rem) {
            margin-left: calc(var(--spacing) * 0);
          }
        }
      }
    }
    &[data-side=right] {
      nav {
        right: calc(var(--spacing) * 0);
        border-left-style: var(--tw-border-style);
        border-left-width: 1px;
      }
      & + * {
        position: relative;
        @media (width >= 48rem) {
          margin-right: var(--sidebar-width);
        }
      }
      &[aria-hidden=true] {
        nav {
          --tw-translate-x: 100%;
          translate: var(--tw-translate-x) var(--tw-translate-y);
        }
        & + * {
          @media (width >= 48rem) {
            margin-right: calc(var(--spacing) * 0);
          }
        }
      }
    }
    nav {
      > header, > footer {
        display: flex;
        flex-direction: column;
        gap: calc(var(--spacing) * 2);
        padding: calc(var(--spacing) * 2);
      }
      [role=separator] {
        margin-inline: calc(var(--spacing) * 2);
        width: auto;
        border-color: var(--sidebar-border);
      }
      > section {
        display: flex;
        min-height: calc(var(--spacing) * 0);
        flex: 1;
        flex-direction: column;
        gap: calc(var(--spacing) * 2);
        overflow-y: auto;
        > [role=group] {
          position: relative;
          display: flex;
          width: 100%;
          min-width: calc(var(--spacing) * 0);
          flex-direction: column;
          padding: calc(var(--spacing) * 2);
        }
        h3 {
          display: flex;
          height: calc(var(--spacing) * 8);
          flex-shrink: 0;
          align-items: center;
          border-radius: calc(var(--radius) - 2px);
          padding-inline: calc(var(--spacing) * 2);
          font-size: var(--text-xs);
          line-height: var(--tw-leading, var(--text-xs--line-height));
          --tw-font-weight: var(--font-weight-medium);
          font-weight: var(--font-weight-medium);
          color: var(--sidebar-foreground);
          @supports (color: color-mix(in lab, red, red)) {
            color: color-mix(in oklab, var(--sidebar-foreground) 70%, transparent);
          }
          --tw-ring-color: var(--sidebar-ring);
          --tw-outline-style: none;
          outline-style: none;
          @media (forced-colors: active) {
            outline: 2px solid transparent;
            outline-offset: 2px;
          }
          transition-property: margin,opacity;
          transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
          transition-duration: var(--tw-duration, var(--default-transition-duration));
          --tw-duration: 200ms;
          transition-duration: 200ms;
          --tw-ease: linear;
          transition-timing-function: linear;
          &: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);
          }
          &>svg {
            width: calc(var(--spacing) * 4);
            height: calc(var(--spacing) * 4);
          }
          &>svg {
            flex-shrink: 0;
          }
        }
        ul {
          display: flex;
          width: 100%;
          min-width: calc(var(--spacing) * 0);
          flex-direction: column;
          gap: calc(var(--spacing) * 1);
          li {
            position: relative;
            > a, > details > summary {
              display: flex;
              width: 100%;
              align-items: center;
              gap: calc(var(--spacing) * 2);
              overflow: hidden;
              border-radius: calc(var(--radius) - 2px);
              padding: calc(var(--spacing) * 2);
              text-align: left;
              font-size: var(--text-sm);
              line-height: var(--tw-leading, var(--text-sm--line-height));
              --tw-ring-color: var(--sidebar-ring);
              --tw-outline-style: none;
              outline-style: none;
              @media (forced-colors: active) {
                outline: 2px solid transparent;
                outline-offset: 2px;
              }
              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));
              &:hover {
                @media (hover: hover) {
                  background-color: var(--sidebar-accent);
                }
              }
              &:hover {
                @media (hover: hover) {
                  color: var(--sidebar-accent-foreground);
                }
              }
              &: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);
              }
              &:active {
                background-color: var(--sidebar-accent);
              }
              &:active {
                color: var(--sidebar-accent-foreground);
              }
              &:disabled {
                pointer-events: none;
              }
              &:disabled {
                opacity: 50%;
              }
              &[aria-disabled="true"] {
                pointer-events: none;
              }
              &[aria-disabled="true"] {
                opacity: 50%;
              }
              &>span:last-child {
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
              }
              &>svg {
                width: calc(var(--spacing) * 4);
                height: calc(var(--spacing) * 4);
              }
              &>svg {
                flex-shrink: 0;
              }
              &[aria-current=page] {
                background-color: var(--sidebar-accent);
              }
              &[aria-current=page] {
                --tw-font-weight: var(--font-weight-medium);
                font-weight: var(--font-weight-medium);
              }
              &[aria-current=page] {
                color: var(--sidebar-accent-foreground);
              }
              &:not([data-variant]), &[data-variant=default] {
                &:hover {
                  @media (hover: hover) {
                    background-color: var(--sidebar-accent);
                  }
                }
                &:hover {
                  @media (hover: hover) {
                    color: var(--sidebar-accent-foreground);
                  }
                }
              }
              &[data-variant=outline] {
                background-color: var(--background);
                --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);
                &:hover {
                  @media (hover: hover) {
                    background-color: var(--sidebar-accent);
                  }
                }
                &:hover {
                  @media (hover: hover) {
                    color: var(--sidebar-accent-foreground);
                  }
                }
                &:hover {
                  @media (hover: 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);
                  }
                }
              }
              &:not([data-size]), &[data-size=default] {
                height: calc(var(--spacing) * 8);
                font-size: var(--text-sm);
                line-height: var(--tw-leading, var(--text-sm--line-height));
              }
              &[data-size=sm] {
                height: calc(var(--spacing) * 7);
                font-size: var(--text-xs);
                line-height: var(--tw-leading, var(--text-xs--line-height));
              }
              &[data-size=lg] {
                height: calc(var(--spacing) * 12);
                font-size: var(--text-sm);
                line-height: var(--tw-leading, var(--text-sm--line-height));
                &:is(:where(.group)[data-collapsible="icon"] *) {
                  padding: calc(var(--spacing) * 0) !important;
                }
              }
            }
            > details {
              &:not([open]) {
                > summary {
                  &::after {
                    rotate: calc(90deg * -1);
                  }
                }
              }
              > summary {
                &::after {
                  margin-left: auto;
                  display: block;
                  width: calc(var(--spacing) * 3.5);
                  height: calc(var(--spacing) * 3.5);
                  background-color: var(--primary);
                  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));
                  --tw-ease: linear;
                  transition-timing-function: linear;
                  --tw-content: '';
                  content: var(--tw-content);
                  mask-image: var(--chevron-down-icon);
                  mask-size: 1rem;
                  mask-position: center;
                  mask-repeat: no-repeat;
                }
              }
              &::details-content {
                padding-inline: calc(var(--spacing) * 3.5);
              }
            }
          }
          ul {
            display: flex;
            width: 100%;
            min-width: calc(var(--spacing) * 0);
            --tw-translate-x: 1px;
            translate: var(--tw-translate-x) var(--tw-translate-y);
            flex-direction: column;
            gap: calc(var(--spacing) * 1);
            border-left-style: var(--tw-border-style);
            border-left-width: 1px;
            border-color: var(--sidebar-border);
            padding-inline: calc(var(--spacing) * 2.5);
            padding-block: calc(var(--spacing) * 0.5);
          }
        }
      }
    }
  }
}
@layer components {
  :is(.form, .field) input[type='checkbox'][role='switch'], .input[type='checkbox'][role='switch'] {
    display: inline-flex;
    height: 1.15rem;
    width: calc(var(--spacing) * 8);
    flex-shrink: 0;
    appearance: none;
    align-items: center;
    border-radius: calc(infinity * 1px);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: transparent;
    --tw-shadow: var(--shadow-xs);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-outline-style: none;
    outline-style: none;
    &:focus-visible {
      border-color: var(--ring);
    }
    &: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 {
      --tw-ring-color: var(--ring);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
      }
    }
    &:disabled {
      cursor: not-allowed;
    }
    &:disabled {
      opacity: 50%;
    }
    background-color: var(--input);
    &:checked {
      background-color: var(--primary);
    }
    &:is(.dark *) {
      background-color: var(--input);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--input) 80%, transparent);
      }
    }
    &:is(.dark *) {
      &:checked {
        background-color: var(--primary);
      }
    }
    &::before {
      content: var(--tw-content);
      pointer-events: none;
    }
    &::before {
      content: var(--tw-content);
      display: block;
    }
    &::before {
      content: var(--tw-content);
      width: calc(var(--spacing) * 4);
      height: calc(var(--spacing) * 4);
    }
    &::before {
      content: var(--tw-content);
      border-radius: calc(infinity * 1px);
    }
    &::before {
      content: var(--tw-content);
      --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);
    }
    &::before {
      content: var(--tw-content);
      transition-property: all;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
    }
    &::before {
      --tw-content: '';
      content: var(--tw-content);
    }
    &::before {
      content: var(--tw-content);
      background-color: var(--background);
    }
    &:is(.dark *) {
      &::before {
        content: var(--tw-content);
        background-color: var(--foreground);
      }
    }
    &:checked {
      &::before {
        content: var(--tw-content);
        margin-inline-start: calc(var(--spacing) * 3.5);
      }
    }
    &:is(.dark *) {
      &:checked {
        &::before {
          content: var(--tw-content);
          background-color: var(--primary-foreground);
        }
      }
    }
  }
}
@layer components {
  .table {
    width: 100%;
    caption-side: bottom;
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    thead {
      & tr {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 1px;
      }
    }
    tbody {
      & tr:last-child {
        border-style: var(--tw-border-style);
        border-width: 0px;
      }
    }
    tfoot {
      border-top-style: var(--tw-border-style);
      border-top-width: 1px;
      background-color: var(--muted);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--muted) 50%, transparent);
      }
      --tw-font-weight: var(--font-weight-medium);
      font-weight: var(--font-weight-medium);
      &>tr {
        &:last-child {
          border-bottom-style: var(--tw-border-style);
          border-bottom-width: 0px;
        }
      }
    }
    tr {
      border-bottom-style: var(--tw-border-style);
      border-bottom-width: 1px;
      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));
      &:hover {
        @media (hover: hover) {
          background-color: var(--muted);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--muted) 50%, transparent);
          }
        }
      }
    }
    th {
      height: calc(var(--spacing) * 10);
      padding-inline: calc(var(--spacing) * 2);
      text-align: left;
      vertical-align: middle;
      --tw-font-weight: var(--font-weight-medium);
      font-weight: var(--font-weight-medium);
      white-space: nowrap;
      color: var(--foreground);
      &:has([role=checkbox]) {
        padding-right: calc(var(--spacing) * 0);
      }
      &>[role=checkbox] {
        --tw-translate-y: 2px;
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
    td {
      padding: calc(var(--spacing) * 2);
      vertical-align: middle;
      white-space: nowrap;
      &:has([role=checkbox]) {
        padding-right: calc(var(--spacing) * 0);
      }
      &>[role=checkbox] {
        --tw-translate-y: 2px;
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
    caption {
      margin-top: calc(var(--spacing) * 4);
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
      color: var(--muted-foreground);
    }
  }
}
@layer components {
  .tabs {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 2);
    [role='tablist'] {
      display: inline-flex;
      height: calc(var(--spacing) * 9);
      width: fit-content;
      align-items: center;
      justify-content: center;
      border-radius: var(--radius);
      background-color: var(--muted);
      padding: 3px;
      color: var(--muted-foreground);
      [role='tab'] {
        display: inline-flex;
        height: calc(100% - 1px);
        flex: 1;
        align-items: center;
        justify-content: center;
        gap: calc(var(--spacing) * 1.5);
        border-radius: calc(var(--radius) - 2px);
        border-style: var(--tw-border-style);
        border-width: 1px;
        border-color: transparent;
        padding-inline: calc(var(--spacing) * 2);
        padding-block: calc(var(--spacing) * 1);
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height));
        --tw-font-weight: var(--font-weight-medium);
        font-weight: var(--font-weight-medium);
        white-space: nowrap;
        color: var(--foreground);
        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));
        &:focus-visible {
          border-color: var(--ring);
        }
        &: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 {
          --tw-ring-color: var(--ring);
          @supports (color: color-mix(in lab, red, red)) {
            --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
          }
        }
        &:focus-visible {
          outline-style: var(--tw-outline-style);
          outline-width: 1px;
        }
        &:focus-visible {
          outline-color: var(--ring);
        }
        &:disabled {
          pointer-events: none;
        }
        &:disabled {
          opacity: 50%;
        }
        &:is(.dark *) {
          color: var(--muted-foreground);
        }
        & svg {
          pointer-events: none;
        }
        & svg {
          flex-shrink: 0;
        }
        & svg:not([class*='size-']) {
          width: calc(var(--spacing) * 4);
          height: calc(var(--spacing) * 4);
        }
        &[aria-selected='true'] {
          background-color: var(--background);
          --tw-shadow: var(--shadow-sm);
          box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
          &:is(.dark *) {
            border-color: var(--input);
          }
          &:is(.dark *) {
            background-color: var(--input);
            @supports (color: color-mix(in lab, red, red)) {
              background-color: color-mix(in oklab, var(--input) 30%, transparent);
            }
          }
          &:is(.dark *) {
            color: var(--foreground);
          }
        }
      }
    }
    [role='tabpanel'] {
      flex: 1;
      --tw-outline-style: none;
      outline-style: none;
    }
  }
}
@layer components {
  :is(.form, .field) textarea, .textarea {
    display: flex;
    field-sizing: content;
    min-height: calc(var(--spacing) * 16);
    width: 100%;
    border-radius: calc(var(--radius) - 2px);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--input);
    background-color: transparent;
    padding-inline: calc(var(--spacing) * 3);
    padding-block: calc(var(--spacing) * 2);
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
    --tw-shadow: var(--shadow-xs);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-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));
    --tw-outline-style: none;
    outline-style: none;
    &::placeholder {
      color: var(--muted-foreground);
    }
    &:focus-visible {
      border-color: var(--ring);
    }
    &: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 {
      --tw-ring-color: var(--ring);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
      }
    }
    &:disabled {
      cursor: not-allowed;
    }
    &:disabled {
      opacity: 50%;
    }
    &[aria-invalid="true"] {
      border-color: var(--destructive);
    }
    &[aria-invalid="true"] {
      --tw-ring-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
      }
    }
    @media (width >= 48rem) {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
    &:is(.dark *) {
      background-color: var(--input);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--input) 30%, transparent);
      }
    }
    &:is(.dark *) {
      &[aria-invalid="true"] {
        --tw-ring-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
        }
      }
    }
  }
}
@layer components {
  .toaster {
    pointer-events: none;
    position: fixed;
    bottom: calc(var(--spacing) * 0);
    z-index: 50;
    display: flex;
    width: 100%;
    flex-direction: column-reverse;
    padding: calc(var(--spacing) * 4);
    @media (width >= 40rem) {
      max-width: calc(var(--spacing) * 90);
    }
    &:not([data-align]), &[data-align='end'] {
      right: calc(var(--spacing) * 0);
    }
    &[data-align='start'] {
      left: calc(var(--spacing) * 0);
    }
    &[data-align='center'] {
      left: calc(1/2 * 100%);
      --tw-translate-x: calc(calc(1/2 * 100%) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .toast {
      pointer-events: auto;
      margin-top: calc(var(--spacing) * 4);
      display: grid;
      width: 100%;
      animation: toast-up 0.3s ease-in-out;
      grid-template-rows: 1fr;
      transition-property: grid-template-rows,opacity,margin;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
      --tw-duration: 300ms;
      transition-duration: 300ms;
      --tw-ease: var(--ease-in-out);
      transition-timing-function: var(--ease-in-out);
      .toast-content {
        display: flex;
        align-items: center;
        gap: calc(var(--spacing) * 2.5);
        overflow: hidden;
        border-radius: var(--radius);
        border-style: var(--tw-border-style);
        border-width: 1px;
        background-color: var(--popover);
        padding: calc(var(--spacing) * 3);
        font-size: 13px;
        color: var(--popover-foreground);
        --tw-shadow: var(--shadow-lg);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
        svg {
          width: calc(var(--spacing) * 4);
          height: calc(var(--spacing) * 4);
          flex-shrink: 0;
        }
        section {
          h2 {
            --tw-font-weight: var(--font-weight-medium);
            font-weight: var(--font-weight-medium);
            --tw-tracking: var(--tracking-tight);
            letter-spacing: var(--tracking-tight);
          }
          p {
            word-break: break-all;
            color: var(--muted-foreground);
          }
        }
        footer {
          margin-left: auto;
          display: flex;
          flex-direction: column;
          gap: calc(var(--spacing) * 2);
          [data-toast-action], [data-toast-cancel] {
            height: calc(var(--spacing) * 6);
            padding-inline: calc(var(--spacing) * 2.5);
            font-size: var(--text-xs);
            line-height: var(--tw-leading, var(--text-xs--line-height));
          }
        }
      }
      &[aria-hidden='true'] {
        margin: calc(var(--spacing) * 0);
        grid-template-rows: 0fr;
        overflow: hidden;
        border-style: var(--tw-border-style);
        border-width: 0px;
        padding: calc(var(--spacing) * 0);
        opacity: 0%;
        .toast-content {
          border-style: var(--tw-border-style);
          border-width: 0px;
        }
      }
    }
  }
}
@keyframes toast-up {
  from {
    opacity: 0;
    transform: translateY(100%);
  }
}
@layer components {
  [data-tooltip] {
    position: relative;
    &:before {
      pointer-events: none;
      visibility: hidden;
      position: absolute;
      z-index: 60;
      width: fit-content;
      max-width: var(--container-xs);
      --tw-scale-x: 95%;
      --tw-scale-y: 95%;
      --tw-scale-z: 95%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      border-radius: calc(var(--radius) - 2px);
      background-color: var(--primary);
      padding-inline: calc(var(--spacing) * 3);
      padding-block: calc(var(--spacing) * 1.5);
      font-size: var(--text-xs);
      line-height: var(--tw-leading, var(--text-xs--line-height));
      color: var(--primary-foreground);
      opacity: 0%;
      transition-property: all;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
      --tw-content: attr(data-tooltip);
      content: var(--tw-content);
    }
    &:hover:before {
      visibility: visible;
      --tw-scale-x: 100%;
      --tw-scale-y: 100%;
      --tw-scale-z: 100%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
      opacity: 100%;
    }
    &:focus-visible:not(:hover):before {
      display: none;
    }
    &:not([data-side]), &[data-side='top'] {
      &::before {
        content: var(--tw-content);
        bottom: 100%;
      }
      &::before {
        content: var(--tw-content);
        margin-bottom: calc(var(--spacing) * 1.5);
      }
      &::before {
        content: var(--tw-content);
        --tw-translate-y: calc(var(--spacing) * 2);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
      &:hover {
        @media (hover: hover) {
          &::before {
            content: var(--tw-content);
            --tw-translate-y: calc(var(--spacing) * 0);
            translate: var(--tw-translate-x) var(--tw-translate-y);
          }
        }
      }
    }
    &[data-side='bottom'] {
      &::before {
        content: var(--tw-content);
        top: 100%;
      }
      &::before {
        content: var(--tw-content);
        margin-top: calc(var(--spacing) * 1.5);
      }
      &::before {
        content: var(--tw-content);
        --tw-translate-y: calc(var(--spacing) * -2);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
      &:hover {
        @media (hover: hover) {
          &::before {
            content: var(--tw-content);
            --tw-translate-y: calc(var(--spacing) * 0);
            translate: var(--tw-translate-x) var(--tw-translate-y);
          }
        }
      }
    }
    &:not([data-side]), &[data-side='top'], &[data-side='bottom'] {
      &[data-align='start'] {
        &::before {
          content: var(--tw-content);
          left: calc(var(--spacing) * 0);
        }
      }
      &[data-align='end'] {
        &::before {
          content: var(--tw-content);
          right: calc(var(--spacing) * 0);
        }
      }
      &:not([data-align]), &[data-align='center'] {
        &::before {
          content: var(--tw-content);
          left: calc(1/2 * 100%);
        }
        &::before {
          content: var(--tw-content);
          --tw-translate-x: calc(calc(1/2 * 100%) * -1);
          translate: var(--tw-translate-x) var(--tw-translate-y);
        }
      }
    }
    &[data-side='left'] {
      &::before {
        content: var(--tw-content);
        right: 100%;
      }
      &::before {
        content: var(--tw-content);
        margin-right: calc(var(--spacing) * 1.5);
      }
      &::before {
        content: var(--tw-content);
        --tw-translate-x: calc(var(--spacing) * 2);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
      &:hover {
        @media (hover: hover) {
          &::before {
            content: var(--tw-content);
            --tw-translate-x: calc(var(--spacing) * 0);
            translate: var(--tw-translate-x) var(--tw-translate-y);
          }
        }
      }
    }
    &[data-side='right'] {
      &::before {
        content: var(--tw-content);
        left: 100%;
      }
      &::before {
        content: var(--tw-content);
        margin-left: calc(var(--spacing) * 1.5);
      }
      &::before {
        content: var(--tw-content);
        --tw-translate-x: calc(var(--spacing) * -2);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
      &:hover {
        @media (hover: hover) {
          &::before {
            content: var(--tw-content);
            --tw-translate-x: calc(var(--spacing) * 0);
            translate: var(--tw-translate-x) var(--tw-translate-y);
          }
        }
      }
    }
    &[data-side='left'], &[data-side='right'] {
      &[data-align='start'] {
        &::before {
          content: var(--tw-content);
          top: calc(var(--spacing) * 0);
        }
      }
      &[data-align='end'] {
        &::before {
          content: var(--tw-content);
          bottom: calc(var(--spacing) * 0);
        }
      }
      &:not([data-align]), &[data-align='center'] {
        &::before {
          content: var(--tw-content);
          top: calc(1/2 * 100%);
        }
        &::before {
          content: var(--tw-content);
          --tw-translate-y: calc(calc(1/2 * 100%) * -1);
          translate: var(--tw-translate-x) var(--tw-translate-y);
        }
      }
    }
  }
}
:root {
  --background: #f8fafc;
  --foreground: #1e293b;
  --card: #ffffff;
  --card-foreground: #1e293b;
  --popover: #ffffff;
  --popover-foreground: #1e293b;
  --primary: #7f56d9;
  --primary-foreground: #ffffff;
  --secondary: #e5e7eb;
  --secondary-foreground: #374151;
  --muted: #f3f4f6;
  --muted-foreground: #6b7280;
  --accent: #eae0ff;
  --accent-foreground: #374151;
  --destructive: #ef4444;
  --destructive-foreground: #ffffff;
  --border: #d1d5db;
  --input: #d1d5db;
  --ring: #9164f2;
  --chart-1: #9e77ed;
  --chart-2: #7f56d9;
  --chart-3: #6941c6;
  --chart-4: #53389e;
  --chart-5: #42307d;
  --sidebar: #f3f4f6;
  --sidebar-foreground: #1e293b;
  --sidebar-primary: #7f56d9;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #eae0ff;
  --sidebar-accent-foreground: #374151;
  --sidebar-border: #d1d5db;
  --sidebar-ring: #9164f2;
  --sidebar-width: 16rem;
  --sidebar-width-icon: 4rem;
  --font-sans: Inter, sans-serif;
  --font-serif: Merriweather, serif;
  --font-mono: JetBrains Mono, monospace;
  --radius: 0.5rem;
  --shadow-2xs: 0px 4px 8px -1px hsl(0 0% 0% / 0.05);
  --shadow-xs: 0px 4px 8px -1px hsl(0 0% 0% / 0.05);
  --shadow-sm: 0px 4px 8px -1px hsl(0 0% 0% / 0.10), 0px 1px 2px -2px hsl(0 0% 0% / 0.10);
  --shadow: 0px 4px 8px -1px hsl(0 0% 0% / 0.10), 0px 1px 2px -2px hsl(0 0% 0% / 0.10);
  --shadow-md: 0px 4px 8px -1px hsl(0 0% 0% / 0.10), 0px 2px 4px -2px hsl(0 0% 0% / 0.10);
  --shadow-lg: 0px 4px 8px -1px hsl(0 0% 0% / 0.10), 0px 4px 6px -2px hsl(0 0% 0% / 0.10);
  --shadow-xl: 0px 4px 8px -1px hsl(0 0% 0% / 0.10), 0px 8px 10px -2px hsl(0 0% 0% / 0.10);
  --shadow-2xl: 0px 4px 8px -1px hsl(0 0% 0% / 0.25);
  --tracking-normal: 0em;
  --spacing: 0.25rem;
}
.dark {
  --background: #0f172a;
  --foreground: #e2e8f0;
  --card: #1e293b;
  --card-foreground: #e2e8f0;
  --popover: #1e293b;
  --popover-foreground: #e2e8f0;
  --primary: #818cf8;
  --primary-foreground: #0f172a;
  --secondary: #2d3748;
  --secondary-foreground: #d1d5db;
  --muted: #152032;
  --muted-foreground: #9ca3af;
  --accent: #374151;
  --accent-foreground: #d1d5db;
  --destructive: #ef4444;
  --destructive-foreground: #0f172a;
  --border: #4b5563;
  --input: #4b5563;
  --ring: #818cf8;
  --chart-1: #818cf8;
  --chart-2: #6366f1;
  --chart-3: #4f46e5;
  --chart-4: #4338ca;
  --chart-5: #3730a3;
  --sidebar: #1e293b;
  --sidebar-foreground: #e2e8f0;
  --sidebar-primary: #818cf8;
  --sidebar-primary-foreground: #0f172a;
  --sidebar-accent: #374151;
  --sidebar-accent-foreground: #d1d5db;
  --sidebar-border: #4b5563;
  --sidebar-ring: #818cf8;
}
:root {
  --color-purple-50: #F4F3FF;
  --color-purple-100: #EBE9FE;
  --color-purple-500: #7F56D9;
  --color-purple-600: #6941C6;
  --color-purple-700: #53389E;
  --color-gray-50: #F9FAFB;
  --color-gray-200: #EAECF0;
  --color-gray-300: #D0D5DD;
  --color-gray-500: #6b7280;
  --color-gray-600: #4b5563;
  --success: #ECFDF3;
  --success-foreground: #027A48;
  --success-border: #86efac;
  --success-hover: #bbf7d0;
  --info: #dbeafe;
  --info-foreground: #1e40af;
  --info-border: #93c5fd;
  --info-hover: #bfdbfe;
  --warning: #fef3c7;
  --warning-foreground: #92400e;
  --destructive-hover: #fef2f2;
}
.dark {
  --color-purple-50: rgba(127, 86, 217, 0.15);
  --color-purple-100: rgba(127, 86, 217, 0.25);
  --success: rgba(18, 183, 106, 0.15);
  --success-foreground: #4ade80;
  --success-border: #4ade80;
  --success-hover: rgba(18, 183, 106, 0.25);
  --info: rgba(59, 130, 246, 0.15);
  --info-foreground: #93c5fd;
  --info-border: #60a5fa;
  --info-hover: rgba(59, 130, 246, 0.25);
  --warning: rgba(245, 158, 11, 0.2);
  --warning-foreground: #fcd34d;
  --destructive-hover: rgba(239, 68, 68, 0.2);
}
.ai-stat-card {
  background-color: var(--color-purple-50);
  border-radius: var(--radius-lg);
  padding: 1rem;
  text-align: center;
}
.badge-success, .badge-info, .badge-warning, .badge-muted {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  padding: 0.0625rem 0.375rem;
  font-size: 0.6875rem;
  font-weight: 500;
  white-space: nowrap;
  line-height: 1.2;
}
.badge-success {
  background-color: var(--success);
  color: var(--success-foreground);
}
.badge-info {
  background-color: var(--info);
  color: var(--info-foreground);
}
.badge-warning {
  background-color: var(--warning);
  color: var(--warning-foreground);
}
.badge-muted {
  background-color: var(--muted);
  color: var(--muted-foreground);
}
.ag-theme-alpine {
  --ag-alpine-active-color: var(--primary);
  --ag-border-radius: 6px;
  --ag-wrapper-border-radius: var(--radius-lg);
  border-radius: var(--radius-lg);
  overflow: hidden;
  --ag-background-color: var(--card);
  --ag-foreground-color: var(--foreground);
  --ag-header-background-color: var(--muted);
  --ag-header-foreground-color: var(--foreground);
  --ag-odd-row-background-color: var(--card);
  --ag-border-color: var(--border);
  --ag-secondary-border-color: var(--border);
  --ag-row-border-color: var(--border);
  --ag-selected-row-background-color: var(--accent);
  --ag-row-hover-color: var(--muted);
  --ag-range-selection-border-color: var(--primary);
  --ag-range-selection-background-color: var(--color-purple-50);
  --ag-checkbox-checked-color: var(--primary);
  --ag-checkbox-unchecked-color: var(--border);
  --ag-checkbox-indeterminate-color: var(--primary);
  --ag-input-focus-border-color: var(--primary);
  --ag-input-focus-box-shadow: 0 0 0 3px var(--color-purple-50);
  --ag-input-border-color: var(--border);
  --ag-invalid-color: var(--destructive);
  --ag-control-panel-background-color: var(--card);
  --ag-side-button-selected-background-color: var(--muted);
  --ag-popup-background-color: var(--popover);
  --ag-menu-background-color: var(--popover);
}
.dark .ag-theme-alpine {
  --ag-foreground-color: var(--foreground);
  --ag-secondary-foreground-color: var(--muted-foreground);
  --ag-disabled-foreground-color: var(--muted-foreground);
  --ag-data-color: var(--foreground);
  --ag-icon-color: var(--foreground);
  --ag-background-color: var(--card);
  --ag-header-background-color: var(--muted);
  --ag-header-foreground-color: var(--foreground);
  --ag-odd-row-background-color: var(--card);
  --ag-subheader-background-color: var(--muted);
  --ag-chrome-background-color: var(--card);
  --ag-border-color: var(--border);
  --ag-secondary-border-color: var(--border);
  --ag-row-border-color: var(--border);
  --ag-selected-row-background-color: var(--accent);
  --ag-row-hover-color: var(--muted);
  --ag-range-selection-background-color: rgba(127, 86, 217, 0.2);
  --ag-input-focus-box-shadow: 0 0 0 3px rgba(127, 86, 217, 0.3);
  --ag-input-border-color: var(--border);
  --ag-input-disabled-background-color: var(--muted);
  --ag-checkbox-unchecked-color: var(--border);
  --ag-popup-background-color: var(--popover);
  --ag-menu-background-color: var(--popover);
  --ag-control-panel-background-color: var(--card);
  --ag-modal-overlay-background-color: rgba(0, 0, 0, 0.5);
}
.dark .ag-theme-alpine .ag-paging-panel {
  background-color: var(--muted);
  color: var(--foreground);
  border-top-color: var(--border);
}
.dark .ag-theme-alpine .ag-status-bar {
  background-color: var(--muted);
  color: var(--foreground);
  border-top-color: var(--border);
}
.dark .ag-theme-alpine .ag-filter-toolpanel {
  background-color: var(--card);
}
.dark .ag-theme-alpine .ag-column-panel {
  background-color: var(--card);
}
.sidebar nav > header {
  padding: calc(var(--spacing) * 4);
}
.nm-sidebar-logo {
  display: flex;
  align-items: center;
  text-decoration: none;
}
.nm-sidebar-logo-icon {
  width: 2.5rem;
  height: 2.5rem;
  display: none;
}
.nm-sidebar-logo-full {
  height: 2.7rem;
  width: auto;
  content: url("/static/images/logo_light.svg");
}
.dark .nm-sidebar-logo-full {
  content: url("/static/images/logo_dark.svg");
}
.nm-sidebar-link {
  display: flex;
  align-items: center;
  gap: calc(var(--spacing) * 4);
  padding: calc(var(--spacing) * 6);
  border-radius: var(--radius-md);
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--sidebar-foreground);
  text-decoration: none;
  transition: all 0.15s ease;
  white-space: nowrap;
  overflow: hidden;
}
.nm-sidebar-link:hover {
  background-color: var(--sidebar-accent);
  color: var(--sidebar-accent-foreground);
}
.nm-sidebar-link.active {
  background-color: var(--sidebar-accent);
  color: var(--sidebar-primary);
}
.nm-sidebar-link i, .nm-sidebar-link svg {
  flex-shrink: 0;
  width: 1.375rem;
  height: 1.375rem;
}
.sidebar nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}
.sidebar nav li {
  margin: 0;
}
.sidebar nav {
  border-right: none !important;
}
@media (min-width: 48rem) {
  .sidebar nav {
    transition-property: transform, translate, scale, rotate, width;
  }
  .sidebar[data-collapsed="true"] nav {
    width: var(--sidebar-width-icon) !important;
    transform: none !important;
    translate: none !important;
  }
  .sidebar[data-collapsed="true"] + * {
    margin-left: var(--sidebar-width-icon) !important;
  }
  .sidebar[data-collapsed="true"] .nm-sidebar-link span {
    display: none;
  }
  .sidebar[data-collapsed="true"] .nm-sidebar-link {
    justify-content: center;
    padding: calc(var(--spacing) * 6);
  }
  .sidebar[data-collapsed="true"] .nm-sidebar-logo-full {
    display: none;
  }
  .sidebar[data-collapsed="true"] .nm-sidebar-logo-icon {
    display: block;
  }
  .sidebar[data-collapsed="true"] .nm-sidebar-logo {
    justify-content: center;
    width: 100%;
  }
}
.main-content {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background-color: var(--sidebar);
}
.main-inset {
  flex: 1;
  display: flex;
  flex-direction: column;
  background-color: var(--background);
  border-radius: var(--radius-xl) 0 0 0;
  margin: 0.5rem;
  margin-right: 0;
  margin-bottom: 0;
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}
.page-content {
  flex: 1;
  padding: 0 1.5rem 1.5rem 1.5rem;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.page-content-flat {
  flex: 1;
  padding: 0 1.5rem 1.5rem 1.5rem;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.panel {
  background-color: var(--card);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--border);
  padding: 1.5rem;
  overflow: hidden;
}
.panel .ag-theme-alpine {
  width: 100%;
  max-width: 100%;
}
select.input {
  appearance: none;
  background-color: var(--card);
  border: 1px solid var(--input);
  border-radius: var(--radius-md);
  padding: 0.5rem 2rem 0.5rem 0.75rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: var(--foreground);
  cursor: pointer;
  box-shadow: var(--shadow-xs);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 0.5rem center;
  background-repeat: no-repeat;
  background-size: 1.25rem 1.25rem;
}
select.input:focus {
  outline: none;
  border-color: var(--ring);
  box-shadow: 0 0 0 2px var(--color-purple-50);
}
select.input:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.dark select.input {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
}
.dark select.input:focus {
  box-shadow: 0 0 0 2px rgba(127, 86, 217, 0.3);
}
select.input[aria-invalid="true"], input.input[aria-invalid="true"], textarea.input[aria-invalid="true"] {
  border-color: var(--destructive);
}
input.input, textarea.input {
  display: inline-block;
  height: 2.5rem;
  padding: 0.5rem 0.875rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--foreground);
  background-color: var(--background);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
input.input:focus, textarea.input:focus {
  border-color: var(--ring);
  box-shadow: 0 0 0 3px var(--color-purple-50);
}
input.input::placeholder, textarea.input::placeholder {
  color: var(--muted-foreground);
}
.btn-xs, .btn-xs-outline, .btn-xs-destructive, .btn-xs-info, .btn-xs-success {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: calc(var(--spacing) * 6);
  font-size: 0.6875rem;
  font-weight: 500;
  padding: 0 calc(var(--spacing) * 1.5);
  gap: calc(var(--spacing) * 1);
  border-radius: calc(var(--radius) - 2px);
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.15s ease;
}
.btn-xs-outline {
  background: var(--card);
  border: 1px solid var(--border);
  color: var(--foreground);
}
.btn-xs-outline:hover {
  background: var(--muted);
  border-color: var(--muted-foreground);
}
.btn-xs-destructive {
  background: var(--card);
  border: 1px solid var(--destructive);
  color: var(--destructive);
}
.btn-xs-destructive:hover {
  background: var(--destructive-hover);
}
.btn-xs-info {
  background: var(--info);
  border: 1px solid var(--info-border);
  color: var(--info-foreground);
}
.btn-xs-info:hover {
  background: var(--info-hover);
}
.btn-xs-success {
  background: var(--success);
  border: 1px solid var(--success-border);
  color: var(--success-foreground);
}
.btn-xs-success:hover {
  background: var(--success-hover);
}
.site-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  height: 3.5rem;
  padding: 0 1.5rem;
  background-color: transparent;
  flex-shrink: 0;
}
.site-header .sidebar-trigger {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  background-color: var(--card);
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.site-header .sidebar-trigger:hover {
  background-color: var(--muted);
}
.site-header .sidebar-trigger i, .site-header .sidebar-trigger svg {
  width: 1.125rem;
  height: 1.125rem;
  color: var(--muted-foreground);
}
.site-header .separator-vertical {
  width: 1px;
  height: 1.25rem;
  background-color: var(--border);
  margin: 0 0.25rem;
}
.site-header-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--foreground);
}
.site-header-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
:root {
  --dialog-radius: var(--radius-lg);
  --dialog-header-bg: var(--muted);
  --dialog-footer-bg: var(--muted);
  --dialog-body-bg: var(--card);
  --dialog-border: var(--border);
}
.dialog > div > header {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.75rem;
  margin: -1.5rem -1.5rem 1.5rem -1.5rem;
  padding: 1rem 1.5rem;
  background: var(--dialog-header-bg);
  border-bottom: 1px solid var(--border);
  border-radius: var(--dialog-radius) var(--dialog-radius) 0 0;
}
.dialog > div > header > div:only-child {
  width: 100%;
}
.dialog > div > footer {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
  margin: 1.5rem -1.5rem -1.5rem -1.5rem;
  padding: 1rem 1.5rem;
  background: var(--dialog-footer-bg);
  border-top: 1px solid var(--border);
  border-radius: 0 0 var(--dialog-radius) var(--dialog-radius);
}
.dialog > div > button[aria-label="Close"] {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  color: var(--muted-foreground);
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: background-color 0.15s, color 0.15s;
  z-index: 1;
}
.dialog > div > button[aria-label="Close"]:hover {
  background: var(--muted);
  color: var(--foreground);
}
.dialog-icon {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-md);
  background: var(--color-purple-50);
  color: var(--primary);
}
.dialog-icon i, .dialog-icon svg {
  width: 1.25rem;
  height: 1.25rem;
}
.dialog-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--foreground);
  margin: 0;
}
.dialog-description {
  font-size: 0.875rem;
  color: var(--muted-foreground);
  margin: 0;
}
.dialog .form-group {
  margin-bottom: 1rem;
}
.dialog .form-group:last-child {
  margin-bottom: 0;
}
.dialog .form-label {
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--foreground);
  margin-bottom: 0.5rem;
}
.dialog .input {
  width: 100%;
}
.section-cards {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 1rem;
}
@media (min-width: 640px) {
  .section-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .section-cards {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1280px) {
  .section-cards {
    grid-template-columns: repeat(4, 1fr);
  }
}
.panel-inner-grey {
  padding: 1rem;
  border-radius: var(--radius-lg);
  max-width: 100%;
  background-color: var(--muted);
  border: 1px solid var(--border);
  font-size: 0.875rem;
  color: var(--muted-foreground);
  text-align: left;
}
.panel-inner-purple {
  padding: 1rem;
  border-radius: var(--radius-lg);
  max-width: 100%;
  background-color: var(--color-purple-50);
  border: 1px solid var(--border);
  font-size: 0.875rem;
  color: var(--muted-foreground);
  text-align: left;
}
table {
  width: 100%;
  border-collapse: collapse;
}
th {
  text-align: left;
  padding: 1rem;
  border-bottom: 1px solid var(--border);
  background: var(--muted);
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--foreground);
}
td {
  padding: 1rem;
  border-bottom: 1px solid var(--border);
  color: var(--muted-foreground);
  font-size: 1rem;
}
tr:last-child td {
  border-bottom: none;
}
.right-align {
  text-align: right;
}
.custom-checkbox {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  font-size: 0.875rem;
  user-select: none;
  position: relative;
  color: var(--muted-foreground);
}
.custom-checkbox input {
  opacity: 0;
  position: absolute;
  cursor: pointer;
  height: 0;
  width: 0;
}
.checkmark {
  height: 1rem;
  width: 1rem;
  background-color: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  transition: background 0.2s ease-in-out;
}
.custom-checkbox input:checked ~ .checkmark {
  background-color: var(--primary);
  border-color: var(--primary);
}
.checkmark > i {
  content: "";
  position: absolute;
  display: none;
}
.custom-checkbox input:checked ~ .checkmark > i {
  display: block;
}
.custom-checkbox .checkmark > i {
  color: var(--primary-foreground);
}
.button {
  height: 2.5rem;
  line-height: 1.5rem;
  padding: 0.5rem 1rem;
  font-size: 1rem;
  border-radius: var(--radius-lg);
  display: block;
  outline: none;
  cursor: pointer;
  transition: background-color 0.2s ease-in-out;
  border: none;
  font-family: inherit;
  text-decoration: none !important;
  text-align: center;
}
.button:disabled {
  opacity: 0.2;
  pointer-events: none;
}
.button.large {
  height: 3rem;
  line-height: 2rem;
}
.button.primary {
  background-color: var(--primary);
  color: var(--primary-foreground);
}
.button.primary:hover {
  background-color: var(--color-purple-600);
}
.button.secondary {
  background-color: var(--card);
  border: 1px solid var(--border);
  color: var(--foreground);
}
.button.secondary:hover {
  background-color: var(--muted);
}
.button.tertiary {
  background-color: var(--card);
  border: 1px solid var(--destructive);
  color: var(--destructive);
}
.button.tertiary:hover {
  background-color: var(--destructive-hover);
}
input:not([type="checkbox"]):not(.ag-theme-alpine *):not(.input-sm) {
  font-family: inherit;
  outline: none;
  height: 2.5rem;
  padding: 0.5rem 0.875rem;
  font-size: 0.875rem;
  color: var(--foreground);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--background);
  width: auto;
  display: inline-block;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
input:not(.ag-theme-alpine *)::placeholder {
  color: var(--muted-foreground);
}
input:not(.ag-theme-alpine *):hover {
  border-color: var(--primary);
}
input:not(.ag-theme-alpine *):focus {
  outline: none;
  border-color: var(--ring);
  box-shadow: 0 0 0 3px var(--color-purple-50);
}
.label {
  font-size: 0.875rem;
  margin-bottom: 0.25rem;
  color: var(--muted-foreground);
  display: block;
}
.square {
  width: 3rem;
  height: 3rem;
  border-radius: var(--radius-xl);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
}
.tag {
  height: 1.75rem;
  border-radius: 0.875rem;
  background-color: var(--success);
  color: var(--success-foreground);
  display: flex;
  align-items: center;
  padding: 0 0.75rem;
}
.select-container {
  position: relative;
  display: inline-block;
}
.select-container select {
  appearance: none;
  background-color: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  height: 2.25rem;
  padding: 0.5rem 2rem 0.5rem 0.75rem;
  font-size: 0.875rem;
  color: var(--foreground);
  cursor: pointer;
  font-family: inherit;
  outline: none !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.select-container:after {
  content: "\f078";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  font-size: 0.625rem;
  color: var(--muted-foreground);
}
.select-container select:hover {
  border-color: var(--primary);
}
.select-container select:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 2px var(--color-purple-50);
}
.modal {
  display: none;
  position: fixed;
  z-index: 100;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.2);
  align-items: center;
  justify-content: center;
}
.modal-content {
  background-color: var(--card);
  padding: 1.5rem;
  border-radius: var(--radius-lg);
  width: 450px;
  max-width: 90%;
}
.modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
}
.modal-header h3 {
  margin: 0;
  font-size: 1.25rem;
  color: var(--foreground);
}
.close-modal {
  font-size: 1.5rem;
  cursor: pointer;
  color: var(--foreground);
}
.close-modal:hover {
  color: var(--muted-foreground);
}
.modal-body {
  margin-bottom: 1.5rem;
}
.modal-footer {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
}
.btn-icon {
  height: 2.25rem;
  width: 2.25rem;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--card);
  color: var(--foreground);
  cursor: pointer;
  transition: all 0.15s ease;
}
.btn-icon:hover {
  border-color: var(--primary);
  background: var(--color-purple-50);
  color: var(--primary);
}
.btn-icon:active {
  transform: scale(0.95);
}
.filter-bar {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.filter-bar .filter-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.nm-tooltip, .info-tooltip, .queue-tooltip {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin-left: 0.25rem;
  cursor: help;
  vertical-align: middle;
}
.nm-tooltip-trigger, .info-tooltip-icon {
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background: var(--color-gray-500);
  color: white;
  font-size: 0.625rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s ease;
  flex-shrink: 0;
}
.nm-tooltip > i[data-lucide], .nm-tooltip-trigger[data-lucide], .queue-tooltip > i[data-lucide] {
  width: 0.875rem;
  height: 0.875rem;
  color: var(--color-gray-500);
  transition: color 0.15s ease;
}
.nm-tooltip:hover .nm-tooltip-trigger, .info-tooltip:hover .info-tooltip-icon {
  background: var(--primary);
  color: white;
}
.nm-tooltip:hover > i[data-lucide], .queue-tooltip:hover > i[data-lucide] {
  color: var(--primary);
}
.nm-tooltip-content, .info-tooltip-content, .queue-tooltip-text {
  display: none;
  position: absolute;
  bottom: calc(100% + 0.5rem);
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
  max-width: 280px;
  padding: 0.75rem 1rem;
  background: #1f2937;
  color: white;
  border-radius: var(--radius-md);
  font-size: 0.75rem;
  line-height: 1.5;
  font-weight: 400;
  text-align: left;
  z-index: 9999;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  pointer-events: none;
  white-space: normal;
  word-wrap: break-word;
}
.dark .nm-tooltip-content, .dark .info-tooltip-content, .dark .queue-tooltip-text {
  background: #f1f5f9;
  color: #1f2937;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
.nm-tooltip-content::after, .info-tooltip-content::after, .queue-tooltip-text::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: #1f2937;
}
.dark .nm-tooltip-content::after, .dark .info-tooltip-content::after, .dark .queue-tooltip-text::after {
  border-top-color: #f1f5f9;
}
.nm-tooltip:hover .nm-tooltip-content, .info-tooltip:hover .info-tooltip-content, .queue-tooltip:hover .queue-tooltip-text {
  display: block;
}
.nm-tooltip-title, .info-tooltip-title {
  display: block;
  font-weight: 600;
  font-size: 0.8125rem;
  margin-bottom: 0.5rem;
  color: white;
}
.dark .nm-tooltip-title, .dark .info-tooltip-title {
  color: #1f2937;
}
.nm-tooltip-text, .info-tooltip-text {
  display: block;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: 0.5rem;
}
.dark .nm-tooltip-text, .dark .info-tooltip-text {
  color: rgba(31, 41, 55, 0.85);
}
.nm-tooltip-text:last-child, .info-tooltip-text:last-child {
  margin-bottom: 0;
}
.nm-tooltip-formula, .info-tooltip-formula {
  display: block;
  background: rgba(255, 255, 255, 0.1);
  padding: 0.375rem 0.5rem;
  border-radius: 0.25rem;
  font-family: ui-monospace, monospace;
  font-size: 0.6875rem;
  margin: 0.5rem 0;
}
.dark .nm-tooltip-formula, .dark .info-tooltip-formula {
  background: rgba(31, 41, 55, 0.1);
}
.nm-tooltip-content.align-left, .info-tooltip-content.align-left {
  left: 0;
  transform: translateX(0);
}
.nm-tooltip-content.align-left::after, .info-tooltip-content.align-left::after {
  left: 0.75rem;
  transform: translateX(0);
}
.nm-tooltip-content.align-right {
  left: auto;
  right: 0;
  transform: translateX(0);
}
.nm-tooltip-content.align-right::after {
  left: auto;
  right: 0.75rem;
  transform: translateX(0);
}
.nm-tooltip-content.below {
  bottom: auto;
  top: calc(100% + 0.5rem);
}
.nm-tooltip-content.below::after {
  top: auto;
  bottom: 100%;
  border-top-color: transparent;
  border-bottom-color: #1f2937;
}
.dark .nm-tooltip-content.below::after {
  border-bottom-color: #f1f5f9;
}
.nm-tooltip, .info-tooltip, .queue-tooltip {
  z-index: 1;
}
.ag-tooltip, .ag-tooltip-custom {
  position: absolute;
  max-width: 300px;
  padding: 0.75rem 1rem;
  background: #1f2937;
  color: white;
  border-radius: var(--radius-md);
  font-size: 0.75rem;
  line-height: 1.5;
  z-index: 9999;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  pointer-events: none;
  white-space: pre-line;
  word-wrap: break-word;
}
.dark .ag-tooltip, .dark .ag-tooltip-custom {
  background: #f1f5f9;
  color: #1f2937;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
.ag-tooltip-interactive {
  pointer-events: auto;
}
.card:has(.ag-theme-alpine), .card:has([class*="ag-theme-"]) {
  overflow: visible;
}
.card:has(.ag-theme-alpine) > section, .card:has([class*="ag-theme-"]) > section {
  overflow: visible;
}
.ag-theme-alpine .ag-header-row:first-child {
  overflow: visible;
}
.ag-theme-alpine .ag-header-row:first-child .ag-header-cell {
  overflow: visible;
}
.ag-header-cell-label .nm-tooltip {
  position: relative;
  z-index: 10;
}
.ag-header-cell-label .nm-tooltip-trigger {
  width: 0.875rem;
  height: 0.875rem;
  font-size: 0.5625rem;
}
.ag-header-cell-label .nm-tooltip-content {
  position: absolute;
  z-index: 99999;
  left: 50%;
  transform: translateX(-50%);
  bottom: calc(100% + 0.5rem);
  min-width: 200px;
}
.form-group {
  margin-bottom: 1rem;
}
.form-group:last-child {
  margin-bottom: 0;
}
.form-label {
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--foreground);
  margin-bottom: 0.5rem;
}
.dialog input.input, .dialog textarea.input, .dialog select.input, .dialog input[type="text"], .dialog input[type="email"], .dialog input[type="password"], .dialog input[type="number"], .dialog input[type="tel"], .dialog input[type="url"], .dialog input[type="search"], .dialog textarea, .dialog select {
  display: block;
  width: 100%;
}
.dialog textarea {
  height: auto;
  min-height: 5rem;
  resize: vertical;
}
.dialog select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  padding-right: 2.5rem;
}
.admin-panel {
  display: flex;
  justify-content: space-between;
}
.queue-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 1.5rem;
}
.queue-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.queue-card-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--foreground);
  margin: 0;
}
.queue-card-menu {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.queue-card-description {
  font-size: 0.875rem;
  color: var(--muted-foreground);
  margin: 0;
  line-height: 1.5;
}
.queue-stats-card {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
  background: var(--color-purple-50);
  border-radius: var(--radius-lg);
  padding: 1rem;
}
.queue-stat {
  text-align: center;
}
.queue-stat-label {
  display: block;
  font-size: 0.75rem;
  color: var(--primary);
  font-weight: 500;
  margin-bottom: 0.25rem;
}
.queue-stat-value {
  display: block;
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--foreground);
}
.queue-card-actions {
  display: flex;
  gap: 0.75rem;
}
.empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 4rem 2rem;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
}
.empty-state-icon {
  width: 5rem;
  height: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-purple-50);
  border-radius: 50%;
  color: var(--primary);
  margin-bottom: 1.5rem;
}
.empty-state-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--foreground);
  margin: 0 0 0.5rem 0;
}
.empty-state-description {
  font-size: 0.875rem;
  color: var(--muted-foreground);
  margin: 0 0 1.5rem 0;
  max-width: 320px;
}
.icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border: none;
  background: transparent;
  color: var(--muted-foreground);
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: background-color 0.15s, color 0.15s;
}
.icon-btn:hover {
  background: var(--muted);
  color: var(--foreground);
}
.queue-summary-row {
  display: flex;
  gap: 1rem;
  background: var(--color-purple-50);
  border-radius: var(--radius-lg);
  padding: 1rem 1.5rem;
  margin-bottom: 1rem;
}
.queue-summary-stat {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding-right: 1.5rem;
  border-right: 1px solid var(--border);
}
.queue-summary-stat:last-child {
  border-right: none;
  padding-right: 0;
}
.queue-summary-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--primary);
  text-transform: uppercase;
  letter-spacing: 0.025em;
}
.queue-summary-value {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--foreground);
}
#queueItemsGrid {
  width: 100%;
  height: calc(100vh - 380px);
  min-height: 300px;
}
.ag-theme-alpine .editable-cell {
  background-color: var(--color-purple-50);
}
.badge-destructive {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: var(--radius-sm);
  background: var(--destructive-hover);
  color: var(--destructive);
}
.text-success-foreground {
  color: var(--success-foreground) !important;
}
.text-destructive {
  color: var(--destructive) !important;
}
.queue-modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 300;
  align-items: center;
  justify-content: center;
}
.queue-modal-overlay.open {
  display: flex;
}
.queue-dialog {
  position: relative;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  width: 100%;
  max-width: 500px;
  max-height: 80vh;
  overflow: visible;
  display: flex;
  flex-direction: column;
  box-shadow: var(--shadow-lg);
}
.queue-dialog-sm {
  max-width: 420px;
}
.queue-dialog > header {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1.25rem 1.5rem;
  padding-right: 3.5rem;
  border-bottom: 1px solid var(--border);
  background: var(--dialog-header-bg, var(--muted));
  border-radius: var(--dialog-radius, var(--radius-lg)) var(--dialog-radius, var(--radius-lg)) 0 0;
}
.queue-dialog-title-group {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.queue-dialog-icon {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-md);
  background: var(--color-purple-50);
  color: var(--primary);
}
.queue-dialog-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--foreground);
  margin: 0;
}
.queue-dialog-subtitle {
  font-size: 0.875rem;
  color: var(--muted-foreground);
  margin: 0;
}
.queue-dialog-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  background: transparent;
  border: none;
  cursor: pointer;
  color: var(--muted-foreground);
  border-radius: var(--radius-md);
  transition: background-color 0.15s, color 0.15s;
}
.queue-dialog-close:hover {
  background: var(--muted);
  color: var(--foreground);
}
.queue-dialog > section {
  padding: 1.5rem;
  overflow-x: visible;
  overflow-y: visible;
  background: var(--card);
}
.queue-dialog > footer {
  display: flex;
  gap: 0.75rem;
  padding: 1rem 1.5rem;
  border-top: 1px solid var(--border);
  background: var(--dialog-footer-bg, var(--muted));
  justify-content: flex-end;
  border-radius: 0 0 var(--dialog-radius, var(--radius-lg)) var(--dialog-radius, var(--radius-lg));
}
.queue-dialog > footer .btn, .queue-dialog > footer .btn-outline, .queue-dialog > footer .btn-primary, .queue-dialog > footer .btn-secondary {
  flex: 0 0 auto;
}
.queue-dialog-sm > footer .btn, .queue-dialog-sm > footer .btn-outline, .queue-dialog-sm > footer .btn-primary {
  flex: 1;
}
.queue-form-group {
  margin-bottom: 1.5rem;
}
.queue-form-label {
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--foreground);
  margin-bottom: 0.5rem;
}
.queue-form-label .required {
  color: var(--destructive);
}
.queue-form-label .optional {
  color: var(--muted-foreground);
  font-weight: 400;
}
.queue-form-group .input, .queue-form-group select.input {
  width: 100%;
}
.queue-inline-form {
  display: none;
  margin-top: 1rem;
  padding: 1rem;
  background: var(--muted);
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
}
.queue-inline-form.visible {
  display: block;
}
.queue-inline-form .queue-form-group {
  margin-bottom: 0.75rem;
}
.queue-inline-form .queue-form-label {
  font-size: 0.75rem;
  margin-bottom: 0.25rem;
}
.queue-inline-actions {
  display: flex;
  gap: 0.5rem;
}
.queue-inline-actions .btn, .queue-inline-actions .btn-outline, .queue-inline-actions .btn-primary {
  flex: 1;
  padding: 0.5rem;
}
.danger-zone {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.btn-destructive-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--destructive);
  background: transparent;
  border: 1px solid var(--destructive);
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: background-color 0.15s, color 0.15s;
}
.btn-destructive-outline:hover {
  background: var(--destructive);
  color: var(--destructive-foreground);
}
.queue-impact-card {
  background: var(--color-purple-50);
  border-radius: var(--radius-lg);
  padding: 1rem;
  margin-bottom: 1.5rem;
  overflow: visible;
}
.queue-impact-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--primary);
  margin-bottom: 0.75rem;
}
.queue-impact-grid {
  display: flex;
  gap: 1rem;
  overflow: visible;
}
.queue-impact-stat {
  flex: 1;
  background: var(--card);
  border-radius: var(--radius-md);
  padding: 0.75rem;
  text-align: center;
  position: relative;
  overflow: visible;
}
.queue-impact-label {
  font-size: 0.75rem;
  color: var(--muted-foreground);
  margin-bottom: 0.25rem;
}
.queue-impact-value {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--success-foreground);
}
.queue-items-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--foreground);
  margin-bottom: 0.5rem;
}
.queue-items-list {
  max-height: 200px;
  overflow-y: auto;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
}
.queue-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--border);
}
.queue-item:last-child {
  border-bottom: none;
}
.queue-item:nth-child(odd) {
  background: var(--card);
}
.queue-item:nth-child(even) {
  background: var(--muted);
}
.queue-item-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--foreground);
}
.queue-item-detail {
  font-size: 0.75rem;
  color: var(--muted-foreground);
}
.queue-item-change {
  font-size: 0.875rem;
  font-weight: 600;
}
.queue-item-change.positive {
  color: var(--success-foreground);
}
.queue-item-change.negative {
  color: var(--destructive);
}
.queue-success-content {
  padding: 2rem;
  text-align: center;
}
.queue-success-icon {
  width: 4rem;
  height: 4rem;
  background: var(--success);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
  color: var(--success-foreground);
}
.queue-success-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--foreground);
  margin-bottom: 0.5rem;
}
.queue-success-message {
  font-size: 0.875rem;
  color: var(--muted-foreground);
}
@media (max-width: 1024px) {
  .grid-cols-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .queue-dialog {
    margin: 1rem;
    max-height: calc(100vh - 2rem);
  }
  .queue-impact-grid {
    flex-direction: column;
  }
}
@media (max-width: 640px) {
  .queue-cards-grid {
    grid-template-columns: 1fr;
  }
  .queue-stats-card {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
  .queue-stat {
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
  }
  .queue-card-actions {
    flex-direction: column;
  }
  .dialog {
    width: 95%;
    margin: 1rem;
  }
  .grid-cols-4 {
    grid-template-columns: 1fr;
  }
  #queueItemsGrid {
    height: 400px;
  }
  .queue-summary-row {
    flex-wrap: wrap;
  }
  .queue-summary-stat {
    flex: 1 1 45%;
    border-right: none;
    padding-right: 0;
    padding-bottom: 0.5rem;
  }
}
.page-content-flat > .card:has(#agGrid) {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 400px;
}
.page-content-flat > .card:has(#agGrid) > section {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
#agGrid {
  width: 100%;
  height: calc(100vh - 450px);
  min-height: 300px;
}
.ag-theme-alpine .new-rate-cell {
  background-color: var(--color-purple-50);
}
.ag-theme-alpine .ai-header .ag-header-cell-label::before {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237F56D9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72'/%3E%3Cpath d='m14 7 3 3'/%3E%3Cpath d='M5 6v4'/%3E%3Cpath d='M19 14v4'/%3E%3Cpath d='M10 2v2'/%3E%3Cpath d='M7 8H3'/%3E%3Cpath d='M21 16h-4'/%3E%3Cpath d='M11 3H9'/%3E%3C/svg%3E");
  margin-right: 6px;
  vertical-align: middle;
}
.ag-theme-alpine .ai-column-cell, .ag-theme-alpine .ai-column-header {
  background-color: var(--color-purple-50);
}
.dark .ag-theme-alpine .ai-header .ag-header-cell-label::before {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23a78bfa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72'/%3E%3Cpath d='m14 7 3 3'/%3E%3Cpath d='M5 6v4'/%3E%3Cpath d='M19 14v4'/%3E%3Cpath d='M10 2v2'/%3E%3Cpath d='M7 8H3'/%3E%3Cpath d='M21 16h-4'/%3E%3Cpath d='M11 3H9'/%3E%3C/svg%3E");
}
.new-rate-bulk-actions {
  display: flex;
  align-items: center;
  gap: 4px;
  height: 100%;
  width: 100%;
  padding: 0 4px;
}
.new-rate-bulk-actions .bulk-wand {
  color: var(--primary);
  flex-shrink: 0;
}
.new-rate-bulk-actions button {
  flex: 1;
}
.new-rate-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  height: 100%;
  gap: 0.5rem;
}
.new-rate-actions .ag-text-field-input-wrapper {
  position: relative;
  flex: 1 1 0;
  min-width: 40px;
  max-width: 100%;
}
.new-rate-actions .ag-text-field-input {
  text-align: right;
  padding-right: 20px !important;
  width: 100% !important;
  min-width: 0 !important;
}
.new-rate-clear {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: var(--muted-foreground);
  cursor: pointer;
  line-height: 1;
  z-index: 1;
}
.new-rate-clear:hover {
  color: var(--foreground);
}
.new-rate-buttons {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  white-space: nowrap;
}
.dashboard-welcome {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.5rem;
  background: var(--color-purple-50);
  border-radius: var(--radius-lg);
}
.dark .dashboard-welcome {
  background: hsl(var(--muted));
}
.dashboard-kpi-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
@media (max-width: 1024px) {
  .dashboard-kpi-grid {
    grid-template-columns: 1fr;
  }
}
.dashboard-action-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
@media (max-width: 1024px) {
  .dashboard-action-grid {
    grid-template-columns: 1fr;
  }
}
.dashboard-card {
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius-lg);
  padding: 1.25rem;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.dashboard-card-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
}
.kpi-icon {
  width: 2.5rem;
  height: 2.5rem;
  background: var(--color-purple-50);
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--primary);
  flex-shrink: 0;
}
.dark .kpi-icon {
  background: hsl(var(--accent));
}
.kpi-title {
  font-size: 0.9375rem;
  font-weight: 500;
  color: hsl(var(--muted-foreground));
}
.kpi-row {
  margin-bottom: 0.75rem;
}
.kpi-row:last-child {
  margin-bottom: 0;
}
.kpi-label {
  font-size: 0.75rem;
  color: hsl(var(--muted-foreground));
  margin-bottom: 0.125rem;
}
.kpi-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: hsl(var(--foreground));
}
.kpi-value-large {
  font-size: 2rem;
  font-weight: 700;
  color: hsl(var(--foreground));
}
.kpi-delta {
  font-size: 0.875rem;
  font-weight: 400;
  color: var(--color-green-600, #059669);
  margin-left: 0.5rem;
}
.dark .kpi-delta {
  color: var(--color-green-400, #34d399);
}
.kpi-subtitle {
  font-size: 0.875rem;
  color: hsl(var(--muted-foreground));
  margin-top: 0.25rem;
}
.dashboard-panel {
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.panel-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid hsl(var(--border));
}
.panel-header-left {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.panel-title {
  font-size: 1rem;
  font-weight: 600;
  color: hsl(var(--foreground));
}
.panel-subtitle {
  font-size: 0.8125rem;
  color: hsl(var(--muted-foreground));
}
.panel-filters {
  display: flex;
  gap: 0.75rem;
}
.panel-content {
  padding: 1.25rem;
}
.panel-content-flush {
  padding: 0;
}
.panel-footer {
  display: flex;
  justify-content: flex-end;
  padding: 1rem 1.25rem;
  border-top: 1px solid hsl(var(--border));
  background: hsl(var(--muted) / 0.3);
}
.next-moves-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  max-height: 320px;
  overflow-y: auto;
}
.next-move-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
  background: hsl(var(--muted) / 0.5);
  border-radius: var(--radius-md);
  border: 1px solid hsl(var(--border));
}
.next-move-info {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}
.next-move-amount {
  font-size: 1rem;
  font-weight: 600;
  color: hsl(var(--foreground));
}
.next-move-units {
  font-size: 0.8125rem;
  color: hsl(var(--muted-foreground));
}
.table-wrapper {
  max-height: 320px;
  overflow-y: auto;
}
.chart-container {
  height: 400px;
  width: 100%;
}
.chart-metric-box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.25rem;
  background: hsl(var(--muted) / 0.5);
  border-radius: var(--radius-md);
  margin-top: 1rem;
}
.chart-metric-label {
  font-size: 0.8125rem;
  color: hsl(var(--muted-foreground));
}
.chart-metric-value {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--primary);
}
.card:has(#portfolioPerf) {
  display: flex;
  flex-direction: column;
}
.card:has(#portfolioPerf) > section {
  flex: 1;
  display: flex;
  flex-direction: column;
}
#portfolioPerf {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.portfolio-metrics-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 1fr 1fr;
  gap: 1rem;
  margin-bottom: 1.5rem;
  flex: 1;
}
@media (max-width: 480px) {
  .portfolio-metrics-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
}
.portfolio-metric-card {
  padding: 1rem 1.25rem;
  background: var(--muted);
  border-radius: var(--radius-md);
  border-left: 3px solid transparent;
}
.portfolio-metric-card:first-child {
  border-left-color: var(--primary);
}
.portfolio-metric-label {
  font-size: 0.8125rem;
  color: var(--muted-foreground);
  margin-bottom: 0.5rem;
}
.portfolio-metric-row {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
}
.portfolio-metric-value {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--foreground);
}
.portfolio-metric-delta {
  font-size: 0.875rem;
  font-weight: 500;
  color: #10b981;
  display: flex;
  align-items: center;
  gap: 0.125rem;
}
.portfolio-metric-delta.negative {
  color: #ef4444;
}
.portfolio-targets-wrapper {
  padding: 1rem;
  background: var(--muted);
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  margin-top: auto;
  flex: none;
}
.portfolio-targets-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
@media (min-width: 1280px) and (max-width: 1440px) {
  .portfolio-targets-row {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
}
@media (max-width: 768px) {
  .portfolio-targets-row {
    grid-template-columns: 1fr;
  }
}
.portfolio-targets-footer {
  margin-top: 1rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--border);
  display: flex;
  justify-content: flex-end;
}
.portfolio-target-card {
  padding: 1rem;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
}
.portfolio-target-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--foreground);
  margin-bottom: 0.75rem;
}
.portfolio-target-bar {
  height: 10px;
  background: var(--border);
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: 0.5rem;
}
.portfolio-target-fill {
  height: 100%;
  background: var(--primary);
  border-radius: 5px;
  transition: width 0.3s ease;
}
.portfolio-target-labels {
  display: flex;
  justify-content: space-between;
  font-size: 0.75rem;
  color: var(--muted-foreground);
}
.portfolio-potential-card {
  padding: 1rem;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.portfolio-potential-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--foreground);
  margin-bottom: 0.25rem;
}
.portfolio-potential-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--primary);
}
.progress-container {
  margin-top: 1rem;
}
.progress-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
}
.progress-label {
  font-size: 0.8125rem;
  color: hsl(var(--muted-foreground));
}
.progress-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: hsl(var(--foreground));
}
.progress-bar {
  height: 8px;
  background: hsl(var(--muted));
  border-radius: 4px;
  overflow: hidden;
}
.progress-fill {
  height: 100%;
  background: var(--primary);
  border-radius: 4px;
  transition: width 0.3s ease;
}
.dashboard-map {
  height: 400px;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: hsl(var(--muted));
}
.dashboard-grid {
  height: 300px;
  overflow: hidden;
}
.dashboard-grid .ag-root-wrapper {
  border: none;
  border-radius: 0;
}
.dashboard-grid .ag-paging-panel {
  padding-right: 1rem;
}
.dashboard-grid .ag-header {
  background: hsl(var(--muted) / 0.5);
  border-bottom: 1px solid hsl(var(--border));
}
.dark .dashboard-grid .ag-header {
  background: hsl(var(--muted));
}
.ag-chart-wrapper {
  background: transparent !important;
}
.dashboard-select {
  padding: 0.5rem 2rem 0.5rem 0.75rem;
  font-size: 0.875rem;
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius-md);
  background: hsl(var(--background));
  color: hsl(var(--foreground));
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.5rem center;
}
.dashboard-select:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 2px rgba(127, 86, 217, 0.2);
}
.dashboard-input {
  width: 100%;
  padding: 0.625rem 0.75rem;
  font-size: 0.875rem;
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius-md);
  background: hsl(var(--background));
  color: hsl(var(--foreground));
}
.dashboard-input:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 2px rgba(127, 86, 217, 0.2);
}
.dashboard-footer {
  text-align: center;
  padding: 1.5rem;
  font-size: 0.875rem;
  color: hsl(var(--muted-foreground));
  margin-top: auto;
}
@media (max-width: 640px) {
  .panel-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
  .panel-filters {
    width: 100%;
  }
  .panel-filters .dashboard-select {
    flex: 1;
  }
}
.education-welcome {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.5rem;
  background: var(--color-purple-50);
  border-radius: var(--radius-lg);
  margin-bottom: 1.5rem;
}
.dark .education-welcome {
  background: hsl(var(--muted));
}
.education-welcome-icon {
  width: 2.5rem;
  height: 2.5rem;
  background: var(--primary);
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  flex-shrink: 0;
}
.course-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.5rem;
}
.course-card {
  background: hsl(var(--card));
  border: 1px solid #d1d5db;
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
  text-decoration: none;
  color: inherit;
  display: block;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
.course-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 24px rgba(127, 86, 217, 0.2), 0 4px 8px rgba(0,0,0,0.1);
  border-color: var(--primary);
}
.dark .course-card {
  border-color: hsl(var(--border));
  box-shadow: 0 4px 12px rgba(0,0,0,0.4);
}
.dark .course-card:hover {
  box-shadow: 0 12px 24px rgba(127, 86, 217, 0.3), 0 4px 8px rgba(0,0,0,0.3);
}
.course-card-thumbnail {
  width: 100%;
  height: 160px;
  object-fit: cover;
  background: linear-gradient(135deg, var(--color-purple-600) 0%, var(--color-purple-500) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.course-card-content {
  padding: 1rem 1.25rem 1.25rem;
}
.course-level-badge {
  display: inline-block;
  padding: 0.2rem 0.6rem;
  background: var(--color-purple-50);
  color: var(--primary);
  border-radius: var(--radius-sm);
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  margin-bottom: 0.5rem;
}
.dark .course-level-badge {
  background: hsl(var(--accent));
}
.course-card-title {
  font-size: 1rem;
  font-weight: 600;
  color: hsl(var(--foreground));
  margin-bottom: 0.4rem;
  line-height: 1.3;
}
.course-card-description {
  font-size: 0.875rem;
  color: hsl(var(--muted-foreground));
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.course-card-meta {
  margin-top: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8rem;
  color: hsl(var(--muted-foreground));
}
.course-progress {
  margin-top: 0.75rem;
  background: hsl(var(--muted));
  height: 4px;
  border-radius: 2px;
  overflow: hidden;
}
.course-progress-bar {
  height: 100%;
  background: var(--primary);
  border-radius: 2px;
  transition: width 0.3s;
}
.course-progress-label {
  font-size: 0.75rem;
  color: var(--primary);
  font-weight: 500;
  margin-top: 0.25rem;
}
.breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: hsl(var(--muted-foreground));
  margin-bottom: 1.5rem;
}
.breadcrumb a {
  color: var(--primary);
  text-decoration: none;
  display: flex;
  align-items: center;
}
.breadcrumb a:hover {
  text-decoration: underline;
}
.course-detail-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 2rem;
  padding: 1rem;
}
.progress-ring-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  flex-shrink: 0;
}
.progress-ring {
  width: 64px;
  height: 64px;
  position: relative;
}
.progress-ring svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}
.progress-ring-bg {
  fill: none;
  stroke: hsl(var(--muted));
  stroke-width: 3;
}
.progress-ring-fill {
  fill: none;
  stroke: var(--primary);
  stroke-width: 3;
  stroke-linecap: round;
}
.progress-ring-text {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--primary);
}
.lessons-section {
  margin-top: 1.5rem;
}
.lesson-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.lesson-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius-md);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.lesson-item:hover {
  border-color: var(--primary);
  box-shadow: 0 2px 8px rgba(127, 86, 217, 0.1);
}
.lesson-item.completed {
  border-left: 3px solid var(--color-green-500, #10b981);
}
.lesson-number {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: hsl(var(--muted));
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 0.875rem;
  color: hsl(var(--foreground));
  flex-shrink: 0;
}
.lesson-number.completed {
  background: var(--color-green-100, #d1fae5);
  color: var(--color-green-600, #059669);
}
.dark .lesson-number.completed {
  background: rgba(16, 185, 129, 0.2);
  color: var(--color-green-400, #34d399);
}
.lesson-info {
  flex: 1;
  min-width: 0;
}
.lesson-title {
  font-weight: 500;
  color: hsl(var(--foreground));
  margin-bottom: 0.25rem;
}
.lesson-meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.8rem;
  color: hsl(var(--muted-foreground));
}
.lesson-description-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lesson-status {
  font-size: 0.8rem;
  color: var(--color-green-600, #059669);
  display: flex;
  align-items: center;
  gap: 0.25rem;
  flex-shrink: 0;
}
.dark .lesson-status {
  color: var(--color-green-400, #34d399);
}
.lesson-arrow {
  color: hsl(var(--muted-foreground));
  flex-shrink: 0;
}
.lesson-container {
  max-width: 900px;
}
.lesson-header {
  margin-bottom: 1.5rem;
}
.video-wrapper {
  position: relative;
  background: #000;
  border-radius: var(--radius-lg);
  margin-bottom: 1.5rem;
  overflow: hidden;
}
.video-wrapper .plyr {
  border-radius: var(--radius-lg);
}
.video-wrapper video {
  width: 100%;
  display: block;
  border-radius: var(--radius-lg);
}
.video-placeholder {
  background: hsl(var(--muted));
  border-radius: var(--radius-lg);
  padding: 4rem 2rem;
  text-align: center;
  margin-bottom: 1.5rem;
}
.video-placeholder-content {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.lesson-actions {
  display: flex;
  gap: 1rem;
  margin-bottom: 2rem;
}
.btn-success {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-weight: 500;
  font-size: 0.875rem;
  padding: 0.625rem 1rem;
  border-radius: var(--radius-md);
  cursor: pointer;
  border: none;
  text-decoration: none;
  transition: background 0.2s, opacity 0.2s;
  background: var(--color-green-600, #059669);
  color: white;
}
.btn-success:hover {
  background: var(--color-green-700, #047857);
}
.lesson-nav {
  display: flex;
  justify-content: space-between;
  padding-top: 1.5rem;
  border-top: 1px solid hsl(var(--border));
}
.lesson-nav-item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  text-decoration: none;
  color: inherit;
  padding: 0.75rem 1rem;
  border-radius: var(--radius-md);
  transition: background 0.2s;
}
.lesson-nav-item:hover {
  background: hsl(var(--muted));
}
.lesson-nav-item.next {
  text-align: right;
  align-items: flex-end;
}
.lesson-nav-label {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.8rem;
  color: hsl(var(--muted-foreground));
}
.lesson-nav-title {
  font-weight: 500;
  color: var(--primary);
}
:root {
  --plyr-color-main: var(--primary);
}
.plyr--video .plyr__control--overlaid {
  background: var(--primary) !important;
}
.plyr--video .plyr__control--overlaid:hover {
  background: var(--color-purple-600) !important;
}
.plyr--full-ui input[type=range] {
  color: var(--primary) !important;
}
.plyr__volume input[type=range] {
  color: var(--primary) !important;
}
.plyr__progress input[type=range] {
  color: var(--primary) !important;
}
.plyr__progress__buffer {
  background: rgba(127, 86, 217, 0.25) !important;
}
.plyr__control:hover {
  background: var(--primary) !important;
}
.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::before {
  background: var(--primary) !important;
}
.plyr__tooltip {
  background: var(--primary) !important;
  color: #fff !important;
}
.plyr__tooltip::before {
  border-top-color: var(--primary) !important;
}
@media (max-width: 768px) {
  .course-grid {
    grid-template-columns: 1fr;
  }
  .course-detail-header {
    flex-direction: column;
    gap: 1.5rem;
  }
  .progress-ring-container {
    flex-direction: row;
    width: 100%;
    justify-content: flex-start;
    gap: 1rem;
  }
  .lesson-actions {
    flex-direction: column;
  }
  .lesson-nav {
    flex-direction: column;
    gap: 1rem;
  }
  .lesson-nav-item.next {
    text-align: left;
    align-items: flex-start;
  }
}
.map-container {
  display: flex;
  height: calc(100vh - 0px);
  width: calc(100% - 240px);
  margin-left: 240px;
  position: relative;
}
.map-sidebar {
  width: 320px;
  background: var(--color-background-secondary, #ffffff);
  border-right: 1px solid var(--color-border, #e5e7eb);
  overflow-y: auto;
  padding: 1.5rem;
  flex-shrink: 0;
  z-index: 10;
}
.map-sidebar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
}
.map-sidebar-header h2 {
  margin: 0;
  font-weight: 600;
}
.button-icon {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.5rem;
  color: var(--color-grey-dark, #6b7280);
  transition: color 0.2s;
}
.button-icon:hover {
  color: var(--color-purple, #6840C6);
}
.map-content {
  flex: 1;
  position: relative;
  background: #f9fafb;
}
.map-canvas {
  width: 100%;
  height: 100%;
}
.filter-section {
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--color-border, #e5e7eb);
}
.filter-section:last-child {
  border-bottom: none;
}
.filter-section h3 {
  font-size: 0.875rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
  color: var(--color-grey-dark, #6b7280);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.filter-section h3 i {
  font-size: 0.75rem;
}
.form-select {
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--color-border, #e5e7eb);
  border-radius: 6px;
  font-size: 0.875rem;
  background: white;
  cursor: pointer;
  transition: border-color 0.2s;
}
.form-select:hover, .form-select:focus {
  border-color: var(--color-purple, #6840C6);
  outline: none;
}
.filter-checkbox-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.filter-checkbox {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.2s;
}
.filter-checkbox:hover {
  background-color: var(--color-purple-lightest, #f5f3ff);
}
.filter-checkbox input[type="checkbox"] {
  width: 16px;
  height: 16px;
  cursor: pointer;
  accent-color: var(--color-purple, #6840C6);
}
.filter-checkbox span {
  font-size: 0.875rem;
  color: var(--color-grey-darkest, #1f2937);
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.filter-count {
  margin-left: auto;
  color: var(--color-grey-light, #9ca3af);
  font-size: 0.75rem;
}
.sensitivity-badge {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 2px solid white;
  box-shadow: 0 0 3px rgba(0,0,0,0.3);
}
.sensitivity-badge.low {
  background-color: var(--color-green-dark, #027947);
}
.sensitivity-badge.medium {
  background-color: #F79009;
}
.sensitivity-badge.high {
  background-color: var(--color-red, #D92D20);
}
.map-legend {
  position: absolute;
  bottom: 80px;
  right: 20px;
  background: white;
  padding: 1rem;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  z-index: 5;
  min-width: 180px;
}
.map-legend h4 {
  margin: 0 0 0.75rem 0;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-grey-darkest, #1f2937);
}
.legend-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.5rem;
  font-size: 0.8125rem;
  color: var(--color-grey-dark, #6b7280);
}
.legend-item:last-child {
  margin-bottom: 0;
}
.legend-marker {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 2px solid white;
  box-shadow: 0 0 3px rgba(0,0,0,0.3);
  flex-shrink: 0;
}
.legend-marker.low {
  background-color: var(--color-green-dark, #027947);
}
.legend-marker.medium {
  background-color: #F79009;
}
.legend-marker.high {
  background-color: var(--color-red, #D92D20);
}
.legend-icon {
  font-size: 16px;
  flex-shrink: 0;
}
.legend-icon.facility {
  color: var(--color-purple, #6840C6);
}
.map-summary {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: white;
  padding: 1rem 2rem;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.15);
  display: flex;
  gap: 2rem;
  z-index: 5;
}
.summary-stat {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.summary-label {
  font-size: 0.75rem;
  color: var(--color-grey-light, #9ca3af);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.summary-value {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--color-grey-darkest, #1f2937);
}
.map-loading {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  z-index: 1000;
  background: white;
  padding: 2rem 3rem;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}
.map-loading p {
  margin-top: 1rem;
  color: var(--color-grey-dark, #6b7280);
  font-size: 0.875rem;
}
.map-loading.hidden {
  display: none;
}
.marker-facility {
  font-size: 24px;
  cursor: pointer;
  color: var(--color-purple, #6840C6);
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.2));
  transition: transform 0.2s;
}
.marker-facility:hover {
  transform: scale(1.1);
}
.marker-customer {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 2px solid white;
  box-shadow: 0 0 3px rgba(0,0,0,0.3);
  cursor: pointer;
  transition: transform 0.2s;
}
.marker-customer:hover {
  transform: scale(1.3);
  z-index: 10;
}
.marker-customer.low {
  background-color: var(--color-green-dark, #027947);
}
.marker-customer.medium {
  background-color: #F79009;
}
.marker-customer.high {
  background-color: var(--color-red, #D92D20);
}
.marker-cluster {
  cursor: pointer;
  transition: transform 0.2s;
}
.marker-cluster:hover {
  transform: scale(1.1);
}
.maplibregl-popup-content {
  padding: 1rem;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  font-family: inherit;
}
.maplibregl-popup-content h4 {
  margin: 0 0 0.5rem 0;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-grey-darkest, #1f2937);
}
.maplibregl-popup-content p {
  margin: 0.25rem 0;
  font-size: 0.8125rem;
  color: var(--color-grey-dark, #6b7280);
}
.maplibregl-popup-close-button {
  font-size: 1.25rem;
  color: var(--color-grey-light, #9ca3af);
  padding: 0.5rem;
}
.maplibregl-popup-close-button:hover {
  color: var(--color-grey-darkest, #1f2937);
  background-color: transparent;
}
@media (max-width: 1024px) {
  .map-sidebar {
    width: 280px;
  }
}
@media (max-width: 768px) {
  .map-container {
    flex-direction: column;
    margin-left: 0;
    width: 100%;
  }
  .map-sidebar {
    width: 100%;
    max-height: 40vh;
    border-right: none;
    border-bottom: 1px solid var(--color-border, #e5e7eb);
  }
  .map-summary {
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    bottom: 10px;
  }
  .map-legend {
    bottom: 140px;
    right: 10px;
    padding: 0.75rem;
    min-width: 150px;
  }
}
input.input-sm, textarea.input-sm {
  display: inline-block;
  height: 2rem;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  line-height: 1.25;
  color: var(--foreground);
  background-color: var(--background);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
input.input-sm:focus, textarea.input-sm:focus {
  border-color: var(--ring);
  box-shadow: 0 0 0 3px var(--color-purple-50);
}
input.input-sm::placeholder, textarea.input-sm::placeholder {
  color: var(--muted-foreground);
}
select.input-sm {
  appearance: none;
  display: inline-block;
  height: 2rem;
  padding: 0.25rem 1.5rem 0.25rem 0.5rem;
  font-size: 0.75rem;
  line-height: 1.25;
  color: var(--foreground);
  background-color: var(--card);
  border: 1px solid var(--input);
  border-radius: var(--radius-md);
  cursor: pointer;
  box-shadow: var(--shadow-xs);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 0.25rem center;
  background-repeat: no-repeat;
  background-size: 1rem 1rem;
}
select.input-sm:focus {
  outline: none;
  border-color: var(--ring);
  box-shadow: 0 0 0 2px var(--color-purple-50);
}
.dark select.input-sm {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  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: 0px;
}
@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-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-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@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-content {
  syntax: "*";
  inherits: false;
  initial-value: "";
}
@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-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@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-space-y-reverse: 0;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: 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-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-duration: initial;
      --tw-ease: initial;
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-content: "";
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --tw-outline-style: solid;
    }
  }
}
