/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: 'Geist Variable', sans-serif;
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --spacing: 0.25rem;
    --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);
    --font-weight-medium: 500;
    --radius-md: calc(var(--radius) * 0.8);
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: 'Geist Variable', sans-serif;
    --default-mono-font-family: var(--font-mono);
  }
}
@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, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)) {
    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 {
  .\@container {
    container-type: inline-size;
  }
  .collapse {
    visibility: collapse;
  }
  .invisible {
    visibility: hidden;
  }
  .visible {
    visibility: visible;
  }
  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
  }
  .not-sr-only {
    position: static;
    width: auto;
    height: auto;
    padding: 0;
    margin: 0;
    overflow: visible;
    clip-path: none;
    white-space: normal;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .sticky {
    position: sticky;
  }
  .top-20 {
    top: calc(var(--spacing) * 20);
  }
  .isolate {
    isolation: isolate;
  }
  .isolation-auto {
    isolation: auto;
  }
  .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;
    }
  }
  .block {
    display: block;
  }
  .contents {
    display: contents;
  }
  .flex {
    display: flex;
  }
  .flow-root {
    display: flow-root;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .inline-block {
    display: inline-block;
  }
  .inline-flex {
    display: inline-flex;
  }
  .inline-grid {
    display: inline-grid;
  }
  .inline-table {
    display: inline-table;
  }
  .list-item {
    display: list-item;
  }
  .table {
    display: table;
  }
  .table-caption {
    display: table-caption;
  }
  .table-cell {
    display: table-cell;
  }
  .table-column {
    display: table-column;
  }
  .table-column-group {
    display: table-column-group;
  }
  .table-footer-group {
    display: table-footer-group;
  }
  .table-header-group {
    display: table-header-group;
  }
  .table-row {
    display: table-row;
  }
  .table-row-group {
    display: table-row-group;
  }
  .size-6 {
    width: calc(var(--spacing) * 6);
    height: calc(var(--spacing) * 6);
  }
  .size-7 {
    width: calc(var(--spacing) * 7);
    height: calc(var(--spacing) * 7);
  }
  .size-8 {
    width: calc(var(--spacing) * 8);
    height: calc(var(--spacing) * 8);
  }
  .size-9 {
    width: calc(var(--spacing) * 9);
    height: calc(var(--spacing) * 9);
  }
  .h-6 {
    height: calc(var(--spacing) * 6);
  }
  .h-7 {
    height: calc(var(--spacing) * 7);
  }
  .h-8 {
    height: calc(var(--spacing) * 8);
  }
  .h-9 {
    height: calc(var(--spacing) * 9);
  }
  .shrink {
    flex-shrink: 1;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .grow {
    flex-grow: 1;
  }
  .border-collapse {
    border-collapse: collapse;
  }
  .translate-none {
    translate: none;
  }
  .scale-3d {
    scale: var(--tw-scale-x) var(--tw-scale-y) var(--tw-scale-z);
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .touch-pinch-zoom {
    --tw-pinch-zoom: pinch-zoom;
    touch-action: var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,);
  }
  .resize {
    resize: both;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .items-center {
    align-items: center;
  }
  .justify-center {
    justify-content: center;
  }
  .gap-1 {
    gap: var(--spacing);
  }
  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }
  :where(.space-y-reverse > :not(:last-child)) {
    --tw-space-y-reverse: 1;
  }
  :where(.space-x-reverse > :not(:last-child)) {
    --tw-space-x-reverse: 1;
  }
  :where(.divide-x > :not(:last-child)) {
    --tw-divide-x-reverse: 0;
    border-inline-style: var(--tw-border-style);
    border-inline-start-width: calc(1px * var(--tw-divide-x-reverse));
    border-inline-end-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
  }
  :where(.divide-y > :not(:last-child)) {
    --tw-divide-y-reverse: 0;
    border-bottom-style: var(--tw-border-style);
    border-top-style: var(--tw-border-style);
    border-top-width: calc(1px * var(--tw-divide-y-reverse));
    border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  }
  :where(.divide-y-reverse > :not(:last-child)) {
    --tw-divide-y-reverse: 1;
  }
  .truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .rounded-\[min\(var\(--radius-md\)\,10px\)\] {
    border-radius: min(var(--radius-md), 10px);
  }
  .rounded-\[min\(var\(--radius-md\)\,12px\)\] {
    border-radius: min(var(--radius-md), 12px);
  }
  .rounded-lg {
    border-radius: var(--radius);
  }
  .rounded-s {
    border-start-start-radius: 0.25rem;
    border-end-start-radius: 0.25rem;
  }
  .rounded-ss {
    border-start-start-radius: 0.25rem;
  }
  .rounded-e {
    border-start-end-radius: 0.25rem;
    border-end-end-radius: 0.25rem;
  }
  .rounded-se {
    border-start-end-radius: 0.25rem;
  }
  .rounded-ee {
    border-end-end-radius: 0.25rem;
  }
  .rounded-es {
    border-end-start-radius: 0.25rem;
  }
  .rounded-t {
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
  }
  .rounded-l {
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }
  .rounded-tl {
    border-top-left-radius: 0.25rem;
  }
  .rounded-r {
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
  }
  .rounded-tr {
    border-top-right-radius: 0.25rem;
  }
  .rounded-b {
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }
  .rounded-br {
    border-bottom-right-radius: 0.25rem;
  }
  .rounded-bl {
    border-bottom-left-radius: 0.25rem;
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-x {
    border-inline-style: var(--tw-border-style);
    border-inline-width: 1px;
  }
  .border-y {
    border-block-style: var(--tw-border-style);
    border-block-width: 1px;
  }
  .border-s {
    border-inline-start-style: var(--tw-border-style);
    border-inline-start-width: 1px;
  }
  .border-e {
    border-inline-end-style: var(--tw-border-style);
    border-inline-end-width: 1px;
  }
  .border-bs {
    border-block-start-style: var(--tw-border-style);
    border-block-start-width: 1px;
  }
  .border-be {
    border-block-end-style: var(--tw-border-style);
    border-block-end-width: 1px;
  }
  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }
  .border-r {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-l {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }
  .border-border {
    border-color: var(--border);
  }
  .border-transparent {
    border-color: transparent;
  }
  .bg-background {
    background-color: var(--background);
  }
  .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-primary {
    background-color: var(--primary);
  }
  .bg-secondary {
    background-color: var(--secondary);
  }
  .bg-clip-padding {
    background-clip: padding-box;
  }
  .bg-repeat {
    background-repeat: repeat;
  }
  .mask-no-clip {
    mask-clip: no-clip;
  }
  .mask-repeat {
    mask-repeat: repeat;
  }
  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }
  .px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }
  .text-center {
    text-align: center;
  }
  .text-justify {
    text-align: justify;
  }
  .text-left {
    text-align: left;
  }
  .text-right {
    text-align: right;
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .text-\[0\.8rem\] {
    font-size: 0.8rem;
  }
  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .text-nowrap {
    text-wrap: nowrap;
  }
  .text-wrap {
    text-wrap: wrap;
  }
  .text-clip {
    text-overflow: clip;
  }
  .text-ellipsis {
    text-overflow: ellipsis;
  }
  .whitespace-nowrap {
    white-space: nowrap;
  }
  .text-destructive {
    color: var(--destructive);
  }
  .text-muted {
    color: var(--muted);
  }
  .text-primary {
    color: var(--primary);
  }
  .text-primary-foreground {
    color: var(--primary-foreground);
  }
  .text-secondary-foreground {
    color: var(--secondary-foreground);
  }
  .capitalize {
    text-transform: capitalize;
  }
  .lowercase {
    text-transform: lowercase;
  }
  .normal-case {
    text-transform: none;
  }
  .uppercase {
    text-transform: uppercase;
  }
  .italic {
    font-style: italic;
  }
  .not-italic {
    font-style: normal;
  }
  .diagonal-fractions {
    --tw-numeric-fraction: diagonal-fractions;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
  }
  .lining-nums {
    --tw-numeric-figure: lining-nums;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
  }
  .oldstyle-nums {
    --tw-numeric-figure: oldstyle-nums;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
  }
  .ordinal {
    --tw-ordinal: ordinal;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
  }
  .proportional-nums {
    --tw-numeric-spacing: proportional-nums;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
  }
  .slashed-zero {
    --tw-slashed-zero: slashed-zero;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
  }
  .stacked-fractions {
    --tw-numeric-fraction: stacked-fractions;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
  }
  .tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
  }
  .normal-nums {
    font-variant-numeric: normal;
  }
  .line-through {
    text-decoration-line: line-through;
  }
  .no-underline {
    text-decoration-line: none;
  }
  .overline {
    text-decoration-line: overline;
  }
  .underline {
    text-decoration-line: underline;
  }
  .underline-offset-4 {
    text-underline-offset: 4px;
  }
  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  .subpixel-antialiased {
    -webkit-font-smoothing: auto;
    -moz-osx-font-smoothing: auto;
  }
  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .inset-ring {
    --tw-inset-ring-shadow: inset 0 0 0 1px var(--tw-inset-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);
  }
  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }
  .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,);
  }
  .drop-shadow {
    --tw-drop-shadow-size: drop-shadow(0 1px 2px var(--tw-drop-shadow-color, rgb(0 0 0 / 0.1))) drop-shadow(0 1px 1px var(--tw-drop-shadow-color, rgb(0 0 0 / 0.06)));
    --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow( 0 1px 1px rgb(0 0 0 / 0.06));
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .invert {
    --tw-invert: invert(100%);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .backdrop-blur {
    --tw-backdrop-blur: blur(8px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .backdrop-grayscale {
    --tw-backdrop-grayscale: grayscale(100%);
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .backdrop-invert {
    --tw-backdrop-invert: invert(100%);
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .backdrop-sepia {
    --tw-backdrop-sepia: sepia(100%);
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .backdrop-filter {
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }
  .outline-none {
    --tw-outline-style: none;
    outline-style: none;
  }
  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }
  :where(.divide-x-reverse > :not(:last-child)) {
    --tw-divide-x-reverse: 1;
  }
  .paused {
    animation-play-state: paused;
  }
  .ring-inset {
    --tw-ring-inset: inset;
  }
  .running {
    animation-play-state: running;
  }
  .zoom-in {
    --tw-enter-scale: 0;
  }
  .zoom-out {
    --tw-exit-scale: 0;
  }
  @media (hover: hover) {
    .hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover {
      background-color: var(--secondary);
    }
    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover {
        background-color: color-mix(in oklch,var(--secondary),var(--foreground) 5%);
      }
    }
    .hover\:bg-destructive\/20:hover {
      background-color: var(--destructive);
    }
    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-destructive\/20:hover {
        background-color: color-mix(in oklab, var(--destructive) 20%, transparent);
      }
    }
    .hover\:bg-muted:hover {
      background-color: var(--muted);
    }
    .hover\:bg-primary\/80:hover {
      background-color: var(--primary);
    }
    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-primary\/80:hover {
        background-color: color-mix(in oklab, var(--primary) 80%, transparent);
      }
    }
    .hover\:text-foreground:hover {
      color: var(--foreground);
    }
    .hover\:underline:hover {
      text-decoration-line: underline;
    }
  }
  .focus-visible\:border-destructive\/40:focus-visible {
    border-color: var(--destructive);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--destructive) 40%, transparent);
    }
  }
  .focus-visible\:border-ring:focus-visible {
    border-color: var(--ring);
  }
  .focus-visible\:ring-3:focus-visible {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .focus-visible\:ring-destructive\/20: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);
    }
  }
  .focus-visible\:ring-ring\/50: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);
    }
  }
  .active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]) {
    --tw-translate-y: 1px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .disabled\:pointer-events-none:disabled {
    pointer-events: none;
  }
  .disabled\:opacity-50:disabled {
    opacity: 50%;
  }
  :where([data-slot="button-group"]) .in-data-\[slot\=button-group\]\:rounded-lg {
    border-radius: var(--radius);
  }
  .has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon="inline-end"]) {
    padding-right: calc(var(--spacing) * 1.5);
  }
  .has-data-\[icon\=inline-end\]\:pr-2:has([data-icon="inline-end"]) {
    padding-right: calc(var(--spacing) * 2);
  }
  .has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon="inline-start"]) {
    padding-left: calc(var(--spacing) * 1.5);
  }
  .has-data-\[icon\=inline-start\]\:pl-2:has([data-icon="inline-start"]) {
    padding-left: calc(var(--spacing) * 2);
  }
  .aria-expanded\:bg-muted[aria-expanded="true"] {
    background-color: var(--muted);
  }
  .aria-expanded\:bg-secondary[aria-expanded="true"] {
    background-color: var(--secondary);
  }
  .aria-expanded\:text-foreground[aria-expanded="true"] {
    color: var(--foreground);
  }
  .aria-expanded\:text-secondary-foreground[aria-expanded="true"] {
    color: var(--secondary-foreground);
  }
  .aria-invalid\:border-destructive[aria-invalid="true"] {
    border-color: var(--destructive);
  }
  .aria-invalid\:ring-3[aria-invalid="true"] {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .aria-invalid\:ring-destructive\/20[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);
    }
  }
  .dark\:border-input:is(.dark *) {
    border-color: var(--input);
  }
  .dark\:bg-destructive\/20:is(.dark *) {
    background-color: var(--destructive);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--destructive) 20%, transparent);
    }
  }
  .dark\:bg-input\/30:is(.dark *) {
    background-color: var(--input);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--input) 30%, transparent);
    }
  }
  @media (hover: hover) {
    .dark\:hover\:bg-destructive\/30:is(.dark *):hover {
      background-color: var(--destructive);
    }
    @supports (color: color-mix(in lab, red, red)) {
      .dark\:hover\:bg-destructive\/30:is(.dark *):hover {
        background-color: color-mix(in oklab, var(--destructive) 30%, transparent);
      }
    }
    .dark\:hover\:bg-input\/50:is(.dark *):hover {
      background-color: var(--input);
    }
    @supports (color: color-mix(in lab, red, red)) {
      .dark\:hover\:bg-input\/50:is(.dark *):hover {
        background-color: color-mix(in oklab, var(--input) 50%, transparent);
      }
    }
    .dark\:hover\:bg-muted\/50:is(.dark *):hover {
      background-color: var(--muted);
    }
    @supports (color: color-mix(in lab, red, red)) {
      .dark\:hover\:bg-muted\/50:is(.dark *):hover {
        background-color: color-mix(in oklab, var(--muted) 50%, transparent);
      }
    }
  }
  .dark\:focus-visible\:ring-destructive\/40: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);
    }
  }
  .dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid="true"] {
    border-color: var(--destructive);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--destructive) 50%, transparent);
    }
  }
  .dark\:aria-invalid\:ring-destructive\/40: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 {
    pointer-events: none;
  }
  .\[\&_svg\]\:shrink-0 svg {
    flex-shrink: 0;
  }
  .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*='size-']) {
    width: calc(var(--spacing) * 3);
    height: calc(var(--spacing) * 3);
  }
  .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*='size-']) {
    width: calc(var(--spacing) * 3.5);
    height: calc(var(--spacing) * 3.5);
  }
  .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*='size-']) {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }
}
@property --tw-animation-delay {
  syntax: "*";
  inherits: false;
  initial-value: 0s;
}
@property --tw-animation-direction {
  syntax: "*";
  inherits: false;
  initial-value: normal;
}
@property --tw-animation-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-animation-fill-mode {
  syntax: "*";
  inherits: false;
  initial-value: none;
}
@property --tw-animation-iteration-count {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-enter-blur {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-enter-opacity {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-enter-rotate {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-enter-scale {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-enter-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-enter-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-exit-blur {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-exit-opacity {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-exit-rotate {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-exit-scale {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-exit-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-exit-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --scroll-fade-t {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0px;
}
@property --scroll-fade-b {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0px;
}
@property --scroll-fade-s {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0px;
}
@property --scroll-fade-e {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0px;
}
@property --scroll-fade-mask {
  syntax: "*";
  inherits: false;
}
@property --shimmer-angle {
  syntax: "<angle>";
  inherits: true;
  initial-value: 20deg;
}
@property --shimmer-image {
  syntax: "*";
  inherits: false;
}
@property --shimmer-text-fill {
  syntax: "*";
  inherits: false;
}
@media (prefers-reduced-motion: reduce) {
  .shimmer {
    animation: none;
    background-image: none;
    -webkit-text-fill-color: currentColor;
  }
}
@font-face {
  font-family: 'Geist Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(fonts/geist-cyrillic-ext-wght-normal.141916be.woff2) format('woff2-variations');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}
@font-face {
  font-family: 'Geist Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(fonts/geist-cyrillic-wght-normal.e1e85cd9.woff2) format('woff2-variations');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face {
  font-family: 'Geist Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(fonts/geist-vietnamese-wght-normal.ed8ddc5c.woff2) format('woff2-variations');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}
@font-face {
  font-family: 'Geist Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(fonts/geist-latin-ext-wght-normal.b29dbc42.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Geist Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(fonts/geist-latin-wght-normal.ee5d167b.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
:root {
  --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.87 0 0);
  --chart-2: oklch(0.556 0 0);
  --chart-3: oklch(0.439 0 0);
  --chart-4: oklch(0.371 0 0);
  --chart-5: oklch(0.269 0 0);
  --radius: 0.625rem;
  --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);
}
.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.205 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.269 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.87 0 0);
  --chart-2: oklch(0.556 0 0);
  --chart-3: oklch(0.439 0 0);
  --chart-4: oklch(0.371 0 0);
  --chart-5: oklch(0.269 0 0);
  --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.556 0 0);
}
@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);
    }
  }
  body {
    background-color: var(--background);
    color: var(--foreground);
  }
  html {
    font-family: 'Geist Variable', sans-serif;
  }
}
@layer components {
  body {
    margin: 0;
    min-height: 100vh;
    background: var(--background);
    color: var(--foreground);
  }
  button, input, select, textarea {
    font: inherit;
  }
  button, a {
    -webkit-tap-highlight-color: transparent;
  }
  a {
    color: inherit;
  }
  .auth-page {
    background: #f4f5fb;
  }
  .auth-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: minmax(20rem, .85fr) minmax(28rem, 1.15fr);
  }
  .auth-brand {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: clamp(2rem, 7vw, 6rem);
    color: white;
    background: linear-gradient(145deg, #17162a 0%, #312d67 65%, #6558d3 100%);
  }
  .auth-brand::after {
    content: "";
    position: absolute;
    width: 26rem;
    height: 26rem;
    right: -12rem;
    bottom: -10rem;
    border: 1px solid rgb(255 255 255 / .18);
    border-radius: 50%;
    box-shadow: 0 0 0 5rem rgb(255 255 255 / .035), 0 0 0 10rem rgb(255 255 255 / .025);
  }
  .auth-brand > div {
    position: relative;
    z-index: 1;
    max-width: 32rem;
  }
  .auth-brand h1 {
    font-size: clamp(2.8rem, 5vw, 5.5rem);
    letter-spacing: -.055em;
    line-height: .95;
    margin: .8rem 0 1.5rem;
  }
  .auth-brand p:not(.eyebrow) {
    color: rgb(255 255 255 / .68);
    font-size: 1.1rem;
    line-height: 1.7;
  }
  .brand-mark {
    display: grid;
    place-items: center;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 1rem;
    background: #7166dd;
    color: white;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 12px 30px rgb(0 0 0 / .2);
  }
  .brand-mark--small {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: .7rem;
    flex: 0 0 auto;
  }
  .auth-card {
    align-self: center;
    width: min(100% - 3rem, 31rem);
    margin: 3rem auto;
    padding: clamp(1.75rem, 4vw, 3.25rem);
    border-radius: 1.4rem;
    background: white;
    color: #171721;
    box-shadow: 0 24px 70px rgb(31 34 54 / .1);
  }
  .auth-card__heading h1, .auth-card__heading h2, .auth-card--message h1 {
    margin: 0;
    letter-spacing: -.035em;
    font-size: 2rem;
  }
  .auth-card__heading p, .auth-card--message p {
    margin: .65rem 0 1.8rem;
    color: #6b6b78;
    line-height: 1.55;
  }
  .auth-shell--center {
    display: grid;
    grid-template-columns: 1fr;
    background: radial-gradient(circle at 50% 0, #edeafd, #f4f5fb 45%);
  }
  .auth-card--message {
    text-align: center;
  }
  .landing-actions {
    display: flex;
    justify-content: center;
    gap: .65rem;
    margin: 1.5rem 0;
  }
  .message-icon {
    display: grid;
    place-items: center;
    width: 4rem;
    height: 4rem;
    margin: 0 auto 1.5rem;
    border-radius: 1.2rem;
    background: #efedff;
    color: #6558d3;
    font-size: 1.75rem;
  }
  .auth-form {
    display: grid;
    gap: .7rem;
  }
  .auth-form label, .field > span {
    font-weight: 620;
    font-size: .88rem;
  }
  .auth-form input:not([type=checkbox]), .field input, .field select, .field textarea, .toolbar select, .search-box {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #dddde5;
    border-radius: .75rem;
    background: #fff;
    padding: .78rem .9rem;
    color: #171721;
    outline: none;
    transition: border-color .15s, box-shadow .15s;
  }
  .auth-form input:focus, .field input:focus, .field textarea:focus, .field select:focus {
    border-color: #7166dd;
    box-shadow: 0 0 0 3px rgb(101 88 211 / .12);
  }
  .auth-form ul {
    list-style: none;
    margin: -.2rem 0 .3rem;
    padding: 0;
    color: #b42318;
    font-size: .82rem;
  }
  .label-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: .35rem;
  }
  .label-row a, .auth-switch a {
    color: #5d51c7;
    font-weight: 650;
    text-decoration: none;
  }
  .check-row {
    display: flex;
    gap: .6rem;
    align-items: flex-start;
    margin: .45rem 0;
    color: #555561;
    font-weight: 450 !important;
  }
  .check-row input {
    accent-color: #6558d3;
    margin-top: .2rem;
  }
  .primary-button, .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    border: 0;
    border-radius: .7rem;
    cursor: pointer;
    font-weight: 650;
    text-decoration: none;
    transition: transform .15s, opacity .15s, background .15s;
  }
  .primary-button {
    padding: .86rem 1rem;
    background: #6558d3;
    color: white;
  }
  .auth-form .primary-button {
    margin-top: .5rem;
  }
  .primary-button:hover, .button:hover {
    transform: translateY(-1px);
  }
  .primary-button:disabled, .button:disabled {
    opacity: .55;
    cursor: not-allowed;
    transform: none;
  }
  .auth-switch {
    text-align: center;
    margin: 1.5rem 0 0;
    color: #6b6b78;
  }
  .alert {
    padding: .8rem 1rem;
    margin-bottom: 1rem;
    border-radius: .7rem;
    font-size: .9rem;
  }
  .alert--danger {
    color: #9f241c;
    background: #fff0ee;
  }
  .alert--success {
    color: #167345;
    background: #eaf8f0;
  }
  .eyebrow {
    margin: 0 0 .55rem;
    color: #7166dd;
    font-size: .72rem !important;
    font-weight: 760;
    text-transform: uppercase;
    letter-spacing: .13em;
  }
  .auth-brand .eyebrow {
    color: #b9b2ff;
  }
  .muted {
    color: var(--muted-foreground);
  }
  .app-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 16.5rem minmax(0, 1fr);
    background: #f7f8fb;
  }
  .dark .app-shell {
    background: var(--background);
  }
  .sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    padding: 1.15rem;
    background: #181822;
    color: #dad9e7;
    border-right: 1px solid rgb(255 255 255 / .06);
    z-index: 30;
  }
  .sidebar-brand {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .25rem .25rem 1.6rem;
    color: white;
    font-weight: 720;
    letter-spacing: -.02em;
  }
  .sidebar nav {
    display: grid;
    gap: .28rem;
  }
  .sidebar nav a {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .7rem .8rem;
    border-radius: .68rem;
    color: #aaa9b8;
    text-decoration: none;
    font-size: .92rem;
    font-weight: 540;
  }
  .sidebar nav a:hover {
    color: white;
    background: rgb(255 255 255 / .055);
  }
  .sidebar nav a.active {
    color: white;
    background: #6558d3;
    box-shadow: 0 8px 24px rgb(101 88 211 / .28);
  }
  .sidebar-account {
    margin-top: auto;
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .85rem .4rem .2rem;
    border-top: 1px solid rgb(255 255 255 / .08);
    overflow: hidden;
  }
  .sidebar-account > div {
    min-width: 0;
  }
  .sidebar-account strong, .sidebar-account small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .sidebar-account strong {
    color: white;
    font-size: .85rem;
  }
  .sidebar-account small {
    color: #898897;
    font-size: .72rem;
    margin-top: .15rem;
  }
  .avatar {
    display: grid;
    place-items: center;
    width: 2.2rem;
    height: 2.2rem;
    flex: 0 0 auto;
    border-radius: 50%;
    background: #343340;
    color: white;
    font-size: .72rem;
    font-weight: 720;
  }
  .app-main {
    min-width: 0;
  }
  .topbar {
    position: sticky;
    top: 0;
    z-index: 20;
    height: 4.25rem;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 clamp(1rem, 3vw, 2.25rem);
    border-bottom: 1px solid var(--border);
    background: var(--background);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--background) 88%, transparent);
    }
    backdrop-filter: blur(16px);
  }
  .topbar > div {
    display: flex;
    align-items: center;
    gap: .45rem;
  }
  .breadcrumb {
    font-size: .87rem;
    color: var(--muted-foreground);
  }
  .icon-button {
    display: grid;
    place-items: center;
    width: 2.35rem;
    height: 2.35rem;
    border: 0;
    border-radius: .65rem;
    background: transparent;
    color: inherit;
    cursor: pointer;
  }
  .icon-button:hover {
    background: var(--muted);
  }
  .icon-button svg {
    width: 1.1rem;
  }
  .mobile-menu, .sidebar-close, .sidebar-scrim {
    display: none;
  }
  .page-content {
    max-width: 94rem;
    margin: auto;
    padding: clamp(1.5rem, 4vw, 3rem);
  }
  .page-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 2rem;
  }
  .page-heading h1 {
    margin: 0;
    font-size: clamp(1.8rem, 3vw, 2.45rem);
    line-height: 1.08;
    letter-spacing: -.045em;
  }
  .page-heading > div > p:last-child:not(.eyebrow) {
    margin: .6rem 0 0;
    color: var(--muted-foreground);
  }
  .surface-card {
    box-sizing: border-box;
    border: 1px solid var(--border);
    border-radius: 1rem;
    background: var(--card);
    color: var(--card-foreground);
    padding: 1.25rem;
    box-shadow: 0 2px 8px rgb(31 35 48 / .025);
  }
  .surface-card h2 {
    margin: 0 0 .5rem;
    font-size: 1.05rem;
    letter-spacing: -.02em;
  }
  .stat-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    margin-bottom: 1rem;
  }
  .stat-grid--three {
    grid-template-columns: repeat(3, 1fr);
  }
  .stat-card {
    min-height: 8.5rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .stat-card > span:first-child {
    color: var(--muted-foreground);
    font-size: .83rem;
  }
  .stat-card > strong {
    font-size: 2.25rem;
    letter-spacing: -.06em;
  }
  .stat-card .badge {
    align-self: flex-start;
  }
  .stat-card__date {
    font-size: 1rem !important;
    letter-spacing: -.02em !important;
  }
  .content-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }
  .stack, .settings-stack {
    display: grid;
    align-content: start;
    gap: 1rem;
  }
  .card-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: .6rem;
  }
  .list {
    margin: 0 -.25rem;
  }
  .list-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .85rem .25rem;
    border-bottom: 1px solid var(--border);
  }
  .list-row:last-child {
    border-bottom: 0;
  }
  .list-row strong, .list-row small, td strong, td small {
    display: block;
  }
  .list-row strong, td strong {
    font-size: .87rem;
  }
  .list-row small, td small {
    color: var(--muted-foreground);
    margin-top: .2rem;
    font-size: .75rem;
  }
  .badge {
    display: inline-flex;
    align-items: center;
    width: max-content;
    padding: .25rem .48rem;
    border-radius: 999px;
    background: var(--muted);
    color: var(--muted-foreground);
    font-size: .69rem;
    font-weight: 700;
    text-transform: capitalize;
  }
  .badge + .badge {
    margin-left: .3rem;
  }
  .badge--success {
    background: #e9f8ef;
    color: #147246;
  }
  .badge--danger {
    background: #fff0ee;
    color: #a12a22;
  }
  .badge--warning {
    background: #fff7dd;
    color: #835d00;
  }
  .dark .badge--success {
    background: #173a2a;
    color: #82d9aa;
  }
  .dark .badge--danger {
    background: #48211f;
    color: #f2a29c;
  }
  .dark .badge--warning {
    background: #443818;
    color: #eed27a;
  }
  .button {
    min-height: 2.45rem;
    padding: .55rem .85rem;
    background: #6558d3;
    color: white;
    font-size: .83rem;
  }
  .button--secondary {
    border: 1px solid var(--border);
    background: var(--card);
    color: var(--foreground);
  }
  .button--danger {
    background: #c63831;
    color: white;
  }
  .button--ghost {
    background: transparent;
    color: var(--foreground);
  }
  .toolbar {
    display: grid;
    grid-template-columns: minmax(15rem, 1fr) repeat(3, auto);
    gap: .65rem;
    margin-bottom: 1rem;
  }
  .toolbar select {
    width: auto;
    background: var(--card);
    color: var(--foreground);
    border-color: var(--border);
  }
  .search-box {
    display: flex;
    align-items: center;
    padding: 0 .8rem;
    background: var(--card);
    border-color: var(--border);
    color: var(--muted-foreground);
  }
  .search-box input {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--foreground);
    padding: .7rem;
  }
  .table-wrap {
    overflow-x: auto;
    margin: 0 -.15rem;
  }
  table {
    width: 100%;
    border-collapse: collapse;
  }
  th {
    padding: .65rem .75rem;
    color: var(--muted-foreground);
    text-align: left;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .66rem;
  }
  td {
    padding: .82rem .75rem;
    border-top: 1px solid var(--border);
    font-size: .82rem;
  }
  tbody tr {
    cursor: pointer;
    transition: background .15s;
  }
  tbody tr:hover {
    background: var(--muted);
  }
  .pagination {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .8rem;
    margin-top: 1rem;
    color: var(--muted-foreground);
    font-size: .78rem;
  }
  .state-panel {
    min-height: 13rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--muted-foreground);
  }
  .state-panel h3 {
    margin: .75rem 0 .2rem;
    color: var(--foreground);
  }
  .state-panel p {
    margin: .25rem;
  }
  .state-panel--error {
    color: #a12a22;
  }
  .form-card form, .form-card {
    display: grid;
    gap: 1rem;
  }
  .form-card > h2 {
    margin-bottom: 0;
  }
  .form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
  }
  .field {
    display: grid;
    gap: .4rem;
  }
  .field input, .field select, .field textarea {
    background: var(--background);
    color: var(--foreground);
    border-color: var(--border);
  }
  .field textarea {
    min-height: 6.5rem;
    resize: vertical;
  }
  .field input:disabled {
    opacity: .7;
    cursor: not-allowed;
  }
  .field small {
    color: var(--muted-foreground);
  }
  .field .field-error, .inline-error {
    color: #b12e27;
  }
  .inline-success {
    color: #168054;
  }
  .form-actions {
    display: flex;
    justify-content: flex-end;
  }
  .check-list {
    display: grid;
    gap: .65rem;
    color: var(--muted-foreground);
    font-size: .88rem;
  }
  .check-list input {
    accent-color: #6558d3;
  }
  .verification-card {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    align-items: flex-start;
  }
  .sticky-actions {
    position: sticky;
    bottom: 1rem;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1rem;
    padding: .8rem;
    border: 1px solid var(--border);
    border-radius: .9rem;
    background: var(--card);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--card) 92%, transparent);
    }
    backdrop-filter: blur(14px);
    box-shadow: 0 10px 32px rgb(25 29 45 / .1);
  }
  .toast {
    position: fixed;
    right: 1.5rem;
    bottom: 1.5rem;
    z-index: 60;
    max-width: min(24rem, calc(100vw - 3rem));
    padding: .8rem 1rem;
    border: 0;
    border-radius: .75rem;
    background: #18794e;
    color: white;
    box-shadow: 0 12px 35px rgb(0 0 0 / .18);
  }
  .toast--danger {
    background: #b9322b;
  }
  .modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 50;
    display: grid;
    place-items: center;
    padding: 1rem;
    background: rgb(8 8 14 / .55);
    backdrop-filter: blur(4px);
  }
  .modal {
    width: min(38rem, 100%);
    max-height: 85vh;
    overflow: auto;
    box-shadow: 0 25px 80px rgb(0 0 0 / .3);
  }
  .detail-list {
    display: grid;
    grid-template-columns: 8rem 1fr;
    gap: .85rem;
    font-size: .82rem;
  }
  .detail-list dt {
    color: var(--muted-foreground);
  }
  .detail-list dd {
    margin: 0;
    overflow-wrap: anywhere;
  }
  pre {
    margin: 0;
    padding: .75rem;
    overflow: auto;
    border-radius: .6rem;
    background: var(--muted);
    font-size: .72rem;
  }
  .notice-banner {
    display: flex;
    gap: .8rem;
    margin-bottom: 1rem;
    padding: 1rem;
    border: 1px solid #e8cb6d;
    border-radius: .85rem;
    background: #fff8df;
    color: #6f5300;
  }
  .notice-banner p {
    margin: .2rem 0 0;
    font-size: .82rem;
  }
  .dark .notice-banner {
    border-color: #5c4b18;
    background: #302916;
    color: #e7d17d;
  }
  .account-summary {
    margin-top: 1rem;
    display: flex;
    justify-content: space-between;
    gap: 2rem;
  }
  .account-summary h2, .account-summary p {
    margin: 0;
  }
  .account-summary dl {
    display: flex;
    gap: 2.5rem;
    margin: 0;
  }
  .account-summary dt {
    color: var(--muted-foreground);
    font-size: .72rem;
  }
  .account-summary dd {
    margin: .35rem 0 0;
    font-size: .85rem;
    text-transform: capitalize;
  }
  .spin {
    animation: spin 1s linear infinite;
  }
  .fatal-error {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 2rem;
    background: var(--background);
    color: var(--foreground);
  }
  .fatal-error > div {
    max-width: 32rem;
  }
  .fatal-error h1 {
    font-size: 2.4rem;
    letter-spacing: -.045em;
  }
  .fatal-error p {
    color: var(--muted-foreground);
    line-height: 1.6;
  }
  @keyframes spin {
    to {
      transform: rotate(360deg);
    }
  }
}
@media (max-width: 900px) {
  .auth-shell {
    grid-template-columns: 1fr;
  }
  .auth-brand {
    min-height: 13rem;
    justify-content: flex-start;
    gap: 3rem;
    padding: 2rem;
  }
  .auth-brand h1 {
    font-size: 2.5rem;
  }
  .auth-brand p:not(.eyebrow) {
    display: none;
  }
  .app-shell {
    grid-template-columns: 1fr;
  }
  .sidebar {
    position: fixed;
    left: 0;
    transform: translateX(-105%);
    width: min(19rem, 86vw);
    transition: transform .2s ease;
  }
  .sidebar[data-open=true] {
    transform: translateX(0);
  }
  .sidebar-scrim {
    position: fixed;
    inset: 0;
    z-index: 25;
    border: 0;
    background: rgb(0 0 0 / .5);
  }
  .sidebar-scrim[data-open=true] {
    display: block;
  }
  .sidebar-close {
    display: grid;
    margin-left: auto;
    color: white;
  }
  .mobile-menu {
    display: grid;
  }
  .stat-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .toolbar {
    grid-template-columns: 1fr 1fr;
  }
  .search-box {
    grid-column: 1 / -1;
  }
}
@media (max-width: 620px) {
  .auth-card {
    width: auto;
    margin: 1rem;
    padding: 1.5rem;
  }
  .auth-brand {
    min-height: 10rem;
  }
  .auth-brand h1 {
    font-size: 2rem;
  }
  .page-content {
    padding: 1.25rem 1rem 5rem;
  }
  .page-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 1rem;
  }
  .stat-grid, .stat-grid--three, .content-grid, .form-grid {
    grid-template-columns: 1fr;
  }
  .stat-card {
    min-height: 7rem;
  }
  .toolbar {
    grid-template-columns: 1fr;
  }
  .search-box {
    grid-column: auto;
  }
  .toolbar select {
    width: 100%;
  }
  .pagination {
    justify-content: space-between;
  }
  .account-summary, .account-summary dl {
    flex-direction: column;
    gap: 1rem;
  }
  .detail-list {
    grid-template-columns: 1fr;
    gap: .25rem;
  }
  .detail-list dd {
    margin-bottom: .7rem;
  }
}
@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-pan-x {
  syntax: "*";
  inherits: false;
}
@property --tw-pan-y {
  syntax: "*";
  inherits: false;
}
@property --tw-pinch-zoom {
  syntax: "*";
  inherits: false;
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-space-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-divide-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-divide-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-ordinal {
  syntax: "*";
  inherits: false;
}
@property --tw-slashed-zero {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-figure {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 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-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-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;
}
@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)))) {
    :root, :host {
      --shimmer-angle: 20deg;
    }
    *, ::before, ::after, ::backdrop {
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-pan-x: initial;
      --tw-pan-y: initial;
      --tw-pinch-zoom: initial;
      --tw-space-y-reverse: 0;
      --tw-space-x-reverse: 0;
      --tw-divide-x-reverse: 0;
      --tw-border-style: solid;
      --tw-divide-y-reverse: 0;
      --tw-font-weight: initial;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-ease: initial;
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-animation-delay: 0s;
      --tw-animation-direction: normal;
      --tw-animation-duration: initial;
      --tw-animation-fill-mode: none;
      --tw-animation-iteration-count: 1;
      --tw-enter-blur: 0;
      --tw-enter-opacity: 1;
      --tw-enter-rotate: 0;
      --tw-enter-scale: 1;
      --tw-enter-translate-x: 0;
      --tw-enter-translate-y: 0;
      --tw-exit-blur: 0;
      --tw-exit-opacity: 1;
      --tw-exit-rotate: 0;
      --tw-exit-scale: 1;
      --tw-exit-translate-x: 0;
      --tw-exit-translate-y: 0;
      --scroll-fade-t: 0px;
      --scroll-fade-b: 0px;
      --scroll-fade-s: 0px;
      --scroll-fade-e: 0px;
      --scroll-fade-mask: initial;
      --shimmer-image: initial;
      --shimmer-text-fill: initial;
    }
  }
}

