/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-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-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-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-duration: initial;
      --tw-ease: initial;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --spacing: .25rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --tracking-wide: .025em;
    --leading-tight: 1.25;
    --radius-sm: .25rem;
    --radius-md: .375rem;
    --radius-lg: var(--primitive-radius-lg);
    --radius-xl: var(--primitive-radius-xl);
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --animate-spin: spin 1s linear infinite;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-background: var(--primitive-color-background);
    --color-surface: var(--primitive-color-surface-container-lowest);
    --color-surface-muted: var(--primitive-color-surface-container-low);
    --color-surface-sunken: var(--primitive-color-surface-container);
    --color-text-primary: var(--primitive-color-on-surface);
    --color-text-secondary: var(--primitive-color-on-surface-variant);
    --color-text-muted: var(--primitive-color-outline);
    --color-text-on-action: var(--brand-on-primary);
    --color-border-subtle: var(--primitive-color-outline-variant);
    --color-border-strong: var(--primitive-color-outline);
    --color-action: var(--brand-primary);
    --color-action-soft-bg: var(--primitive-color-primary-fixed);
    --color-action-soft-text: var(--primitive-color-on-primary-fixed-variant);
    --color-status-overdue-bg: var(--primitive-color-error-container);
    --color-feedback-success-bg: var(--primitive-color-primary-fixed);
    --color-feedback-warning: var(--primitive-color-on-warning-fixed-variant);
    --color-feedback-warning-bg: var(--primitive-color-warning-fixed);
    --color-feedback-error: var(--primitive-color-error);
    --color-feedback-error-bg: var(--primitive-color-error-container);
    --font-base: var(--primitive-font-base);
    --spacing-xs: var(--primitive-space-xs);
    --spacing-base: var(--primitive-space-base);
    --spacing-sm: var(--primitive-space-sm);
    --spacing-md: var(--primitive-space-md);
    --spacing-lg: var(--primitive-space-lg);
    --spacing-xl: var(--primitive-space-xl);
    --radius-default: var(--primitive-radius-lg);
    --radius-full: var(--primitive-radius-full);
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

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

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

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

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

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

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

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

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

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

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

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

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

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

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

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

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

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }

  body {
    background-color: var(--color-background);
    font-family: var(--font-base, sans-serif);
  }

  span, label, button, textarea {
    display: block;
  }

  p {
    margin-bottom: calc(var(--spacing) * 3);
  }
}

@layer components;

