/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: InterVariable, 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;
    --color-red-100: oklch(93.6% 0.032 17.717);
    --color-red-400: oklch(70.4% 0.191 22.216);
    --color-red-600: oklch(57.7% 0.245 27.325);
    --color-amber-50: oklch(98.7% 0.022 95.277);
    --color-amber-100: oklch(96.2% 0.059 95.617);
    --color-green-300: oklch(87.1% 0.15 154.449);
    --color-green-400: oklch(79.2% 0.209 151.711);
    --color-green-600: oklch(62.7% 0.194 149.214);
    --color-blue-400: oklch(70.7% 0.165 254.624);
    --color-blue-600: oklch(54.6% 0.245 262.881);
    --color-blue-700: oklch(48.8% 0.243 264.376);
    --color-gray-300: oklch(87.2% 0.01 258.338);
    --color-zinc-200: oklch(92% 0.004 286.32);
    --color-zinc-700: oklch(37% 0.013 285.805);
    --color-zinc-800: oklch(27.4% 0.006 286.033);
    --color-black: #000;
    --color-white: #fff;
    --spacing: 0.25rem;
    --container-md: 28rem;
    --container-3xl: 48rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --font-weight-normal: 400;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --tracking-wider: 0.05em;
    --tracking-widest: 0.1em;
    --leading-tight: 1.25;
    --radius-md: 0.375rem;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;
    --radius-2xl: 1rem;
    --animate-spin: spin 1s linear infinite;
    --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    --blur-xs: 4px;
    --blur-sm: 8px;
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-hellgrau: #F5F5F5;
    --color-mittelgrau: #e3e3e3;
    --color-grau: #c1c1c1;
    --color-accent: #FFCC00;
    --color-accent2: #DD0000;
    --color-accent3: rgba(85, 60, 255, 0.90);
    --color-invalid: #DD0000;
    --color-black-1: #202123;
    --color-black-2: #353740;
    --color-black-3: #6E6E80;
    --radius-1: var(--radius-md);
    --radius-2: var(--radius-lg);
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  :-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 {
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .container {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .my-2 {
    margin-block: calc(var(--spacing) * 2);
  }
  .my-6 {
    margin-block: calc(var(--spacing) * 6);
  }
  .mt-0\! {
    margin-top: calc(var(--spacing) * 0) !important;
  }
  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }
  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }
  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }
  .flex {
    display: flex;
  }
  .hidden {
    display: none;
  }
  .list-item {
    display: list-item;
  }
  .size-6 {
    width: calc(var(--spacing) * 6);
    height: calc(var(--spacing) * 6);
  }
  .h-4 {
    height: calc(var(--spacing) * 4);
  }
  .h-12 {
    height: calc(var(--spacing) * 12);
  }
  .h-40 {
    height: calc(var(--spacing) * 40);
  }
  .h-full {
    height: 100%;
  }
  .min-h-28 {
    min-height: calc(var(--spacing) * 28);
  }
  .min-h-96 {
    min-height: calc(var(--spacing) * 96);
  }
  .w-1\/2 {
    width: calc(1/2 * 100%);
  }
  .w-1\/3 {
    width: calc(1/3 * 100%);
  }
  .w-2\/3 {
    width: calc(2/3 * 100%);
  }
  .w-3\/5 {
    width: calc(3/5 * 100%);
  }
  .w-4 {
    width: calc(var(--spacing) * 4);
  }
  .w-5\/6 {
    width: calc(5/6 * 100%);
  }
  .w-12 {
    width: calc(var(--spacing) * 12);
  }
  .w-100 {
    width: calc(var(--spacing) * 100);
  }
  .w-full {
    width: 100%;
  }
  .max-w-md {
    max-width: var(--container-md);
  }
  .min-w-52 {
    min-width: calc(var(--spacing) * 52);
  }
  .flex-1 {
    flex: 1;
  }
  .grow {
    flex-grow: 1;
  }
  .animate-pulse {
    animation: var(--animate-pulse);
  }
  .cursor-not-allowed {
    cursor: not-allowed;
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-row {
    flex-direction: row;
  }
  .flex-row-reverse {
    flex-direction: row-reverse;
  }
  .flex-nowrap {
    flex-wrap: nowrap;
  }
  .\!items-start {
    align-items: flex-start !important;
  }
  .items-center {
    align-items: center;
  }
  .items-start {
    align-items: flex-start;
  }
  .justify-center {
    justify-content: center;
  }
  .justify-end {
    justify-content: flex-end;
  }
  .gap-0\.5 {
    gap: calc(var(--spacing) * 0.5);
  }
  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .space-y-2 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-3 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .overflow-y-auto {
    overflow-y: auto;
  }
  .scroll-smooth {
    scroll-behavior: smooth;
  }
  .rounded-1 {
    border-radius: var(--radius-1);
  }
  .rounded-2 {
    border-radius: var(--radius-2);
  }
  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-md {
    border-radius: var(--radius-md);
  }
  .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-accent2 {
    border-color: var(--color-accent2);
  }
  .border-grau {
    border-color: var(--color-grau);
  }
  .border-green-600 {
    border-color: var(--color-green-600);
  }
  .border-zinc-200 {
    border-color: var(--color-zinc-200);
  }
  .\!bg-accent3 {
    background-color: var(--color-accent3) !important;
  }
  .bg-accent {
    background-color: var(--color-accent);
  }
  .bg-green-300 {
    background-color: var(--color-green-300);
  }
  .bg-red-100 {
    background-color: var(--color-red-100);
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .bg-zinc-200 {
    background-color: var(--color-zinc-200);
  }
  .p-2 {
    padding: calc(var(--spacing) * 2);
  }
  .p-4 {
    padding: calc(var(--spacing) * 4);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .p-8 {
    padding: calc(var(--spacing) * 8);
  }
  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }
  .py-0\.5 {
    padding-block: calc(var(--spacing) * 0.5);
  }
  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }
  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }
  .pt-8 {
    padding-top: calc(var(--spacing) * 8);
  }
  .pr-2 {
    padding-right: calc(var(--spacing) * 2);
  }
  .pb-2 {
    padding-bottom: calc(var(--spacing) * 2);
  }
  .pb-8 {
    padding-bottom: calc(var(--spacing) * 8);
  }
  .pl-2 {
    padding-left: calc(var(--spacing) * 2);
  }
  .text-center {
    text-align: center;
  }
  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .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);
  }
  .font-semibold\! {
    --tw-font-weight: var(--font-weight-semibold) !important;
    font-weight: var(--font-weight-semibold) !important;
  }
  .text-nowrap {
    text-wrap: nowrap;
  }
  .\!text-white {
    color: var(--color-white) !important;
  }
  .text-accent2 {
    color: var(--color-accent2);
  }
  .text-accent2\! {
    color: var(--color-accent2) !important;
  }
  .text-black {
    color: var(--color-black);
  }
  .text-black-1 {
    color: var(--color-black-1);
  }
  .text-blue-600 {
    color: var(--color-blue-600);
  }
  .text-green-600 {
    color: var(--color-green-600);
  }
  .text-red-600 {
    color: var(--color-red-600);
  }
  .line-through {
    text-decoration-line: line-through;
  }
  .underline {
    text-decoration-line: underline;
  }
  .blur-sm {
    --tw-blur: blur(var(--blur-sm));
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .blur-xs {
    --tw-blur: blur(var(--blur-xs));
    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,);
  }
  .lg\:block {
    @media (width >= 64rem) {
      display: block;
    }
  }
  .lg\:hidden {
    @media (width >= 64rem) {
      display: none;
    }
  }
  .dark\:border-zinc-800 {
    @media (prefers-color-scheme: dark) {
      border-color: var(--color-zinc-800);
    }
  }
  .dark\:bg-zinc-700 {
    @media (prefers-color-scheme: dark) {
      background-color: var(--color-zinc-700);
    }
  }
  .print\:hidden {
    @media print {
      display: none;
    }
  }
}
html {
  height: 100vh;
  width: 100vw;
  overflow: hidden;
  background-color: var(--color-hellgrau);
  color: var(--color-black-2);
}
::-webkit-scrollbar {
  width: 6px;
}
::-webkit-scrollbar-track {
  background: #ffffff;
}
::-webkit-scrollbar-thumb {
  background: rgba(193, 193, 193, 0.72);
  border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
  background: #c1c1c1;
}
b {
  --tw-font-weight: var(--font-weight-semibold);
  font-weight: var(--font-weight-semibold);
}
.ui {
  &.icon, .icon {
    &.size-lg {
      > svg {
        height: calc(var(--spacing) * 6);
        min-height: calc(var(--spacing) * 6);
        width: calc(var(--spacing) * 6);
        min-width: calc(var(--spacing) * 6);
      }
    }
    &.color-red {
      > svg {
        color: var(--color-red-400);
      }
    }
    &.color-blue {
      > svg {
        color: var(--color-blue-400);
      }
    }
    &.color-green {
      > svg {
        color: var(--color-green-400);
      }
    }
    &.color-grau {
      > svg {
        color: var(--color-grau);
      }
    }
    &.color-accent {
      > svg {
        color: var(--color-accent);
      }
    }
    &.color-accent2 {
      > svg {
        color: var(--color-accent2);
      }
    }
    > svg {
      height: calc(var(--spacing) * 4);
      min-height: calc(var(--spacing) * 4);
      width: calc(var(--spacing) * 4);
      min-width: calc(var(--spacing) * 4);
    }
  }
}
.ui {
  &.spinner, .spinner {
    &.size-base {
      svg {
        height: calc(var(--spacing) * 4);
        width: calc(var(--spacing) * 4);
      }
    }
    &.size-lg {
      svg {
        height: calc(var(--spacing) * 6);
        width: calc(var(--spacing) * 6);
      }
    }
    &.size-xl {
      svg {
        height: calc(var(--spacing) * 8);
        width: calc(var(--spacing) * 8);
      }
    }
    &.color-accent {
      svg {
        fill: var(--color-accent);
      }
    }
    &.color-white {
      svg {
        fill: var(--color-white);
      }
    }
    &.color-black {
      svg {
        fill: var(--color-black);
      }
    }
    svg {
      animation: var(--animate-spin);
      color: var(--color-grau) !important;
    }
  }
}
.ui {
  &.loading, .loading {
    display: flex;
    height: calc(var(--spacing) * 9);
    align-items: center;
    gap: calc(var(--spacing) * 4);
    border-radius: var(--radius-lg);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
}
.ui {
  &.loading-area, .loading-area {
    > .spinner {
      display: flex;
      align-items: center;
      gap: calc(var(--spacing) * 4);
      padding: calc(var(--spacing) * 6);
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
    position: absolute;
    top: calc(var(--spacing) * 0);
    left: calc(var(--spacing) * 0);
    z-index: 50;
    height: 100%;
    width: 100%;
    border-radius: var(--radius-lg);
    background-color: var(--color-hellgrau);
  }
}
.ui {
  &.loading-overlay, .loading-overlay {
    > .loading-panel {
      > .label {
        color: var(--color-black-3);
      }
      display: flex;
      width: calc(2/3 * 100%);
      flex-direction: row;
      align-items: center;
      gap: calc(var(--spacing) * 4);
      border-radius: var(--radius-1);
      border-style: var(--tw-border-style);
      border-width: 1px;
      border-color: var(--color-accent);
      background-color: var(--color-white);
      padding: calc(var(--spacing) * 6);
      --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px 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);
    }
    position: fixed;
    inset: calc(var(--spacing) * 0);
    z-index: 50;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-hellgrau);
  }
}
.ui {
  &.input, .input {
    &.size-lg {
      input {
        height: calc(var(--spacing) * 12);
        font-size: var(--text-lg);
        line-height: var(--tw-leading, var(--text-lg--line-height));
      }
    }
    &.invalid {
      input {
        border-style: var(--tw-border-style);
        border-width: 0px;
        color: var(--color-invalid);
        --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);
        --tw-ring-color: var(--color-invalid);
        --tw-outline-style: none;
        outline-style: none;
        &:focus {
          --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
          box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
        }
        &:focus {
          --tw-ring-color: var(--color-invalid);
        }
        &:focus {
          --tw-outline-style: none;
          outline-style: none;
        }
      }
      svg {
        color: var(--color-invalid);
        &:is(:where(.group):focus-within *) {
          color: var(--color-invalid);
        }
      }
    }
    input {
      display: block;
      height: calc(var(--spacing) * 9);
      width: 100%;
      border-radius: var(--radius-2);
      border-style: var(--tw-border-style);
      border-width: 1px;
      border-color: var(--color-grau);
      background-color: var(--color-white);
      padding-inline: calc(var(--spacing) * 1);
      padding-block: calc(var(--spacing) * 1);
      padding-left: calc(var(--spacing) * 10);
      color: var(--color-black);
      &::placeholder {
        color: var(--color-grau);
      }
      &:focus {
        &::placeholder {
          color: var(--color-black);
        }
      }
      &:focus {
        --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      }
      &:focus {
        --tw-ring-color: var(--color-black);
      }
      &:focus {
        --tw-outline-style: none;
        outline-style: none;
      }
    }
    svg {
      position: absolute;
      top: calc(1/2 * 100%);
      left: calc(var(--spacing) * 3);
      height: calc(var(--spacing) * 4);
      width: calc(var(--spacing) * 4);
      --tw-translate-y: calc(calc(1/2 * 100%) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
      &:is(:where(.group):focus-within *) {
        color: var(--color-black);
      }
    }
    &.checkbox {
      &.size-lg {
        > input {
          margin-block: calc(var(--spacing) * 1);
          height: calc(var(--spacing) * 8);
          width: calc(var(--spacing) * 8);
        }
      }
      > .label {
        flex: 1;
        cursor: pointer;
        color: var(--color-black-1);
      }
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: calc(var(--spacing) * 4);
    }
    a {
      text-decoration-line: underline;
    }
    position: relative;
    appearance: none;
    color: var(--color-grau);
  }
}
.ui {
  &.button, .button {
    &.color-grau {
      background-color: var(--color-mittelgrau);
    }
    &.color-white {
      background-color: var(--color-white);
      &:hover {
        @media (hover: hover) {
          background-color: var(--color-accent);
        }
      }
      &:hover {
        @media (hover: hover) {
          color: var(--color-black-1);
        }
      }
    }
    &.color-black {
      background-color: var(--color-black);
      color: var(--color-hellgrau);
    }
    &.color-accent {
      background-color: var(--color-accent);
      color: var(--color-black-1);
    }
    &.color-accent2 {
      background-color: var(--color-accent2);
    }
    &.color-accent3 {
      background-color: var(--color-accent3);
      color: var(--color-white);
    }
    &.size-lg {
      height: calc(var(--spacing) * 12);
      font-size: var(--text-lg);
      line-height: var(--tw-leading, var(--text-lg--line-height));
    }
    &.size-sm {
      height: calc(var(--spacing) * 8);
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
    .tooltip {
      visibility: hidden;
      position: absolute;
      margin-top: calc(var(--spacing) * -16);
      border-radius: var(--radius-1);
      background-color: var(--color-black-3);
      padding-inline: calc(var(--spacing) * 2);
      font-size: var(--text-xs);
      line-height: var(--tw-leading, var(--text-xs--line-height));
      color: var(--color-white);
      --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px 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);
    }
    &:hover {
      .tooltip {
        visibility: visible;
        z-index: 50;
      }
    }
    &.disabled {
      cursor: not-allowed;
    }
    display: flex;
    flex-direction: row;
    height: calc(var(--spacing) * 9);
    cursor: pointer;
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 2);
    border-radius: var(--radius-2);
    padding-inline: calc(var(--spacing) * 3);
    padding-block: calc(var(--spacing) * 1.5);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    text-wrap: nowrap;
    &:hover {
      @media (hover: hover) {
        opacity: 80%;
      }
    }
  }
}
.ui {
  &.data-list, .data-list {
    .load-more {
      margin: calc(var(--spacing) * 4);
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: var(--radius-1);
      border-style: var(--tw-border-style);
      border-width: 1px;
      border-color: var(--color-grau);
      background-color: var(--color-white);
      padding: calc(var(--spacing) * 6);
    }
    height: 100%;
    width: 100%;
    overflow: hidden;
    padding-bottom: calc(var(--spacing) * 7);
  }
}
.ui {
  &.popup-container, .popup-container {
    > .popup-menu {
      .popup-menu-item {
        &.active {
          border-radius: var(--radius-1);
          background-color: var(--color-hellgrau);
          color: var(--color-black);
        }
        margin-inline: calc(var(--spacing) * 1.5);
        display: block;
        cursor: pointer;
        padding-inline: calc(var(--spacing) * 2);
        padding-block: calc(var(--spacing) * 1.5);
        text-wrap: nowrap;
        color: var(--color-black-3);
        &:hover {
          @media (hover: hover) {
            border-radius: var(--radius-1);
          }
        }
        &:hover {
          @media (hover: hover) {
            background-color: var(--color-mittelgrau);
          }
        }
        &:hover {
          @media (hover: hover) {
            color: var(--color-black);
          }
        }
      }
      &.right {
        right: calc(var(--spacing) * 0);
      }
      position: absolute;
      margin-top: calc(var(--spacing) * 0);
      min-width: calc(var(--spacing) * 40);
      place-self: start !important;
      border-radius: var(--radius-1);
      border-style: var(--tw-border-style);
      border-width: 1px;
      border-color: var(--color-grau);
      background-color: var(--color-white);
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
      --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px 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);
    }
    position: relative;
    z-index: 50;
  }
}
.ui {
  &.modal {
    .container {
      header {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: calc(var(--spacing) * 2);
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 1px;
        border-color: var(--color-grau);
        padding-inline: calc(var(--spacing) * 4);
        padding-top: calc(var(--spacing) * 3);
        padding-bottom: calc(var(--spacing) * 3);
      }
      main {
        padding: calc(var(--spacing) * 4);
      }
      footer {
        border-top-style: var(--tw-border-style);
        border-top-width: 1px;
        border-color: var(--color-grau);
        padding-inline: calc(var(--spacing) * 4);
        padding-top: calc(var(--spacing) * 3);
        padding-bottom: calc(var(--spacing) * 3);
      }
      display: flex;
      width: fit-content;
      flex-direction: column;
      border-radius: var(--radius-lg);
      background-color: var(--color-white);
      --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px 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);
    }
    position: fixed;
    inset: calc(var(--spacing) * 0);
    z-index: 50;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-mittelgrau);
  }
}
.ui {
  &.tab-panel, .tab-panel {
    display: flex;
    flex-direction: column;
  }
  &.tab-bar, .tab-bar {
    .label {
      &.active {
        background-color: var(--color-accent);
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
        color: var(--color-black-1);
      }
      display: flex;
      height: calc(var(--spacing) * 8);
      cursor: pointer;
      flex-direction: row;
      align-items: center;
      justify-content: center;
      gap: calc(var(--spacing) * 1);
      border-top-left-radius: var(--radius-1);
      border-top-right-radius: var(--radius-1);
      background-color: var(--color-mittelgrau);
      padding-inline: calc(var(--spacing) * 3);
      padding-block: calc(var(--spacing) * 1.5);
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
      text-wrap: nowrap;
      color: var(--color-black-2);
      &:hover {
        @media (hover: hover) {
          background-color: var(--color-accent);
        }
      }
      &:hover {
        @media (hover: hover) {
          color: var(--color-black-1);
        }
      }
    }
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: calc(var(--spacing) * 2);
    padding-inline: calc(var(--spacing) * 4);
  }
  .tab {
    border-radius: var(--radius-1);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-grau);
  }
}
.app-layout {
  .legal-links {
    margin-inline: calc(var(--spacing) * 4);
    margin-block: calc(var(--spacing) * 6);
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 2);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .main {
    height: calc(100dvh - 10 * var(--spacing));
    flex-grow: 1;
    overflow: hidden;
    padding-right: calc(var(--spacing) * 2);
    padding-bottom: calc(var(--spacing) * 2);
    padding-left: calc(var(--spacing) * 2);
  }
  .app {
    display: flex;
    height: calc(100dvh - 12 * var(--spacing));
    width: 100vw;
    flex-direction: row;
    overflow: hidden;
  }
  display: flex;
  height: 100%;
  width: 100%;
  flex-direction: column;
  overflow: hidden;
  color: var(--color-black-3);
}
.app-layout {
  >.topbar {
    >.center {
      flex: 1;
    }
    >.right {
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: calc(var(--spacing) * 4);
      padding-right: calc(var(--spacing) * 2);
    }
    .navigation-menu-container {
      display: none;
      @media (width >= 64rem) {
        display: block;
      }
    }
    .navigation-menu {
      .navigation-menu-item {
        &.active {
          border-radius: var(--radius-1);
          background-color: var(--color-mittelgrau);
          --tw-font-weight: var(--font-weight-semibold);
          font-weight: var(--font-weight-semibold);
          color: var(--color-black);
        }
        display: flex;
        cursor: pointer;
        flex-direction: row;
        align-items: center;
        gap: calc(var(--spacing) * 2);
        padding-inline: calc(var(--spacing) * 4);
        padding-block: calc(var(--spacing) * 1);
        color: var(--color-black-3);
        &:hover {
          @media (hover: hover) {
            border-radius: var(--radius-1);
          }
        }
        &:hover {
          @media (hover: hover) {
            background-color: var(--color-mittelgrau);
          }
        }
        &:hover {
          @media (hover: hover) {
            color: var(--color-black);
          }
        }
      }
      display: flex;
      flex-direction: row;
      gap: calc(var(--spacing) * 2);
    }
    .avatar {
      display: none;
      width: calc(var(--spacing) * 7);
      cursor: pointer;
      border-radius: calc(infinity * 1px);
      @media (width >= 64rem) {
        display: block;
      }
    }
    .popup-container {
      >.popup-menu {
        >.header {
          border-bottom-style: var(--tw-border-style);
          border-bottom-width: 1px;
          border-bottom-color: var(--color-accent);
          padding-inline: calc(var(--spacing) * 4);
          padding-block: calc(var(--spacing) * 2);
          color: var(--color-black);
        }
        >.items {
          margin: calc(var(--spacing) * 2);
          display: flex;
          flex-direction: column;
          gap: calc(var(--spacing) * 2);
        }
        .popup-menu-item {
          margin-inline: calc(var(--spacing) * 1.5);
          display: flex;
          cursor: pointer;
          flex-direction: row;
          align-items: center;
          gap: calc(var(--spacing) * 3);
          padding-inline: calc(var(--spacing) * 2);
          padding-block: calc(var(--spacing) * 1.5);
          padding-left: calc(var(--spacing) * 2);
          color: var(--color-black-3);
          &:hover {
            @media (hover: hover) {
              border-radius: var(--radius-1);
            }
          }
          &:hover {
            @media (hover: hover) {
              background-color: var(--color-mittelgrau);
            }
          }
          &:hover {
            @media (hover: hover) {
              color: var(--color-black);
            }
          }
        }
        position: absolute;
        right: calc(var(--spacing) * 0);
        margin-top: calc(var(--spacing) * 2);
        min-width: calc(var(--spacing) * 60);
        border-radius: var(--radius-1);
        border-style: var(--tw-border-style);
        border-width: 1px;
        border-color: var(--color-grau);
        background-color: var(--color-white);
        --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px 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);
      }
      position: relative;
      z-index: 50;
    }
    .mobile-menu-container {
      >.mobile-menu-icon {
        position: relative;
        width: calc(var(--spacing) * 6);
        height: calc(var(--spacing) * 6);
        cursor: pointer;
      }
      >.mobile-menu-panel {
        >.header {
          display: flex;
          flex-direction: row;
          height: calc(var(--spacing) * 12);
          align-items: center;
          padding-bottom: calc(var(--spacing) * 1);
          color: var(--color-black);
        }
        >.body {
          >.mobile-menu {
            >.header {
              border-bottom-style: var(--tw-border-style);
              border-bottom-width: 1px;
              border-bottom-color: var(--color-accent);
              padding-inline: calc(var(--spacing) * 4);
              padding-block: calc(var(--spacing) * 2);
              color: var(--color-black);
            }
            >.body {
              display: flex;
              flex-direction: column;
              gap: calc(var(--spacing) * 2);
              padding: calc(var(--spacing) * 2);
            }
            .mobile-menu-item {
              display: block;
              cursor: pointer;
              padding: calc(var(--spacing) * 1);
              color: var(--color-black-3);
              &:hover {
                @media (hover: hover) {
                  border-radius: var(--radius-1);
                }
              }
              &:hover {
                @media (hover: hover) {
                  background-color: var(--color-mittelgrau);
                }
              }
              &:hover {
                @media (hover: hover) {
                  color: var(--color-black);
                }
              }
            }
            border-radius: var(--radius-1);
            border-style: var(--tw-border-style);
            border-width: 1px;
            border-color: var(--color-grau);
            background-color: var(--color-white);
          }
          display: flex;
          flex-direction: column;
          gap: calc(var(--spacing) * 4);
          padding: calc(var(--spacing) * 4);
        }
        position: absolute;
        top: calc(var(--spacing) * 0);
        left: calc(var(--spacing) * 0);
        display: flex;
        flex-direction: column;
        height: 100vh;
        width: 100vw;
        background-color: var(--color-hellgrau);
      }
      z-index: 50;
      @media (width >= 64rem) {
        display: none;
      }
    }
    display: flex;
    flex-direction: row;
    height: calc(var(--spacing) * 10);
    align-items: center;
    background-color: var(--color-hellgrau);
  }
}
.app-layout {
  .sidebar {
    >.header {
      margin-block: calc(var(--spacing) * 2);
      display: flex;
      cursor: pointer;
      flex-direction: row;
      align-items: center;
      gap: calc(var(--spacing) * 2);
      border-radius: var(--radius-1);
      border-style: var(--tw-border-style);
      border-width: 0px;
      padding-inline: calc(var(--spacing) * 3);
      padding-block: calc(var(--spacing) * 2);
      font-size: var(--text-xs);
      line-height: var(--tw-leading, var(--text-xs--line-height));
      --tw-font-weight: var(--font-weight-semibold);
      font-weight: var(--font-weight-semibold);
      --tw-tracking: var(--tracking-widest);
      letter-spacing: var(--tracking-widest);
      color: var(--color-black-2);
      text-transform: uppercase;
      &:hover {
        @media (hover: hover) {
          background-color: var(--color-mittelgrau);
        }
      }
      &:hover {
        @media (hover: hover) {
          --tw-font-weight: var(--font-weight-bold);
          font-weight: var(--font-weight-bold);
        }
      }
    }
    >.sidebar-menu {
      .sidebar-menu-item {
        &.active {
          border-radius: var(--radius-1);
          background-color: var(--color-mittelgrau);
          --tw-font-weight: var(--font-weight-semibold);
          font-weight: var(--font-weight-semibold);
          color: var(--color-black);
        }
        margin-block: calc(var(--spacing) * 0.5);
        display: flex;
        cursor: pointer;
        flex-direction: row;
        align-items: center;
        gap: calc(var(--spacing) * 2);
        padding-inline: calc(var(--spacing) * 3);
        padding-block: calc(var(--spacing) * 2);
        color: var(--color-black-3);
        &:hover {
          @media (hover: hover) {
            border-radius: var(--radius-1);
          }
        }
        &:hover {
          @media (hover: hover) {
            background-color: var(--color-mittelgrau);
          }
        }
        &:hover {
          @media (hover: hover) {
            color: var(--color-black);
          }
        }
      }
      display: flex;
      flex-direction: column;
      flex: 1;
    }
    &.closed {
      .label {
        display: none;
      }
      margin-right: calc(var(--spacing) * 0);
      min-width: calc(var(--spacing) * 10);
    }
    margin-right: calc(var(--spacing) * 0);
    margin-left: calc(var(--spacing) * 2);
    display: none;
    min-width: calc(var(--spacing) * 44);
    flex-direction: column;
    gap: calc(var(--spacing) * 1);
    overflow-y: auto;
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    @media (width >= 64rem) {
      display: flex;
    }
  }
}
.component {
  &.logo {
    .claim {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
      color: var(--color-black-1);
    }
    margin-left: calc(var(--spacing) * 2);
    display: flex;
    flex-direction: row;
    cursor: pointer;
    align-items: center;
    gap: calc(var(--spacing) * 2);
    padding: calc(var(--spacing) * 2);
    color: var(--color-black-1);
  }
}
.component {
  &.info-panel {
    .header {
      .title {
        flex: 1;
        font-size: var(--text-xs);
        line-height: var(--tw-leading, var(--text-xs--line-height));
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
        --tw-tracking: var(--tracking-widest);
        letter-spacing: var(--tracking-widest);
        color: var(--color-black);
        text-transform: uppercase;
      }
      .actions {
        display: flex;
        cursor: pointer;
        flex-direction: row;
        align-items: center;
        gap: calc(var(--spacing) * 2);
        font-size: var(--text-xs);
        line-height: var(--tw-leading, var(--text-xs--line-height));
        &:hover {
          @media (hover: hover) {
            color: var(--color-accent2);
          }
        }
      }
      display: flex;
      height: calc(var(--spacing) * 7);
      flex-direction: row;
      align-items: center;
      gap: calc(var(--spacing) * 2);
      border-top-left-radius: var(--radius-1);
      border-top-right-radius: var(--radius-1);
      background-color: var(--color-mittelgrau);
      padding-inline: calc(var(--spacing) * 2);
    }
    ul {
      display: flex;
      height: calc(100% - 7 * var(--spacing));
      flex-direction: column;
      gap: calc(var(--spacing) * 2);
      overflow-y: auto;
      border-bottom-right-radius: var(--radius-1);
      border-bottom-left-radius: var(--radius-1);
      padding: calc(var(--spacing) * 2);
    }
    li {
      .label {
        flex-grow: 1;
        overflow: hidden;
        padding-right: calc(var(--spacing) * 2);
        text-overflow: ellipsis;
      }
      &.active {
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
        color: var(--color-accent2);
      }
      display: flex;
      cursor: pointer;
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
      text-wrap: nowrap;
      &:hover {
        @media (hover: hover) {
          color: var(--color-accent2);
        }
      }
    }
    border-radius: var(--radius-1);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-grau);
    background-color: var(--color-white);
    padding-bottom: calc(var(--spacing) * 1);
  }
}
.component {
  &.register-form {
    > .form {
      > .label {
        padding-left: calc(var(--spacing) * 1);
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
      }
      > button {
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
        color: var(--color-black);
        --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px 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);
      }
      &.white {
        background-color: var(--color-white);
      }
      display: flex;
      flex-direction: column;
      gap: calc(var(--spacing) * 4);
      border-radius: var(--radius-1);
      border-style: var(--tw-border-style);
      border-width: 2px;
      border-color: var(--color-accent);
      background-color: var(--color-hellgrau);
      padding: calc(var(--spacing) * 4);
      color: var(--color-black);
    }
    > .info-panel {
      > header {
        margin-bottom: calc(var(--spacing) * 2);
        font-size: var(--text-lg);
        line-height: var(--tw-leading, var(--text-lg--line-height));
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
        color: var(--color-black);
      }
      > main {
        > div {
          display: flex;
          flex-direction: row;
          gap: calc(var(--spacing) * 2);
        }
        svg {
          height: calc(var(--spacing) * 6);
          width: calc(var(--spacing) * 6);
        }
        > .green {
          > svg {
            color: var(--color-green-400);
          }
        }
        > .blue {
          > svg {
            color: var(--color-blue-400);
          }
        }
        display: flex;
        flex-direction: column;
        gap: calc(var(--spacing) * 2);
      }
      border-radius: var(--radius-1);
      border-style: var(--tw-border-style);
      border-width: 2px;
      border-color: var(--color-accent);
      background-color: var(--color-white);
      padding: calc(var(--spacing) * 4);
    }
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 4);
  }
}
.component {
  &.notice-details-card {
    > header {
      .details-title {
        &.trash {
          text-decoration-line: line-through;
        }
        display: flex;
        flex: 1;
        flex-direction: row;
        align-items: center;
        gap: calc(var(--spacing) * 2);
        align-self: center;
        font-size: var(--text-xl);
        line-height: var(--tw-leading, var(--text-xl--line-height));
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
        color: var(--color-accent2);
      }
      .details-toolbar {
        display: flex;
        flex-direction: row;
        gap: calc(var(--spacing) * 0);
        padding: calc(var(--spacing) * 2);
      }
      display: flex;
      flex-direction: row;
      align-items: flex-start;
      gap: calc(var(--spacing) * 2);
      border-bottom-style: var(--tw-border-style);
      border-bottom-width: 1px;
      border-color: var(--color-grau);
      padding-inline: calc(var(--spacing) * 4);
      padding-block: calc(var(--spacing) * 2);
    }
    > .splitter {
      display: flex;
      height: 100%;
      width: 100%;
      flex-direction: row;
      align-items: flex-start;
      overflow: hidden;
    }
    .details-facts {
      .label {
        margin-top: calc(var(--spacing) * 4);
        color: var(--color-accent2);
      }
      .value {
        padding-left: calc(var(--spacing) * 4);
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
        color: var(--color-black);
      }
      display: flex;
      max-width: calc(var(--spacing) * 48);
      flex-direction: column;
      padding-inline: calc(var(--spacing) * 4);
    }
    .details-tab-panel {
      > .tab {
        display: flex;
        height: 100%;
        width: 100%;
        flex-direction: column;
        gap: calc(var(--spacing) * 6);
        overflow: auto;
        padding: calc(var(--spacing) * 4);
      }
      height: 100%;
      width: 100%;
      overflow: hidden;
      padding-block: calc(var(--spacing) * 4);
      padding-right: calc(var(--spacing) * 4);
    }
    .ai-description {
      border-radius: var(--radius-1);
      border-style: var(--tw-border-style);
      border-width: 2px;
      border-color: var(--color-accent3);
      background-color: color-mix(in srgb, #F5F5F5 50%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-hellgrau) 50%, transparent);
      }
      padding: calc(var(--spacing) * 4);
      --tw-font-weight: var(--font-weight-semibold);
      font-weight: var(--font-weight-semibold);
      color: var(--color-black-1);
    }
    .pills {
      > .pill {
        cursor: default;
        border-radius: var(--radius-xl);
        padding-inline: calc(var(--spacing) * 2);
        padding-block: calc(var(--spacing) * 0.5);
        background-color: var(--color-accent3);
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
        color: var(--color-white);
      }
      > .pill-light {
        cursor: default;
        border-radius: var(--radius-xl);
        padding-inline: calc(var(--spacing) * 2);
        padding-block: calc(var(--spacing) * 0.5);
        background-color: color-mix(in srgb, rgba(85, 60, 255, 0.90) 20%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-accent3) 20%, transparent);
        }
        color: var(--color-accent3);
      }
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      gap: calc(var(--spacing) * 2);
    }
    .materials {
      > li {
        margin-inline-start: calc(var(--spacing) * 8);
        list-style-position: outside;
        list-style-type: disc;
      }
      font-family: var(--font-mono);
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
      white-space: pre-wrap;
      color: var(--color-accent3);
    }
    .tenderer {
      .title {
        margin-top: calc(var(--spacing) * 6);
        font-size: var(--text-xl);
        line-height: var(--tw-leading, var(--text-xl--line-height));
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
        color: var(--color-black-1);
      }
      .label {
        margin-top: calc(var(--spacing) * 1);
        margin-left: calc(var(--spacing) * 4);
        color: var(--color-black-3);
      }
      .value {
        margin-left: calc(var(--spacing) * 8);
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
        color: var(--color-black-1);
      }
      display: flex;
      flex-direction: column;
    }
    .notice-html {
      .h1 {
        font-size: var(--text-xl);
        line-height: var(--tw-leading, var(--text-xl--line-height));
        @media (width >= 64rem) {
          font-size: var(--text-xl);
          line-height: var(--tw-leading, var(--text-xl--line-height));
        }
        @media (width >= 64rem) {
          --tw-font-weight: var(--font-weight-semibold);
          font-weight: var(--font-weight-semibold);
        }
      }
      .h2 {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 1px;
        border-bottom-color: var(--color-black-1);
        font-size: var(--text-lg);
        line-height: var(--tw-leading, var(--text-lg--line-height));
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
      }
      .h3 {
        color: var(--color-accent2);
        font-style: italic;
      }
      .pre {
        margin-left: calc(var(--spacing) * 4);
        font-family: var(--font-mono);
      }
      display: flex;
      flex-direction: column;
      gap: calc(var(--spacing) * 2);
      padding: calc(var(--spacing) * 4);
      color: var(--color-black-3);
    }
    display: flex;
    height: 100%;
    width: 100%;
    flex-direction: column;
    overflow: hidden;
  }
}
.component {
  &.search-query-panel {
    .search-query-input {
      width: 100%;
    }
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: calc(var(--spacing) * 2);
  }
}
.component {
  &.product {
    > header {
      &.empty {
        display: none;
        @media (width >= 64rem) {
          display: block;
        }
      }
      height: calc(var(--spacing) * 8);
    }
    > main {
      > .name {
        margin-top: calc(var(--spacing) * 2);
        font-size: var(--text-2xl);
        line-height: var(--tw-leading, var(--text-2xl--line-height));
        --tw-font-weight: var(--font-weight-bold);
        font-weight: var(--font-weight-bold);
      }
      > .description {
        overflow: hidden;
        font-size: var(--text-base);
        line-height: var(--tw-leading, var(--text-base--line-height));
        text-wrap: nowrap;
      }
      > .price {
        > .label {
          &.empty {
            display: none;
            @media (width >= 64rem) {
              display: block;
            }
          }
          font-size: var(--text-sm);
          line-height: var(--tw-leading, var(--text-sm--line-height));
          color: var(--color-black-3);
        }
        > .value {
          font-size: var(--text-2xl);
          line-height: var(--tw-leading, var(--text-2xl--line-height));
          --tw-font-weight: var(--font-weight-bold);
          font-weight: var(--font-weight-bold);
          @media (width >= 64rem) {
            margin-bottom: calc(var(--spacing) * 2);
          }
        }
        margin-block: calc(var(--spacing) * 4);
      }
      .buy-button {
        padding-block: calc(var(--spacing) * 8);
      }
      border-style: var(--tw-border-style);
      border-width: 1px;
      border-color: var(--color-grau);
      background-color: var(--color-white);
      padding: calc(var(--spacing) * 4);
      color: var(--color-black-1);
    }
    li {
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: calc(var(--spacing) * 2);
      padding-left: calc(var(--spacing) * 2);
    }
    &.highlight {
      > header {
        border-top-left-radius: var(--radius-1);
        border-top-right-radius: var(--radius-1);
        border-top-style: var(--tw-border-style);
        border-top-width: 2px;
        border-right-style: var(--tw-border-style);
        border-right-width: 2px;
        border-left-style: var(--tw-border-style);
        border-left-width: 2px;
        border-color: var(--color-accent);
        background-color: var(--color-accent);
        padding: calc(var(--spacing) * 1);
        text-align: center;
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height));
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
        color: var(--color-black-1);
      }
      > main {
        border-right-style: var(--tw-border-style);
        border-right-width: 3px;
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 3px;
        border-left-style: var(--tw-border-style);
        border-left-width: 3px;
        border-color: var(--color-accent);
      }
      --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px 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);
      --tw-shadow-color: #FFCC00;
      @supports (color: color-mix(in lab, red, red)) {
        --tw-shadow-color: color-mix(in oklab, var(--color-accent) var(--tw-shadow-alpha), transparent);
      }
      @media (width >= 64rem) {
        margin-inline: calc(var(--spacing) * 2);
      }
    }
    &.highlight {
      > header {
        border-top-left-radius: var(--radius-1);
        border-top-right-radius: var(--radius-1);
        border-top-style: var(--tw-border-style);
        border-top-width: 2px;
        border-right-style: var(--tw-border-style);
        border-right-width: 2px;
        border-left-style: var(--tw-border-style);
        border-left-width: 2px;
        border-color: var(--color-accent);
        background-color: var(--color-accent);
        padding: calc(var(--spacing) * 1);
        text-align: center;
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height));
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
        color: var(--color-black-1);
      }
      > main {
        border-right-style: var(--tw-border-style);
        border-right-width: 3px;
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 3px;
        border-left-style: var(--tw-border-style);
        border-left-width: 3px;
        border-color: var(--color-accent);
      }
      --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px 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);
      --tw-shadow-color: #FFCC00;
      @supports (color: color-mix(in lab, red, red)) {
        --tw-shadow-color: color-mix(in oklab, var(--color-accent) var(--tw-shadow-alpha), transparent);
      }
      @media (width >= 64rem) {
        margin-inline: calc(var(--spacing) * 2);
      }
    }
    width: 100%;
    @media (width >= 64rem) {
      width: calc(var(--spacing) * 72);
    }
  }
}
.component {
  &.product-features {
    > .title {
      margin-top: calc(var(--spacing) * 3);
      margin-bottom: calc(var(--spacing) * 2);
      --tw-font-weight: var(--font-weight-semibold);
      font-weight: var(--font-weight-semibold);
      --tw-tracking: var(--tracking-wider);
      letter-spacing: var(--tracking-wider);
      text-transform: uppercase;
    }
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    color: var(--color-black-3);
    @media (width >= 64rem) {
      padding-block: calc(var(--spacing) * 2);
    }
  }
}
.component {
  &.unlock-notice-modal {
    table {
      th, td {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 1px;
        border-color: var(--color-accent);
        padding-inline: calc(var(--spacing) * 4);
        padding-block: calc(var(--spacing) * 2);
      }
      th {
        text-align: right;
      }
    }
  }
}
.component {
  &.error-modal {
    table {
      th, td {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 1px;
        border-color: var(--color-accent);
        padding-inline: calc(var(--spacing) * 4);
        padding-block: calc(var(--spacing) * 2);
      }
      th {
        text-align: right;
      }
    }
  }
}
.page {
  > header {
    > .title {
      font-size: var(--text-lg);
      line-height: var(--tw-leading, var(--text-lg--line-height));
      --tw-font-weight: var(--font-weight-semibold);
      font-weight: var(--font-weight-semibold);
      color: var(--color-black-1);
    }
  }
  &.white {
    border-radius: 0.25rem;
    background-color: var(--color-white);
  }
  display: flex;
  height: 100%;
  width: 100%;
  flex-direction: column;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing) * 2);
  padding: calc(var(--spacing) * 0.5);
}
.page {
  &.preview {
    .search-result-panel {
      >.no-results {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: calc(var(--spacing) * 4);
        padding: calc(var(--spacing) * 4);
      }
      >.results {
        >.title {
          border-bottom-style: var(--tw-border-style);
          border-bottom-width: 1px;
          border-color: var(--color-accent);
          background-color: var(--color-accent);
          padding-inline: calc(var(--spacing) * 3);
          padding-block: calc(var(--spacing) * 2);
          --tw-font-weight: var(--font-weight-semibold);
          font-weight: var(--font-weight-semibold);
          color: var(--color-black-1);
        }
        >ul.notices {
          >li {
            >.notice-title {
              flex: 1;
              color: var(--color-blue-700);
              text-decoration-line: underline;
            }
            >.notice-deadline {
              font-family: var(--font-mono);
              font-size: var(--text-sm);
              line-height: var(--tw-leading, var(--text-sm--line-height));
              color: var(--color-accent2);
            }
            display: flex;
            cursor: pointer;
            flex-direction: column;
            align-items: center;
            align-items: flex-start;
            gap: calc(var(--spacing) * 2);
            border-bottom-style: var(--tw-border-style);
            border-bottom-width: 1px;
            border-color: var(--color-grau);
            padding-inline: calc(var(--spacing) * 3);
            padding-block: calc(var(--spacing) * 2);
            &:hover {
              @media (hover: hover) {
                background-color: var(--color-hellgrau);
              }
            }
            @media (width >= 64rem) {
              flex-direction: row;
            }
          }
        }
        >ul.facets {
          >li {
            >.label {
              flex: 1;
              color: var(--color-blue-700);
              text-decoration-line: underline;
            }
            >.count {
              font-family: var(--font-mono);
              font-size: var(--text-sm);
              line-height: var(--tw-leading, var(--text-sm--line-height));
              color: var(--color-black);
            }
            display: flex;
            cursor: pointer;
            align-items: center;
            gap: calc(var(--spacing) * 2);
            border-bottom-style: var(--tw-border-style);
            border-bottom-width: 1px;
            border-color: var(--color-grau);
            padding-inline: calc(var(--spacing) * 3);
            padding-block: calc(var(--spacing) * 2);
            &:hover {
              @media (hover: hover) {
                background-color: var(--color-hellgrau);
              }
            }
          }
        }
      }
      display: flex;
      flex-direction: column;
      height: 100%;
      overflow-y: auto;
      border-radius: var(--radius-1);
      border-style: var(--tw-border-style);
      border-width: 1px;
      border-color: var(--color-accent);
      background-color: var(--color-white);
      --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px 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);
    }
  }
}
.page {
  &.register {
    @media (width >= 64rem) {
      margin-inline: auto;
    }
    @media (width >= 64rem) {
      max-height: fit-content;
    }
    @media (width >= 64rem) {
      width: var(--container-3xl);
    }
  }
}
.page {
  &.login-form {
    > .card {
      > header {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 2px;
        border-color: var(--color-accent);
        padding: calc(var(--spacing) * 4);
        font-size: var(--text-xl);
        line-height: var(--tw-leading, var(--text-xl--line-height));
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
        color: var(--color-accent2);
      }
      > main {
        > .form {
          > .label {
            padding-left: calc(var(--spacing) * 1);
            font-size: var(--text-sm);
            line-height: var(--tw-leading, var(--text-sm--line-height));
            --tw-font-weight: var(--font-weight-semibold);
            font-weight: var(--font-weight-semibold);
          }
          > button {
            --tw-font-weight: var(--font-weight-semibold);
            font-weight: var(--font-weight-semibold);
            color: var(--color-black);
            --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px 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);
          }
          display: flex;
          width: 100%;
          flex-direction: column;
          align-items: stretch;
          gap: calc(var(--spacing) * 2);
          color: var(--color-black);
          @media (width >= 64rem) {
            flex-direction: row;
          }
        }
        > .info-panel {
          display: flex;
          flex-direction: column;
          align-items: stretch;
          gap: calc(var(--spacing) * 2);
        }
        display: flex;
        flex-direction: row;
        gap: calc(var(--spacing) * 2);
        padding: calc(var(--spacing) * 4);
      }
      border-radius: var(--radius-1);
      border-style: var(--tw-border-style);
      border-width: 2px;
      border-color: var(--color-accent);
      background-color: var(--color-white);
      @media (width >= 64rem) {
        margin-inline: auto;
      }
      @media (width >= 64rem) {
        margin-top: calc(var(--spacing) * 12);
      }
      @media (width >= 64rem) {
        max-height: fit-content;
      }
      @media (width >= 64rem) {
        width: var(--container-3xl);
      }
      @media (width >= 64rem) {
        --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px 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);
      }
    }
  }
}
.page {
  &.search {
    > .columns {
      > .facets-column {
        .info-panel {
          li {
            .trash {
              display: none;
            }
            &.active {
              .count {
                display: none;
              }
              .trash {
                display: block;
              }
            }
          }
        }
        display: flex;
        width: calc(2/12 * 100%);
        flex-direction: column;
        gap: calc(var(--spacing) * 2);
      }
      > .data-list-column {
        .list-header {
          .left {
            margin-inline: calc(var(--spacing) * 2);
            font-size: var(--text-xs);
            line-height: var(--tw-leading, var(--text-xs--line-height));
            --tw-font-weight: var(--font-weight-semibold);
            font-weight: var(--font-weight-semibold);
            --tw-tracking: var(--tracking-widest);
            letter-spacing: var(--tracking-widest);
            text-transform: uppercase;
          }
          .right {
            place-self: end;
          }
          display: grid;
          height: calc(var(--spacing) * 8);
          grid-template-columns: repeat(2, minmax(0, 1fr));
          align-items: center;
          justify-content: stretch;
          border-bottom-style: var(--tw-border-style);
          border-bottom-width: 1px;
          border-color: var(--color-mittelgrau);
          background-color: var(--color-mittelgrau);
        }
        .list-item {
          &.active {
            .title-read {
              color: var(--color-black-1);
            }
            background-color: var(--color-accent);
            &:hover {
              @media (hover: hover) {
                background-color: var(--color-accent);
              }
            }
          }
          .index {
            height: calc(var(--spacing) * 8);
            min-width: calc(var(--spacing) * 10);
            border-radius: calc(infinity * 1px);
            background-color: var(--color-hellgrau);
          }
          .title-unread {
            --tw-font-weight: var(--font-weight-semibold);
            font-weight: var(--font-weight-semibold);
            color: var(--color-black-1);
          }
          .title-inbox {
            padding-bottom: calc(var(--spacing) * 1);
            color: var(--color-black-1);
          }
          .title-read {
            padding-bottom: calc(var(--spacing) * 1);
            color: var(--color-black-3);
          }
          .title-trash {
            padding-bottom: calc(var(--spacing) * 1);
            color: var(--color-black-3);
            text-decoration-line: line-through;
          }
          .deadline {
            font-family: var(--font-mono);
            font-size: var(--text-sm);
            line-height: var(--tw-leading, var(--text-sm--line-height));
            color: var(--color-accent2);
          }
          .published {
            display: flex;
            align-items: flex-end;
            gap: calc(var(--spacing) * 2);
            font-size: var(--text-xs);
            line-height: var(--tw-leading, var(--text-xs--line-height));
            color: var(--color-black-3);
          }
          cursor: pointer;
          border-bottom-style: var(--tw-border-style);
          border-bottom-width: 1px;
          border-bottom-color: var(--color-mittelgrau);
          background-color: var(--color-white);
          &:hover {
            @media (hover: hover) {
              background-color: var(--color-hellgrau);
            }
          }
        }
        display: flex;
        height: 100%;
        width: calc(4/12 * 100%);
        flex-direction: column;
        overflow: hidden;
        border-radius: var(--radius-1);
        border-style: var(--tw-border-style);
        border-width: 1px;
        border-color: var(--color-grau);
        color: var(--color-black);
      }
      > .details-column {
        display: flex;
        height: 100%;
        width: calc(6/12 * 100%);
        flex-direction: column;
        overflow: hidden;
        border-radius: var(--radius-1);
        border-style: var(--tw-border-style);
        border-width: 1px;
        border-color: var(--color-grau);
        background-color: var(--color-white);
      }
      display: flex;
      height: 100%;
      width: 100%;
      flex-direction: row;
      gap: calc(var(--spacing) * 2);
      overflow: hidden;
      background-color: var(--color-hellgrau);
    }
  }
}
.page {
  &.cart {
    > .products {
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      align-items: flex-start;
      gap: calc(var(--spacing) * 4);
      @media (width >= 64rem) {
        margin-inline: auto;
      }
      @media (width >= 64rem) {
        flex-direction: row;
      }
      @media (width >= 64rem) {
        gap: calc(var(--spacing) * 4);
      }
    }
    display: flex;
    height: 100%;
    width: 100%;
    flex-direction: column;
    overflow: auto;
    padding-right: calc(var(--spacing) * 2);
  }
}
.page {
  &.checkout {
    .component {
      &.product {
        .empty {
          display: none;
        }
      }
    }
    > .form-panel {
      .title {
        font-size: var(--text-2xl);
        line-height: var(--tw-leading, var(--text-2xl--line-height));
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
        color: var(--color-black-1);
      }
      .form {
        display: flex;
        width: 100%;
        flex-direction: column;
        gap: calc(var(--spacing) * 2);
      }
      display: flex;
      flex: 1;
      flex-direction: column;
      align-items: flex-start;
      justify-content: flex-start;
      gap: calc(var(--spacing) * 2);
      align-self: stretch;
      overflow: auto;
      border-radius: var(--radius-1);
      border-style: var(--tw-border-style);
      border-width: 3px;
      border-color: var(--color-accent);
      background-color: var(--color-white);
      padding: calc(var(--spacing) * 8);
    }
    margin: auto;
    display: flex;
    height: fit-content !important;
    width: calc(var(--spacing) * 300);
    flex-direction: row;
    align-items: flex-start;
    gap: calc(var(--spacing) * 8);
  }
}
.page {
  &.upgrade {
    > .products {
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      align-items: flex-start;
      gap: calc(var(--spacing) * 4);
      @media (width >= 64rem) {
        margin-inline: auto;
      }
      @media (width >= 64rem) {
        flex-direction: row;
      }
      @media (width >= 64rem) {
        gap: calc(var(--spacing) * 4);
      }
    }
    display: flex;
    height: 100%;
    width: 100%;
    flex-direction: column;
    overflow: auto;
    padding-right: calc(var(--spacing) * 2);
  }
}
.page {
  &.invoice {
    a {
      color: var(--color-blue-600);
      text-decoration-line: underline;
    }
    > .card {
      > header {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 2px;
        border-color: var(--color-accent);
        padding: calc(var(--spacing) * 4);
        font-size: var(--text-xl);
        line-height: var(--tw-leading, var(--text-xl--line-height));
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
        color: var(--color-accent2);
      }
      > main {
        display: flex;
        flex-direction: column;
        gap: calc(var(--spacing) * 4);
        padding: calc(var(--spacing) * 4);
      }
      border-radius: var(--radius-1);
      border-style: var(--tw-border-style);
      border-width: 2px;
      border-color: var(--color-accent);
      background-color: var(--color-white);
    }
    .label {
      --tw-font-weight: var(--font-weight-semibold);
      font-weight: var(--font-weight-semibold);
      color: var(--color-black-1);
    }
    .invoice-head {
      > div {
        display: flex;
        flex-direction: column;
        gap: calc(var(--spacing) * 4);
      }
      display: flex;
      flex-direction: row;
      padding: calc(var(--spacing) * 8);
    }
    .caption {
      text-align: left;
      font-size: var(--text-xl);
      line-height: var(--tw-leading, var(--text-xl--line-height));
      --tw-leading: var(--leading-tight);
      line-height: var(--leading-tight);
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
    }
    table.invoice-items {
      caption {
        padding: calc(var(--spacing) * 8);
        text-align: left;
        font-size: var(--text-xl);
        line-height: var(--tw-leading, var(--text-xl--line-height));
        --tw-leading: var(--leading-tight);
        line-height: var(--leading-tight);
        --tw-font-weight: var(--font-weight-bold);
        font-weight: var(--font-weight-bold);
      }
      thead {
        tr {
          th {
            border-bottom-style: var(--tw-border-style);
            border-bottom-width: 1px;
            border-bottom-color: var(--color-black);
            padding: calc(var(--spacing) * 2);
            text-align: left;
          }
          th:last-child {
            text-align: right;
          }
        }
        position: sticky;
        top: calc(var(--spacing) * 0);
        z-index: 10;
        background-color: var(--color-white);
      }
      tbody {
        tr {
          td {
            border-bottom-style: var(--tw-border-style);
            border-bottom-width: 1px;
            border-bottom-color: var(--color-gray-300);
            padding: calc(var(--spacing) * 2);
          }
          td:last-child {
            text-align: right;
          }
          &.selected {
            background-color: var(--color-amber-100);
          }
          cursor: pointer;
          &:hover {
            @media (hover: hover) {
              background-color: var(--color-amber-50);
            }
          }
        }
        tr.total {
          td {
            border-top-style: var(--tw-border-style);
            border-top-width: 1px;
            border-top-color: var(--color-black);
            padding: calc(var(--spacing) * 2);
            --tw-font-weight: var(--font-weight-semibold);
            font-weight: var(--font-weight-semibold);
            color: var(--color-black);
          }
        }
      }
      position: relative;
      width: 100%;
      table-layout: fixed;
      border-collapse: separate;
      --tw-border-spacing-x: calc(var(--spacing) * 0);
      --tw-border-spacing-y: calc(var(--spacing) * 0);
      border-spacing: var(--tw-border-spacing-x) var(--tw-border-spacing-y);
    }
    .payment-notes {
      > div {
        display: flex;
        flex-direction: column;
        gap: calc(var(--spacing) * 2);
      }
      display: flex;
      flex-direction: row;
      gap: calc(var(--spacing) * 2);
      padding-inline: calc(var(--spacing) * 8);
      padding-block: calc(var(--spacing) * 4);
    }
    .payment-card {
      display: flex;
      flex-direction: column;
      gap: calc(var(--spacing) * 2);
      padding-inline: calc(var(--spacing) * 8);
      padding-block: calc(var(--spacing) * 4);
    }
    .edit-form {
      width: calc(var(--spacing) * 200);
    }
    display: flex;
    flex-direction: row;
    gap: calc(var(--spacing) * 2);
  }
}
.page {
  &.profile {
    a {
      color: var(--color-blue-600);
      text-decoration-line: underline;
    }
    > .card {
      > header {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 2px;
        border-color: var(--color-accent);
        padding: calc(var(--spacing) * 4);
        font-size: var(--text-xl);
        line-height: var(--tw-leading, var(--text-xl--line-height));
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
        color: var(--color-accent2);
      }
      > main {
        display: flex;
        flex-direction: column;
        gap: calc(var(--spacing) * 4);
        padding: calc(var(--spacing) * 4);
      }
      border-radius: var(--radius-1);
      border-style: var(--tw-border-style);
      border-width: 2px;
      border-color: var(--color-accent);
      background-color: var(--color-white);
    }
    .label {
      --tw-font-weight: var(--font-weight-semibold);
      font-weight: var(--font-weight-semibold);
      color: var(--color-black-1);
    }
    .caption {
      text-align: left;
      font-size: var(--text-xl);
      line-height: var(--tw-leading, var(--text-xl--line-height));
      --tw-leading: var(--leading-tight);
      line-height: var(--leading-tight);
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
    }
    table {
      caption {
        padding: calc(var(--spacing) * 8);
        text-align: left;
        font-size: var(--text-xl);
        line-height: var(--tw-leading, var(--text-xl--line-height));
        --tw-leading: var(--leading-tight);
        line-height: var(--leading-tight);
        --tw-font-weight: var(--font-weight-bold);
        font-weight: var(--font-weight-bold);
      }
      thead {
        tr {
          th {
            border-bottom-style: var(--tw-border-style);
            border-bottom-width: 1px;
            border-bottom-color: var(--color-black);
            padding: calc(var(--spacing) * 2);
            text-align: left;
          }
          th:last-child {
            text-align: right;
          }
        }
        position: sticky;
        top: calc(var(--spacing) * 0);
        z-index: 10;
        background-color: var(--color-white);
      }
      tbody {
        tr {
          td {
            border-bottom-style: var(--tw-border-style);
            border-bottom-width: 1px;
            border-bottom-color: var(--color-gray-300);
            padding: calc(var(--spacing) * 2);
          }
          td:last-child {
            text-align: right;
          }
          &.selected {
            background-color: var(--color-amber-100);
          }
          cursor: pointer;
          &:hover {
            @media (hover: hover) {
              background-color: var(--color-amber-50);
            }
          }
        }
        tr.total {
          td {
            border-top-style: var(--tw-border-style);
            border-top-width: 1px;
            border-top-color: var(--color-black);
            padding: calc(var(--spacing) * 2);
            --tw-font-weight: var(--font-weight-semibold);
            font-weight: var(--font-weight-semibold);
            color: var(--color-black);
          }
        }
      }
      position: relative;
      width: 100%;
      table-layout: fixed;
      border-collapse: separate;
      --tw-border-spacing-x: calc(var(--spacing) * 0);
      --tw-border-spacing-y: calc(var(--spacing) * 0);
      border-spacing: var(--tw-border-spacing-x) var(--tw-border-spacing-y);
    }
    display: flex;
    flex-direction: row;
    gap: calc(var(--spacing) * 2);
  }
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@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-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-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-tracking {
  syntax: "*";
  inherits: false;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-border-spacing-x {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-spacing-y {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes pulse {
  50% {
    opacity: 0.5;
  }
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-space-y-reverse: 0;
      --tw-border-style: solid;
      --tw-font-weight: initial;
      --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-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-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-tracking: initial;
      --tw-leading: initial;
      --tw-border-spacing-x: 0;
      --tw-border-spacing-y: 0;
    }
  }
}