.installer-page { margin: 0; min-height: 100vh; background: #f6f7fb; color: #1d1c26; }
.installer-page * { box-sizing: border-box; }
.installer-page button, .installer-page input, .installer-page select, .installer-page textarea { font: inherit; }
.installer-shell { min-height: 100vh; display: grid; grid-template-columns: 21rem minmax(0, 1fr); }
.installer-aside { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 2rem; overflow: auto; background: #191822; color: #f5f4fc; }
.installer-brand { display: flex; align-items: center; gap: .75rem; }
.installer-brand > span { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: .75rem; background: #6558d3; font-weight: 800; }
.installer-brand strong, .installer-brand small { display: block; }
.installer-brand small { margin-top: .15rem; color: #9693a6; font-size: .72rem; }
.installer-intro { margin: 3.5rem 0 2rem; }
.installer-intro h1 { margin: .5rem 0 1rem; font-size: 2.15rem; line-height: 1.02; letter-spacing: -.05em; }
.installer-intro > p:last-child { margin: 0; color: #9e9bab; line-height: 1.6; font-size: .88rem; }
.installer-eyebrow { margin: 0; color: #7469df; font-size: .7rem; font-weight: 780; text-transform: uppercase; letter-spacing: .14em; }
.installer-aside .installer-eyebrow { color: #9d94f3; }
.installer-progress { display: grid; gap: .35rem; margin: 0; padding: 0; list-style: none; }
.installer-progress li { display: flex; align-items: center; gap: .7rem; padding: .48rem .55rem; border-radius: .55rem; color: #777486; font-size: .79rem; }
.installer-progress li > span { display: grid; place-items: center; width: 1.45rem; height: 1.45rem; border: 1px solid #3d3b49; border-radius: 50%; font-size: .65rem; }
.installer-progress li.current { color: white; background: rgb(255 255 255 / .055); }
.installer-progress li.current > span { border-color: #756ade; background: #6558d3; }
.installer-progress li.complete { color: #b6b3c3; }
.installer-progress li.complete > span { border-color: #3f7d62; background: #265f49; color: #a8e2c5; }
.installer-private { display: flex; gap: .65rem; margin-top: auto; padding-top: 1.5rem; border-top: 1px solid rgb(255 255 255 / .08); color: #858292; font-size: .7rem; line-height: 1.45; }
.installer-private svg { flex: 0 0 auto; color: #9d94f3; }
.installer-main { min-width: 0; display: flex; flex-direction: column; padding: clamp(1.25rem, 4vw, 3.5rem); }
.installer-panel { width: min(100%, 52rem); margin: auto; padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid #e3e3ea; border-radius: 1rem; background: white; box-shadow: 0 18px 60px rgb(33 35 51 / .07); }
.installer-main footer { display: flex; justify-content: center; align-items: center; gap: .4rem; margin-top: 1.25rem; color: #8a8994; font-size: .69rem; }
.installer-heading { margin-bottom: 2rem; }
.installer-heading h2 { margin: .55rem 0 .65rem; font-size: clamp(1.75rem, 4vw, 2.4rem); line-height: 1.06; letter-spacing: -.045em; }
.installer-heading > p:last-child { max-width: 42rem; margin: 0; color: #696875; line-height: 1.6; }
.installer-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; margin: 2rem 0; }
.installer-feature { padding: 1rem; border: 1px solid #e7e6ec; border-radius: .75rem; }
.installer-feature svg { width: 1.15rem; color: #6558d3; }
.installer-feature strong { display: block; margin: .75rem 0 .35rem; font-size: .82rem; }
.installer-feature p { margin: 0; color: #777681; font-size: .74rem; line-height: 1.45; }
.installer-form { display: grid; gap: 1rem; }
.installer-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.installer-field { display: grid; gap: .4rem; }
.installer-field > span { font-size: .79rem; font-weight: 660; }
.installer-field input, .installer-field select, .installer-field textarea { width: 100%; min-height: 2.7rem; padding: .7rem .8rem; border: 1px solid #dad9e1; border-radius: .65rem; outline: none; background: #fff; color: #1d1c26; transition: border .15s, box-shadow .15s; }
.installer-field textarea { min-height: 5.5rem; resize: vertical; }
.installer-field input:focus, .installer-field select:focus, .installer-field textarea:focus { border-color: #7165db; box-shadow: 0 0 0 3px rgb(101 88 211 / .11); }
.installer-field input:disabled { background: #f1f1f4; color: #777681; }
.installer-field input[aria-invalid="true"] { border-color: #c7443c; box-shadow: 0 0 0 2px rgb(199 68 60 / .08); }
.installer-field small { color: #83818d; font-size: .7rem; line-height: 1.4; }
.installer-field small.installer-error { color: #b52e27; }
.installer-password-control { position: relative; }
.installer-password-control input { padding-right: 2.8rem; }
.installer-password-control button { position: absolute; top: 50%; right: .45rem; display: grid; width: 2rem; height: 2rem; place-items: center; padding: 0; border: 0; border-radius: .45rem; background: transparent; color: #686674; cursor: pointer; transform: translateY(-50%); }
.installer-password-control button:hover, .installer-password-control button:focus-visible { background: #f0eff7; color: #4f45b4; outline: none; }
.installer-password-control button svg { width: 1rem; height: 1rem; }
.installer-check { display: flex; align-items: flex-start; gap: .6rem; color: #5e5d68; font-size: .8rem; }
.installer-check input { margin-top: .14rem; accent-color: #6558d3; }
.installer-button { display: inline-flex; min-height: 2.65rem; align-items: center; justify-content: center; gap: .45rem; padding: .65rem 1rem; border: 1px solid #6558d3; border-radius: .65rem; background: #6558d3; color: white; font-size: .8rem; font-weight: 680; text-decoration: none; cursor: pointer; }
.installer-button:hover { background: #594dc4; }
.installer-button:disabled { opacity: .5; cursor: not-allowed; }
.installer-button.secondary { border-color: #dedde5; background: white; color: #3e3d48; }
.installer-button.secondary:hover { background: #f5f5f8; }
.installer-button.standalone { justify-self: start; }
.installer-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid #ecebf0; }
.installer-split-actions { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; }
.installer-split-actions .installer-actions { flex: 1; margin-top: 0; padding-top: 0; border: 0; }
.installer-notice { display: flex; align-items: flex-start; gap: .65rem; margin: 0 0 1rem; padding: .8rem .9rem; border: 1px solid #badfc9; border-radius: .65rem; background: #effaf3; color: #176c43; font-size: .76rem; line-height: 1.45; }
.installer-notice.error { border-color: #efc3bf; background: #fff2f0; color: #a02a23; }
.installer-notice svg { width: 1rem; flex: 0 0 auto; }
.requirement-list { max-height: 28rem; overflow: auto; border: 1px solid #e5e4ea; border-radius: .75rem; }
.requirement-row { display: grid; grid-template-columns: auto 1fr auto; gap: .75rem; align-items: start; padding: .72rem .8rem; border-bottom: 1px solid #ecebf0; }
.requirement-row:last-child { border-bottom: 0; }
.requirement-icon { display: grid; place-items: center; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: #fff0ee; color: #b33129; }
.requirement-icon.pass { background: #eaf8f0; color: #147047; }
.requirement-icon.recommended, .requirement-icon.informational { background: #fff7df; color: #886400; }
.requirement-icon svg { width: .9rem; }
.requirement-row strong, .requirement-row small { display: block; }
.requirement-row strong { font-size: .78rem; }
.requirement-row small { margin-top: .15rem; color: #777681; font-size: .68rem; }
.requirement-row p { margin: .3rem 0 0; color: #a02a23; font-size: .68rem; }
.requirement-row em { color: #8a8994; font-size: .58rem; font-style: normal; text-transform: uppercase; letter-spacing: .08em; }
.installer-loading { padding: 3rem; text-align: center; color: #777681; }
.review-list { margin-bottom: 1rem; border: 1px solid #e5e4ea; border-radius: .75rem; overflow: hidden; }
.review-row { display: grid; grid-template-columns: 10rem 1fr; gap: 1rem; padding: .75rem .9rem; border-bottom: 1px solid #ecebf0; font-size: .78rem; }
.review-row:last-child { border: 0; }
.review-row span { color: #777681; }
.review-row strong { overflow-wrap: anywhere; }
.installer-result { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 2rem; text-align: center; background: radial-gradient(circle at 50% 0, #efedff, #f6f7fb 45%); }
.installer-result h1 { margin: .65rem 0; font-size: clamp(2rem, 5vw, 3.3rem); letter-spacing: -.055em; }
.installer-result > p:not(.installer-eyebrow) { max-width: 38rem; color: #686773; line-height: 1.6; }
.installer-result .installer-button { margin-top: 1rem; }
.installer-result .installer-notice { max-width: 38rem; }
.result-icon { display: grid; place-items: center; width: 4rem; height: 4rem; margin-bottom: 1.5rem; border-radius: 1.2rem; background: #ece9ff; color: #6558d3; }
.result-icon.success { background: #e7f8ee; color: #167348; }
.spin { animation: installer-spin 1s linear infinite; }
@keyframes installer-spin { to { transform: rotate(360deg); } }

@media (max-width: 850px) {
    .installer-shell { grid-template-columns: 1fr; }
    .installer-aside { position: static; height: auto; padding: 1.25rem; }
    .installer-intro { margin: 1.5rem 0; }
    .installer-intro h1 { font-size: 1.65rem; }
    .installer-intro > p:last-child, .installer-private { display: none; }
    .installer-progress { grid-template-columns: repeat(7, 1fr); gap: .25rem; }
    .installer-progress li { justify-content: center; padding: .3rem; font-size: 0; }
    .installer-progress li > span { font-size: .62rem; }
    .installer-main { padding: 1rem; }
}

@media (max-width: 600px) {
    .installer-panel { padding: 1.25rem; }
    .installer-grid, .installer-feature-grid { grid-template-columns: 1fr; }
    .installer-split-actions { align-items: stretch; flex-direction: column; }
    .installer-actions { width: 100%; }
    .review-row { grid-template-columns: 1fr; gap: .2rem; }
    .requirement-row { grid-template-columns: auto 1fr; }
    .requirement-row em { display: none; }
}