@layer utilities {
  .pointer-events-none {
    pointer-events: none;
  }

  .collapse {
    visibility: collapse;
  }

  .invisible {
    visibility: hidden;
  }

  .visible {
    visibility: visible;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }

  .inset-x-0 {
    inset-inline: calc(var(--spacing) * 0);
  }

  .-top-1 {
    top: calc(var(--spacing) * -1);
  }

  .top-1\/2 {
    top: 50%;
  }

  .top-full {
    top: 100%;
  }

  .top-sm {
    top: var(--spacing-sm);
  }

  .-right-1 {
    right: calc(var(--spacing) * -1);
  }

  .right-0 {
    right: calc(var(--spacing) * 0);
  }

  .right-2 {
    right: calc(var(--spacing) * 2);
  }

  .right-3 {
    right: calc(var(--spacing) * 3);
  }

  .right-sm {
    right: var(--spacing-sm);
  }

  .bottom-2 {
    bottom: calc(var(--spacing) * 2);
  }

  .left-0 {
    left: calc(var(--spacing) * 0);
  }

  .left-1\/2 {
    left: 50%;
  }

  .z-10 {
    z-index: 10;
  }

  .z-20 {
    z-index: 20;
  }

  .order-1 {
    order: 1;
  }

  .order-2 {
    order: 2;
  }

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

  .container {
    width: 100%;
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .m-0 {
    margin: calc(var(--spacing) * 0);
  }

  .-mx-\[var\(--space-page-margin\)\] {
    margin-inline: calc(var(--space-page-margin) * -1);
  }

  .-mx-sm {
    margin-inline: calc(var(--spacing-sm) * -1);
  }

  .mx-auto {
    margin-inline: auto;
  }

  .-my-2 {
    margin-block: calc(var(--spacing) * -2);
  }

  .-mt-2 {
    margin-top: calc(var(--spacing) * -2);
  }

  .-mt-4 {
    margin-top: calc(var(--spacing) * -4);
  }

  .-mt-sm {
    margin-top: calc(var(--spacing-sm) * -1);
  }

  .mt-0\.5 {
    margin-top: calc(var(--spacing) * .5);
  }

  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }

  .mt-1\.5 {
    margin-top: calc(var(--spacing) * 1.5);
  }

  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }

  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }

  .mt-\[var\(--space-stack-md\)\] {
    margin-top: var(--space-stack-md);
  }

  .mt-\[var\(--space-stack-sm\)\] {
    margin-top: var(--space-stack-sm);
  }

  .mt-\[var\(--space-stack-xs\)\] {
    margin-top: var(--space-stack-xs);
  }

  .mt-base {
    margin-top: var(--spacing-base);
  }

  .mt-lg {
    margin-top: var(--spacing-lg);
  }

  .mt-px {
    margin-top: 1px;
  }

  .mt-sm {
    margin-top: var(--spacing-sm);
  }

  .mt-xs {
    margin-top: var(--spacing-xs);
  }

  .-mr-0\.75 {
    margin-right: calc(var(--spacing) * -.75);
  }

  .-mr-2 {
    margin-right: calc(var(--spacing) * -2);
  }

  .-mr-xs {
    margin-right: calc(var(--spacing-xs) * -1);
  }

  .mb-0 {
    margin-bottom: calc(var(--spacing) * 0);
  }

  .mb-0\! {
    margin-bottom: calc(var(--spacing) * 0) !important;
  }

  .mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }

  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }

  .mb-\[var\(--space-stack-md\)\] {
    margin-bottom: var(--space-stack-md);
  }

  .mb-\[var\(--space-stack-sm\)\] {
    margin-bottom: var(--space-stack-sm);
  }

  .mb-\[var\(--space-stack-xl\)\] {
    margin-bottom: var(--space-stack-xl);
  }

  .mb-base {
    margin-bottom: var(--spacing-base);
  }

  .mb-sm {
    margin-bottom: var(--spacing-sm);
  }

  .-ml-2 {
    margin-left: calc(var(--spacing) * -2);
  }

  .ml-auto {
    margin-left: auto;
  }

  .line-clamp-2 {
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .block {
    display: block;
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .flex\! {
    display: flex !important;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

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

  .table {
    display: table;
  }

  .aspect-222\/150 {
    aspect-ratio: 222 / 150;
  }

  .aspect-square {
    aspect-ratio: 1;
  }

  .size-5 {
    width: calc(var(--spacing) * 5);
    height: calc(var(--spacing) * 5);
  }

  .h-0 {
    height: calc(var(--spacing) * 0);
  }

  .h-0\.5 {
    height: calc(var(--spacing) * .5);
  }

  .h-1\.5 {
    height: calc(var(--spacing) * 1.5);
  }

  .h-2 {
    height: calc(var(--spacing) * 2);
  }

  .h-2\.5 {
    height: calc(var(--spacing) * 2.5);
  }

  .h-3 {
    height: calc(var(--spacing) * 3);
  }

  .h-3\.5 {
    height: calc(var(--spacing) * 3.5);
  }

  .h-4 {
    height: calc(var(--spacing) * 4);
  }

  .h-5 {
    height: calc(var(--spacing) * 5);
  }

  .h-6 {
    height: calc(var(--spacing) * 6);
  }

  .h-7 {
    height: calc(var(--spacing) * 7);
  }

  .h-8 {
    height: calc(var(--spacing) * 8);
  }

  .h-9 {
    height: calc(var(--spacing) * 9);
  }

  .h-10 {
    height: calc(var(--spacing) * 10);
  }

  .h-14 {
    height: calc(var(--spacing) * 14);
  }

  .h-32 {
    height: calc(var(--spacing) * 32);
  }

  .h-40 {
    height: calc(var(--spacing) * 40);
  }

  .h-dvh {
    height: 100dvh;
  }

  .h-full {
    height: 100%;
  }

  .max-h-12 {
    max-height: calc(var(--spacing) * 12);
  }

  .max-h-40 {
    max-height: calc(var(--spacing) * 40);
  }

  .max-h-64 {
    max-height: calc(var(--spacing) * 64);
  }

  .max-h-96 {
    max-height: calc(var(--spacing) * 96);
  }

  .max-h-\[60vh\] {
    max-height: 60vh;
  }

  .min-h-\[var\(--chip-height\)\] {
    min-height: var(--chip-height);
  }

  .min-h-dvh {
    min-height: 100dvh;
  }

  .w-0 {
    width: calc(var(--spacing) * 0);
  }

  .w-1\.5 {
    width: calc(var(--spacing) * 1.5);
  }

  .w-2 {
    width: calc(var(--spacing) * 2);
  }

  .w-2\.5 {
    width: calc(var(--spacing) * 2.5);
  }

  .w-3 {
    width: calc(var(--spacing) * 3);
  }

  .w-3\.5 {
    width: calc(var(--spacing) * 3.5);
  }

  .w-3\/5 {
    width: 60%;
  }

  .w-4 {
    width: calc(var(--spacing) * 4);
  }

  .w-5 {
    width: calc(var(--spacing) * 5);
  }

  .w-6 {
    width: calc(var(--spacing) * 6);
  }

  .w-7 {
    width: calc(var(--spacing) * 7);
  }

  .w-8 {
    width: calc(var(--spacing) * 8);
  }

  .w-9 {
    width: calc(var(--spacing) * 9);
  }

  .w-10 {
    width: calc(var(--spacing) * 10);
  }

  .w-11 {
    width: calc(var(--spacing) * 11);
  }

  .w-14 {
    width: calc(var(--spacing) * 14);
  }

  .w-32 {
    width: calc(var(--spacing) * 32);
  }

  .w-56 {
    width: calc(var(--spacing) * 56);
  }

  .w-80 {
    width: calc(var(--spacing) * 80);
  }

  .w-auto {
    width: auto;
  }

  .w-fit {
    width: fit-content;
  }

  .w-full {
    width: 100%;
  }

  .max-w-32 {
    max-width: calc(var(--spacing) * 32);
  }

  .max-w-full {
    max-width: 100%;
  }

  .min-w-0 {
    min-width: calc(var(--spacing) * 0);
  }

  .min-w-4 {
    min-width: calc(var(--spacing) * 4);
  }

  .min-w-6 {
    min-width: calc(var(--spacing) * 6);
  }

  .min-w-\[7rem\] {
    min-width: 7rem;
  }

  .min-w-\[9rem\] {
    min-width: 9rem;
  }

  .flex-1 {
    flex: 1;
  }

  .flex-none {
    flex: none;
  }

  .flex-shrink {
    flex-shrink: 1;
  }

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

  .shrink {
    flex-shrink: 1;
  }

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

  .grow {
    flex-grow: 1;
  }

  .origin-top-left {
    transform-origin: 0 0;
  }

  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-0 {
    --tw-translate-x: calc(var(--spacing) * 0);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-5 {
    --tw-translate-x: calc(var(--spacing) * 5);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .-translate-y-1\/2 {
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .animate-spin {
    animation: var(--animate-spin);
  }

  .cursor-grab {
    cursor: grab;
  }

  .cursor-grabbing {
    cursor: grabbing;
  }

  .cursor-not-allowed {
    cursor: not-allowed;
  }

  .cursor-pointer {
    cursor: pointer;
  }

  .touch-pan-y {
    --tw-pan-y: pan-y;
    touch-action: var(--tw-pan-x, ) var(--tw-pan-y, ) var(--tw-pinch-zoom, );
  }

  .touch-none {
    touch-action: none;
  }

  .resize {
    resize: both;
  }

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

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

  .flex-wrap {
    flex-wrap: wrap;
  }

  .items-baseline {
    align-items: baseline;
  }

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

  .items-end {
    align-items: flex-end;
  }

  .items-start {
    align-items: flex-start;
  }

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

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

  .justify-center {
    justify-content: center;
  }

  .gap-0 {
    gap: calc(var(--spacing) * 0);
  }

  .gap-0\.5 {
    gap: calc(var(--spacing) * .5);
  }

  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }

  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  .gap-2\.5 {
    gap: calc(var(--spacing) * 2.5);
  }

  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }

  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }

  .gap-\[2px\] {
    gap: 2px;
  }

  .gap-\[var\(--space-section\)\] {
    gap: var(--space-section);
  }

  .gap-\[var\(--space-stack-lg\)\] {
    gap: var(--space-stack-lg);
  }

  .gap-\[var\(--space-stack-md\)\] {
    gap: var(--space-stack-md);
  }

  .gap-\[var\(--space-stack-sm\)\] {
    gap: var(--space-stack-sm);
  }

  .gap-\[var\(--space-xs\)\] {
    gap: var(--space-xs);
  }

  .gap-base {
    gap: var(--spacing-base);
  }

  .gap-lg {
    gap: var(--spacing-lg);
  }

  .gap-md {
    gap: var(--spacing-md);
  }

  .gap-sm {
    gap: var(--spacing-sm);
  }

  .gap-xs {
    gap: var(--spacing-xs);
  }

  .truncate {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .overflow-x-auto {
    overflow-x: auto;
  }

  .overflow-y-auto {
    overflow-y: auto;
  }

  .rounded {
    border-radius: .25rem;
  }

  .rounded-\[var\(--card-radius\)\] {
    border-radius: var(--card-radius);
  }

  .rounded-\[var\(--radius-card\)\] {
    border-radius: var(--radius-card);
  }

  .rounded-\[var\(--radius-default\)\] {
    border-radius: var(--radius-default);
  }

  .rounded-\[var\(--radius-pill\)\] {
    border-radius: var(--radius-pill);
  }

  .rounded-full {
    border-radius: var(--radius-full);
  }

  .rounded-lg {
    border-radius: var(--radius-lg);
  }

  .rounded-md {
    border-radius: var(--radius-md);
  }

  .rounded-sm {
    border-radius: var(--radius-sm);
  }

  .rounded-xl {
    border-radius: var(--radius-xl);
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-2 {
    border-style: var(--tw-border-style);
    border-width: 2px;
  }

  .border-\[1\.5px\] {
    border-style: var(--tw-border-style);
    border-width: 1.5px;
  }

  .border-x-\[5px\] {
    border-inline-style: var(--tw-border-style);
    border-inline-width: 5px;
  }

  .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-b-\[6px\] {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 6px;
  }

  .border-dashed {
    --tw-border-style: dashed;
    border-style: dashed;
  }

  .border-\[var\(--color-action\)\] {
    border-color: var(--color-action);
  }

  .border-\[var\(--color-border-subtle\)\] {
    border-color: var(--color-border-subtle);
  }

  .border-action {
    border-color: var(--color-action);
  }

  .border-border-strong {
    border-color: var(--color-border-strong);
  }

  .border-border-subtle {
    border-color: var(--color-border-subtle);
  }

  .border-surface {
    border-color: var(--color-surface);
  }

  .border-x-transparent {
    border-inline-color: #0000;
  }

  .border-b-action {
    border-bottom-color: var(--color-action);
  }

  .bg-\[color-mix\(in_srgb\,var\(--color-text-primary\)_60\%\,transparent\)\] {
    background-color: var(--color-text-primary);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-\[color-mix\(in_srgb\,var\(--color-text-primary\)_60\%\,transparent\)\] {
      background-color: color-mix(in srgb, var(--color-text-primary) 60%, transparent);
    }
  }

  .bg-\[var\(--card-bg\)\] {
    background-color: var(--card-bg);
  }

  .bg-\[var\(--color-action\)\] {
    background-color: var(--color-action);
  }

  .bg-\[var\(--color-action-soft-bg\)\] {
    background-color: var(--color-action-soft-bg);
  }

  .bg-\[var\(--color-border-strong\)\] {
    background-color: var(--color-border-strong);
  }

  .bg-\[var\(--color-status-dot-closed\)\] {
    background-color: var(--color-status-dot-closed);
  }

  .bg-\[var\(--color-status-dot-open\)\] {
    background-color: var(--color-status-dot-open);
  }

  .bg-\[var\(--color-surface\)\] {
    background-color: var(--color-surface);
  }

  .bg-\[var\(--color-surface-muted\)\] {
    background-color: var(--color-surface-muted);
  }

  .bg-action {
    background-color: var(--color-action);
  }

  .bg-action-soft-bg {
    background-color: var(--color-action-soft-bg);
  }

  .bg-action\/20 {
    background-color: var(--color-action);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-action\/20 {
      background-color: color-mix(in oklab, var(--color-action) 20%, transparent);
    }
  }

  .bg-action\/30 {
    background-color: var(--color-action);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-action\/30 {
      background-color: color-mix(in oklab, var(--color-action) 30%, transparent);
    }
  }

  .bg-background {
    background-color: var(--color-background);
  }

  .bg-border-subtle {
    background-color: var(--color-border-subtle);
  }

  .bg-feedback-error {
    background-color: var(--color-feedback-error);
  }

  .bg-feedback-error-bg {
    background-color: var(--color-feedback-error-bg);
  }

  .bg-feedback-success-bg {
    background-color: var(--color-feedback-success-bg);
  }

  .bg-feedback-warning-bg {
    background-color: var(--color-feedback-warning-bg);
  }

  .bg-surface {
    background-color: var(--color-surface);
  }

  .bg-surface\! {
    background-color: var(--color-surface) !important;
  }

  .bg-surface-muted {
    background-color: var(--color-surface-muted);
  }

  .bg-surface-sunken {
    background-color: var(--color-surface-sunken);
  }

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

  .bg-transparent {
    background-color: #0000;
  }

  .object-contain {
    object-fit: contain;
  }

  .object-cover {
    object-fit: cover;
  }

  .p-0\.5 {
    padding: calc(var(--spacing) * .5);
  }

  .p-1 {
    padding: calc(var(--spacing) * 1);
  }

  .p-2 {
    padding: calc(var(--spacing) * 2);
  }

  .p-3 {
    padding: calc(var(--spacing) * 3);
  }

  .p-6 {
    padding: calc(var(--spacing) * 6);
  }

  .p-\[var\(--space-page-margin\)\] {
    padding: var(--space-page-margin);
  }

  .p-md {
    padding: var(--spacing-md);
  }

  .p-sm {
    padding: var(--spacing-sm);
  }

  .px-0\.5 {
    padding-inline: calc(var(--spacing) * .5);
  }

  .px-1 {
    padding-inline: calc(var(--spacing) * 1);
  }

  .px-1\.5 {
    padding-inline: calc(var(--spacing) * 1.5);
  }

  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }

  .px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }

  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }

  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }

  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }

  .px-\[var\(--card-padding\)\] {
    padding-inline: var(--card-padding);
  }

  .px-\[var\(--header-padding-x\)\] {
    padding-inline: var(--header-padding-x);
  }

  .px-\[var\(--space-page-margin\)\] {
    padding-inline: var(--space-page-margin);
  }

  .px-\[var\(--space-stack-sm\)\] {
    padding-inline: var(--space-stack-sm);
  }

  .px-base {
    padding-inline: var(--spacing-base);
  }

  .px-sm {
    padding-inline: var(--spacing-sm);
  }

  .py-0\.5 {
    padding-block: calc(var(--spacing) * .5);
  }

  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }

  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }

  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }

  .py-\[var\(--space-stack-md\)\] {
    padding-block: var(--space-stack-md);
  }

  .py-\[var\(--space-stack-sm\)\] {
    padding-block: var(--space-stack-sm);
  }

  .py-lg {
    padding-block: var(--spacing-lg);
  }

  .py-sm {
    padding-block: var(--spacing-sm);
  }

  .py-xs {
    padding-block: var(--spacing-xs);
  }

  .pt-0 {
    padding-top: calc(var(--spacing) * 0);
  }

  .pt-\[calc\(var\(--space-stack-xl\)\+2\.5rem\+env\(safe-area-inset-top\)\)\] {
    padding-top: calc(var(--space-stack-xl)  + 2.5rem + env(safe-area-inset-top));
  }

  .pt-\[env\(safe-area-inset-top\)\] {
    padding-top: env(safe-area-inset-top);
  }

  .pt-\[var\(--space-stack-sm\)\] {
    padding-top: var(--space-stack-sm);
  }

  .pt-sm {
    padding-top: var(--spacing-sm);
  }

  .pt-xl {
    padding-top: var(--spacing-xl);
  }

  .pr-1\.25 {
    padding-right: calc(var(--spacing) * 1.25);
  }

  .pb-24 {
    padding-bottom: calc(var(--spacing) * 24);
  }

  .pb-\[calc\(6rem\+env\(safe-area-inset-bottom\)\)\] {
    padding-bottom: calc(6rem + env(safe-area-inset-bottom));
  }

  .pb-\[calc\(var\(--space-page-margin\)\+env\(safe-area-inset-bottom\)\)\]\! {
    padding-bottom: calc(var(--space-page-margin)  + env(safe-area-inset-bottom)) !important;
  }

  .pb-base {
    padding-bottom: var(--spacing-base);
  }

  .pb-lg {
    padding-bottom: var(--spacing-lg);
  }

  .pb-sm {
    padding-bottom: var(--spacing-sm);
  }

  .pb-sm\! {
    padding-bottom: var(--spacing-sm) !important;
  }

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

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

  .text-right {
    text-align: right;
  }

  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }

  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }

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

  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .text-\(length\:--type-label-size\) {
    font-size: var(--type-label-size);
  }

  .text-\[10px\] {
    font-size: 10px;
  }

  .text-\[11px\] {
    font-size: 11px;
  }

  .text-\[length\:var\(--type-body-md-size\)\] {
    font-size: var(--type-body-md-size);
  }

  .text-\[length\:var\(--type-body-sm-size\)\] {
    font-size: var(--type-body-sm-size);
  }

  .text-\[length\:var\(--type-h2-size\)\] {
    font-size: var(--type-h2-size);
  }

  .text-\[length\:var\(--type-h3-size\)\] {
    font-size: var(--type-h3-size);
  }

  .text-\[length\:var\(--type-label-size\)\] {
    font-size: var(--type-label-size);
  }

  .leading-\[1\.4\] {
    --tw-leading: 1.4;
    line-height: 1.4;
  }

  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }

  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }

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

  .wrap-break-word {
    overflow-wrap: break-word;
  }

  .hyphens-auto {
    -webkit-hyphens: auto;
    hyphens: auto;
  }

  .whitespace-pre-line {
    white-space: pre-line;
  }

  .text-\[var\(--color-status-dot-open-text\)\] {
    color: var(--color-status-dot-open-text);
  }

  .text-\[var\(--color-text-muted\)\] {
    color: var(--color-text-muted);
  }

  .text-\[var\(--color-text-on-action\)\] {
    color: var(--color-text-on-action);
  }

  .text-\[var\(--color-text-primary\)\] {
    color: var(--color-text-primary);
  }

  .text-\[var\(--color-text-secondary\)\] {
    color: var(--color-text-secondary);
  }

  .text-\[var\(--type-body-md-size\)\] {
    color: var(--type-body-md-size);
  }

  .text-action {
    color: var(--color-action);
  }

  .text-action-soft-text {
    color: var(--color-action-soft-text);
  }

  .text-feedback-error {
    color: var(--color-feedback-error);
  }

  .text-feedback-warning {
    color: var(--color-feedback-warning);
  }

  .text-text-muted {
    color: var(--color-text-muted);
  }

  .text-text-on-action {
    color: var(--color-text-on-action);
  }

  .text-text-primary {
    color: var(--color-text-primary);
  }

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

  .capitalize {
    text-transform: capitalize;
  }

  .lowercase {
    text-transform: lowercase;
  }

  .uppercase {
    text-transform: uppercase;
  }

  .italic {
    font-style: italic;
  }

  .underline-offset-2 {
    text-underline-offset: 2px;
  }

  .opacity-0 {
    opacity: 0;
  }

  .opacity-20 {
    opacity: .2;
  }

  .opacity-50 {
    opacity: .5;
  }

  .opacity-60 {
    opacity: .6;
  }

  .opacity-80 {
    opacity: .8;
  }

  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[inset_0_0_0_3px_var\(--card-bg\)\] {
    --tw-shadow: inset 0 0 0 3px var(--tw-shadow-color, var(--card-bg));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

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

  .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 {
    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-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-opacity {
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .duration-200 {
    --tw-duration: .2s;
    transition-duration: .2s;
  }

  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }

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

  .\[clip-path\:circle\(50\%\)\] {
    clip-path: circle(50%);
  }

  .peer-focus-visible\:outline-2:is(:where(.peer):focus-visible ~ *) {
    outline-style: var(--tw-outline-style);
    outline-width: 2px;
  }

  .peer-focus-visible\:outline-offset-2:is(:where(.peer):focus-visible ~ *) {
    outline-offset: 2px;
  }

  .peer-focus-visible\:outline-\[var\(--color-border-focus\)\]:is(:where(.peer):focus-visible ~ *) {
    outline-color: var(--color-border-focus);
  }

  @media (hover: hover) {
    .hover\:border-border-strong:hover {
      border-color: var(--color-border-strong);
    }

    .hover\:bg-\[var\(--color-surface-sunken\)\]:hover {
      background-color: var(--color-surface-sunken);
    }

    .hover\:bg-surface-muted:hover {
      background-color: var(--color-surface-muted);
    }

    .hover\:text-feedback-error:hover {
      color: var(--color-feedback-error);
    }

    .hover\:underline:hover {
      text-decoration-line: underline;
    }
  }

  .focus-visible\:ring-2:focus-visible {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus-visible\:ring-\[var\(--color-action\)\]:focus-visible {
    --tw-ring-color: var(--color-action);
  }

  .focus-visible\:ring-offset-2:focus-visible {
    --tw-ring-offset-width: 2px;
    --tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  }

  .focus-visible\:outline-2:focus-visible {
    outline-style: var(--tw-outline-style);
    outline-width: 2px;
  }

  .focus-visible\:outline-offset-2:focus-visible {
    outline-offset: 2px;
  }

  .focus-visible\:outline-\[var\(--color-border-focus\)\]:focus-visible {
    outline-color: var(--color-border-focus);
  }

  .focus-visible\:outline-none:focus-visible {
    --tw-outline-style: none;
    outline-style: none;
  }

  .active\:cursor-grabbing:active {
    cursor: grabbing;
  }

  .active\:bg-surface-sunken:active {
    background-color: var(--color-surface-sunken);
  }

  .disabled\:pointer-events-none:disabled {
    pointer-events: none;
  }

  .disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed;
  }

  .disabled\:opacity-40:disabled {
    opacity: .4;
  }

  .disabled\:opacity-50:disabled {
    opacity: .5;
  }

  .disabled\:opacity-60:disabled {
    opacity: .6;
  }

  @media (pointer: coarse) {
    .pointer-coarse\:h-40 {
      height: calc(var(--spacing) * 40);
    }

    .pointer-coarse\:w-40 {
      width: calc(var(--spacing) * 40);
    }
  }

  .\[\&_\.CountryList\]\:top-auto\! .CountryList {
    top: auto !important;
  }

  .\[\&_\.CountryList\]\:bottom-full\! .CountryList {
    bottom: 100% !important;
  }

  .\[\&_\.CountryList\]\:z-40\! .CountryList {
    z-index: 40 !important;
  }

  .max-w-xs {
    max-width: 20rem;
  }

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

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

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

  .max-w-xl {
    max-width: 36rem;
  }

  .max-w-2xl {
    max-width: 42rem;
  }

  .max-w-3xl {
    max-width: 48rem;
  }

  .max-w-4xl {
    max-width: 56rem;
  }

  .max-w-5xl {
    max-width: 64rem;
  }

  .max-w-6xl {
    max-width: 72rem;
  }

  .max-w-7xl {
    max-width: 80rem;
  }

  .max-w-prose {
    max-width: 65ch;
  }
}

@font-face {
  font-family: Public Sans;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/PublicSans-Regular-8Rpg0ruU.woff2") format("woff2");
}

@font-face {
  font-family: Public Sans;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/PublicSans-Medium-NlrCPXnF.woff2") format("woff2");
}

@font-face {
  font-family: Public Sans;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/PublicSans-SemiBold-Fru-LXNs.woff2") format("woff2");
}

:root {
  --primitive-color-primary: #316342;
  --primitive-color-on-primary: #fff;
  --primitive-color-primary-container: #4a7c59;
  --primitive-color-on-primary-container: #e1ffe5;
  --primitive-color-primary-fixed: #b9efc5;
  --primitive-color-primary-fixed-dim: #9dd3aa;
  --primitive-color-on-primary-fixed: #00210e;
  --primitive-color-on-primary-fixed-variant: #1e5031;
  --primitive-color-inverse-primary: #9dd3aa;
  --primitive-color-surface-tint: #376847;
  --primitive-color-secondary: #5f5f51;
  --primitive-color-on-secondary: #fff;
  --primitive-color-secondary-container: #e2e1ce;
  --primitive-color-on-secondary-container: #636455;
  --primitive-color-secondary-fixed: #e4e3d1;
  --primitive-color-secondary-fixed-dim: #c8c7b6;
  --primitive-color-on-secondary-fixed: #1b1c11;
  --primitive-color-on-secondary-fixed-variant: #47483a;
  --primitive-color-tertiary: #834751;
  --primitive-color-on-tertiary: #fff;
  --primitive-color-tertiary-container: #9f5f69;
  --primitive-color-on-tertiary-container: #fff5f5;
  --primitive-color-tertiary-fixed: #ffd9dd;
  --primitive-color-tertiary-fixed-dim: #ffb2bc;
  --primitive-color-on-tertiary-fixed: #380b16;
  --primitive-color-on-tertiary-fixed-variant: #6d363f;
  --primitive-color-error: #ba1a1a;
  --primitive-color-on-error: #fff;
  --primitive-color-error-container: #ffdad6;
  --primitive-color-on-error-container: #93000a;
  --primitive-color-warning: #9a6f00;
  --primitive-color-on-warning: #fff;
  --primitive-color-warning-container: #ffd87a;
  --primitive-color-on-warning-container: #2e2000;
  --primitive-color-warning-fixed: #fff0c2;
  --primitive-color-on-warning-fixed-variant: #523c00;
  --primitive-color-accent: #c75c2e;
  --primitive-color-on-accent: #fff;
  --primitive-color-background: #f8faf5;
  --primitive-color-on-background: #191c19;
  --primitive-color-surface: #f8faf5;
  --primitive-color-surface-dim: #d9dbd6;
  --primitive-color-surface-bright: #f8faf5;
  --primitive-color-surface-container-lowest: #fff;
  --primitive-color-surface-container-low: #f3f4ef;
  --primitive-color-surface-container: #edeee9;
  --primitive-color-surface-container-high: #e7e9e4;
  --primitive-color-surface-container-highest: #e1e3de;
  --primitive-color-surface-variant: #e1e3de;
  --primitive-color-on-surface: #191c19;
  --primitive-color-on-surface-variant: #414942;
  --primitive-color-inverse-surface: #2e312e;
  --primitive-color-inverse-on-surface: #f0f1ec;
  --primitive-color-outline: #717971;
  --primitive-color-outline-variant: #c1c9bf;
  --primitive-space-0: 0;
  --primitive-space-xs: 4px;
  --primitive-space-base: 8px;
  --primitive-space-sm: 12px;
  --primitive-space-md: 24px;
  --primitive-space-lg: 40px;
  --primitive-space-xl: 64px;
  --primitive-radius-none: 0;
  --primitive-radius-default: .25rem;
  --primitive-radius-lg: .5rem;
  --primitive-radius-xl: .75rem;
  --primitive-radius-full: 9999px;
  --primitive-font-base: "Public Sans", system-ui, -apple-system, sans-serif;
  --primitive-weight-regular: 400;
  --primitive-weight-medium: 500;
  --primitive-weight-semibold: 600;
  --primitive-weight-bold: 700;
  --primitive-container-max: 1440px;
  --primitive-grid-columns: 12;
  --primitive-grid-gutter: 24px;
  --primitive-duration-instant: 80ms;
  --primitive-duration-fast: .12s;
  --primitive-duration-base: .18s;
  --primitive-duration-slow: .28s;
  --primitive-easing-standard: cubic-bezier(.2, 0, 0, 1);
  --primitive-easing-emphasized: cubic-bezier(.3, 0, 0, 1);
  --color-background: var(--primitive-color-background);
  --color-surface: var(--primitive-color-surface-container-lowest);
  --color-surface-muted: var(--primitive-color-surface-container-low);
  --color-surface-sunken: var(--primitive-color-surface-container);
  --color-surface-elevated: var(--primitive-color-surface-container-lowest);
  --color-surface-inverse: var(--primitive-color-inverse-surface);
  --color-text-primary: var(--primitive-color-on-surface);
  --color-text-secondary: var(--primitive-color-on-surface-variant);
  --color-text-muted: var(--primitive-color-outline);
  --color-text-inverse: var(--primitive-color-inverse-on-surface);
  --color-text-on-action: var(--brand-on-primary, var(--primitive-color-on-primary));
  --color-border-subtle: var(--primitive-color-outline-variant);
  --color-border-strong: var(--primitive-color-outline);
  --color-border-focus: #8ab0dd;
  --color-action: var(--brand-primary, var(--primitive-color-primary-container));
  --color-action-hover: #1e3a6e;
  --color-action-pressed: #152b50;
  --color-action-disabled: var(--primitive-color-outline-variant);
  --color-action-on: var(--brand-on-primary, var(--primitive-color-on-primary));
  --color-action-soft-bg: #dbe8f5;
  --color-action-soft-text: #1e3a6e;
  --color-action-secondary: var(--primitive-color-secondary);
  --color-action-secondary-on: var(--primitive-color-on-secondary);
  --color-action-secondary-soft-bg: var(--primitive-color-secondary-container);
  --color-action-secondary-soft-text: var(--primitive-color-on-secondary-container);
  --color-status-received-bg: var(--primitive-color-secondary-fixed);
  --color-status-received-text: var(--primitive-color-on-secondary-fixed-variant);
  --color-status-in-progress-bg: var(--primitive-color-warning-fixed);
  --color-status-in-progress-text: var(--primitive-color-on-warning-fixed-variant);
  --color-status-complete-bg: var(--primitive-color-primary-fixed);
  --color-status-complete-text: var(--primitive-color-on-primary-fixed-variant);
  --color-status-overdue-bg: var(--primitive-color-error-container);
  --color-status-overdue-text: var(--primitive-color-on-error-container);
  --color-status-awaiting-samples-bg: #dbeafe;
  --color-status-awaiting-samples-text: #1e40af;
  --color-status-cancelled-bg: #f3f4f6;
  --color-status-cancelled-text: #6b7280;
  --color-status-dot-open: #98d7bb;
  --color-status-dot-open-text: #46b684;
  --color-status-dot-closed: #ddd;
  --color-feedback-success: var(--primitive-color-on-primary-fixed-variant);
  --color-feedback-success-bg: var(--primitive-color-primary-fixed);
  --color-feedback-warning: var(--primitive-color-on-warning-fixed-variant);
  --color-feedback-warning-bg: var(--primitive-color-warning-fixed);
  --color-feedback-error: var(--primitive-color-error);
  --color-feedback-error-bg: var(--primitive-color-error-container);
  --color-feedback-info: var(--primitive-color-primary);
  --color-feedback-info-bg: var(--primitive-color-on-primary-container);
  --space-xs: var(--primitive-space-xs);
  --space-base: var(--primitive-space-base);
  --space-sm: var(--primitive-space-sm);
  --space-md: var(--primitive-space-md);
  --space-lg: var(--primitive-space-lg);
  --space-xl: var(--primitive-space-xl);
  --space-stack-xs: var(--primitive-space-base);
  --space-stack-sm: var(--primitive-space-sm);
  --space-stack-md: var(--primitive-space-md);
  --space-stack-lg: var(--primitive-space-lg);
  --space-stack-xl: var(--primitive-space-xl);
  --space-page-margin: 16px;
  --space-section: var(--primitive-space-xl);
  --space-grid-gutter: var(--primitive-grid-gutter);
  --radius-default: var(--primitive-radius-lg);
  --radius-card: var(--primitive-radius-lg);
  --radius-overlay: var(--primitive-radius-xl);
  --radius-pill: var(--primitive-radius-full);
  --type-h1-family: var(--primitive-font-base);
  --type-h1-size: 32px;
  --type-h1-weight: var(--primitive-weight-semibold);
  --type-h1-line-height: 1.25;
  --type-h2-family: var(--primitive-font-base);
  --type-h2-size: 24px;
  --type-h2-weight: var(--primitive-weight-semibold);
  --type-h2-line-height: 1.3;
  --type-h3-family: var(--primitive-font-base);
  --type-h3-size: 20px;
  --type-h3-weight: var(--primitive-weight-semibold);
  --type-h3-line-height: 1.4;
  --type-body-lg-family: var(--primitive-font-base);
  --type-body-lg-size: 20px;
  --type-body-lg-weight: var(--primitive-weight-regular);
  --type-body-lg-line-height: 1.6;
  --type-body-md-family: var(--primitive-font-base);
  --type-body-md-size: 18px;
  --type-body-md-weight: var(--primitive-weight-regular);
  --type-body-md-line-height: 1.55;
  --type-body-sm-family: var(--primitive-font-base);
  --type-body-sm-size: 15px;
  --type-body-sm-weight: var(--primitive-weight-regular);
  --type-body-sm-line-height: 1.45;
  --type-label-family: var(--primitive-font-base);
  --type-label-size: 16px;
  --type-label-weight: var(--primitive-weight-semibold);
  --type-label-line-height: 1.4;
  --type-code-id-family: var(--primitive-font-base);
  --type-code-id-size: 14px;
  --type-code-id-weight: var(--primitive-weight-semibold);
  --type-code-id-line-height: 1;
  --type-code-id-letter-spacing: .05em;
  --type-code-id-text-transform: uppercase;
  --shadow-modal: 0 10px 25px #4a3c301a;
  --shadow-popover: 0 4px 12px #4a3c3014;
  --motion-duration-fast: var(--primitive-duration-fast);
  --motion-duration-base: var(--primitive-duration-base);
  --motion-duration-slow: var(--primitive-duration-slow);
  --motion-easing: var(--primitive-easing-standard);
  --motion-easing-emphasized: var(--primitive-easing-emphasized);
  --button-height-sm: 40px;
  --button-height-md: 48px;
  --button-height-lg: 56px;
  --button-padding-x-md: var(--space-md);
  --button-padding-x-sm: var(--space-sm);
  --button-radius: var(--radius-card);
  --button-font: var(--primitive-font-base);
  --button-font-weight: var(--primitive-weight-semibold);
  --button-font-size: 16px;
  --button-border-width: 1px;
  --input-height: 48px;
  --input-padding-x: var(--space-sm);
  --input-radius: var(--radius-default);
  --input-border-width: 1px;
  --input-bg: var(--color-surface);
  --input-border: var(--color-border-subtle);
  --input-border-focus: var(--color-border-focus);
  --input-text: var(--color-text-primary);
  --input-placeholder: var(--color-text-muted);
  --input-font-size: 16px;
  --card-bg: var(--color-surface);
  --card-border: var(--color-border-subtle);
  --card-border-width: 1px;
  --card-radius: var(--radius-card);
  --card-padding: var(--space-md);
  --chip-height: 24px;
  --chip-padding-x: var(--space-sm);
  --chip-radius: var(--radius-pill);
  --chip-border-width: 1px;
  --chip-font-size: 11px;
  --chip-font-weight: var(--primitive-weight-semibold);
  --chip-text-transform: uppercase;
  --chip-letter-spacing: .05em;
  --nav-width-expanded: 220px;
  --nav-width-collapsed: 72px;
  --nav-bg: var(--color-surface-muted);
  --nav-border: var(--color-border-subtle);
  --nav-item-height: 48px;
  --nav-item-padding-x: var(--space-md);
  --nav-item-radius: var(--radius-card);
  --nav-item-active-bg: var(--brand-nav-active-bg, var(--primitive-color-primary-fixed));
  --nav-item-active-text: var(--brand-nav-active-text, var(--primitive-color-on-primary-fixed-variant));
  --nav-icon-size: 22px;
  --nav-transition-duration: var(--motion-duration-base);
  --submit-form-step-size: 32px;
  --submit-form-step-size-sm: 24px;
  --submit-form-step-bg-pending: var(--primitive-color-surface-container-high);
  --submit-form-step-text-pending: var(--color-text-muted);
  --submit-form-step-bg-active: var(--color-action);
  --submit-form-step-text-active: var(--color-action-on);
  --submit-form-step-bg-done: var(--color-action-soft-bg);
  --submit-form-step-text-done: var(--color-action-soft-text);
  --submit-form-connector-color: var(--color-border-subtle);
  --submit-form-connector-color-done: var(--color-action-soft-bg);
  --submit-form-gap: var(--space-stack-lg);
  --sample-status-track-color: var(--primitive-color-surface-container-high);
  --sample-status-fill-color: var(--color-action);
  --sample-status-track-height: 6px;
  --sample-status-icon-size: 20px;
  --sample-status-label-size: var(--type-body-sm-size);
  --result-card-radius: var(--card-radius);
  --result-card-padding: var(--card-padding);
  --result-card-icon-size: 24px;
  --invoice-summary-radius: var(--card-radius);
  --invoice-summary-padding: var(--card-padding);
  --invoice-summary-divider: var(--color-border-subtle);
  --invoice-summary-total-size: var(--type-h3-size);
  --invoice-summary-total-weight: var(--primitive-weight-semibold);
  --empty-state-icon-size: 48px;
  --empty-state-icon-color: var(--color-text-muted);
  --empty-state-gap: var(--space-stack-sm);
  --empty-state-max-width: 360px;
  --modal-bg: var(--color-surface);
  --modal-border: var(--color-border-subtle);
  --modal-border-width: 1px;
  --modal-radius: var(--radius-overlay);
  --modal-padding: var(--space-md);
  --modal-shadow: var(--shadow-modal);
  --modal-max-width: 480px;
  --modal-backdrop: #4a3c3066;
  --nav-bottom-height: var(--input-height);
  --nav-bottom-radius: var(--radius-card);
  --nav-bottom-shadow: var(--shadow-popover);
  --nav-bottom-margin-x: var(--space-page-margin);
  --nav-bottom-margin-bottom: var(--space-page-margin);
  --nav-bottom-padding-x: var(--space-page-margin);
  --nav-bottom-padding-y: var(--space-stack-sm);
  --nav-bottom-item-content-width: 64px;
  --nav-bottom-icon-padding-y: var(--space-xs);
  --nav-bottom-icon-active-bg: var(--nav-item-active-bg);
  --nav-bottom-icon-active-text: var(--nav-item-active-text);
  --nav-bottom-indicator-duration: var(--motion-duration-base);
  --nav-bottom-indicator-easing: var(--motion-easing-emphasized);
  --header-gap: var(--space-sm);
  --header-padding-x: var(--space-page-margin);
  --header-padding-y: var(--space-sm);
  --header-title-size: var(--type-h3-size);
  --header-title-weight: var(--type-h3-weight);
  --header-title-line-height: var(--type-h3-line-height);
  --header-circle-size: 40px;
  --brand-primary: #2a4d8f;
  --brand-on-primary: #fff;
  --brand-nav-active-bg: #dbe8f5;
  --brand-nav-active-text: #1e3a6e;
}

@layer lab-components;

:root {
  color: var(--color-text-primary);
  font-size: 16px;
}

.s-vee-form-field {
  margin-bottom: 16px;
}

.s-vee-form-field > label {
  margin-bottom: calc(var(--spacing) * 2);
  font-family: var(--type-label-family);
  font-size: var(--type-label-size);
  font-weight: var(--type-label-weight);
  line-height: var(--type-label-line-height);
  color: var(--color-text-secondary);
  display: block;
}

.s-vee-form-field input, .s-vee-form-field textarea, .s-vee-form-field select {
  width: 100%;
  height: var(--input-height);
  padding: 0 var(--input-padding-x);
  background: var(--input-bg);
  color: var(--input-text);
  border: var(--input-border-width) solid var(--input-border);
  border-radius: var(--input-radius);
  font-family: var(--primitive-font-base);
  font-size: var(--input-font-size);
  transition: border-color var(--motion-duration-fast) var(--motion-easing);
}

.s-vee-form-field input::placeholder, .s-vee-form-field textarea::placeholder {
  color: var(--input-placeholder);
}

.s-vee-form-field input:hover, .s-vee-form-field textarea:hover, .s-vee-form-field select:hover {
  border-color: var(--color-border-strong);
}

.s-vee-form-field input:focus-visible, .s-vee-form-field textarea:focus-visible, .s-vee-form-field select:focus-visible {
  outline: 2px solid var(--input-border-focus);
  outline-offset: 1px;
  border-color: var(--input-border-focus);
}

.s-vee-form-field input:disabled, .s-vee-form-field textarea:disabled, .s-vee-form-field select:disabled {
  background: var(--color-surface-muted);
  color: var(--color-text-secondary);
  opacity: .6;
  cursor: not-allowed;
}

.s-vee-form-field textarea {
  height: auto;
  min-height: 112px;
  padding: var(--space-stack-sm) var(--input-padding-x);
}

.s-vee-form-field .unit-label {
  color: var(--color-text-muted);
}

.s-vee-form-field span[role="alert"] {
  margin-top: var(--space-stack-xs);
  font-size: var(--type-body-sm-size);
  color: var(--color-feedback-error);
  display: block;
}

.s-vee-phone-field input {
  height: var(--input-height);
  font-size: var(--input-font-size);
}

.card {
  background: var(--card-bg);
  border: var(--card-border-width) solid var(--card-border);
  border-radius: var(--card-radius);
  padding: var(--card-padding);
}

.card-header {
  margin-bottom: var(--space-stack-md);
}

.card-title {
  font-family: var(--type-h3-family);
  font-size: var(--type-h3-size);
  font-weight: var(--type-h3-weight);
  line-height: var(--type-h3-line-height);
  color: var(--color-text-primary);
  margin: 0;
}

.card-subtitle {
  font-family: var(--type-body-sm-family);
  font-size: var(--type-body-sm-size);
  color: var(--color-text-secondary);
  margin: var(--space-stack-xs) 0 0;
}

.card-interactive {
  color: inherit;
  cursor: pointer;
  transition: border-color var(--motion-duration-fast) var(--motion-easing), background var(--motion-duration-fast) var(--motion-easing);
  text-decoration: none;
  display: block;
}

.card-interactive:hover {
  border-color: var(--color-border-strong);
}

.card-interactive:active {
  background: var(--color-surface-sunken);
}

.card-interactive:focus-visible {
  outline: 2px solid var(--color-border-focus);
  outline-offset: 2px;
}

.card-selected {
  border-width: 2px;
  border-color: var(--color-border-focus);
}

.card-inset {
  background: var(--color-surface-muted);
  border-radius: var(--card-radius);
  padding: var(--card-padding);
  border: 0;
}

.card-compact {
  padding: var(--space-sm);
  padding-bottom: var(--space-base);
}

.nav {
  width: var(--nav-width-expanded);
  background: var(--nav-bg);
  border-right: 1px solid var(--nav-border);
  height: 100dvh;
  transition: width var(--nav-transition-duration) var(--motion-easing);
  flex-direction: column;
  flex-shrink: 0;
  display: flex;
  position: sticky;
  top: 0;
}

@media (max-width: 767px) {
  .nav {
    display: none;
  }
}

.nav[data-state="collapsed"] {
  width: var(--nav-width-collapsed);
}

.nav-brand {
  align-items: center;
  gap: var(--space-stack-sm);
  padding: var(--space-stack-md);
  border-bottom: 1px solid var(--color-border-subtle);
  display: flex;
}

.nav-brand-name {
  font-size: var(--type-h3-size);
  font-weight: var(--primitive-weight-semibold);
  color: var(--color-text-primary);
}

.nav-list {
  padding: var(--space-stack-sm);
  gap: var(--space-stack-xs);
  flex-direction: column;
  margin: 0;
  list-style: none;
  display: flex;
}

.nav-list-secondary {
  border-top: 1px solid var(--color-border-subtle);
  padding-top: var(--space-stack-sm);
  margin-top: auto;
}

.nav-item {
  align-items: center;
  gap: var(--space-stack-md);
  height: var(--nav-item-height);
  padding: 0 var(--nav-item-padding-x);
  border-radius: var(--nav-item-radius);
  color: var(--color-text-secondary);
  font-size: var(--type-body-sm-size);
  cursor: pointer;
  text-decoration: none;
  display: flex;
}

.nav-item:hover {
  background: var(--color-surface-sunken);
  color: var(--color-text-primary);
}

.nav-item:focus-visible {
  outline: 2px solid var(--color-border-focus);
  outline-offset: 2px;
}

.nav-item[aria-current="page"] {
  background: var(--nav-item-active-bg);
  color: var(--nav-item-active-text);
  font-weight: var(--primitive-weight-semibold);
}

.nav-item-icon {
  font-size: var(--nav-icon-size);
  flex-shrink: 0;
}

.nav-item-icon svg, .nav-bottom-item svg {
  width: var(--nav-icon-size);
  height: var(--nav-icon-size);
}

.nav[data-state="collapsed"] .nav-item {
  justify-content: center;
  padding: 0;
}

.nav[data-state="collapsed"] .nav-item-label, .nav[data-state="collapsed"] .nav-brand-name {
  display: none;
}

.nav-bottom-wrap {
  left: 50%;
  bottom: var(--nav-bottom-margin-bottom);
  width: calc(100% - 2 * var(--nav-bottom-margin-x));
  z-index: 30;
  transition: transform var(--nav-transition-duration) var(--motion-easing), opacity var(--nav-transition-duration) var(--motion-easing);
  position: fixed;
  transform: translateX(-50%);
}

.nav-bottom-wrap.is-hidden {
  transform: translateX(-50%) translateY(calc(100% + var(--nav-bottom-margin-bottom)));
  opacity: 0;
  pointer-events: none;
}

.nav-bottom-wrap--primary {
  gap: var(--nav-bottom-padding-y);
  width: 100%;
  padding: var(--nav-bottom-padding-y) var(--nav-bottom-padding-x) calc(var(--nav-bottom-padding-y)  + env(safe-area-inset-bottom));
  background: var(--nav-bg);
  border-top: 1px solid var(--nav-border);
  box-shadow: var(--nav-bottom-shadow);
  flex-direction: column;
  display: flex;
  bottom: 0;
  left: 0;
  right: 0;
  transform: none;
}

.nav-bottom-wrap--primary.is-hidden {
  transform: translateY(calc(100% + env(safe-area-inset-bottom)));
}

.nav-bottom-wrap--full {
  width: auto;
  padding: var(--nav-bottom-padding-y) var(--nav-bottom-padding-x) calc(var(--nav-bottom-padding-y)  + env(safe-area-inset-bottom));
  background: var(--nav-bg);
  border-top: 1px solid var(--nav-border);
  box-shadow: var(--nav-bottom-shadow);
  bottom: 0;
  left: 0;
  right: 0;
  transform: none;
}

.nav-bottom-wrap--full.is-hidden {
  transform: translateY(calc(100% + env(safe-area-inset-bottom)));
}

.nav-bottom-wrap .theme-neutral {
  background: var(--color-background);
}

.nav-bottom {
  height: var(--nav-bottom-height);
  flex: 1;
  align-items: center;
  display: flex;
  position: relative;
}

.nav-bottom-item {
  color: var(--color-text-secondary);
  cursor: pointer;
  flex: 1;
  justify-content: center;
  align-items: center;
  font-size: 12px;
  text-decoration: none;
  display: flex;
  position: relative;
}

.nav-bottom-item-content {
  width: var(--nav-bottom-item-content-width);
  padding: var(--nav-bottom-icon-padding-y) 0;
  white-space: nowrap;
  transition: color var(--nav-transition-duration) var(--motion-easing);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2px;
  display: flex;
}

.nav-bottom-item-icon {
  justify-content: center;
  align-items: center;
  display: flex;
}

.nav-bottom-item[aria-current="page"] {
  font-weight: var(--primitive-weight-semibold);
}

.nav-bottom-item[aria-current="page"] .nav-bottom-item-content {
  color: var(--nav-bottom-icon-active-text);
}

.nav-bottom-item:focus-visible {
  outline: 2px solid var(--color-border-focus);
  outline-offset: -2px;
}

.nav-bottom.nav-bottom--action {
  box-shadow: none;
  background: none;
  border: 0;
  padding: 0;
}

.nav-pill {
  align-items: center;
  gap: var(--space-xs);
  height: var(--nav-bottom-height);
  padding: 0 var(--input-padding-x);
  border-radius: var(--nav-bottom-radius);
  background: var(--input-bg);
  border: 1px solid var(--nav-border);
  will-change: transform;
  flex: none;
  display: flex;
  transform: translateZ(0);
}

.nav-search-pill {
  flex: auto;
  min-width: 0;
  overflow: hidden;
}

.nav-search-icon {
  width: var(--nav-icon-size);
  height: var(--nav-icon-size);
  color: var(--color-text-secondary);
  flex: none;
}

.nav-search-input {
  min-width: 0;
  color: var(--color-text-primary);
  background: none;
  border: 0;
  flex: auto;
  font-size: 16px;
}

.nav-search-input:focus {
  outline: none;
}

.nav-search-input::-webkit-search-cancel-button {
  appearance: none;
  display: none;
}

.nav-search-input::placeholder {
  color: var(--color-text-muted);
}

.nav-circle {
  width: var(--nav-bottom-height);
  height: var(--nav-bottom-height);
  color: var(--color-text-secondary);
  background: var(--input-bg);
  border: 1px solid var(--nav-border);
  border-radius: var(--nav-bottom-radius);
  cursor: pointer;
  will-change: transform;
  flex: none;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
  transform: translateZ(0);
}

.nav-circle svg {
  width: var(--nav-icon-size);
  height: var(--nav-icon-size);
}

.nav-circle:focus-visible {
  outline: 2px solid var(--color-border-focus);
  outline-offset: 2px;
}

.nav-circle:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.nav-circle--create {
  background: var(--color-action);
  border-color: var(--color-action);
  color: var(--color-text-on-action);
}

.nav-icon-action {
  color: var(--color-action);
}

.nav-circle--create .nav-icon-action {
  color: var(--color-text-on-action);
}

@media (min-width: 768px) {
  .nav-bottom-wrap--primary {
    display: none;
  }

  .nav-bottom-wrap:not(.nav-bottom-wrap--primary):not(.nav-bottom-wrap--full) {
    left: calc(50% + var(--nav-width-expanded) / 2);
    width: calc(100% - var(--nav-width-expanded)  - 2 * var(--nav-bottom-margin-x));
  }

  .nav-bottom-wrap--full {
    left: var(--nav-width-expanded);
  }
}

main > * {
  background: var(--color-background);
}

.page-scroll {
  padding: var(--space-page-margin);
  padding-bottom: max(calc(2 * var(--nav-bottom-height)  + 3 * var(--nav-bottom-padding-y)  + env(safe-area-inset-bottom)  + var(--space-page-margin)  + 100px), calc(var(--nav-bottom-action-buttons, 1) * var(--button-height-lg)  + (var(--nav-bottom-action-buttons, 1)  - 1) * var(--space-sm)  + var(--nav-bottom-margin-bottom)  + env(safe-area-inset-bottom)  + var(--space-page-margin)  + 100px));
}

@media (min-width: 768px) {
  .page-scroll {
    padding-bottom: calc(var(--nav-bottom-action-buttons, 1) * var(--button-height-lg)  + (var(--nav-bottom-action-buttons, 1)  - 1) * var(--space-sm)  + var(--nav-bottom-margin-bottom)  + env(safe-area-inset-bottom)  + var(--space-page-margin)  + 100px);
  }
}

.page-scroll--flow-action {
  padding-bottom: calc(var(--space-page-margin)  + env(safe-area-inset-bottom));
}

.page-header {
  align-items: center;
  gap: var(--header-gap);
  padding: var(--header-padding-y) var(--header-padding-x);
  padding-top: calc(var(--header-padding-y)  + env(safe-area-inset-top));
  z-index: 20;
  background: var(--color-background);
  display: flex;
  position: sticky;
  top: 0;
}

.page-header--stacked {
  align-items: stretch;
  gap: var(--space-stack-xs);
  padding-bottom: var(--space-base);
  flex-direction: column;
}

.page-header-row {
  align-items: center;
  gap: var(--header-gap);
  flex: auto;
  min-width: 0;
  display: flex;
}

.page-header-back-label {
  min-width: 0;
  font-size: var(--type-body-sm-size);
  color: var(--color-text-secondary);
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: auto;
  overflow: hidden;
}

.page-header-title {
  min-width: 0;
  font-size: var(--header-title-size);
  font-weight: var(--header-title-weight);
  line-height: var(--header-title-line-height);
  color: var(--color-text-primary);
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: auto;
  overflow: hidden;
}

.page-header-circle {
  width: var(--header-circle-size);
  height: var(--header-circle-size);
  color: var(--color-text-secondary);
  background: var(--nav-bg);
  border: 1px solid var(--nav-border);
  box-shadow: var(--nav-bottom-shadow);
  cursor: pointer;
  border-radius: 50%;
  flex: none;
  justify-content: center;
  align-items: center;
  display: flex;
}

.page-header-circle svg {
  width: var(--nav-icon-size);
  height: var(--nav-icon-size);
}

.page-header-circle:focus-visible {
  outline: 2px solid var(--color-border-focus);
  outline-offset: 2px;
}

.page-header-avatar {
  font-size: 15px;
  font-weight: var(--type-h3-weight);
  color: var(--color-action-soft-text);
  background: var(--color-action-soft-bg);
}

.tab-nav {
  gap: var(--space-md);
  padding: 0 var(--header-padding-x);
  border-bottom: 1px solid var(--color-border-subtle);
  display: flex;
}

.tab-nav-item {
  padding: var(--space-stack-sm) 0 var(--space-xs);
  font-size: var(--type-body-sm-size);
  font-weight: var(--primitive-weight-semibold);
  color: var(--color-text-secondary);
  cursor: pointer;
  border-bottom: 2px solid #0000;
  margin-bottom: -1px;
  text-decoration: none;
}

.tab-nav-item[aria-current="page"] {
  color: var(--color-action);
  border-bottom-color: var(--color-action);
}

.tab-nav-item:focus-visible {
  outline: 2px solid var(--color-border-focus);
  outline-offset: -2px;
}

.sheet {
  z-index: 50;
  align-items: flex-end;
  display: flex;
  position: fixed;
  inset: 0;
}

.sheet-backdrop {
  background: var(--modal-backdrop);
  cursor: pointer;
  position: absolute;
  inset: 0;
}

.sheet-container {
  background: var(--modal-bg);
  border-radius: var(--modal-radius) var(--modal-radius) 0 0;
  box-shadow: var(--modal-shadow);
  flex-direction: column;
  width: 100%;
  max-height: 90vh;
  display: flex;
  position: relative;
  overflow: hidden;
}

.sheet-drag-region {
  touch-action: none;
  cursor: grab;
}

.sheet-handle {
  background: var(--color-border-strong);
  border-radius: var(--radius-pill);
  width: 40px;
  height: 4px;
  margin: var(--space-stack-sm) auto;
}

.sheet-header {
  padding: 0 var(--modal-padding) var(--space-stack-sm);
}

.sheet-body {
  padding: 0 var(--modal-padding) calc(var(--modal-padding)  + var(--space-stack-lg));
  flex: 1;
  overflow-y: auto;
}

.sheet-footer {
  padding: var(--space-stack-md) var(--modal-padding);
  border-top: 1px solid var(--color-border-subtle);
}

.sheet-enter-active .sheet-backdrop, .sheet-leave-active .sheet-backdrop {
  transition: opacity var(--motion-duration-base) var(--motion-easing);
}

.sheet-enter-active .sheet-container, .sheet-leave-active .sheet-container {
  transition: transform var(--motion-duration-base) var(--motion-easing-emphasized);
}

.sheet-enter-from .sheet-backdrop, .sheet-leave-to .sheet-backdrop {
  opacity: 0;
}

.sheet-enter-from .sheet-container, .sheet-leave-to .sheet-container {
  transform: translateY(100%);
}

@media (min-width: 768px) {
  .sheet {
    padding: var(--space-stack-md);
    justify-content: center;
    align-items: center;
  }

  .sheet-container {
    border-radius: var(--modal-radius);
    max-width: var(--modal-max-width);
  }

  .sheet-handle {
    display: none;
  }

  .sheet-header {
    padding-top: var(--modal-padding);
  }

  .sheet-enter-active .sheet-container, .sheet-leave-active .sheet-container {
    transition: transform var(--motion-duration-base) var(--motion-easing), opacity var(--motion-duration-base) var(--motion-easing);
  }

  .sheet-enter-from .sheet-container, .sheet-leave-to .sheet-container {
    opacity: 0;
    transform: scale(.96);
  }
}

.empty-state {
  text-align: center;
  align-items: center;
  gap: var(--empty-state-gap);
  max-width: var(--empty-state-max-width);
  margin: var(--space-section) auto;
  padding: var(--space-stack-lg) var(--space-stack-md);
  flex-direction: column;
  display: flex;
}

.empty-state-icon {
  font-size: var(--empty-state-icon-size);
  color: var(--empty-state-icon-color);
}

.empty-state-subtext {
  font-size: var(--type-body-sm-size);
  color: var(--color-text-secondary);
  margin: 0;
}

.empty-state-icon svg {
  width: var(--empty-state-icon-size);
  height: var(--empty-state-icon-size);
}

.submit-form {
  gap: var(--submit-form-gap);
  flex-direction: column;
  display: flex;
}

.submit-form-steps {
  margin: 0 0 var(--space-stack-xl);
  align-items: center;
  padding: 0;
  list-style: none;
  display: flex;
}

.submit-form-step {
  align-items: center;
  gap: var(--space-stack-xs);
  flex-direction: column;
  flex: 1;
  display: flex;
  position: relative;
}

.submit-form-step:not(:last-child):after {
  content: "";
  top: calc(var(--submit-form-step-size) / 2);
  background: var(--submit-form-connector-color);
  z-index: 0;
  width: 100%;
  height: 2px;
  position: absolute;
  left: 50%;
}

.submit-form-step.is-done:not(:last-child):after {
  background: var(--submit-form-connector-color-done);
}

.submit-form-step-dot {
  z-index: 1;
  width: var(--submit-form-step-size);
  height: var(--submit-form-step-size);
  border-radius: var(--radius-pill);
  background: var(--submit-form-step-bg-pending);
  color: var(--submit-form-step-text-pending);
  font-weight: var(--primitive-weight-semibold);
  justify-content: center;
  align-items: center;
  font-size: 14px;
  display: flex;
}

.submit-form-step.is-active .submit-form-step-dot {
  background: var(--submit-form-step-bg-active);
  color: var(--submit-form-step-text-active);
}

.submit-form-step.is-done .submit-form-step-dot {
  background: var(--submit-form-step-bg-done);
  color: var(--submit-form-step-text-done);
}

.submit-form-step-label {
  font-size: var(--type-body-sm-size);
  color: var(--color-text-secondary);
}

.submit-form-step.is-active .submit-form-step-label {
  color: var(--color-text-primary);
  font-weight: var(--primitive-weight-semibold);
}

.submit-form-footer {
  gap: var(--space-stack-md);
  display: flex;
}

.submit-form-footer .btn-primary {
  flex: 1;
}

@media (max-width: 480px) {
  .submit-form-step-label {
    display: none;
  }
}

.otp-group {
  gap: var(--space-xs);
  justify-content: center;
  display: flex;
}

.otp-digit {
  max-width: var(--input-height);
  height: var(--input-height);
  text-align: center;
  font-size: 20px;
  font-weight: var(--primitive-weight-semibold);
  border: var(--input-border-width) solid var(--input-border);
  border-radius: var(--input-radius);
  flex: 1 1 0;
}

.otp-digit:focus-visible {
  outline: 2px solid var(--input-border-focus);
  outline-offset: 1px;
}

.otp-digit:disabled {
  opacity: .6;
  cursor: not-allowed;
  background: var(--color-surface-muted);
}

.otp-dash {
  color: var(--color-text-secondary);
  font-weight: var(--primitive-weight-semibold);
  flex: none;
  align-self: center;
}

.s-vee-form .otp-group + .s-vee-form-message {
  margin-top: var(--space-sm);
}

.s-vee-form .otp-group ~ .s-vee-form-buttons {
  margin-top: var(--space-stack-md);
}

.result-card {
  gap: var(--space-stack-md);
  flex-direction: column;
  display: flex;
}

.result-card-header {
  align-items: center;
  gap: var(--space-stack-sm);
  display: flex;
}

.result-card-icon {
  color: var(--color-action);
  flex-shrink: 0;
}

.result-card-icon svg {
  width: var(--result-card-icon-size);
  height: var(--result-card-icon-size);
}

.result-card-summary {
  font-size: var(--type-body-md-size);
  color: var(--color-text-primary);
  margin: 0;
}

.result-card-summary-gated {
  align-items: center;
  gap: var(--space-stack-xs);
  color: var(--color-text-muted);
  font-style: italic;
  display: inline-flex;
}

.result-card-summary-gated svg {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}

.sample-status {
  gap: var(--space-stack-sm);
  flex-direction: column;
  display: flex;
}

.sample-status-track {
  height: var(--sample-status-track-height);
  background: var(--sample-status-track-color);
  border-radius: var(--radius-pill);
  overflow: hidden;
}

.sample-status-track-fill {
  background: var(--sample-status-fill-color);
  border-radius: var(--radius-pill);
  height: 100%;
  transition: width var(--motion-duration-slow) var(--motion-easing);
}

.sample-status[data-stage="received"] .sample-status-track-fill {
  width: 20%;
}

.sample-status[data-stage="in-progress"] .sample-status-track-fill {
  width: 60%;
}

.sample-status[data-stage="complete"] .sample-status-track-fill {
  background: var(--primitive-color-primary-fixed);
  width: 100%;
}

.sample-status[data-stage="overdue"] .sample-status-track-fill {
  background: var(--color-status-overdue-bg);
}

.sample-status-line {
  font-size: var(--sample-status-label-size);
  color: var(--color-text-secondary);
  margin: 0;
}

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

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

@property --tw-duration {
  syntax: "*";
  inherits: false
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
.s-base-button {
  gap: calc(var(--spacing, .25rem) * 2);
  border-radius: var(--button-radius);
  min-width: 0;
  font-family: var(--button-font);
  font-weight: var(--button-font-weight);
  font-size: var(--button-font-size);
  border: var(--button-border-width) solid transparent;
}
.s-base-button.theme-primary {
  background-color: var(--color-action, var(--brand-primary));
  color: var(--color-text-on-action, var(--brand-on-primary));
}
.s-base-button.theme-primary:hover {
  background-color: var(--color-action-hover, var(--primitive-color-primary));
}
.s-base-button.theme-primary:active {
  background-color: var(--color-action-pressed, var(--primitive-color-on-primary-fixed-variant));
}
.s-base-button.theme-neutral {
  border-color: var(--color-action, var(--brand-primary));
  color: var(--color-action, var(--brand-primary));
  background-color: #0000;
}
.s-base-button.theme-neutral:hover {
  background-color: var(--color-action-soft-bg, var(--primitive-color-primary-fixed));
}
.s-base-button.theme-text {
  color: var(--color-text-secondary, var(--primitive-color-on-surface-variant));
  background-color: #0000;
}
.s-base-button.theme-text:hover {
  background-color: var(--color-surface-sunken, var(--primitive-color-surface-container));
  color: var(--color-text-primary, var(--primitive-color-on-surface));
}
.s-base-button.theme-alert {
  border-color: var(--color-feedback-error, var(--primitive-color-error));
  color: var(--color-feedback-error, var(--primitive-color-error));
  background-color: #0000;
}
.s-base-button.theme-alert:hover {
  background-color: var(--color-feedback-error-bg, var(--primitive-color-error-container));
}
.s-base-button.is-sm {
  height: var(--button-height-sm);
  padding: 0 var(--button-padding-x-sm);
  font-size: 14px;
}
.s-base-button.is-md {
  height: var(--button-height-md);
  padding: 0 var(--button-padding-x-md);
}
.s-base-button.is-lg {
  height: var(--button-height-lg);
  padding: 0 var(--button-padding-x-md);
  font-size: 16px;
}
.s-base-button:focus-visible {
  outline: 2px solid var(--color-border-focus);
  outline-offset: 2px;
}
