/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@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;
    --color-red-500: oklch(63.7% 0.237 25.331);
    --color-yellow-400: oklch(85.2% 0.199 91.936);
    --color-yellow-500: oklch(79.5% 0.184 86.047);
    --color-green-50: oklch(98.2% 0.018 155.826);
    --color-green-200: oklch(92.5% 0.084 155.995);
    --color-green-500: oklch(72.3% 0.219 149.579);
    --color-green-800: oklch(44.8% 0.119 151.328);
    --color-blue-500: oklch(62.3% 0.214 259.815);
    --color-gray-500: oklch(55.1% 0.027 264.364);
    --color-black: #000;
    --color-white: #fff;
    --spacing: 0.25rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-6xl: 72rem;
    --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-light: 300;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --tracking-tight: -0.025em;
    --tracking-normal: 0em;
    --tracking-widest: 0.1em;
    --leading-normal: 1.5;
    --leading-relaxed: 1.625;
    --radius-xs: 0.125rem;
    --ease-out: cubic-bezier(0, 0, 0.2, 1);
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    --aspect-video: 16 / 9;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-background: var(--background);
    --color-foreground: var(--foreground);
    --color-primary: var(--primary);
    --color-primary-foreground: var(--primary-foreground);
    --color-muted: var(--muted);
    --color-muted-foreground: var(--muted-foreground);
    --color-destructive: var(--destructive);
    --color-border: var(--border);
    --color-input: var(--input);
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .pointer-events-auto {
    pointer-events: auto;
  }
  .pointer-events-none {
    pointer-events: none;
  }
  .visible {
    visibility: visible;
  }
  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .sticky {
    position: sticky;
  }
  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }
  .inset-auto {
    inset: auto;
  }
  .\!inset-x-0 {
    inset-inline: calc(var(--spacing) * 0) !important;
  }
  .inset-y-0 {
    inset-block: calc(var(--spacing) * 0);
  }
  .start {
    inset-inline-start: var(--spacing);
  }
  .end {
    inset-inline-end: var(--spacing);
  }
  .\!top-0 {
    top: calc(var(--spacing) * 0) !important;
  }
  .\!top-auto {
    top: auto !important;
  }
  .top-0 {
    top: calc(var(--spacing) * 0);
  }
  .top-1\/2 {
    top: calc(1 / 2 * 100%);
  }
  .top-4 {
    top: calc(var(--spacing) * 4);
  }
  .top-\[50\%\] {
    top: 50%;
  }
  .\!right-0 {
    right: calc(var(--spacing) * 0) !important;
  }
  .\!right-auto {
    right: auto !important;
  }
  .right-0 {
    right: calc(var(--spacing) * 0);
  }
  .right-2 {
    right: calc(var(--spacing) * 2);
  }
  .right-4 {
    right: calc(var(--spacing) * 4);
  }
  .\!bottom-0 {
    bottom: calc(var(--spacing) * 0) !important;
  }
  .\!bottom-auto {
    bottom: auto !important;
  }
  .bottom-4 {
    bottom: calc(var(--spacing) * 4);
  }
  .\!left-0 {
    left: calc(var(--spacing) * 0) !important;
  }
  .\!left-auto {
    left: auto !important;
  }
  .left-0 {
    left: calc(var(--spacing) * 0);
  }
  .left-1\/2 {
    left: calc(1 / 2 * 100%);
  }
  .left-2 {
    left: calc(var(--spacing) * 2);
  }
  .left-3 {
    left: calc(var(--spacing) * 3);
  }
  .left-\[50\%\] {
    left: 50%;
  }
  .z-10 {
    z-index: 10;
  }
  .z-50 {
    z-index: 50;
  }
  .z-\[9999\] {
    z-index: 9999;
  }
  .col-start-2 {
    grid-column-start: 2;
  }
  .container {
    width: 100%;
    @media (width >= 1600px) {
      max-width: 1600px;
    }
    @media (width >= 2000px) {
      max-width: 2000px;
    }
    @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;
    }
  }
  .m-0 {
    margin: calc(var(--spacing) * 0);
  }
  .-mx-1 {
    margin-inline: calc(var(--spacing) * -1);
  }
  .mx-2 {
    margin-inline: calc(var(--spacing) * 2);
  }
  .mx-3\.5 {
    margin-inline: calc(var(--spacing) * 3.5);
  }
  .mx-auto {
    margin-inline: auto;
  }
  .my-1 {
    margin-block: calc(var(--spacing) * 1);
  }
  .my-2 {
    margin-block: calc(var(--spacing) * 2);
  }
  .my-auto {
    margin-block: auto;
  }
  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }
  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }
  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }
  .mt-auto {
    margin-top: auto;
  }
  .mr-3 {
    margin-right: calc(var(--spacing) * 3);
  }
  .mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }
  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }
  .ml-1 {
    margin-left: calc(var(--spacing) * 1);
  }
  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }
  .ml-auto {
    margin-left: auto;
  }
  .line-clamp-1 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
  }
  .block {
    display: block;
  }
  .contents {
    display: contents;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .inline-block {
    display: inline-block;
  }
  .inline-flex {
    display: inline-flex;
  }
  .inline-grid {
    display: inline-grid;
  }
  .table {
    display: table;
  }
  .aspect-\[2\/1\] {
    aspect-ratio: 2/1;
  }
  .aspect-\[3\/4\] {
    aspect-ratio: 3/4;
  }
  .aspect-auto {
    aspect-ratio: auto;
  }
  .aspect-square {
    aspect-ratio: 1 / 1;
  }
  .aspect-video {
    aspect-ratio: var(--aspect-video);
  }
  .size-3\.5 {
    width: calc(var(--spacing) * 3.5);
    height: calc(var(--spacing) * 3.5);
  }
  .size-4 {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }
  .size-7 {
    width: calc(var(--spacing) * 7);
    height: calc(var(--spacing) * 7);
  }
  .size-9 {
    width: calc(var(--spacing) * 9);
    height: calc(var(--spacing) * 9);
  }
  .size-\[18px\] {
    width: 18px;
    height: 18px;
  }
  .size-\[22px\] {
    width: 22px;
    height: 22px;
  }
  .\!h-dvh {
    height: 100dvh !important;
  }
  .h-1 {
    height: calc(var(--spacing) * 1);
  }
  .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-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-12 {
    height: calc(var(--spacing) * 12);
  }
  .h-\[1px\] {
    height: 1px;
  }
  .h-\[calc\(100\%-1px\)\] {
    height: calc(100% - 1px);
  }
  .h-auto {
    height: auto;
  }
  .h-full {
    height: 100%;
  }
  .h-px {
    height: 1px;
  }
  .h-svh {
    height: 100svh;
  }
  .\!max-h-dvh {
    max-height: 100dvh !important;
  }
  .max-h-32 {
    max-height: calc(var(--spacing) * 32);
  }
  .max-h-\[200px\] {
    max-height: 200px;
  }
  .max-h-\[300px\] {
    max-height: 300px;
  }
  .min-h-0 {
    min-height: calc(var(--spacing) * 0);
  }
  .min-h-4 {
    min-height: calc(var(--spacing) * 4);
  }
  .min-h-\[80px\] {
    min-height: 80px;
  }
  .min-h-screen {
    min-height: 100vh;
  }
  .min-h-svh {
    min-height: 100svh;
  }
  .\!w-full {
    width: 100% !important;
  }
  .w-0 {
    width: calc(var(--spacing) * 0);
  }
  .w-2\.5 {
    width: calc(var(--spacing) * 2.5);
  }
  .w-3 {
    width: calc(var(--spacing) * 3);
  }
  .w-3\.5 {
    width: calc(var(--spacing) * 3.5);
  }
  .w-3\/4 {
    width: calc(3 / 4 * 100%);
  }
  .w-4 {
    width: calc(var(--spacing) * 4);
  }
  .w-7 {
    width: calc(var(--spacing) * 7);
  }
  .w-9 {
    width: calc(var(--spacing) * 9);
  }
  .w-10 {
    width: calc(var(--spacing) * 10);
  }
  .w-80 {
    width: calc(var(--spacing) * 80);
  }
  .w-\[1px\] {
    width: 1px;
  }
  .w-\[var\(--sidebar-width\,16rem\)\] {
    width: var(--sidebar-width,16rem);
  }
  .w-\[var\(--trigger-width\,12rem\)\] {
    width: var(--trigger-width,12rem);
  }
  .w-fit {
    width: fit-content;
  }
  .w-full {
    width: 100%;
  }
  .\!max-w-full {
    max-width: 100% !important;
  }
  .max-w-\[calc\(100\%-2rem\)\] {
    max-width: calc(100% - 2rem);
  }
  .max-w-\[min\(24rem\,calc\(100vw-2rem\)\)\] {
    max-width: min(24rem, calc(100vw - 2rem));
  }
  .max-w-md {
    max-width: var(--container-md);
  }
  .max-w-sm {
    max-width: var(--container-sm);
  }
  .min-w-0 {
    min-width: calc(var(--spacing) * 0);
  }
  .min-w-5 {
    min-width: calc(var(--spacing) * 5);
  }
  .min-w-\[8rem\] {
    min-width: 8rem;
  }
  .min-w-\[var\(--trigger-width\,12rem\)\] {
    min-width: var(--trigger-width,12rem);
  }
  .flex-1 {
    flex: 1;
  }
  .flex-shrink-0 {
    flex-shrink: 0;
  }
  .shrink {
    flex-shrink: 1;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .grow {
    flex-grow: 1;
  }
  .caption-bottom {
    caption-side: bottom;
  }
  .origin-left {
    transform-origin: 0;
  }
  .\!translate-x-0 {
    --tw-translate-x: calc(var(--spacing) * 0) !important;
    translate: var(--tw-translate-x) var(--tw-translate-y) !important;
  }
  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-x-px {
    --tw-translate-x: 1px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .\!translate-y-0 {
    --tw-translate-y: calc(var(--spacing) * 0) !important;
    translate: var(--tw-translate-x) var(--tw-translate-y) !important;
  }
  .-translate-y-1\/2 {
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-y-0\.5 {
    --tw-translate-y: calc(var(--spacing) * 0.5);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .\!scale-100 {
    --tw-scale-x: 100% !important;
    --tw-scale-y: 100% !important;
    --tw-scale-z: 100% !important;
    scale: var(--tw-scale-x) var(--tw-scale-y) !important;
  }
  .rotate-45 {
    rotate: 45deg;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .animate-pulse {
    animation: var(--animate-pulse);
  }
  .cursor-default {
    cursor: default;
  }
  .cursor-grab {
    cursor: grab;
  }
  .cursor-not-allowed {
    cursor: not-allowed;
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .touch-none {
    touch-action: none;
  }
  .resize-none {
    resize: none;
  }
  .list-none {
    list-style-type: none;
  }
  .appearance-none {
    appearance: none;
  }
  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-\[0_1fr\] {
    grid-template-columns: 0 1fr;
  }
  .grid-cols-\[repeat\(7\,var\(--cell-size\)\)\] {
    grid-template-columns: repeat(7,var(--cell-size));
  }
  .grid-rows-\[0fr\] {
    grid-template-rows: 0fr;
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-col-reverse {
    flex-direction: column-reverse;
  }
  .flex-row {
    flex-direction: row;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .place-items-center {
    place-items: center;
  }
  .items-center {
    align-items: center;
  }
  .items-start {
    align-items: flex-start;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .justify-items-start {
    justify-items: start;
  }
  .\!gap-0 {
    gap: calc(var(--spacing) * 0) !important;
  }
  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }
  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .space-y-0\.5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 0.5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 0.5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-1 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-1\.5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .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-x-2 {
    :where(& > :not(:last-child)) {
      --tw-space-x-reverse: 0;
      margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
      margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
    }
  }
  .gap-y-0\.5 {
    row-gap: calc(var(--spacing) * 0.5);
  }
  .truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .overflow-auto {
    overflow: auto;
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .overflow-visible {
    overflow: visible;
  }
  .overflow-x-auto {
    overflow-x: auto;
  }
  .overflow-y-auto {
    overflow-y: auto;
  }
  .\!rounded-none {
    border-radius: 0 !important;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .rounded-\[4px\] {
    border-radius: 4px;
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-lg {
    border-radius: var(--radius);
  }
  .rounded-md {
    border-radius: calc(var(--radius) - 2px);
  }
  .rounded-none {
    border-radius: 0;
  }
  .rounded-sm {
    border-radius: calc(var(--radius) - 4px);
  }
  .rounded-xs {
    border-radius: var(--radius-xs);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-0 {
    border-style: var(--tw-border-style);
    border-width: 0px;
  }
  .border-2 {
    border-style: var(--tw-border-style);
    border-width: 2px;
  }
  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }
  .border-t-0 {
    border-top-style: var(--tw-border-style);
    border-top-width: 0px;
  }
  .border-r {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
  }
  .border-r-0 {
    border-right-style: var(--tw-border-style);
    border-right-width: 0px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-b-0 {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 0px;
  }
  .border-l {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }
  .border-l-0 {
    border-left-style: var(--tw-border-style);
    border-left-width: 0px;
  }
  .border-dashed {
    --tw-border-style: dashed;
    border-style: dashed;
  }
  .border-dotted {
    --tw-border-style: dotted;
    border-style: dotted;
  }
  .border-border {
    border-color: var(--border);
  }
  .border-destructive {
    border-color: var(--destructive);
  }
  .border-input {
    border-color: var(--input);
  }
  .border-primary {
    border-color: var(--primary);
  }
  .border-transparent {
    border-color: transparent;
  }
  .bg-background {
    background-color: var(--background);
  }
  .bg-black\/20 {
    background-color: color-mix(in srgb, #000 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 20%, transparent);
    }
  }
  .bg-card {
    background-color: var(--card);
  }
  .bg-destructive {
    background-color: var(--destructive);
  }
  .bg-foreground {
    background-color: var(--foreground);
  }
  .bg-foreground\/30 {
    background-color: var(--foreground);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--foreground) 30%, transparent);
    }
  }
  .bg-green-500 {
    background-color: var(--color-green-500);
  }
  .bg-input {
    background-color: var(--input);
  }
  .bg-muted {
    background-color: var(--muted);
  }
  .bg-muted\/50 {
    background-color: var(--muted);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--muted) 50%, transparent);
    }
  }
  .bg-popover {
    background-color: var(--popover);
  }
  .bg-primary {
    background-color: var(--primary);
  }
  .bg-secondary {
    background-color: var(--secondary);
  }
  .bg-transparent {
    background-color: transparent;
  }
  .bg-yellow-500 {
    background-color: var(--color-yellow-500);
  }
  .fill-current {
    fill: currentcolor;
  }
  .\!p-0 {
    padding: calc(var(--spacing) * 0) !important;
  }
  .p-0 {
    padding: calc(var(--spacing) * 0);
  }
  .p-1 {
    padding: calc(var(--spacing) * 1);
  }
  .p-2 {
    padding: calc(var(--spacing) * 2);
  }
  .p-3 {
    padding: calc(var(--spacing) * 3);
  }
  .p-4 {
    padding: calc(var(--spacing) * 4);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .p-8 {
    padding: calc(var(--spacing) * 8);
  }
  .p-\[3px\] {
    padding: 3px;
  }
  .px-0 {
    padding-inline: calc(var(--spacing) * 0);
  }
  .px-1 {
    padding-inline: calc(var(--spacing) * 1);
  }
  .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);
  }
  .py-0 {
    padding-block: calc(var(--spacing) * 0);
  }
  .py-0\.5 {
    padding-block: calc(var(--spacing) * 0.5);
  }
  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }
  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .pt-0 {
    padding-top: calc(var(--spacing) * 0);
  }
  .pt-5 {
    padding-top: calc(var(--spacing) * 5);
  }
  .pr-8 {
    padding-right: calc(var(--spacing) * 8);
  }
  .pb-0 {
    padding-bottom: calc(var(--spacing) * 0);
  }
  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }
  .pl-8 {
    padding-left: calc(var(--spacing) * 8);
  }
  .text-center {
    text-align: center;
  }
  .text-left {
    text-align: left;
  }
  .text-right {
    text-align: right;
  }
  .align-middle {
    vertical-align: middle;
  }
  .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-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .text-\[0\.8rem\] {
    font-size: 0.8rem;
  }
  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }
  .leading-normal {
    --tw-leading: var(--leading-normal);
    line-height: var(--leading-normal);
  }
  .font-light {
    --tw-font-weight: var(--font-weight-light);
    font-weight: var(--font-weight-light);
  }
  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }
  .tracking-widest {
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
  }
  .whitespace-nowrap {
    white-space: nowrap;
  }
  .text-background {
    color: var(--background);
  }
  .text-blue-500 {
    color: var(--color-blue-500);
  }
  .text-card-foreground {
    color: var(--card-foreground);
  }
  .text-current {
    color: currentcolor;
  }
  .text-destructive {
    color: var(--destructive);
  }
  .text-foreground {
    color: var(--foreground);
  }
  .text-green-500 {
    color: var(--color-green-500);
  }
  .text-muted-foreground {
    color: var(--muted-foreground);
  }
  .text-popover-foreground {
    color: var(--popover-foreground);
  }
  .text-primary {
    color: var(--primary);
  }
  .text-primary-foreground {
    color: var(--primary-foreground);
  }
  .text-red-500 {
    color: var(--color-red-500);
  }
  .text-secondary-foreground {
    color: var(--secondary-foreground);
  }
  .text-white {
    color: var(--color-white);
  }
  .text-yellow-400 {
    color: var(--color-yellow-400);
  }
  .text-yellow-500 {
    color: var(--color-yellow-500);
  }
  .tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
  }
  .underline-offset-4 {
    text-underline-offset: 4px;
  }
  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  .\!opacity-100 {
    opacity: 100% !important;
  }
  .opacity-0 {
    opacity: 0%;
  }
  .opacity-30 {
    opacity: 30%;
  }
  .opacity-50 {
    opacity: 50%;
  }
  .opacity-60 {
    opacity: 60%;
  }
  .opacity-70 {
    opacity: 70%;
  }
  .opacity-75 {
    opacity: 75%;
  }
  .opacity-90 {
    opacity: 90%;
  }
  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-lg {
    --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);
  }
  .shadow-md {
    --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px 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);
  }
  .shadow-none {
    --tw-shadow: 0 0 #0000;
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-xs {
    --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring-destructive\/20 {
    --tw-ring-color: var(--destructive);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
    }
  }
  .ring-offset-background {
    --tw-ring-offset-color: var(--background);
  }
  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }
  .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-transform {
    transition-property: transform, translate, scale, rotate !important;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)) !important;
    transition-duration: var(--tw-duration, var(--default-transition-duration)) !important;
  }
  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-\[color\,box-shadow\] {
    transition-property: color,box-shadow;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-\[grid-template-rows\] {
    transition-property: grid-template-rows;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-\[margin\,opacity\] {
    transition-property: margin,opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-\[width\,height\,padding\] {
    transition-property: width,height,padding;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-\[width\] {
    transition-property: width;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-opacity {
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-shadow {
    transition-property: box-shadow;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .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-150 {
    --tw-duration: 150ms;
    transition-duration: 150ms;
  }
  .duration-200 {
    --tw-duration: 200ms;
    transition-duration: 200ms;
  }
  .duration-300 {
    --tw-duration: 300ms;
    transition-duration: 300ms;
  }
  .duration-500 {
    --tw-duration: 500ms;
    transition-duration: 500ms;
  }
  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }
  .ease-linear {
    --tw-ease: linear;
    transition-timing-function: linear;
  }
  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }
  .outline-none {
    --tw-outline-style: none;
    outline-style: none;
  }
  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }
  .\[--cell-size\:2rem\] {
    --cell-size: 2rem;
  }
  .group-data-\[tui-selectbox-selected\=true\]\:opacity-100 {
    &:is(:where(.group)[data-tui-selectbox-selected="true"] *) {
      opacity: 100%;
    }
  }
  .group-data-\[tui-sidebar-side\=left\]\:left-0 {
    &:is(:where(.group)[data-tui-sidebar-side="left"] *) {
      left: calc(var(--spacing) * 0);
    }
  }
  .group-data-\[tui-sidebar-side\=right\]\:right-0 {
    &:is(:where(.group)[data-tui-sidebar-side="right"] *) {
      right: calc(var(--spacing) * 0);
    }
  }
  .group-data-\[tui-sidebar-side\=right\]\:rotate-180 {
    &:is(:where(.group)[data-tui-sidebar-side="right"] *) {
      rotate: 180deg;
    }
  }
  .group-data-\[tui-sidebar-state\=collapsed\]\:group-data-\[tui-sidebar-collapsible\=icon\]\:-mt-8 {
    &:is(:where(.group)[data-tui-sidebar-state="collapsed"] *) {
      &:is(:where(.group)[data-tui-sidebar-collapsible="icon"] *) {
        margin-top: calc(var(--spacing) * -8);
      }
    }
  }
  .group-data-\[tui-sidebar-state\=collapsed\]\:group-data-\[tui-sidebar-collapsible\=icon\]\:block {
    &:is(:where(.group)[data-tui-sidebar-state="collapsed"] *) {
      &:is(:where(.group)[data-tui-sidebar-collapsible="icon"] *) {
        display: block;
      }
    }
  }
  .group-data-\[tui-sidebar-state\=collapsed\]\:group-data-\[tui-sidebar-collapsible\=icon\]\:hidden {
    &:is(:where(.group)[data-tui-sidebar-state="collapsed"] *) {
      &:is(:where(.group)[data-tui-sidebar-collapsible="icon"] *) {
        display: none;
      }
    }
  }
  .group-data-\[tui-sidebar-state\=collapsed\]\:group-data-\[tui-sidebar-collapsible\=icon\]\:\!size-8 {
    &:is(:where(.group)[data-tui-sidebar-state="collapsed"] *) {
      &:is(:where(.group)[data-tui-sidebar-collapsible="icon"] *) {
        width: calc(var(--spacing) * 8) !important;
        height: calc(var(--spacing) * 8) !important;
      }
    }
  }
  .group-data-\[tui-sidebar-state\=collapsed\]\:group-data-\[tui-sidebar-collapsible\=icon\]\:overflow-hidden {
    &:is(:where(.group)[data-tui-sidebar-state="collapsed"] *) {
      &:is(:where(.group)[data-tui-sidebar-collapsible="icon"] *) {
        overflow: hidden;
      }
    }
  }
  .group-data-\[tui-sidebar-state\=collapsed\]\:group-data-\[tui-sidebar-collapsible\=icon\]\:\!p-2 {
    &:is(:where(.group)[data-tui-sidebar-state="collapsed"] *) {
      &:is(:where(.group)[data-tui-sidebar-collapsible="icon"] *) {
        padding: calc(var(--spacing) * 2) !important;
      }
    }
  }
  .group-data-\[tui-sidebar-state\=collapsed\]\:group-data-\[tui-sidebar-collapsible\=icon\]\:opacity-0 {
    &:is(:where(.group)[data-tui-sidebar-state="collapsed"] *) {
      &:is(:where(.group)[data-tui-sidebar-collapsible="icon"] *) {
        opacity: 0%;
      }
    }
  }
  .group-data-\[tui-sidebar-state\=collapsed\]\:group-data-\[tui-sidebar-collapsible\=offcanvas\]\:w-0 {
    &:is(:where(.group)[data-tui-sidebar-state="collapsed"] *) {
      &:is(:where(.group)[data-tui-sidebar-collapsible="offcanvas"] *) {
        width: calc(var(--spacing) * 0);
      }
    }
  }
  .group-data-\[tui-sidebar-side\=left\]\:group-data-\[tui-sidebar-state\=collapsed\]\:group-data-\[tui-sidebar-collapsible\=offcanvas\]\:-translate-x-full {
    &:is(:where(.group)[data-tui-sidebar-side="left"] *) {
      &:is(:where(.group)[data-tui-sidebar-state="collapsed"] *) {
        &:is(:where(.group)[data-tui-sidebar-collapsible="offcanvas"] *) {
          --tw-translate-x: -100%;
          translate: var(--tw-translate-x) var(--tw-translate-y);
        }
      }
    }
  }
  .group-data-\[tui-sidebar-side\=right\]\:group-data-\[tui-sidebar-state\=collapsed\]\:group-data-\[tui-sidebar-collapsible\=offcanvas\]\:translate-x-full {
    &:is(:where(.group)[data-tui-sidebar-side="right"] *) {
      &:is(:where(.group)[data-tui-sidebar-state="collapsed"] *) {
        &:is(:where(.group)[data-tui-sidebar-collapsible="offcanvas"] *) {
          --tw-translate-x: 100%;
          translate: var(--tw-translate-x) var(--tw-translate-y);
        }
      }
    }
  }
  .group-data-\[tui-sidebar-variant\=floating\]\:rounded-lg {
    &:is(:where(.group)[data-tui-sidebar-variant="floating"] *) {
      border-radius: var(--radius);
    }
  }
  .group-data-\[tui-sidebar-variant\=floating\]\:border {
    &:is(:where(.group)[data-tui-sidebar-variant="floating"] *) {
      border-style: var(--tw-border-style);
      border-width: 1px;
    }
  }
  .group-data-\[tui-sidebar-variant\=floating\]\:p-2 {
    &:is(:where(.group)[data-tui-sidebar-variant="floating"] *) {
      padding: calc(var(--spacing) * 2);
    }
  }
  .group-data-\[tui-sidebar-variant\=floating\]\:shadow-sm {
    &:is(:where(.group)[data-tui-sidebar-variant="floating"] *) {
      --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .group-data-\[tui-sidebar-variant\=floating\]\:group-data-\[tui-sidebar-state\=collapsed\]\:group-data-\[tui-sidebar-collapsible\=icon\]\:w-\[calc\(3rem\+\(theme\(spacing\.4\)\)\+2px\)\] {
    &:is(:where(.group)[data-tui-sidebar-variant="floating"] *) {
      &:is(:where(.group)[data-tui-sidebar-state="collapsed"] *) {
        &:is(:where(.group)[data-tui-sidebar-collapsible="icon"] *) {
          width: calc(3rem + (1rem) + 2px);
        }
      }
    }
  }
  .group-data-\[tui-sidebar-variant\=floating\]\:group-data-\[tui-sidebar-state\=collapsed\]\:group-data-\[tui-sidebar-collapsible\=icon\]\:w-\[calc\(3rem\+theme\(spacing\.4\)\)\] {
    &:is(:where(.group)[data-tui-sidebar-variant="floating"] *) {
      &:is(:where(.group)[data-tui-sidebar-state="collapsed"] *) {
        &:is(:where(.group)[data-tui-sidebar-collapsible="icon"] *) {
          width: calc(3rem + 1rem);
        }
      }
    }
  }
  .group-data-\[tui-sidebar-variant\=inset\]\:p-2 {
    &:is(:where(.group)[data-tui-sidebar-variant="inset"] *) {
      padding: calc(var(--spacing) * 2);
    }
  }
  .group-data-\[tui-sidebar-variant\=inset\]\:group-data-\[tui-sidebar-state\=collapsed\]\:group-data-\[tui-sidebar-collapsible\=icon\]\:w-\[calc\(3rem\+\(theme\(spacing\.4\)\)\+2px\)\] {
    &:is(:where(.group)[data-tui-sidebar-variant="inset"] *) {
      &:is(:where(.group)[data-tui-sidebar-state="collapsed"] *) {
        &:is(:where(.group)[data-tui-sidebar-collapsible="icon"] *) {
          width: calc(3rem + (1rem) + 2px);
        }
      }
    }
  }
  .group-data-\[tui-sidebar-variant\=inset\]\:group-data-\[tui-sidebar-state\=collapsed\]\:group-data-\[tui-sidebar-collapsible\=icon\]\:w-\[calc\(3rem\+theme\(spacing\.4\)\)\] {
    &:is(:where(.group)[data-tui-sidebar-variant="inset"] *) {
      &:is(:where(.group)[data-tui-sidebar-state="collapsed"] *) {
        &:is(:where(.group)[data-tui-sidebar-collapsible="icon"] *) {
          width: calc(3rem + 1rem);
        }
      }
    }
  }
  .group-data-\[tui-sidebar-variant\=sidebar\]\:group-data-\[tui-sidebar-side\=left\]\:border-r {
    &:is(:where(.group)[data-tui-sidebar-variant="sidebar"] *) {
      &:is(:where(.group)[data-tui-sidebar-side="left"] *) {
        border-right-style: var(--tw-border-style);
        border-right-width: 1px;
      }
    }
  }
  .group-data-\[tui-sidebar-variant\=sidebar\]\:group-data-\[tui-sidebar-side\=right\]\:border-l {
    &:is(:where(.group)[data-tui-sidebar-variant="sidebar"] *) {
      &:is(:where(.group)[data-tui-sidebar-side="right"] *) {
        border-left-style: var(--tw-border-style);
        border-left-width: 1px;
      }
    }
  }
  .group-data-\[tui-sidebar-variant\=sidebar\]\:group-data-\[tui-sidebar-state\=collapsed\]\:group-data-\[tui-sidebar-collapsible\=icon\]\:w-12 {
    &:is(:where(.group)[data-tui-sidebar-variant="sidebar"] *) {
      &:is(:where(.group)[data-tui-sidebar-state="collapsed"] *) {
        &:is(:where(.group)[data-tui-sidebar-collapsible="icon"] *) {
          width: calc(var(--spacing) * 12);
        }
      }
    }
  }
  .peer-checked\:bg-primary {
    &:is(:where(.peer):checked ~ *) {
      background-color: var(--primary);
    }
  }
  .peer-checked\:opacity-100 {
    &:is(:where(.peer):checked ~ *) {
      opacity: 100%;
    }
  }
  .peer-indeterminate\:opacity-100 {
    &:is(:where(.peer):indeterminate ~ *) {
      opacity: 100%;
    }
  }
  .peer-focus-visible\:ring-2 {
    &:is(:where(.peer):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);
    }
  }
  .peer-focus-visible\:ring-ring {
    &:is(:where(.peer):focus-visible ~ *) {
      --tw-ring-color: var(--ring);
    }
  }
  .peer-focus-visible\:ring-offset-2 {
    &:is(:where(.peer):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);
    }
  }
  .peer-focus-visible\:ring-offset-background {
    &:is(:where(.peer):focus-visible ~ *) {
      --tw-ring-offset-color: var(--background);
    }
  }
  .peer-focus-visible\:outline-none {
    &:is(:where(.peer):focus-visible ~ *) {
      --tw-outline-style: none;
      outline-style: none;
    }
  }
  .peer-disabled\:cursor-not-allowed {
    &:is(:where(.peer):disabled ~ *) {
      cursor: not-allowed;
    }
  }
  .peer-disabled\:opacity-50 {
    &:is(:where(.peer):disabled ~ *) {
      opacity: 50%;
    }
  }
  .selection\:bg-primary {
    & *::selection {
      background-color: var(--primary);
    }
    &::selection {
      background-color: var(--primary);
    }
  }
  .selection\:text-primary-foreground {
    & *::selection {
      color: var(--primary-foreground);
    }
    &::selection {
      color: var(--primary-foreground);
    }
  }
  .file\:inline-flex {
    &::file-selector-button {
      display: inline-flex;
    }
  }
  .file\:h-7 {
    &::file-selector-button {
      height: calc(var(--spacing) * 7);
    }
  }
  .file\:border-0 {
    &::file-selector-button {
      border-style: var(--tw-border-style);
      border-width: 0px;
    }
  }
  .file\:bg-transparent {
    &::file-selector-button {
      background-color: transparent;
    }
  }
  .file\:text-sm {
    &::file-selector-button {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }
  .file\:font-medium {
    &::file-selector-button {
      --tw-font-weight: var(--font-weight-medium);
      font-weight: var(--font-weight-medium);
    }
  }
  .file\:text-foreground {
    &::file-selector-button {
      color: var(--foreground);
    }
  }
  .placeholder\:text-muted-foreground {
    &::placeholder {
      color: var(--muted-foreground);
    }
  }
  .before\:absolute {
    &::before {
      content: var(--tw-content);
      position: absolute;
    }
  }
  .before\:top-1\/2 {
    &::before {
      content: var(--tw-content);
      top: calc(1 / 2 * 100%);
    }
  }
  .before\:left-1\/2 {
    &::before {
      content: var(--tw-content);
      left: calc(1 / 2 * 100%);
    }
  }
  .before\:h-1\.5 {
    &::before {
      content: var(--tw-content);
      height: calc(var(--spacing) * 1.5);
    }
  }
  .before\:w-1\.5 {
    &::before {
      content: var(--tw-content);
      width: calc(var(--spacing) * 1.5);
    }
  }
  .before\:-translate-x-1\/2 {
    &::before {
      content: var(--tw-content);
      --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .before\:-translate-y-1\/2 {
    &::before {
      content: var(--tw-content);
      --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .before\:rounded-full {
    &::before {
      content: var(--tw-content);
      border-radius: calc(infinity * 1px);
    }
  }
  .before\:bg-background {
    &::before {
      content: var(--tw-content);
      background-color: var(--background);
    }
  }
  .after\:pointer-events-none {
    &::after {
      content: var(--tw-content);
      pointer-events: none;
    }
  }
  .after\:block {
    &::after {
      content: var(--tw-content);
      display: block;
    }
  }
  .after\:h-4 {
    &::after {
      content: var(--tw-content);
      height: calc(var(--spacing) * 4);
    }
  }
  .after\:w-4 {
    &::after {
      content: var(--tw-content);
      width: calc(var(--spacing) * 4);
    }
  }
  .after\:rounded-full {
    &::after {
      content: var(--tw-content);
      border-radius: calc(infinity * 1px);
    }
  }
  .after\:bg-background {
    &::after {
      content: var(--tw-content);
      background-color: var(--background);
    }
  }
  .after\:shadow-lg {
    &::after {
      content: var(--tw-content);
      --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);
    }
  }
  .after\:ring-0 {
    &::after {
      content: var(--tw-content);
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .after\:transition-transform {
    &::after {
      content: var(--tw-content);
      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));
    }
  }
  .after\:content-\[\'\'\] {
    &::after {
      --tw-content: '';
      content: var(--tw-content);
    }
  }
  .peer-checked\:after\:translate-x-4 {
    &:is(:where(.peer):checked ~ *) {
      &::after {
        content: var(--tw-content);
        --tw-translate-x: calc(var(--spacing) * 4);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .last\:border-b-0 {
    &:last-child {
      border-bottom-style: var(--tw-border-style);
      border-bottom-width: 0px;
    }
  }
  .checked\:border-primary {
    &:checked {
      border-color: var(--primary);
    }
  }
  .checked\:bg-primary {
    &:checked {
      background-color: var(--primary);
    }
  }
  .checked\:text-primary-foreground {
    &:checked {
      color: var(--primary-foreground);
    }
  }
  .checked\:before\:visible {
    &:checked {
      &::before {
        content: var(--tw-content);
        visibility: visible;
      }
    }
  }
  .indeterminate\:border-primary {
    &:indeterminate {
      border-color: var(--primary);
    }
  }
  .indeterminate\:bg-primary {
    &:indeterminate {
      background-color: var(--primary);
    }
  }
  .indeterminate\:text-primary-foreground {
    &:indeterminate {
      color: var(--primary-foreground);
    }
  }
  .empty\:hidden {
    &:empty {
      display: none;
    }
  }
  .focus-within\:border-ring {
    &:focus-within {
      border-color: var(--ring);
    }
  }
  .focus-within\:ring-\[3px\] {
    &:focus-within {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .focus-within\:ring-ring\/50 {
    &:focus-within {
      --tw-ring-color: var(--ring);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
      }
    }
  }
  .hover\:bg-accent {
    &:hover {
      @media (hover: hover) {
        background-color: var(--accent);
      }
    }
  }
  .hover\:bg-black\/40 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #000 40%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-black) 40%, transparent);
        }
      }
    }
  }
  .hover\:bg-destructive\/90 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--destructive) 90%, transparent);
        }
      }
    }
  }
  .hover\:bg-foreground\/50 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--foreground);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--foreground) 50%, transparent);
        }
      }
    }
  }
  .hover\:bg-muted\/50 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--muted);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--muted) 50%, transparent);
        }
      }
    }
  }
  .hover\:bg-primary\/90 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--primary);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--primary) 90%, transparent);
        }
      }
    }
  }
  .hover\:bg-secondary\/80 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--secondary);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--secondary) 80%, transparent);
        }
      }
    }
  }
  .hover\:text-accent-foreground {
    &:hover {
      @media (hover: hover) {
        color: var(--accent-foreground);
      }
    }
  }
  .hover\:text-destructive {
    &:hover {
      @media (hover: hover) {
        color: var(--destructive);
      }
    }
  }
  .hover\:text-foreground {
    &:hover {
      @media (hover: hover) {
        color: var(--foreground);
      }
    }
  }
  .hover\:underline {
    &:hover {
      @media (hover: hover) {
        text-decoration-line: underline;
      }
    }
  }
  .hover\:opacity-100 {
    &:hover {
      @media (hover: hover) {
        opacity: 100%;
      }
    }
  }
  .focus\:bg-accent {
    &:focus {
      background-color: var(--accent);
    }
  }
  .focus\:text-accent-foreground {
    &:focus {
      color: var(--accent-foreground);
    }
  }
  .focus\:ring-2 {
    &:focus {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .focus\:ring-ring {
    &:focus {
      --tw-ring-color: var(--ring);
    }
  }
  .focus\:ring-offset-2 {
    &:focus {
      --tw-ring-offset-width: 2px;
      --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    }
  }
  .focus\:outline-none {
    &:focus {
      --tw-outline-style: none;
      outline-style: none;
    }
  }
  .focus-visible\:border-ring {
    &:focus-visible {
      border-color: var(--ring);
    }
  }
  .focus-visible\:bg-accent {
    &:focus-visible {
      background-color: var(--accent);
    }
  }
  .focus-visible\:text-accent-foreground {
    &:focus-visible {
      color: var(--accent-foreground);
    }
  }
  .focus-visible\:ring-0 {
    &:focus-visible {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .focus-visible\:ring-2 {
    &:focus-visible {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .focus-visible\:ring-\[3px\] {
    &:focus-visible {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .focus-visible\:ring-destructive\/20 {
    &:focus-visible {
      --tw-ring-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
      }
    }
  }
  .focus-visible\:ring-ring {
    &:focus-visible {
      --tw-ring-color: var(--ring);
    }
  }
  .focus-visible\:ring-ring\/50 {
    &:focus-visible {
      --tw-ring-color: var(--ring);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
      }
    }
  }
  .focus-visible\:ring-offset-2 {
    &:focus-visible {
      --tw-ring-offset-width: 2px;
      --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    }
  }
  .focus-visible\:ring-offset-background {
    &:focus-visible {
      --tw-ring-offset-color: var(--background);
    }
  }
  .focus-visible\:outline-hidden {
    &:focus-visible {
      --tw-outline-style: none;
      outline-style: none;
      @media (forced-colors: active) {
        outline: 2px solid transparent;
        outline-offset: 2px;
      }
    }
  }
  .focus-visible\:outline-1 {
    &:focus-visible {
      outline-style: var(--tw-outline-style);
      outline-width: 1px;
    }
  }
  .focus-visible\:outline-ring {
    &:focus-visible {
      outline-color: var(--ring);
    }
  }
  .focus-visible\:outline-none {
    &:focus-visible {
      --tw-outline-style: none;
      outline-style: none;
    }
  }
  .active\:cursor-grabbing {
    &:active {
      cursor: grabbing;
    }
  }
  .disabled\:pointer-events-none {
    &:disabled {
      pointer-events: none;
    }
  }
  .disabled\:cursor-not-allowed {
    &:disabled {
      cursor: not-allowed;
    }
  }
  .disabled\:opacity-50 {
    &:disabled {
      opacity: 50%;
    }
  }
  .disabled\:opacity-100 {
    &:disabled {
      opacity: 100%;
    }
  }
  .has-\[\:focus\]\:border-ring {
    &:has(*:is(:focus)) {
      border-color: var(--ring);
    }
  }
  .has-\[\:focus\]\:ring-\[3px\] {
    &:has(*:is(:focus)) {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .has-\[\:focus\]\:ring-ring\/50 {
    &:has(*:is(:focus)) {
      --tw-ring-color: var(--ring);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
      }
    }
  }
  .has-\[\>svg\]\:grid-cols-\[1rem_1fr\] {
    &:has(>svg) {
      grid-template-columns: 1rem 1fr;
    }
  }
  .has-\[\>svg\]\:gap-x-3 {
    &:has(>svg) {
      column-gap: calc(var(--spacing) * 3);
    }
  }
  .has-\[\>svg\]\:px-2\.5 {
    &:has(>svg) {
      padding-inline: calc(var(--spacing) * 2.5);
    }
  }
  .has-\[\>svg\]\:px-3 {
    &:has(>svg) {
      padding-inline: calc(var(--spacing) * 3);
    }
  }
  .has-\[\>svg\]\:px-4 {
    &:has(>svg) {
      padding-inline: calc(var(--spacing) * 4);
    }
  }
  .aria-invalid\:border-destructive {
    &[aria-invalid="true"] {
      border-color: var(--destructive);
    }
  }
  .aria-invalid\:ring-destructive\/20 {
    &[aria-invalid="true"] {
      --tw-ring-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
      }
    }
  }
  .data-\[position\=bottom-center\]\:bottom-0 {
    &[data-position="bottom-center"] {
      bottom: calc(var(--spacing) * 0);
    }
  }
  .data-\[position\=bottom-center\]\:left-1\/2 {
    &[data-position="bottom-center"] {
      left: calc(1 / 2 * 100%);
    }
  }
  .data-\[position\=bottom-center\]\:-translate-x-1\/2 {
    &[data-position="bottom-center"] {
      --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .data-\[position\=bottom-left\]\:bottom-0 {
    &[data-position="bottom-left"] {
      bottom: calc(var(--spacing) * 0);
    }
  }
  .data-\[position\=bottom-left\]\:left-0 {
    &[data-position="bottom-left"] {
      left: calc(var(--spacing) * 0);
    }
  }
  .data-\[position\=bottom-right\]\:right-0 {
    &[data-position="bottom-right"] {
      right: calc(var(--spacing) * 0);
    }
  }
  .data-\[position\=bottom-right\]\:bottom-0 {
    &[data-position="bottom-right"] {
      bottom: calc(var(--spacing) * 0);
    }
  }
  .data-\[position\=top-center\]\:top-0 {
    &[data-position="top-center"] {
      top: calc(var(--spacing) * 0);
    }
  }
  .data-\[position\=top-center\]\:left-1\/2 {
    &[data-position="top-center"] {
      left: calc(1 / 2 * 100%);
    }
  }
  .data-\[position\=top-center\]\:-translate-x-1\/2 {
    &[data-position="top-center"] {
      --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .data-\[position\=top-left\]\:top-0 {
    &[data-position="top-left"] {
      top: calc(var(--spacing) * 0);
    }
  }
  .data-\[position\=top-left\]\:left-0 {
    &[data-position="top-left"] {
      left: calc(var(--spacing) * 0);
    }
  }
  .data-\[position\=top-right\]\:top-0 {
    &[data-position="top-right"] {
      top: calc(var(--spacing) * 0);
    }
  }
  .data-\[position\=top-right\]\:right-0 {
    &[data-position="top-right"] {
      right: calc(var(--spacing) * 0);
    }
  }
  .\*\:data-\[slot\=alert-description\]\:text-destructive\/90 {
    :is(& > *) {
      &[data-slot="alert-description"] {
        color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          color: color-mix(in oklab, var(--destructive) 90%, transparent);
        }
      }
    }
  }
  .data-\[tui-dialog-open\=false\]\:\!-translate-x-full {
    &[data-tui-dialog-open="false"] {
      --tw-translate-x: -100% !important;
      translate: var(--tw-translate-x) var(--tw-translate-y) !important;
    }
  }
  .data-\[tui-dialog-open\=false\]\:\!translate-x-full {
    &[data-tui-dialog-open="false"] {
      --tw-translate-x: 100% !important;
      translate: var(--tw-translate-x) var(--tw-translate-y) !important;
    }
  }
  .data-\[tui-dialog-open\=false\]\:\!-translate-y-full {
    &[data-tui-dialog-open="false"] {
      --tw-translate-y: -100% !important;
      translate: var(--tw-translate-x) var(--tw-translate-y) !important;
    }
  }
  .data-\[tui-dialog-open\=false\]\:\!translate-y-full {
    &[data-tui-dialog-open="false"] {
      --tw-translate-y: 100% !important;
      translate: var(--tw-translate-x) var(--tw-translate-y) !important;
    }
  }
  .data-\[tui-dialog-open\=false\]\:scale-95 {
    &[data-tui-dialog-open="false"] {
      --tw-scale-x: 95%;
      --tw-scale-y: 95%;
      --tw-scale-z: 95%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
  .data-\[tui-dialog-open\=false\]\:opacity-0 {
    &[data-tui-dialog-open="false"] {
      opacity: 0%;
    }
  }
  .data-\[tui-dialog-open\=false\]\:duration-300 {
    &[data-tui-dialog-open="false"] {
      --tw-duration: 300ms;
      transition-duration: 300ms;
    }
  }
  .data-\[tui-dialog-open\=true\]\:\!translate-x-0 {
    &[data-tui-dialog-open="true"] {
      --tw-translate-x: calc(var(--spacing) * 0) !important;
      translate: var(--tw-translate-x) var(--tw-translate-y) !important;
    }
  }
  .data-\[tui-dialog-open\=true\]\:\!translate-y-0 {
    &[data-tui-dialog-open="true"] {
      --tw-translate-y: calc(var(--spacing) * 0) !important;
      translate: var(--tw-translate-x) var(--tw-translate-y) !important;
    }
  }
  .data-\[tui-dialog-open\=true\]\:scale-100 {
    &[data-tui-dialog-open="true"] {
      --tw-scale-x: 100%;
      --tw-scale-y: 100%;
      --tw-scale-z: 100%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
  .data-\[tui-dialog-open\=true\]\:bg-accent {
    &[data-tui-dialog-open="true"] {
      background-color: var(--accent);
    }
  }
  .data-\[tui-dialog-open\=true\]\:text-muted-foreground {
    &[data-tui-dialog-open="true"] {
      color: var(--muted-foreground);
    }
  }
  .data-\[tui-dialog-open\=true\]\:opacity-100 {
    &[data-tui-dialog-open="true"] {
      opacity: 100%;
    }
  }
  .data-\[tui-dialog-open\=true\]\:duration-500 {
    &[data-tui-dialog-open="true"] {
      --tw-duration: 500ms;
      transition-duration: 500ms;
    }
  }
  .data-\[tui-popover-open\=false\]\:opacity-0 {
    &[data-tui-popover-open="false"] {
      opacity: 0%;
    }
  }
  .data-\[tui-popover-open\=true\]\:opacity-100 {
    &[data-tui-popover-open="true"] {
      opacity: 100%;
    }
  }
  .data-\[tui-selectbox-selected\=true\]\:bg-accent {
    &[data-tui-selectbox-selected="true"] {
      background-color: var(--accent);
    }
  }
  .data-\[tui-selectbox-selected\=true\]\:text-accent-foreground {
    &[data-tui-selectbox-selected="true"] {
      color: var(--accent-foreground);
    }
  }
  .data-\[tui-sidebar-active\=true\]\:font-medium {
    &[data-tui-sidebar-active="true"] {
      --tw-font-weight: var(--font-weight-medium);
      font-weight: var(--font-weight-medium);
    }
  }
  .data-\[tui-sidebar-size\=default\]\:h-8 {
    &[data-tui-sidebar-size="default"] {
      height: calc(var(--spacing) * 8);
    }
  }
  .data-\[tui-sidebar-size\=default\]\:text-sm {
    &[data-tui-sidebar-size="default"] {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }
  .data-\[tui-sidebar-size\=lg\]\:h-12 {
    &[data-tui-sidebar-size="lg"] {
      height: calc(var(--spacing) * 12);
    }
  }
  .data-\[tui-sidebar-size\=lg\]\:text-sm {
    &[data-tui-sidebar-size="lg"] {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }
  .group-data-\[tui-sidebar-state\=collapsed\]\:group-data-\[tui-sidebar-collapsible\=icon\]\:data-\[tui-sidebar-size\=lg\]\:\!p-0 {
    &:is(:where(.group)[data-tui-sidebar-state="collapsed"] *) {
      &:is(:where(.group)[data-tui-sidebar-collapsible="icon"] *) {
        &[data-tui-sidebar-size="lg"] {
          padding: calc(var(--spacing) * 0) !important;
        }
      }
    }
  }
  .data-\[tui-sidebar-size\=sm\]\:h-7 {
    &[data-tui-sidebar-size="sm"] {
      height: calc(var(--spacing) * 7);
    }
  }
  .data-\[tui-sidebar-size\=sm\]\:text-xs {
    &[data-tui-sidebar-size="sm"] {
      font-size: var(--text-xs);
      line-height: var(--tw-leading, var(--text-xs--line-height));
    }
  }
  .data-\[tui-table-state-selected\]\:bg-muted {
    &[data-tui-table-state-selected] {
      background-color: var(--muted);
    }
  }
  .data-\[tui-tabs-state\=active\]\:bg-background {
    &[data-tui-tabs-state="active"] {
      background-color: var(--background);
    }
  }
  .data-\[tui-tabs-state\=active\]\:shadow-sm {
    &[data-tui-tabs-state="active"] {
      --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .data-\[tui-timepicker-active\=true\]\:bg-primary {
    &[data-tui-timepicker-active="true"] {
      background-color: var(--primary);
    }
  }
  .data-\[tui-timepicker-active\=true\]\:text-primary-foreground {
    &[data-tui-timepicker-active="true"] {
      color: var(--primary-foreground);
    }
  }
  .data-\[tui-timepicker-active\=true\]\:hover\:bg-primary\/90 {
    &[data-tui-timepicker-active="true"] {
      &:hover {
        @media (hover: hover) {
          background-color: var(--primary);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--primary) 90%, transparent);
          }
        }
      }
    }
  }
  .data-\[tui-timepicker-selected\=true\]\:bg-primary {
    &[data-tui-timepicker-selected="true"] {
      background-color: var(--primary);
    }
  }
  .data-\[tui-timepicker-selected\=true\]\:text-primary-foreground {
    &[data-tui-timepicker-selected="true"] {
      color: var(--primary-foreground);
    }
  }
  .data-\[tui-timepicker-selected\=true\]\:hover\:bg-primary\/90 {
    &[data-tui-timepicker-selected="true"] {
      &:hover {
        @media (hover: hover) {
          background-color: var(--primary);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--primary) 90%, transparent);
          }
        }
      }
    }
  }
  .data-\[variant\=default\]\:bg-gray-500 {
    &[data-variant="default"] {
      background-color: var(--color-gray-500);
    }
  }
  .data-\[variant\=error\]\:bg-red-500 {
    &[data-variant="error"] {
      background-color: var(--color-red-500);
    }
  }
  .data-\[variant\=info\]\:bg-blue-500 {
    &[data-variant="info"] {
      background-color: var(--color-blue-500);
    }
  }
  .data-\[variant\=success\]\:bg-green-500 {
    &[data-variant="success"] {
      background-color: var(--color-green-500);
    }
  }
  .data-\[variant\=warning\]\:bg-yellow-500 {
    &[data-variant="warning"] {
      background-color: var(--color-yellow-500);
    }
  }
  .motion-reduce\:transition-none {
    @media (prefers-reduced-motion: reduce) {
      transition-property: none;
    }
  }
  .sm\:\!max-w-sm {
    @media (width >= 40rem) {
      max-width: var(--container-sm) !important;
    }
  }
  .sm\:max-w-lg {
    @media (width >= 40rem) {
      max-width: var(--container-lg);
    }
  }
  .sm\:flex-row {
    @media (width >= 40rem) {
      flex-direction: row;
    }
  }
  .sm\:justify-end {
    @media (width >= 40rem) {
      justify-content: flex-end;
    }
  }
  .sm\:text-left {
    @media (width >= 40rem) {
      text-align: left;
    }
  }
  .md\:block {
    @media (width >= 48rem) {
      display: block;
    }
  }
  .md\:flex {
    @media (width >= 48rem) {
      display: flex;
    }
  }
  .md\:hidden {
    @media (width >= 48rem) {
      display: none;
    }
  }
  .md\:max-w-\[420px\] {
    @media (width >= 48rem) {
      max-width: 420px;
    }
  }
  .md\:text-sm {
    @media (width >= 48rem) {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }
  .md\:peer-data-\[tui-sidebar-variant\=inset\]\:m-2 {
    @media (width >= 48rem) {
      &:is(:where(.peer)[data-tui-sidebar-variant="inset"] ~ *) {
        margin: calc(var(--spacing) * 2);
      }
    }
  }
  .md\:peer-data-\[tui-sidebar-variant\=inset\]\:ml-0 {
    @media (width >= 48rem) {
      &:is(:where(.peer)[data-tui-sidebar-variant="inset"] ~ *) {
        margin-left: calc(var(--spacing) * 0);
      }
    }
  }
  .md\:peer-data-\[tui-sidebar-variant\=inset\]\:rounded-xl {
    @media (width >= 48rem) {
      &:is(:where(.peer)[data-tui-sidebar-variant="inset"] ~ *) {
        border-radius: calc(var(--radius) + 4px);
      }
    }
  }
  .md\:peer-data-\[tui-sidebar-variant\=inset\]\:shadow-sm {
    @media (width >= 48rem) {
      &:is(:where(.peer)[data-tui-sidebar-variant="inset"] ~ *) {
        --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      }
    }
  }
  .md\:peer-data-\[tui-sidebar-variant\=inset\]\:peer-data-\[tui-sidebar-state\=collapsed\]\:peer-data-\[tui-sidebar-collapsible\=offcanvas\]\:ml-2 {
    @media (width >= 48rem) {
      &:is(:where(.peer)[data-tui-sidebar-variant="inset"] ~ *) {
        &:is(:where(.peer)[data-tui-sidebar-state="collapsed"] ~ *) {
          &:is(:where(.peer)[data-tui-sidebar-collapsible="offcanvas"] ~ *) {
            margin-left: calc(var(--spacing) * 2);
          }
        }
      }
    }
  }
  .dark\:border-input {
    &:where(.dark, .dark *) {
      border-color: var(--input);
    }
  }
  .dark\:bg-destructive\/60 {
    &:where(.dark, .dark *) {
      background-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--destructive) 60%, transparent);
      }
    }
  }
  .dark\:bg-input\/30 {
    &:where(.dark, .dark *) {
      background-color: var(--input);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--input) 30%, transparent);
      }
    }
  }
  .dark\:bg-transparent {
    &:where(.dark, .dark *) {
      background-color: transparent;
    }
  }
  .dark\:text-muted-foreground {
    &:where(.dark, .dark *) {
      color: var(--muted-foreground);
    }
  }
  .dark\:ring-destructive\/40 {
    &:where(.dark, .dark *) {
      --tw-ring-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
      }
    }
  }
  .dark\:hover\:bg-accent\/50 {
    &:where(.dark, .dark *) {
      &:hover {
        @media (hover: hover) {
          background-color: var(--accent);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--accent) 50%, transparent);
          }
        }
      }
    }
  }
  .dark\:hover\:bg-input\/50 {
    &:where(.dark, .dark *) {
      &:hover {
        @media (hover: hover) {
          background-color: var(--input);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--input) 50%, transparent);
          }
        }
      }
    }
  }
  .dark\:focus-visible\:ring-destructive\/40 {
    &:where(.dark, .dark *) {
      &:focus-visible {
        --tw-ring-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
        }
      }
    }
  }
  .dark\:aria-invalid\:ring-destructive\/40 {
    &:where(.dark, .dark *) {
      &[aria-invalid="true"] {
        --tw-ring-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
        }
      }
    }
  }
  .dark\:data-\[tui-tabs-state\=active\]\:border-input {
    &:where(.dark, .dark *) {
      &[data-tui-tabs-state="active"] {
        border-color: var(--input);
      }
    }
  }
  .dark\:data-\[tui-tabs-state\=active\]\:bg-input\/30 {
    &:where(.dark, .dark *) {
      &[data-tui-tabs-state="active"] {
        background-color: var(--input);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--input) 30%, transparent);
        }
      }
    }
  }
  .dark\:data-\[tui-tabs-state\=active\]\:text-foreground {
    &:where(.dark, .dark *) {
      &[data-tui-tabs-state="active"] {
        color: var(--foreground);
      }
    }
  }
  .\[\&_\[data-tui-dialog-panel\]\]\:gap-4 {
    & [data-tui-dialog-panel] {
      gap: calc(var(--spacing) * 4);
    }
  }
  .\[\&_\[data-tui-dialog-panel\]\]\:\!p-0 {
    & [data-tui-dialog-panel] {
      padding: calc(var(--spacing) * 0) !important;
    }
  }
  .\[\&_\[data-tui-popover-arrow\]\]\:\!border-0 {
    & [data-tui-popover-arrow] {
      border-style: var(--tw-border-style) !important;
      border-width: 0px !important;
    }
  }
  .\[\&_\[data-tui-popover-arrow\]\]\:\!bg-foreground {
    & [data-tui-popover-arrow] {
      background-color: var(--foreground) !important;
    }
  }
  .\[\&_p\]\:leading-relaxed {
    & p {
      --tw-leading: var(--leading-relaxed);
      line-height: var(--leading-relaxed);
    }
  }
  .\[\&_svg\]\:pointer-events-none {
    & svg {
      pointer-events: none;
    }
  }
  .\[\&_svg\]\:shrink-0 {
    & svg {
      flex-shrink: 0;
    }
  }
  .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 {
    & svg:not([class*='size-']) {
      width: calc(var(--spacing) * 4);
      height: calc(var(--spacing) * 4);
    }
  }
  .\[\&_tr\]\:border-b {
    & tr {
      border-bottom-style: var(--tw-border-style);
      border-bottom-width: 1px;
    }
  }
  .\[\&_tr\:last-child\]\:border-0 {
    & tr:last-child {
      border-style: var(--tw-border-style);
      border-width: 0px;
    }
  }
  .\[\&\.tui-collapsible-open\]\:grid-rows-\[1fr\] {
    &.tui-collapsible-open {
      grid-template-rows: 1fr;
    }
  }
  .\[\&\:\:-webkit-details-marker\]\:hidden {
    &::-webkit-details-marker {
      display: none;
    }
  }
  .\[\&\:\:backdrop\]\:transition-all {
    &::backdrop {
      transition-property: all;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
    }
  }
  .\[\&\:\:backdrop\]\:duration-200 {
    &::backdrop {
      --tw-duration: 200ms;
      transition-duration: 200ms;
    }
  }
  .data-\[tui-dialog-open\=false\]\:\[\&\:\:backdrop\]\:bg-black\/0 {
    &[data-tui-dialog-open="false"] {
      &::backdrop {
        background-color: color-mix(in srgb, #000 0%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-black) 0%, transparent);
        }
      }
    }
  }
  .data-\[tui-dialog-open\=true\]\:\[\&\:\:backdrop\]\:bg-black\/50 {
    &[data-tui-dialog-open="true"] {
      &::backdrop {
        background-color: color-mix(in srgb, #000 50%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-black) 50%, transparent);
        }
      }
    }
  }
  .\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0 {
    &:has([role=checkbox]) {
      padding-right: calc(var(--spacing) * 0);
    }
  }
  .\[\&\:not\(\[open\]\)\:not\(\[data-tui-dialog-closing\=true\]\)\]\:hidden {
    &:not([open]):not([data-tui-dialog-closing=true]) {
      display: none;
    }
  }
  .\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\] {
    &>[role=checkbox] {
      --tw-translate-y: 2px;
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .\[\&\>span\:last-child\]\:truncate {
    &>span:last-child {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
  }
  .\[\&\>svg\]\:pointer-events-none {
    &>svg {
      pointer-events: none;
    }
  }
  .\[\&\>svg\]\:size-3 {
    &>svg {
      width: calc(var(--spacing) * 3);
      height: calc(var(--spacing) * 3);
    }
  }
  .\[\&\>svg\]\:size-4 {
    &>svg {
      width: calc(var(--spacing) * 4);
      height: calc(var(--spacing) * 4);
    }
  }
  .\[\&\>svg\]\:shrink-0 {
    &>svg {
      flex-shrink: 0;
    }
  }
  .\[\&\>svg\]\:translate-y-0\.5 {
    &>svg {
      --tw-translate-y: calc(var(--spacing) * 0.5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .\[\&\>svg\]\:text-current {
    &>svg {
      color: currentcolor;
    }
  }
  .\[\&\>tr\]\:last\:border-b-0 {
    &>tr {
      &:last-child {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 0px;
      }
    }
  }
  .\[\&\[open\]\>summary\>svg\]\:rotate-180 {
    &[open]>summary>svg {
      rotate: 180deg;
    }
  }
  .\[a\&\]\:hover\:bg-accent {
    a& {
      &:hover {
        @media (hover: hover) {
          background-color: var(--accent);
        }
      }
    }
  }
  .\[a\&\]\:hover\:bg-destructive\/90 {
    a& {
      &:hover {
        @media (hover: hover) {
          background-color: var(--destructive);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--destructive) 90%, transparent);
          }
        }
      }
    }
  }
  .\[a\&\]\:hover\:bg-primary\/90 {
    a& {
      &:hover {
        @media (hover: hover) {
          background-color: var(--primary);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--primary) 90%, transparent);
          }
        }
      }
    }
  }
  .\[a\&\]\:hover\:bg-secondary\/90 {
    a& {
      &:hover {
        @media (hover: hover) {
          background-color: var(--secondary);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--secondary) 90%, transparent);
          }
        }
      }
    }
  }
  .\[a\&\]\:hover\:text-accent-foreground {
    a& {
      &:hover {
        @media (hover: hover) {
          color: var(--accent-foreground);
        }
      }
    }
  }
}
:root {
  --radius: 0.65rem;
  --background: oklch(1 0 0);
  --foreground: oklch(0.145 0 0);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.145 0 0);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.145 0 0);
  --primary: oklch(0.205 0 0);
  --primary-foreground: oklch(0.985 0 0);
  --secondary: oklch(0.97 0 0);
  --secondary-foreground: oklch(0.205 0 0);
  --muted: oklch(0.97 0 0);
  --muted-foreground: oklch(0.556 0 0);
  --accent: oklch(0.97 0 0);
  --accent-foreground: oklch(0.205 0 0);
  --destructive: oklch(0.577 0.245 27.325);
  --border: oklch(0.922 0 0);
  --input: oklch(0.922 0 0);
  --ring: oklch(0.708 0 0);
}
.dark {
  --background: oklch(0.145 0 0);
  --foreground: oklch(0.985 0 0);
  --card: oklch(0.205 0 0);
  --card-foreground: oklch(0.985 0 0);
  --popover: oklch(0.205 0 0);
  --popover-foreground: oklch(0.985 0 0);
  --primary: oklch(0.922 0 0);
  --primary-foreground: oklch(0.205 0 0);
  --secondary: oklch(0.269 0 0);
  --secondary-foreground: oklch(0.985 0 0);
  --muted: oklch(0.269 0 0);
  --muted-foreground: oklch(0.708 0 0);
  --accent: oklch(0.269 0 0);
  --accent-foreground: oklch(0.985 0 0);
  --destructive: oklch(0.704 0.191 22.216);
  --border: oklch(1 0 0 / 10%);
  --input: oklch(1 0 0 / 15%);
  --ring: oklch(0.556 0 0);
}
@layer base {
  * {
    border-color: var(--border);
    scrollbar-width: thin;
    scrollbar-color: var(--color-muted-foreground) transparent;
  }
  *::-webkit-scrollbar {
    width: 8px;
    height: 8px;
  }
  *::-webkit-scrollbar-thumb {
    background: var(--color-muted-foreground);
    border-radius: 4px;
  }
  *::-webkit-scrollbar-thumb:hover {
    background: var(--color-foreground);
  }
  body {
    background-color: var(--background);
    color: var(--foreground);
  }
}
.create-offer-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin: 0 auto 16px;
  max-width: 1560px;
}
.create-offer-head h1 {
  color: #07141b;
  font-size: 30px;
  font-weight: 850;
  line-height: 1.2;
}
.create-offer-kicker {
  color: #1d4ed8;
  font-size: 0.875rem;
  font-weight: 800;
  margin-bottom: 0.25rem;
}
.create-offer-shell {
  display: grid;
  gap: 16px;
  margin: 0 auto;
  max-width: 1560px;
}
.create-offer-inputs {
  align-items: stretch;
  display: grid;
  gap: 14px;
  grid-template-columns: 1fr 1fr;
}
.create-offer-panel {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 14px 34px rgb(15 23 42 / 0.05);
}
.create-calculation-panel, .create-project-panel {
  padding: 14px 16px 16px;
}
.create-offer-section-head {
  align-items: center;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 10px;
}
.create-offer-section-head h2 {
  color: #0f172a;
  font-size: 18px;
  font-weight: 850;
  line-height: 1.25;
}
.create-offer-section-head p {
  color: var(--color-muted-foreground);
  font-size: 0.8125rem;
  margin-top: 0.125rem;
}
.create-top-grid, .create-project-grid {
  display: grid;
  gap: 14px;
}
.create-top-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.create-project-grid {
  align-items: end;
  grid-template-columns: minmax(180px, 1fr) minmax(150px, 0.8fr) minmax(140px, 0.7fr) minmax(170px, 0.75fr) minmax(150px, 0.65fr) minmax(140px, 0.7fr) minmax(160px, 0.7fr) minmax(190px, 0.8fr);
}
.create-check-stack {
  display: grid;
  gap: 8px;
}
.create-divider {
  border-top: 1px solid var(--color-border);
  margin: 1rem 0;
}
.create-field {
  display: grid;
  gap: 6px;
}
.create-field span {
  color: #475569;
  font-size: 13px;
  font-weight: 800;
}
.create-field input, .create-field select {
  background: #f8fafc;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  color: #0f172a;
  font-size: 15px;
  height: 38px;
  min-width: 0;
  padding: 0 12px;
  box-shadow: 0 1px 2px rgb(15 23 42 / 0.05);
  width: 100%;
}
.create-field input:read-only {
  background: var(--color-muted);
}
.create-field input:focus, .create-field select:focus {
  border-color: #1d4ed8;
  box-shadow: 0 0 0 3px rgb(29 78 216 / 0.16);
  outline: none;
}
.create-field small, .create-form-error {
  color: var(--color-destructive);
  font-size: 0.75rem;
}
.create-check {
  align-items: center;
  background: #f8fafc;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  color: #0f172a;
  cursor: pointer;
  display: flex;
  gap: 10px;
  min-height: 36px;
  padding: 0 12px;
}
.create-check span {
  font-size: 14px;
  font-weight: 750;
  line-height: 1.2;
}
.create-check input {
  accent-color: #1d4ed8;
  height: 16px;
  width: 16px;
}
.create-offer-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 10px;
}
.create-estimate-panel {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  color: #0f172a;
  overflow: hidden;
  padding: 16px 18px 18px;
  box-shadow: 0 14px 34px rgb(15 23 42 / 0.05);
}
.create-estimate-head {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
}
.create-estimate-head h2 {
  color: #0f172a;
  font-size: 18px;
  font-weight: 850;
  line-height: 1.2;
}
.create-estimate-head p {
  color: #64748b;
  font-size: 13px;
  margin-top: 4px;
}
.create-preview-empty {
  color: #64748b;
  font-size: 14px;
}
.create-preview-hero {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 16px;
}
.create-preview-hero div {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 10px 12px;
}
.create-preview-hero span, .create-preview-details span {
  color: #475569;
  display: block;
  font-size: 12px;
  font-weight: 700;
}
.create-preview-hero strong {
  display: block;
  color: #0f172a;
  font-size: 18px;
  font-variant-numeric: tabular-nums;
  font-weight: 900;
  line-height: 1.25;
  margin-top: 3px;
}
.create-estimate-section {
  margin-top: 16px;
}
.create-estimate-section h3 {
  color: #0f172a;
  font-size: 16px;
  font-weight: 850;
  margin-bottom: 6px;
}
.create-preview-table-wrap {
  border-top: 1px solid #e2e8f0;
  overflow-x: auto;
}
.create-preview-table {
  border-collapse: collapse;
  color: #0f172a;
  font-size: 14px;
  table-layout: fixed;
  width: 100%;
}
.create-preview-table th, .create-preview-table td {
  border-bottom: 1px solid #e5e7eb;
  padding: 8px 12px;
  text-align: left;
  vertical-align: middle;
}
.create-preview-table th {
  color: #64748b;
  font-size: 13px;
  font-weight: 800;
}
.create-preview-table th:nth-child(1), .create-preview-table td:nth-child(1) {
  padding-left: 0;
  text-align: center;
  width: 8%;
}
.create-preview-table th:nth-child(2), .create-preview-table td:nth-child(2) {
  width: 38%;
  word-break: break-word;
}
.create-preview-table th:nth-child(3), .create-preview-table td:nth-child(3) {
  width: 14%;
}
.create-preview-table th:nth-child(4), .create-preview-table td:nth-child(4) {
  text-align: left;
  width: 10%;
}
.create-preview-table th:nth-child(5), .create-preview-table td:nth-child(5) {
  width: 16%;
}
.create-preview-table th:nth-child(6), .create-preview-table td:nth-child(6) {
  padding-right: 0;
  width: 14%;
}
.create-preview-table th:nth-child(3), .create-preview-table td:nth-child(3), .create-preview-table th:nth-child(5), .create-preview-table td:nth-child(5), .create-preview-table th:nth-child(6), .create-preview-table td:nth-child(6) {
  font-variant-numeric: tabular-nums;
  text-align: right;
  white-space: nowrap;
}
.create-preview-table td {
  font-weight: 750;
}
.create-preview-table tr:last-child td {
  border-bottom: 0;
}
.create-preview-net-total {
  align-items: center;
  border-top: 1px solid #bfdbfe;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 16px;
  padding-top: 14px;
}
.create-preview-net-total span {
  color: #475569;
  font-size: 14px;
  font-weight: 850;
}
.create-preview-net-total strong {
  color: #0f172a;
  font-size: 22px;
  font-variant-numeric: tabular-nums;
  font-weight: 950;
}
.create-preview-details {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin-top: 16px;
}
.create-preview-details strong {
  display: block;
  color: #0f172a;
  font-size: 14px;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
  margin-top: 3px;
}
@media (max-width: 1400px) {
  .create-preview-details {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 700px) {
  .create-offer-head {
    align-items: stretch;
    flex-direction: column;
  }
  .create-top-grid, .create-project-grid, .create-preview-hero, .create-preview-details {
    grid-template-columns: 1fr;
  }
}
.create-field input, .create-field select {
  background: #ffffff;
  border: 1px solid #cbd5e1;
  box-shadow: inset 0 1px 2px rgb(15 23 42 / 0.04);
}
.create-field input::placeholder {
  color: #9aa89f;
}
.create-field input:focus, .create-field select:focus {
  border-color: #1d4ed8;
  box-shadow: 0 0 0 3px rgb(29 78 216 / 0.16);
  outline: none;
}
.create-project-top {
  max-width: 320px;
  margin-bottom: 12px;
}
.create-project-groups {
  align-items: start;
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr 1fr;
}
.create-pgroup--wide {
  grid-column: 1 / -1;
}
.create-pgroup {
  align-content: start;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 9px;
  display: grid;
  gap: 8px;
  padding: 10px 12px 12px;
}
.create-pgroup-title {
  color: #475569;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.create-pgroup-cond {
  display: grid;
  gap: 8px;
}
.create-pgroup:has(select[name="gate_type"] option[value="none"]:checked) .create-pgroup-cond {
  display: none;
}
.create-pgroup:has(input[name="wicket_required"]:not(:checked)) .create-pgroup-cond {
  display: none;
}
@media (max-width: 1080px) {
  .create-offer-inputs {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 560px) {
  .create-project-groups {
    grid-template-columns: 1fr;
  }
}
.create-offer-head, .create-offer-shell {
  max-width: 1560px;
}
.create-offer-inputs {
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.4fr) minmax(260px, 1fr);
  gap: 16px;
}
.create-offer-panel, .create-estimate-panel {
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  box-shadow: 0 10px 28px rgb(15 23 42 / 0.05);
}
.create-calculation-panel, .create-gates-panel, .create-extra-panel {
  min-height: 248px;
  padding: 18px;
}
.create-offer-section-head {
  margin-bottom: 14px;
}
.create-offer-section-head h2, .create-estimate-head h2, .create-estimate-section h3 {
  color: #0f172a;
}
.create-offer-section-head h2, .create-estimate-head h2 {
  font-size: 18px;
  letter-spacing: 0;
}
.create-top-grid {
  gap: 12px;
}
.create-field {
  gap: 5px;
}
.create-field span {
  color: #475569;
  font-size: 12px;
  font-weight: 750;
}
.create-field input, .create-field select {
  background: #ffffff;
  border-color: #cbd5e1;
  border-radius: 10px;
  box-shadow: 0 1px 2px rgb(15 23 42 / 0.04);
  color: #0f172a;
  font-size: 14px;
  height: 40px;
  padding: 0 12px;
}
.create-field input::placeholder {
  color: #94a3b8;
}
.create-field input:read-only {
  background: #f8fafc;
  color: #475569;
}
.create-field input:focus, .create-field select:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgb(37 99 235 / 0.15);
}
.create-gate-sections, .create-extra-stack, .create-extra-checks {
  display: grid;
  gap: 12px;
}
.create-subsection {
  display: grid;
  gap: 10px;
}
.create-subsection + .create-subsection {
  border-top: 1px solid #e5e7eb;
  padding-top: 14px;
}
.create-subsection-title {
  color: #334155;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.create-subsection-grid, .create-pgroup-cond {
  display: grid;
  gap: 10px;
}
.create-subsection--gate .create-pgroup-cond {
  grid-template-columns: minmax(0, 1fr) minmax(132px, 0.75fr);
}
.create-subsection--gate:has(select[name="gate_type"] option[value="none"]:checked) .create-pgroup-cond, .create-subsection--wicket:has(input[name="wicket_required"]:not(:checked)) .create-pgroup-cond {
  display: none;
}
.create-check {
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  color: #0f172a;
  min-height: 40px;
  padding: 0 12px;
  transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.create-check:hover {
  border-color: #93c5fd;
  box-shadow: 0 4px 14px rgb(15 23 42 / 0.05);
}
.create-check:has(input:checked) {
  background: #eff6ff;
  border-color: #93c5fd;
  color: #1e3a8a;
}
.create-check input {
  accent-color: #2563eb;
}
.create-check span {
  font-size: 13px;
  font-weight: 800;
}
.create-extra-panel .create-field {
  margin-bottom: 2px;
}
.create-estimate-panel {
  padding: 18px 20px 20px;
}
.create-estimate-head {
  align-items: center;
  border-bottom: 1px solid #e5e7eb;
  margin-bottom: 16px;
  padding-bottom: 14px;
}
.create-estimate-head p, .create-preview-empty, .create-preview-hero span, .create-preview-details span, .create-preview-table th, .create-preview-net-total span {
  color: #64748b;
}
.create-estimate-total-mini {
  border: 1px solid #bfdbfe;
  border-radius: 12px;
  min-width: 188px;
  padding: 9px 12px;
  text-align: right;
  background: #eff6ff;
}
.create-estimate-total-mini span {
  color: #1e40af;
  display: block;
  font-size: 12px;
  font-weight: 800;
}
.create-estimate-total-mini strong {
  color: #0f172a;
  display: block;
  font-size: 20px;
  font-variant-numeric: tabular-nums;
  font-weight: 950;
}
.create-preview-hero {
  gap: 12px;
}
.create-preview-hero div {
  background: #f8fafc;
  border-color: #e2e8f0;
  border-radius: 12px;
}
.create-preview-hero strong, .create-preview-details strong, .create-preview-net-total strong, .create-preview-table {
  color: #0f172a;
}
.create-preview-table-wrap {
  border: 1px solid #e2e8f0;
  border-radius: 12px;
}
.create-preview-table th, .create-preview-table td {
  border-bottom-color: #e5e7eb;
  padding: 9px 12px;
}
.create-preview-table th {
  background: #f8fafc;
  font-size: 12px;
  text-transform: none;
}
.create-preview-table tbody tr:hover td {
  background: #f8fafc;
}
.create-preview-table th:nth-child(1), .create-preview-table td:nth-child(1) {
  padding-left: 12px;
}
.create-preview-table th:nth-child(6), .create-preview-table td:nth-child(6) {
  padding-right: 12px;
}
.create-preview-net-total {
  border-top-color: #bfdbfe;
  justify-content: flex-end;
}
.create-preview-net-total span {
  margin-right: 8px;
}
.create-preview-details {
  border-top: 1px solid #e5e7eb;
  padding-top: 14px;
}
.create-submit-row {
  align-items: center;
  display: flex;
  justify-content: flex-end;
}
@media (max-width: 1280px) {
  .create-offer-inputs {
    grid-template-columns: 1fr 1fr;
  }
  .create-extra-panel {
    grid-column: 1 / -1;
    min-height: 0;
  }
  .create-extra-stack {
    align-items: end;
    grid-template-columns: minmax(220px, 0.5fr) repeat(2, minmax(180px, 0.25fr));
  }
  .create-extra-checks {
    display: contents;
  }
}
@media (max-width: 900px) {
  .create-offer-inputs, .create-extra-stack, .create-subsection--gate .create-pgroup-cond {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 700px) {
  .create-estimate-head {
    align-items: stretch;
    flex-direction: column;
  }
  .create-estimate-total-mini {
    text-align: left;
  }
}
.create-offer-head h1, .flow-title {
  font-weight: 700;
}
.create-offer-kicker, .create-offer-section-head h2, .create-estimate-head h2, .create-estimate-section h3, .create-subsection-title, .flow-breadcrumb, .flow-stage-label, .flow-panel-title, .flow-section-head, .flow-side-title, .flow-summary-head {
  font-weight: 700;
}
.create-field span, .create-check span, .create-estimate-total-mini span, .create-preview-hero span, .create-preview-details span, .create-preview-table th, .create-preview-net-total span, .flow-step-title, .flow-state-badge, .flow-sent-toggle, .flow-sent-submit, .flow-form-table th, .flow-form-table td, .flow-table th, .flow-vat-pair label span, .flow-vat-pair small, .flow-add-row, .flow-outline-link, .flow-doc-item strong, .flow-history-item strong, .flow-check-item strong, .flow-upload strong {
  font-weight: 600;
}
.create-preview-hero strong, .create-preview-details strong, .create-preview-net-total strong, .create-estimate-total-mini strong, .flow-meta-value, .flow-value, .flow-measure-field .flow-cell-input, .flow-measure-unit, .flow-measure-check strong, .flow-confirmation-check strong, .flow-vat-pair.is-text strong, .flow-line-net-total, .flow-price-summary-row strong, .flow-summary-line strong, .flow-summary-grand span, .flow-summary-pill, .flow-summary-pill strong, .flow-client-field strong, .flow-stage-tile strong {
  font-weight: 700;
}
.app-shell {
  min-height: 100vh;
  background: #f6f8fc;
  color: #0f172a;
}
.app-sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 30;
  width: 190px;
  height: 100vh;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  padding: 28px 14px 18px;
  color: #f5fff8;
  background: #061d3a;
  box-shadow: inset -1px 0 0 rgb(255 255 255 / 0.08);
}
.app-nav-toggle {
  display: none;
}
.app-sidebar-top {
  display: block;
}
.app-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 2px 6px 46px;
}
.app-brand-mark {
  display: grid;
  grid-template-columns: repeat(3, 8px);
  gap: 5px;
  align-items: end;
  height: 44px;
}
.app-brand-mark span {
  display: block;
  width: 8px;
  border-radius: 5px 5px 2px 2px;
  background: #2563eb;
  box-shadow: 0 8px 18px rgb(37 99 235 / 0.35);
}
.app-brand-mark span:nth-child(1) {
  height: 36px;
}
.app-brand-mark span:nth-child(2) {
  height: 42px;
}
.app-brand-mark span:nth-child(3) {
  height: 34px;
}
.app-brand-text {
  display: grid;
  gap: 0;
  font-size: 18px;
  line-height: 0.95;
  letter-spacing: 0;
  white-space: nowrap;
}
.app-menu-button {
  display: none;
}
.app-nav {
  display: grid;
  gap: 8px;
}
.app-nav-link {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-radius: 8px;
  padding: 0 11px;
  color: rgb(255 255 255 / 0.88);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}
.app-nav-link:hover {
  background: rgb(255 255 255 / 0.08);
}
.app-nav-link.is-active {
  color: #ffffff;
  background: #1d4ed8;
  box-shadow: 0 10px 26px rgb(29 78 216 / 0.28);
}
.app-account {
  margin-top: auto;
  display: grid;
  grid-template-columns: 38px 1fr 18px;
  align-items: center;
  gap: 9px;
  padding: 12px 2px 0;
  font-size: 13px;
}
.app-account-avatar {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #dce5e2;
  color: #334155;
  font-weight: 800;
}
.app-icon {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.app-main {
  min-width: 0;
  min-height: 100vh;
  margin-left: 190px;
  padding: 28px 34px 36px;
}
body:has(.personnel-page) main {
  max-width: 1500px;
}
.personnel-page {
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.personnel-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}
.personnel-kicker {
  color: #1d4ed8;
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0;
}
.personnel-hero h1 {
  margin: 5px 0 0;
  color: #07141b;
  font-size: 34px;
  line-height: 1.12;
  font-weight: 850;
  letter-spacing: 0;
}
.personnel-hero p {
  margin-top: 7px;
  color: #64748b;
  font-size: 15px;
}
.personnel-stat span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
}
.personnel-stat strong {
  display: block;
  margin-top: 4px;
  color: #0f172a;
  font-size: 28px;
  line-height: 1;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
}
.personnel-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.personnel-stat {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #ffffff;
  padding: 15px 18px;
  box-shadow: 0 12px 28px rgb(15 23 42 / 0.04);
}
.personnel-table-card {
  overflow: hidden;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 14px 34px rgb(15 23 42 / 0.05);
}
.personnel-table-head {
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-bottom: 1px solid #e5e7eb;
  padding: 0 20px;
}
.personnel-table-head h2 {
  margin: 0;
  color: #0f172a;
  font-size: 18px;
  font-weight: 850;
}
.personnel-table-head span {
  display: block;
  margin-top: 3px;
  color: #64748b;
  font-size: 13px;
}
.personnel-empty {
  padding: 24px 20px;
  color: #64748b;
  font-size: 14px;
}
.personnel-table-wrap {
  overflow-x: auto;
}
.personnel-table {
  width: 100%;
  min-width: 900px;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 14px;
}
.personnel-table th, .personnel-table td {
  border-bottom: 1px solid #e5e7eb;
  padding: 14px 16px;
  text-align: left;
  vertical-align: middle;
}
.personnel-table th {
  color: #5a6860;
  background: #f8fafc;
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
}
.personnel-table tr:last-child td {
  border-bottom: 0;
}
.personnel-table th:nth-child(1), .personnel-table td:nth-child(1) {
  width: 22%;
}
.personnel-table th:nth-child(2), .personnel-table td:nth-child(2) {
  width: 15%;
}
.personnel-table th:nth-child(3), .personnel-table td:nth-child(3) {
  width: 15%;
}
.personnel-table th:nth-child(4), .personnel-table td:nth-child(4) {
  width: 22%;
}
.personnel-table th:nth-child(5), .personnel-table td:nth-child(5) {
  width: 26%;
}
.personnel-person {
  display: block;
}
.personnel-person strong, .personnel-office strong {
  display: block;
  color: #0f172a;
  font-weight: 850;
  line-height: 1.25;
}
.personnel-role {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  border: 1px solid #bfdbfe;
  border-radius: 999px;
  background: #eff6ff;
  padding: 0 10px;
  color: #1e3a8a;
  font-size: 13px;
  font-weight: 800;
}
.personnel-office span {
  display: block;
  margin-top: 3px;
  color: #64748b;
  font-size: 13px;
  line-height: 1.35;
}
.personnel-link {
  color: #1e3a8a;
  font-weight: 750;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.personnel-link:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.offer-flow {
  max-width: 1680px;
  margin: 0 auto;
  display: grid;
  gap: 24px;
}
.flow-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  color: #64748b;
  font-size: 14px;
  font-weight: 600;
}
.flow-breadcrumb strong {
  color: #1d4ed8;
}
.flow-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}
.flow-title-wrap {
  min-width: 0;
  flex: 1 1 auto;
}
.flow-heading-line {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
}
.flow-title {
  margin: 0;
  color: #07141b;
  font-size: 34px;
  line-height: 1.12;
  font-weight: 800;
  letter-spacing: 0;
}
.flow-action-bar {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  flex-wrap: wrap;
  flex: 0 0 auto;
  justify-content: flex-end;
}
.flow-stage-form {
  display: grid;
  gap: 7px;
  align-items: start;
}
.flow-stage-label {
  color: #475569;
  font-size: 13px;
  font-weight: 850;
  line-height: 1;
}
.flow-stage-control {
  min-height: 40px;
  display: inline-flex;
  align-items: stretch;
  gap: 4px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background: #f8fafc;
  padding: 0;
  box-shadow: 0 8px 22px rgb(15 23 42 / 0.04);
}
.flow-stage-select-wrap {
  position: relative;
  display: inline-flex;
  align-items: stretch;
  min-width: 232px;
}
.flow-stage-select-wrap::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 50%;
  z-index: 1;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #2563eb;
  transform: translateY(-50%);
}
.flow-stage-select-wrap::after {
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  z-index: 1;
  width: 7px;
  height: 7px;
  border-right: 2px solid #334155;
  border-bottom: 2px solid #334155;
  pointer-events: none;
  transform: translateY(-65%) rotate(45deg);
}
.flow-stage-select {
  width: 100%;
  min-height: 40px;
  border: 0;
  border-radius: 8px;
  padding: 0 36px 0 34px;
  appearance: none;
  background: #ffffff;
  color: #0f172a;
  font-size: 13px;
  font-weight: 750;
  cursor: pointer;
}
.flow-stage-select:focus {
  outline: 2px solid rgb(29 78 216 / 0.22);
  outline-offset: -2px;
}
.flow-stage-submit {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #1e40af;
  border-radius: 8px;
  padding: 0 16px;
  background: #1d4ed8;
  color: #ffffff;
  font-size: 13px;
  font-weight: 750;
  text-decoration: none;
  box-shadow: 0 8px 18px rgb(29 78 216 / 0.20);
  cursor: pointer;
}
.flow-stage-submit:hover {
  background: #1e40af;
}
.flow-button, .flow-send-button {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 8px;
  border: 1px solid #d1d5db;
  padding: 0 12px;
  background: #ffffff;
  color: #0f172a;
  font-size: 13px;
  font-weight: 750;
  text-decoration: none;
  box-shadow: 0 8px 22px rgb(15 23 42 / 0.04);
}
.flow-button:hover {
  border-color: #bfcac2;
}
.flow-send-group {
  display: inline-flex;
  align-items: stretch;
  border-radius: 8px;
  box-shadow: 0 12px 26px rgb(29 78 216 / 0.22);
}
.flow-send-button {
  border-color: #1e40af;
  background: #1d4ed8;
  color: #ffffff;
  box-shadow: none;
  border-radius: 8px;
}
.flow-action-bar .app-icon {
  width: 17px;
  height: 17px;
  flex-basis: 17px;
}
.flow-meta-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(150px, 1fr));
  gap: 0;
  max-width: 850px;
}
.flow-meta-item {
  min-height: 52px;
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  gap: 10px;
  padding-right: 22px;
  border-right: 1px solid #e5e7eb;
}
.flow-meta-item:last-child {
  border-right: 0;
}
.flow-meta-icon {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d1d5db;
  border-radius: 999px;
  color: #475569;
  background: #ffffff;
}
.flow-meta-label {
  display: block;
  color: #64748b;
  font-size: 12px;
  line-height: 1.1;
}
.flow-meta-value {
  display: block;
  color: #0f172a;
  font-size: 14px;
  line-height: 1.25;
  font-weight: 700;
}
.flow-layout {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr) 320px;
  gap: 22px;
  align-items: start;
}
.flow-card {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 14px 34px rgb(15 23 42 / 0.05);
}
.flow-stepper-card {
  min-height: 620px;
  padding: 22px 0;
}
.flow-stepper {
  position: relative;
  display: grid;
  gap: 8px;
}
.flow-stepper::before {
  content: "";
  position: absolute;
  left: 31px;
  top: 24px;
  bottom: 42px;
  width: 2px;
  background: #dbeafe;
}
.flow-step-link {
  position: relative;
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 12px;
  align-items: center;
  margin: 0 8px;
  padding: 13px 16px 13px 9px;
  border-radius: 8px;
  color: #334155;
  text-decoration: none;
}
.flow-step-link:hover {
  background: #f8fafc;
}
.flow-step-link.is-locked {
  color: #8b978f;
  cursor: not-allowed;
}
.flow-step-link.is-locked:hover {
  background: transparent;
}
.flow-step-link.is-active {
  background: #eff6ff;
  color: #1e3a8a;
}
.flow-step-marker {
  position: relative;
  z-index: 1;
  width: 28px;
  height: 28px;
  justify-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid #bfdbfe;
  background: #ffffff;
  color: #64748b;
  font-size: 13px;
  font-weight: 800;
}
.flow-step-link.is-complete .flow-step-marker, .flow-step-link.is-active .flow-step-marker {
  border-color: #2563eb;
  background: #2563eb;
  color: #ffffff;
}
.flow-step-link.is-active .flow-step-marker {
  background: #1e3a8a;
}
.flow-step-link.is-locked .flow-step-marker {
  border-color: #e2e8f0;
  background: #f8fafc;
  color: #9aa69e;
}
.flow-step-link.is-locked .flow-step-meta {
  color: #9aa69e;
}
.flow-step-title {
  display: block;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
}
.flow-step-meta {
  display: block;
  margin-top: 4px;
  color: #64748b;
  font-size: 13px;
  line-height: 1.2;
}
.flow-main-panel {
  min-width: 0;
  padding: 22px;
}
.flow-panel-heading {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.flow-panel-title {
  margin: 0;
  color: #0f172a;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 800;
}
.flow-state-badge {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid #bfdbfe;
  border-radius: 999px;
  padding: 0 10px;
  background: #eff6ff;
  color: #1e3a8a;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}
.flow-state-badge-dot {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #2563eb;
}
.flow-sent-form {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.flow-sent-toggle {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid #bfdbfe;
  border-radius: 999px;
  padding: 0 10px;
  background: #ffffff;
  color: #53635a;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
}
.flow-sent-toggle.is-sent {
  border-color: #bfdbfe;
  background: #eff6ff;
  color: #1e3a8a;
}
.flow-sent-toggle:has(.flow-sent-checkbox:focus-visible) {
  outline: 2px solid rgb(29 78 216 / 0.22);
  outline-offset: 2px;
}
.flow-sent-checkbox {
  width: 14px;
  height: 14px;
  margin: 0;
  accent-color: #2563eb;
}
.flow-sent-submit {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d1d5db;
  border-radius: 999px;
  padding: 0 10px;
  background: #ffffff;
  color: #0f172a;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
}
.flow-sent-submit:hover {
  border-color: #bfcac2;
}
.flow-panel-subtitle {
  margin: 6px 0 0;
  color: #64748b;
  font-size: 14px;
}
.flow-section {
  margin-top: 20px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  overflow: hidden;
  background: #ffffff;
}
.flow-section.is-soft {
  background: #f8fafc;
}
.flow-section-head {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #e5e7eb;
  padding: 0 16px;
  color: #0f172a;
  font-size: 15px;
  font-weight: 850;
}
.flow-section-head-title {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.flow-disclosure:not([open]) > .flow-section-head {
  border-bottom: 0;
}
.flow-disclosure-summary {
  cursor: pointer;
  list-style: none;
}
.flow-disclosure-summary::-webkit-details-marker {
  display: none;
}
.flow-disclosure-state {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: #64748b;
}
.flow-disclosure-state .app-icon {
  width: 18px;
  height: 18px;
  transition: transform 150ms ease;
}
.flow-disclosure[open] .flow-disclosure-state .app-icon {
  transform: rotate(180deg);
}
.flow-section-body {
  padding: 16px;
}
.flow-form-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.flow-form-table th, .flow-form-table td {
  border-bottom: 1px solid #e5e7eb;
  padding: 13px 16px;
  text-align: left;
  vertical-align: top;
}
.flow-form-table tr:last-child th, .flow-form-table tr:last-child td {
  border-bottom: 0;
}
.flow-form-table th {
  width: 210px;
  color: #64748b;
  background: #f8fafc;
  font-weight: 750;
}
.flow-form-table td {
  color: #0f172a;
  font-weight: 750;
  line-height: 1.45;
}
.flow-compare-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0;
}
.flow-compare-item {
  padding: 2px 24px 6px 0;
  border-right: 1px solid #e5e7eb;
}
.flow-compare-item + .flow-compare-item {
  padding-left: 24px;
}
.flow-compare-item:last-child {
  border-right: 0;
}
.flow-label {
  display: block;
  color: #64748b;
  font-size: 13px;
  line-height: 1.2;
}
.flow-value {
  display: block;
  margin-top: 7px;
  color: #0f172a;
  font-size: 17px;
  font-weight: 850;
  line-height: 1.2;
  white-space: nowrap;
}
.flow-value.is-positive {
  color: #1d4ed8;
}
.flow-small-positive {
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 800;
}
.flow-measure-grid, .flow-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.flow-info-tile {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 14px;
  background: #ffffff;
}
.flow-info-tile.is-accent {
  background: #eff6ff;
  border-color: #bfdbfe;
}
.flow-measure-input {
  display: block;
}
.flow-measure-field {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}
.flow-measure-field .flow-cell-input {
  height: 34px;
  font-size: 16px;
  font-weight: 850;
}
.flow-measure-unit {
  color: #64748b;
  font-size: 13px;
  font-weight: 850;
}
.flow-measure-check-list {
  display: grid;
  gap: 12px;
}
.flow-measure-check {
  display: grid;
  grid-template-columns: 18px 24px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  padding: 10px 0;
  color: #0f172a;
  cursor: pointer;
}
.flow-measure-check input {
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  accent-color: #2563eb;
}
.flow-measure-check-icon {
  color: #0f172a;
}
.flow-measure-check strong {
  display: block;
  font-size: 16px;
  font-weight: 850;
  line-height: 1.2;
}
.flow-measure-check span span {
  display: block;
  margin-top: 4px;
  color: #64748b;
  font-size: 14px;
}
.flow-measure-check.is-checked strong {
  color: #1e3a8a;
}
.flow-measure-note {
  display: block;
  cursor: text;
}
.flow-measure-note-title {
  display: block;
  color: #0f172a;
  font-size: 19px;
  font-weight: 900;
}
.flow-measure-note textarea {
  width: 100%;
  min-height: 110px;
  margin-top: 12px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  resize: vertical;
  padding: 12px 14px;
  background: #ffffff;
  color: #0f172a;
  font: inherit;
  font-size: 15px;
  line-height: 1.45;
}
.flow-measure-note textarea:focus {
  outline: 3px solid rgb(29 78 216 / 0.18);
  border-color: #93c5fd;
}
.flow-measure-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 18px;
}
.flow-schedule-form .flow-measure-note {
  margin: 0 16px;
}
.flow-schedule-actions {
  margin-top: 10px;
  padding: 0 16px 16px;
}
.flow-measure-submit {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid #1e40af;
  border-radius: 8px;
  padding: 0 18px;
  background: #1d4ed8;
  color: #ffffff;
  font-size: 15px;
  font-weight: 850;
  box-shadow: 0 14px 28px rgb(29 78 216 / 0.22);
  cursor: pointer;
}
.flow-measure-submit:hover {
  background: #1d4ed8;
}
.flow-measure-submit:focus-visible {
  outline: 3px solid rgb(29 78 216 / 0.24);
  outline-offset: 2px;
}
.flow-confirmation-form {
  display: grid;
  gap: 0;
}
.flow-confirmation-list {
  display: grid;
  gap: 12px;
}
.flow-confirmation-check {
  min-height: 66px;
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  border-bottom: 1px solid #e5ede7;
  padding: 8px 0;
  color: #0f172a;
  cursor: pointer;
}
.flow-confirmation-check:last-child {
  border-bottom: 0;
}
.flow-confirmation-check input[type="checkbox"] {
  width: 20px;
  height: 20px;
  margin: 0;
  accent-color: #2563eb;
}
.flow-confirmation-check strong {
  display: block;
  font-size: 16px;
  font-weight: 850;
  line-height: 1.2;
}
.flow-confirmation-check span span {
  display: block;
  margin-top: 5px;
  color: #64748b;
  font-size: 14px;
  line-height: 1.35;
}
.flow-confirmation-check.is-checked strong {
  color: #1e3a8a;
}
.flow-confirmation-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 14px;
}
.flow-table-wrap {
  overflow-x: auto;
}
.flow-table {
  width: 100%;
  min-width: 0;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 13px;
}
.flow-table th, .flow-table td {
  border-bottom: 1px solid #e5e7eb;
  padding: 7px 8px;
  text-align: left;
  vertical-align: middle;
}
.flow-table th:first-child, .flow-table td:first-child {
  width: 34%;
}
.flow-table th:nth-child(2), .flow-table td:nth-child(2) {
  width: 10%;
}
.flow-table th:nth-child(3), .flow-table td:nth-child(3) {
  width: 10%;
}
.flow-table th:nth-child(4), .flow-table td:nth-child(4) {
  width: 18%;
}
.flow-table th:nth-child(5), .flow-table td:nth-child(5) {
  width: 24%;
}
.flow-table th:nth-child(6), .flow-table td:nth-child(6) {
  width: 4%;
}
.flow-table th {
  color: #334155;
  background: #f8fafc;
  font-size: 12px;
  font-weight: 850;
}
.flow-table th.is-number, .flow-table td.is-number {
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.flow-cell-input {
  width: 100%;
  height: 28px;
  border: 1px solid #d1d5db;
  border-radius: 5px;
  background: #ffffff;
  padding: 0 9px;
  color: #0f172a;
  font: inherit;
  font-size: 13px;
}
.flow-cell-input.is-number {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.flow-cell-input[readonly] {
  background: #f8fafc;
  color: #334155;
}
.flow-vat-pair {
  display: grid;
  gap: 5px;
}
.flow-vat-pair label, .flow-vat-pair.is-text span {
  display: grid;
  gap: 3px;
}
.flow-vat-pair label span, .flow-vat-pair small {
  color: #64748b;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}
.flow-vat-pair.is-text strong {
  color: #0f172a;
  font-size: 13px;
  font-weight: 850;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.flow-line-net-total {
  color: #0f172a;
  display: block;
  font-size: 13px;
  font-weight: 850;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.flow-row-action {
  width: 26px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: #64748b;
}
.flow-add-row {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 38px;
  border: 1px solid #1d4ed8;
  border-radius: 8px;
  padding: 0 14px;
  background: #1d4ed8;
  color: #ffffff;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 10px 22px rgb(29 78 216 / 0.16);
  cursor: pointer;
  transition: background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}
.flow-add-row:hover {
  border-color: #1e40af;
  background: #1d4ed8;
  box-shadow: 0 14px 28px rgb(29 78 216 / 0.22);
  transform: translateY(-1px);
}
.flow-add-row:active {
  box-shadow: 0 6px 14px rgb(29 78 216 / 0.16);
  transform: translateY(0);
}
.flow-add-row:focus-visible {
  outline: 3px solid rgb(29 78 216 / 0.24);
  outline-offset: 2px;
}
.flow-picker, .flow-row-action {
  display: none;
}
[data-flow-editing="true"] .flow-row-action {
  display: inline-flex;
}
[data-flow-editing="true"] .flow-picker {
  display: flex;
}
.flow-picker {
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin: 6px 16px 2px;
  padding: 10px 12px;
  border: 1px dashed #cbd5e1;
  border-radius: 10px;
  background: #f8fafc;
}
.flow-picker-select, .flow-picker-qty {
  height: 38px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background: #ffffff;
  padding: 0 10px;
  font-size: 13px;
  color: #0f172a;
  font-weight: 600;
}
.flow-picker-select {
  min-width: 150px;
  max-width: 380px;
}
.flow-picker-qty {
  width: 84px;
  text-align: right;
}
.flow-picker-select:focus, .flow-picker-qty:focus {
  outline: none;
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgb(37 99 235 / 0.16);
}
.flow-picker .flow-add-row {
  margin-left: auto;
  min-height: 38px;
  box-shadow: none;
}
.flow-picker .flow-add-row:hover {
  box-shadow: none;
  transform: none;
}
.proj-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: 0 0 16px;
  padding: 12px 14px;
  background: #ffffff;
  border: 1px solid #e6eaf2;
  border-radius: 12px;
}
.proj-search {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1 1 280px;
  min-width: 220px;
  height: 40px;
  padding: 0 12px;
  background: #f8fafc;
  border: 1px solid #d1d5db;
  border-radius: 9px;
  color: #64748b;
}
.proj-search .app-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.proj-search input {
  width: 100%;
  border: 0;
  background: transparent;
  outline: none;
  font-size: 13px;
  color: #0f172a;
}
.proj-select {
  height: 40px;
  min-width: 150px;
  padding: 0 12px;
  background: #ffffff;
  border: 1px solid #d1d5db;
  border-radius: 9px;
  font-size: 13px;
  font-weight: 600;
  color: #0f172a;
}
.proj-search:focus-within, .proj-select:focus {
  outline: none;
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgb(37 99 235 / 0.16);
}
.proj-card {
  background: #ffffff;
  border: 1px solid #e6eaf2;
  border-radius: 14px;
  overflow: hidden;
}
.proj-empty {
  padding: 28px;
  color: #64748b;
  font-size: 14px;
}
.proj-table-wrap {
  overflow-x: auto;
}
.proj-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.proj-table thead th {
  text-align: left;
  padding: 12px 16px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: #64748b;
  border-bottom: 1px solid #eef1f6;
  white-space: nowrap;
}
.proj-table thead th.is-number {
  text-align: right;
}
.proj-table tbody td {
  padding: 12px 16px;
  border-bottom: 1px solid #f1f4f9;
  color: #334155;
  vertical-align: middle;
}
.proj-table tbody tr:last-child td {
  border-bottom: 0;
}
.proj-table tbody tr:hover {
  background: #f8fafc;
}
.proj-table td.is-number {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.proj-id {
  font-weight: 700;
  color: #0f172a;
  text-decoration: none;
}
.proj-id:hover {
  text-decoration: underline;
}
.proj-table tbody td.proj-amount {
  font-weight: 700;
  color: #0f172a;
}
.proj-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}
.proj-badge.badge-sales {
  background: #e8f0fe;
  color: #1d4ed8;
}
.proj-badge.badge-measure {
  background: #eef0ff;
  color: #4f46e5;
}
.proj-badge.badge-works {
  background: #fdf0e1;
  color: #b45309;
}
.proj-badge.badge-close {
  background: #e7f6ee;
  color: #047857;
}
.proj-badge.badge-done {
  background: #16a34a;
  color: #ffffff;
}
.flow-breadcrumb-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #1d4ed8;
  font-weight: 700;
  text-decoration: none;
}
.flow-breadcrumb-back:hover {
  text-decoration: underline;
}
.flow-breadcrumb-back .app-icon {
  width: 16px;
  height: 16px;
}
.flow-row-action.is-static {
  display: inline-flex;
}
.flow-pragma-copy .flow-pragma-text {
  width: 100%;
  margin-top: 6px;
  padding: 10px 12px;
  border: 1px solid #d1d5db;
  border-radius: 9px;
  background: #f8fafc;
  color: #0f172a;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 12px;
  line-height: 1.5;
  white-space: pre;
  resize: vertical;
}
.flow-pragma-copy .flow-pragma-text:focus {
  outline: none;
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgb(37 99 235 / 0.16);
}
.flow-need-panel {
  margin-top: 12px;
  padding: 12px 14px;
  border: 1px solid #eef1f6;
  border-radius: 10px;
  background: #f8fafc;
}
.flow-need-panel p {
  margin: 4px 0 0;
  color: #334155;
  font-size: 13px;
  line-height: 1.5;
  white-space: pre-wrap;
}
.create-info-panel {
  margin-bottom: 14px;
  padding: 18px 20px;
}
.create-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 18px;
}
.create-textarea-field textarea {
  width: 100%;
  min-height: 72px;
  resize: vertical;
  font: inherit;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 8px 10px;
  color: #0f172a;
}
.create-textarea-field textarea:focus {
  outline: none;
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgb(37 99 235 / 0.16);
}
@media (max-width: 720px) {
  .create-info-grid {
    grid-template-columns: 1fr;
  }
}
.flow-outline-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  border: 0;
  background: transparent;
  color: #1d4ed8;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}
.flow-section-total {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
  padding: 12px 16px;
  color: #475569;
  font-size: 14px;
  font-weight: 650;
}
.flow-price-summary {
  min-width: 280px;
  display: grid;
  gap: 8px;
}
.flow-price-summary-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  align-items: baseline;
  color: #64748b;
}
.flow-price-summary-row span {
  font-size: 13px;
  font-weight: 700;
}
.flow-price-summary-row strong {
  color: #0f172a;
  text-align: right;
  font-size: 15px;
  font-weight: 850;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.flow-price-summary-row.is-strong {
  border-top: 1px dashed #cbd5e1;
  padding-top: 8px;
}
.flow-price-summary-row.is-strong span {
  color: #0f172a;
}
.flow-price-summary-row.is-strong strong {
  color: #1e3a8a;
  font-size: 20px;
}
.flow-total-band {
  margin-top: 22px;
  min-height: 92px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  background: #eff6ff;
  padding: 0 28px;
  color: #1e3a8a;
}
.flow-grand-label {
  font-size: 18px;
  font-weight: 850;
}
.flow-grand-values {
  min-width: 320px;
  display: grid;
  gap: 7px;
}
.flow-side {
  display: grid;
  gap: 18px;
  position: sticky;
  top: 28px;
}
.flow-client-card {
  padding: 18px;
}
.flow-client-list {
  display: grid;
  gap: 12px;
}
.flow-client-field {
  border-bottom: 1px solid #e5e7eb;
  padding-bottom: 12px;
}
.flow-client-field span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
}
.flow-client-field strong {
  display: block;
  margin-top: 4px;
  color: #0f172a;
  font-size: 15px;
  font-weight: 850;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.flow-summary-card {
  overflow: hidden;
}
.flow-summary-head {
  min-height: 66px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 22px;
  background: #1e3a8a;
  color: #ffffff;
  font-size: 17px;
  font-weight: 850;
}
.flow-summary-body {
  padding: 22px;
}
.flow-summary-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: #64748b;
  font-size: 14px;
  margin-bottom: 16px;
}
.flow-summary-line strong {
  color: #0f172a;
  font-weight: 850;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.flow-summary-divider {
  border: 0;
  border-top: 1px dashed #cbd5e1;
  margin: 18px 0;
}
.flow-summary-grand {
  display: grid;
  gap: 8px;
  margin-bottom: 18px;
}
.flow-summary-grand span {
  color: #0f172a;
  font-size: 15px;
  font-weight: 850;
}
.flow-summary-grand strong {
  color: #1e3a8a;
  font-size: 42px;
  line-height: 1;
  font-weight: 950;
  text-align: center;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.flow-summary-pill {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  padding: 0 14px;
  color: #1e3a8a;
  background: #f8fbff;
  font-size: 13px;
  font-weight: 750;
  margin-top: 10px;
}
.flow-summary-pill strong {
  color: #1e3a8a;
  font-size: 17px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.flow-doc-card, .flow-history-card {
  padding: 18px;
}
.flow-side-title {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 0 0 18px;
  color: #0f172a;
  font-size: 16px;
  font-weight: 850;
}
.flow-doc-list, .flow-history-list, .flow-check-list {
  display: grid;
  gap: 14px;
}
.flow-doc-item, .flow-history-item, .flow-check-item {
  display: grid;
  grid-template-columns: 24px 1fr auto;
  gap: 12px;
  align-items: center;
  color: #334155;
}
.flow-doc-item strong, .flow-history-item strong, .flow-check-item strong {
  display: block;
  font-size: 13px;
  font-weight: 800;
}
.flow-doc-item span, .flow-history-item span, .flow-check-item span {
  display: block;
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}
.flow-icon-button {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: #64748b;
}
.flow-upload {
  min-height: 74px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  border: 1px dashed #bfdbfe;
  border-radius: 8px;
  margin-top: 18px;
  color: #334155;
  background: #fbfcfb;
  text-align: left;
}
.flow-upload strong {
  display: block;
  font-size: 13px;
  font-weight: 850;
}
.flow-upload span {
  color: #64748b;
  font-size: 12px;
}
.flow-history-item {
  grid-template-columns: 24px 1fr;
}
.flow-history-dot {
  width: 16px;
  height: 16px;
  border-radius: 999px;
  border: 3px solid #bfdbfe;
  background: #2563eb;
  justify-self: center;
}
.flow-history-dot.is-current {
  border-color: #ffe3a8;
  background: #f5a80b;
}
.flow-history-button {
  width: 100%;
  min-height: 42px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background: #ffffff;
  color: #0f172a;
  font-size: 14px;
  font-weight: 800;
  margin-top: 18px;
}
.flow-stage-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 20px;
}
.flow-stage-tile {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 16px;
  background: #ffffff;
}
.flow-stage-tile strong {
  display: block;
  color: #0f172a;
  font-size: 21px;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
}
.flow-stage-tile span {
  display: block;
  margin-top: 6px;
  color: #647169;
  font-size: 13px;
}
.flow-primary-panel {
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  background: #eff6ff;
  padding: 18px;
}
.flow-primary-panel h3, .flow-note-panel h3 {
  margin: 0 0 8px;
  color: #0f172a;
  font-size: 17px;
  font-weight: 850;
}
.flow-primary-panel p, .flow-note-panel p {
  margin: 0;
  color: #64748b;
  font-size: 14px;
  line-height: 1.55;
}
.flow-note-panel {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #ffffff;
  padding: 18px;
}
@media (max-width: 1320px) {
  .flow-layout {
    grid-template-columns: 260px minmax(0, 1fr);
  }
  .flow-side {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 980px) {
  .app-shell {
    display: block;
  }
  .app-sidebar {
    position: sticky;
    inset: auto;
    top: 0;
    z-index: 20;
    width: 100%;
    height: auto;
    min-height: auto;
    overflow: visible;
    padding: 12px;
  }
  .app-sidebar-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }
  .app-brand {
    padding: 0;
  }
  .app-menu-button {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgb(255 255 255 / 0.18);
    border-radius: 8px;
    color: #ffffff;
    background: rgb(255 255 255 / 0.08);
  }
  .app-nav {
    display: none;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgb(255 255 255 / 0.12);
  }
  .app-nav-toggle:checked ~ .app-nav {
    display: grid;
  }
  .app-nav-link {
    width: 100%;
  }
  .app-account {
    display: none;
  }
  .app-main {
    margin-left: 0;
    padding: 20px 16px 28px;
  }
  .flow-title-row {
    display: grid;
  }
  .personnel-hero {
    align-items: stretch;
    flex-direction: column;
  }
  .personnel-stats {
    grid-template-columns: 1fr;
  }
  .flow-action-bar {
    justify-content: flex-start;
  }
  .flow-stage-form {
    max-width: 100%;
  }
  .flow-stage-control {
    max-width: 100%;
  }
  .flow-stage-select-wrap {
    min-width: 0;
    flex: 1 1 220px;
  }
  .flow-meta-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .flow-meta-item {
    border-right: 0;
  }
  .flow-layout, .flow-side {
    grid-template-columns: 1fr;
  }
  .flow-side {
    grid-column: auto;
    position: static;
  }
  .flow-stepper-card {
    min-height: auto;
  }
  .flow-stage-grid, .flow-compare-grid, .flow-measure-grid, .flow-info-grid {
    grid-template-columns: 1fr;
  }
  .flow-table {
    min-width: 760px;
  }
  .flow-form-table th {
    width: 140px;
  }
  .flow-compare-item, .flow-compare-item + .flow-compare-item {
    padding: 10px 0;
    border-right: 0;
    border-bottom: 1px solid #e5e7eb;
  }
  .flow-compare-item:last-child {
    border-bottom: 0;
  }
}
@media (max-width: 620px) {
  .flow-title {
    font-size: 27px;
  }
  .flow-action-bar, .flow-stage-form, .flow-stage-control {
    width: 100%;
  }
  .flow-stage-submit {
    flex: 0 0 auto;
    padding: 0 16px;
  }
  .flow-meta-grid {
    grid-template-columns: 1fr;
  }
  .flow-total-band {
    display: grid;
    padding: 16px;
  }
  .flow-grand-values, .flow-price-summary {
    min-width: 0;
  }
  .flow-summary-grand strong {
    text-align: left;
    font-size: 34px;
  }
}
body:has(.calendar-page) main {
  max-width: 1680px;
}
body:has(.calendar-form) main {
  gap: 18px;
  padding-top: 24px;
  padding-bottom: 16px;
}
div:has(> .calendar-form) {
  padding: 20px 24px 18px;
}
.calendar-form {
  display: grid;
  gap: 18px;
}
.calendar-form-grid {
  display: grid;
  gap: 18px 28px;
}
.calendar-form-field {
  display: grid;
  gap: 6px;
}
.calendar-subcalendar-picker {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  border: 0;
}
.calendar-subcalendar-picker legend {
  margin-bottom: 2px;
}
.calendar-subcalendar-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.calendar-subcalendar-badge {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #bfdbfe;
  border-radius: 999px;
  padding: 7px 9px 7px 12px;
  background: #eff6ff;
  color: #1e3a8a;
  font-size: 14px;
  font-weight: 650;
}
.calendar-subcalendar-remove {
  appearance: none;
  display: inline-flex;
  width: 18px;
  height: 18px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 0;
  background: #dbeafe;
  color: #1e3a8a;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}
.calendar-subcalendar-remove:hover {
  background: #bfdbfe;
}
.calendar-subcalendar-combobox {
  position: relative;
  width: min(100%, 520px);
}
.calendar-subcalendar-search {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--calendar-border, #d7d7d7);
  border-radius: 8px;
  padding: 0 12px;
  background: #ffffff;
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 1px 2px rgb(0 0 0 / 0.05);
}
.calendar-subcalendar-search:focus {
  border-color: #2563eb;
  outline: 3px solid rgb(29 78 216 / 0.14);
}
.calendar-subcalendar-menu {
  display: grid;
  gap: 6px;
  max-height: 260px;
  overflow: auto;
  margin-top: 6px;
  padding: 8px;
  border: 1px solid var(--calendar-border, #d7d7d7);
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 18px 34px rgb(0 0 0 / 0.12);
}
.calendar-subcalendar-menu[hidden] {
  display: none;
}
.calendar-subcalendar-empty {
  margin: 0;
  color: var(--color-muted-foreground);
  font-size: 13px;
}
.calendar-subcalendar-option {
  min-height: 38px;
  display: flex;
  align-items: center;
  border: 0;
  border-radius: 8px;
  padding: 8px 9px;
  background: #ffffff;
  color: var(--color-foreground);
  font-size: 14px;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
}
.calendar-subcalendar-option:hover, .calendar-subcalendar-option:focus {
  background: #eff6ff;
  outline: none;
}
.calendar-form textarea {
  min-height: 68px;
}
.calendar-form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 8px;
  padding-top: 0;
}
.calendar-page {
  --calendar-border: #d7d7d7;
  --calendar-border-strong: #c9c9c9;
  --calendar-surface: #ffffff;
  --calendar-soft-surface: #fbfbfb;
  --calendar-muted-surface: #f6f6f6;
  --calendar-day-cell-padding: 10px;
  --calendar-event-edge-inset: 4px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.calendar-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}
.calendar-hero h1 {
  font-size: 30px;
  line-height: 1.15;
  font-weight: 700;
}
.calendar-hero p {
  margin-top: 6px;
  color: var(--color-muted-foreground);
  font-size: 16px;
}
.calendar-hero-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.calendar-hero-sync {
  display: flex;
}
.calendar-primary-action, .calendar-secondary-action, .calendar-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  border: 1px solid var(--calendar-border);
  font-size: 14px;
  font-weight: 500;
  height: 42px;
  white-space: nowrap;
}
.calendar-primary-action {
  background: #111111;
  color: #ffffff;
  padding: 0 18px;
  box-shadow: 0 10px 22px rgb(0 0 0 / 0.16);
}
.calendar-secondary-action, .calendar-icon-button {
  background: var(--calendar-surface);
  color: var(--color-foreground);
  padding: 0 14px;
}
.calendar-secondary-action:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}
.calendar-icon-button {
  width: 42px;
  padding: 0;
  font-size: 24px;
}
.calendar-message {
  border: 1px solid var(--calendar-border);
  background: var(--calendar-muted-surface);
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 14px;
}
.calendar-toolbar {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--calendar-border-strong);
  border-radius: 12px;
  padding: 16px 18px;
  background: var(--calendar-surface);
  box-shadow: 0 10px 24px rgb(0 0 0 / 0.045);
}
.calendar-month-label, .calendar-search, .calendar-select {
  height: 42px;
  border: 1px solid var(--calendar-border, #d7d7d7);
  border-radius: 8px;
  background: var(--calendar-surface, #ffffff);
  color: var(--color-foreground, #171717);
  font-size: 14px;
}
.calendar-month-label {
  display: inline-flex;
  min-width: 148px;
  align-items: center;
  justify-content: center;
  font-weight: 600;
}
.calendar-filter-form {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 220px 220px auto;
  gap: 14px;
  flex: 1;
  margin-left: 24px;
}
.calendar-search {
  padding: 0 14px 0 46px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23737373' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21 21-4.34-4.34'/%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3C/svg%3E");
  background-position: 16px center;
  background-size: 18px 18px;
  background-repeat: no-repeat;
}
.calendar-select {
  width: 100%;
  appearance: none;
  padding: 0 34px 0 14px;
  background-color: var(--calendar-surface, #ffffff);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23171717' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-position: right 14px center;
  background-repeat: no-repeat;
  background-size: 18px 18px;
  box-shadow: 0 1px 2px rgb(0 0 0 / 0.05);
  cursor: pointer;
}
.calendar-board-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 22px;
  align-items: start;
}
.calendar-month-card, .calendar-panel {
  border: 1px solid var(--calendar-border-strong);
  border-radius: 12px;
  background: var(--calendar-surface);
  box-shadow: 0 12px 28px rgb(0 0 0 / 0.045);
}
.calendar-month-card {
  overflow: hidden;
  padding: 12px;
  background: var(--calendar-soft-surface);
}
.calendar-weekdays {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  color: var(--color-muted-foreground);
  font-size: 13px;
  font-weight: 500;
  text-align: center;
}
.calendar-weekdays > div {
  padding: 10px 0 12px;
}
.calendar-grid {
  border-top: 1px solid var(--calendar-border-strong);
  border-left: 1px solid var(--calendar-border-strong);
  background: var(--calendar-border-strong);
}
.calendar-week-row {
  position: relative;
  background: var(--calendar-border-strong);
}
.calendar-week-bars {
  position: absolute;
  z-index: 3;
  top: 32px;
  right: 0;
  left: 0;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  pointer-events: none;
}
.calendar-week-days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.calendar-day-cell {
  position: relative;
  min-height: 142px;
  border-right: 1px solid var(--calendar-border-strong);
  border-bottom: 1px solid var(--calendar-border-strong);
  padding: var(--calendar-day-cell-padding);
  background: var(--calendar-surface);
}
.calendar-day-outside {
  background: var(--calendar-muted-surface);
  color: var(--color-muted-foreground);
}
.calendar-day-past {
  background-color: #f1f1f1;
  background-image: repeating-linear-gradient( 135deg, rgb(0 0 0 / 0.055) 0, rgb(0 0 0 / 0.055) 1px, transparent 1px, transparent 11px );
  color: #737373;
}
.calendar-day-past .calendar-day-number {
  color: #6f6f6f;
  text-decoration: line-through;
  text-decoration-color: #9a9a9a;
  text-decoration-thickness: 1px;
}
.calendar-day-past .calendar-event-chip {
  opacity: 0.58;
  filter: grayscale(0.25) saturate(0.55);
}
.calendar-day-past .calendar-event-time {
  color: #9b9b9b;
}
.calendar-day-today {
  z-index: 1;
  background: #fffdf5;
  box-shadow: inset 0 0 0 2px #111111;
}
.calendar-day-today .calendar-day-number {
  display: inline-flex;
  min-width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--color-primary);
  color: var(--color-primary-foreground);
}
.calendar-day-today .calendar-event-chip {
  opacity: 1;
  filter: none;
}
.calendar-day-number {
  font-size: 14px;
  font-weight: 500;
}
.calendar-day-events {
  margin-top: 10px;
  margin-right: calc(var(--calendar-event-edge-inset) - var(--calendar-day-cell-padding));
  margin-left: calc(var(--calendar-event-edge-inset) - var(--calendar-day-cell-padding));
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.calendar-week-row .calendar-day-events {
  margin-top: calc(10px + var(--calendar-week-bar-space, 0px));
}
.calendar-event-chip {
  display: grid;
  grid-template-columns: 7px minmax(0, 1fr);
  align-items: center;
  gap: 6px;
  min-height: 24px;
  width: 100%;
  border-radius: 5px;
  padding: 4px 6px;
  border: 1px solid #e0e0e0;
  background: #f1f1f1;
  color: var(--color-foreground);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.1;
}
.calendar-multiday-bar {
  pointer-events: auto;
  display: flex;
  width: auto;
  min-width: 0;
  min-height: 24px;
  align-items: center;
  gap: 6px;
  margin: 2px var(--calendar-event-edge-inset);
  padding: 4px 7px;
  overflow: hidden;
  text-decoration: none;
  white-space: nowrap;
}
.calendar-multiday-title {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.calendar-event-content {
  display: flex;
  min-width: 0;
  align-items: baseline;
  gap: 5px;
}
.calendar-event-title {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.calendar-event-dot, .calendar-summary-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #737373;
}
.calendar-event-time {
  color: currentColor;
  flex: 0 0 auto;
  font-size: 10px;
  font-weight: 500;
  opacity: 0.72;
  white-space: nowrap;
}
.calendar-event-time:empty {
  display: none;
}
.calendar-event-chip:has(+ .calendar-event-time) {
  min-height: auto;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  padding-bottom: 3px;
}
.calendar-event-chip + .calendar-event-time {
  margin-top: -5px;
  border: 1px solid #e0e0e0;
  border-top: 0;
  border-radius: 0 0 6px 6px;
  background: #f1f1f1;
  padding: 0 8px 7px 22px;
  color: var(--color-foreground);
}
.calendar-more-link, .calendar-view-all {
  color: var(--color-foreground);
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.calendar-side {
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.calendar-panel {
  padding: 22px 20px;
}
.calendar-panel h2 {
  font-size: 16px;
  font-weight: 700;
}
.calendar-empty {
  margin-top: 18px;
  color: var(--color-muted-foreground);
  font-size: 14px;
}
.calendar-upcoming-list {
  margin-top: 18px;
}
.calendar-upcoming-item {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 14px;
  border-bottom: 1px solid var(--calendar-border);
  padding: 12px 0;
  color: var(--color-foreground);
}
.calendar-upcoming-item > div {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.calendar-upcoming-item span {
  color: var(--color-muted-foreground);
  font-size: 13px;
}
.calendar-upcoming-item strong {
  font-size: 13px;
  font-weight: 600;
}
.calendar-type-badge {
  align-self: flex-start;
  border-radius: 4px;
  padding: 3px 7px;
  border: 1px solid #dedede;
  background: #f1f1f1;
  color: var(--color-foreground) !important;
  font-size: 12px !important;
  font-weight: 500;
}
.calendar-view-all {
  display: inline-block;
  margin-top: 18px;
}
.calendar-summary-list {
  margin-top: 22px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.calendar-summary-row, .calendar-summary-total {
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  font-size: 14px;
}
.calendar-summary-row strong, .calendar-summary-total strong {
  font-weight: 600;
}
.calendar-summary-total {
  grid-template-columns: minmax(0, 1fr) auto;
  margin-top: 24px;
  border-top: 1px solid var(--calendar-border);
  padding-top: 18px;
}
.calendar-event-measurement .calendar-event-dot, .calendar-dot-measurement {
  background: #2563eb;
}
.calendar-event-measurement.calendar-event-chip, .calendar-type-badge.calendar-event-measurement {
  border-color: #bfdbfe;
  background: #eff6ff;
  color: #1e3a8a !important;
}
.calendar-event-measurement + .calendar-event-time {
  border-color: #bfdbfe;
  background: #eff6ff;
  color: #1e3a8a;
}
.calendar-event-installation .calendar-event-dot, .calendar-dot-installation {
  background: #2563eb;
}
.calendar-event-installation.calendar-event-chip, .calendar-type-badge.calendar-event-installation {
  border-color: #bfdbfe;
  background: #eff6ff;
  color: #1e3a8a !important;
}
.calendar-event-installation + .calendar-event-time {
  border-color: #bfdbfe;
  background: #eff6ff;
  color: #1e3a8a;
}
.calendar-event-visit .calendar-event-dot, .calendar-dot-customer-visit {
  background: #7c3aed;
}
.calendar-event-visit.calendar-event-chip, .calendar-type-badge.calendar-event-visit {
  border-color: #ddd6fe;
  background: #f5f3ff;
  color: #4c1d95 !important;
}
.calendar-event-visit + .calendar-event-time {
  border-color: #ddd6fe;
  background: #f5f3ff;
  color: #4c1d95;
}
.calendar-event-gate .calendar-event-dot, .calendar-dot-gate-delivery {
  background: #d97706;
}
.calendar-event-gate.calendar-event-chip, .calendar-type-badge.calendar-event-gate {
  border-color: #fde68a;
  background: #fffbeb;
  color: #78350f !important;
}
.calendar-event-gate + .calendar-event-time {
  border-color: #fde68a;
  background: #fffbeb;
  color: #78350f;
}
.calendar-event-deadline .calendar-event-dot, .calendar-dot-quote-deadline {
  background: #e11d48;
}
.calendar-event-deadline.calendar-event-chip, .calendar-type-badge.calendar-event-deadline {
  border-color: #fecdd3;
  background: #fff1f2;
  color: #881337 !important;
}
.calendar-event-deadline + .calendar-event-time {
  border-color: #fecdd3;
  background: #fff1f2;
  color: #881337;
}
.calendar-event-other .calendar-event-dot, .calendar-dot-other {
  background: #475569;
}
.calendar-event-other.calendar-event-chip, .calendar-type-badge.calendar-event-other {
  border-color: #cbd5e1;
  background: #f8fafc;
  color: #334155 !important;
}
.calendar-event-other + .calendar-event-time {
  border-color: #cbd5e1;
  background: #f8fafc;
  color: #334155;
}
.calendar-event-subcalendar-id-8332240 .calendar-event-dot, .calendar-dot-subcalendar-id-8332240 {
  background: #2563eb;
}
.calendar-event-subcalendar-id-8332240.calendar-event-chip, .calendar-type-badge.calendar-event-subcalendar-id-8332240 {
  border-color: #bfdbfe;
  background: #eff6ff;
  color: #1e3a8a !important;
}
.calendar-event-subcalendar-id-8362986 .calendar-event-dot, .calendar-dot-subcalendar-id-8362986 {
  background: #a95858;
}
.calendar-event-subcalendar-id-8362986.calendar-event-chip, .calendar-type-badge.calendar-event-subcalendar-id-8362986 {
  border-color: #d9aaaa;
  background: #fbeeee;
  color: #6f3030 !important;
}
.calendar-event-subcalendar-id-12107144 .calendar-event-dot, .calendar-dot-subcalendar-id-12107144 {
  background: #2f55bf;
}
.calendar-event-subcalendar-id-12107144.calendar-event-chip, .calendar-type-badge.calendar-event-subcalendar-id-12107144 {
  border-color: #a8baf1;
  background: #eef3ff;
  color: #233a8c !important;
}
.calendar-event-subcalendar-id-12107145 .calendar-event-dot, .calendar-dot-subcalendar-id-12107145 {
  background: #a6a6a6;
}
.calendar-event-subcalendar-id-12107145.calendar-event-chip, .calendar-type-badge.calendar-event-subcalendar-id-12107145 {
  border-color: #d7d7d7;
  background: #f4f4f4;
  color: #565656 !important;
}
.calendar-event-subcalendar-id-12107146 .calendar-event-dot, .calendar-dot-subcalendar-id-12107146 {
  background: #f3c400;
}
.calendar-event-subcalendar-id-12107146.calendar-event-chip, .calendar-type-badge.calendar-event-subcalendar-id-12107146 {
  border-color: #f7dd63;
  background: #fff9d7;
  color: #745b00 !important;
}
.calendar-event-subcalendar-id-12107147 .calendar-event-dot, .calendar-dot-subcalendar-id-12107147 {
  background: #d71920;
}
.calendar-event-subcalendar-id-12107147.calendar-event-chip, .calendar-type-badge.calendar-event-subcalendar-id-12107147 {
  border-color: #f2a2a5;
  background: #fff0f0;
  color: #8f1116 !important;
}
.calendar-event-subcalendar-id-12107148 .calendar-event-dot, .calendar-dot-subcalendar-id-12107148 {
  background: #5f2a91;
}
.calendar-event-subcalendar-id-12107148.calendar-event-chip, .calendar-type-badge.calendar-event-subcalendar-id-12107148 {
  border-color: #c6a8df;
  background: #f5effa;
  color: #43206b !important;
}
.calendar-event-subcalendar-id-12107150 .calendar-event-dot, .calendar-dot-subcalendar-id-12107150 {
  background: #2563eb;
}
.calendar-event-subcalendar-id-12107150.calendar-event-chip, .calendar-type-badge.calendar-event-subcalendar-id-12107150 {
  border-color: #bfdbfe;
  background: #eff6ff;
  color: #1e3a8a !important;
}
.calendar-event-subcalendar-id-12115705 .calendar-event-dot, .calendar-dot-subcalendar-id-12115705 {
  background: #f36c21;
}
.calendar-event-subcalendar-id-12115705.calendar-event-chip, .calendar-type-badge.calendar-event-subcalendar-id-12115705 {
  border-color: #f8ba8d;
  background: #fff2e9;
  color: #9b3d08 !important;
}
.calendar-event-subcalendar-id-12115706 .calendar-event-dot, .calendar-dot-subcalendar-id-12115706 {
  background: #61b4d1;
}
.calendar-event-subcalendar-id-12115706.calendar-event-chip, .calendar-type-badge.calendar-event-subcalendar-id-12115706 {
  border-color: #abd8e8;
  background: #edf8fc;
  color: #276276 !important;
}
.calendar-event-subcalendar-0 .calendar-event-dot, .calendar-dot-subcalendar-0 {
  background: #2563eb;
}
.calendar-event-subcalendar-0.calendar-event-chip, .calendar-type-badge.calendar-event-subcalendar-0 {
  border-color: #bfdbfe;
  background: #eff6ff;
  color: #1e3a8a !important;
}
.calendar-event-subcalendar-1 .calendar-event-dot, .calendar-dot-subcalendar-1 {
  background: #dc2626;
}
.calendar-event-subcalendar-1.calendar-event-chip, .calendar-type-badge.calendar-event-subcalendar-1 {
  border-color: #fecaca;
  background: #fef2f2;
  color: #7f1d1d !important;
}
.calendar-event-subcalendar-2 .calendar-event-dot, .calendar-dot-subcalendar-2 {
  background: #2563eb;
}
.calendar-event-subcalendar-2.calendar-event-chip, .calendar-type-badge.calendar-event-subcalendar-2 {
  border-color: #bfdbfe;
  background: #eff6ff;
  color: #1e3a8a !important;
}
.calendar-event-subcalendar-3 .calendar-event-dot, .calendar-dot-subcalendar-3 {
  background: #9333ea;
}
.calendar-event-subcalendar-3.calendar-event-chip, .calendar-type-badge.calendar-event-subcalendar-3 {
  border-color: #e9d5ff;
  background: #faf5ff;
  color: #581c87 !important;
}
.calendar-event-subcalendar-4 .calendar-event-dot, .calendar-dot-subcalendar-4 {
  background: #ca8a04;
}
.calendar-event-subcalendar-4.calendar-event-chip, .calendar-type-badge.calendar-event-subcalendar-4 {
  border-color: #fef08a;
  background: #fefce8;
  color: #713f12 !important;
}
.calendar-event-subcalendar-5 .calendar-event-dot, .calendar-dot-subcalendar-5 {
  background: #0891b2;
}
.calendar-event-subcalendar-5.calendar-event-chip, .calendar-type-badge.calendar-event-subcalendar-5 {
  border-color: #a5f3fc;
  background: #ecfeff;
  color: #164e63 !important;
}
.calendar-event-subcalendar-6 .calendar-event-dot, .calendar-dot-subcalendar-6 {
  background: #db2777;
}
.calendar-event-subcalendar-6.calendar-event-chip, .calendar-type-badge.calendar-event-subcalendar-6 {
  border-color: #fbcfe8;
  background: #fdf2f8;
  color: #831843 !important;
}
.calendar-event-subcalendar-7 .calendar-event-dot, .calendar-dot-subcalendar-7 {
  background: #4f46e5;
}
.calendar-event-subcalendar-7.calendar-event-chip, .calendar-type-badge.calendar-event-subcalendar-7 {
  border-color: #c7d2fe;
  background: #eef2ff;
  color: #312e81 !important;
}
@media (max-width: 1400px) {
  .calendar-toolbar {
    flex-wrap: wrap;
  }
  .calendar-filter-form {
    grid-template-columns: 1fr 1fr;
    margin-left: 0;
    flex-basis: 100%;
  }
  .calendar-board-layout {
    grid-template-columns: 1fr;
  }
  .calendar-side {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 640px) {
  .calendar-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .calendar-hero, .calendar-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
  .calendar-hero-actions, .calendar-hero-sync {
    width: 100%;
  }
  .calendar-hero-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .calendar-filter-form {
    grid-template-columns: 1fr;
  }
  .calendar-side {
    grid-template-columns: 1fr;
  }
  .calendar-month-label, .calendar-icon-button, .calendar-primary-action, .calendar-secondary-action {
    width: 100%;
  }
  .calendar-month-card {
    overflow-x: auto;
  }
  .calendar-weekdays, .calendar-grid, .calendar-week-days, .calendar-week-bars {
    min-width: 760px;
  }
}
.app-shell, .app-shell :where(button, input, select, textarea) {
  font-family: var(--default-font-family, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
}
.app-main :where(h1, .flow-title, .personnel-hero h1, .create-offer-head h1, .calendar-hero h1) {
  font-weight: 700;
  letter-spacing: 0;
}
.app-main :where(h2, h3, h4, th, label, button, .flow-panel-title, .flow-section-head, .flow-side-title, .personnel-table-head h2, .create-offer-section-head h2, .create-estimate-head h2) {
  font-weight: 600;
  letter-spacing: 0;
}
.app-main :where(strong, .flow-step-title, .flow-state-badge, .flow-sent-toggle, .flow-sent-submit, .flow-add-row, .flow-outline-link, .personnel-role, .create-check span) {
  font-weight: 600;
}
.app-main :where(.flow-summary-grand strong, .flow-grand-values strong, .flow-total-band strong, .personnel-stat strong, .create-preview-net-total strong, .create-estimate-total-mini strong, .calendar-summary-total strong) {
  font-weight: 700;
}
.app-main :where(.flow-step-link.is-active, .flow-info-tile.is-accent, .flow-primary-panel, .flow-summary-pill, .flow-total-band, .calendar-subcalendar-badge, .calendar-event-chip.calendar-event-measurement, .calendar-type-badge.calendar-event-measurement) {
  border-color: #bfdbfe;
  background: #eff6ff;
  color: #1e3a8a;
}
:root {
  --app-font-xs: 12px;
  --app-font-sm: 13px;
  --app-font-base: 14px;
  --app-font-md: 15px;
  --app-font-lg: 18px;
  --app-font-xl: 20px;
  --app-font-page: 30px;
  --app-font-stat: 28px;
  --app-weight-normal: 400;
  --app-weight-medium: 500;
  --app-weight-semibold: 600;
  --app-weight-bold: 700;
}
.app-main {
  font-size: var(--app-font-base);
  font-weight: var(--app-weight-normal);
  line-height: 1.5;
}
.app-page-header {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 22px;
}
.app-page-title, .app-main :where(.app-page-title, h1) {
  color: #07141b;
  font-size: var(--app-font-page);
  font-weight: var(--app-weight-bold);
  letter-spacing: 0;
  line-height: 1.16;
  margin: 0;
}
.app-page-subtitle, .app-main :where(.app-page-subtitle) {
  color: #64748b;
  font-size: var(--app-font-md);
  font-weight: var(--app-weight-normal);
  line-height: 1.45;
  margin: 5px 0 0;
}
.app-page-kicker, .app-main :where(.app-page-kicker) {
  color: #1d4ed8;
  display: block;
  font-size: var(--app-font-sm);
  font-weight: var(--app-weight-semibold);
  line-height: 1.3;
  margin: 0 0 6px;
}
.app-main :where(h2, .flow-panel-title) {
  color: #0f172a;
  font-size: var(--app-font-xl);
  font-weight: var(--app-weight-semibold);
  letter-spacing: 0;
  line-height: 1.25;
  margin: 0;
}
.app-main :where(h3, h4, .calendar-panel h2, .personnel-table-head h2, .create-offer-section-head h2, .create-estimate-head h2, .create-estimate-section h3, .flow-side-title, .flow-section-head, [data-slot="card-title"]) {
  color: #0f172a;
  font-size: var(--app-font-lg);
  font-weight: var(--app-weight-semibold);
  letter-spacing: 0;
  line-height: 1.3;
}
.app-main :where(p, td, li, input, select, textarea, button) {
  font-size: var(--app-font-base);
  font-weight: var(--app-weight-normal);
}
.app-main :where(label, th, .app-label, .flow-label, .flow-meta-label, .create-field span, .calendar-weekdays, .personnel-stat span) {
  color: #64748b;
  font-size: var(--app-font-sm);
  font-weight: var(--app-weight-medium);
  letter-spacing: 0;
}
.app-main :where(table, .personnel-table, .flow-table, .create-preview-table) {
  font-size: var(--app-font-base);
}
.app-main :where(th) {
  font-size: var(--app-font-xs);
  font-weight: var(--app-weight-semibold);
}
.app-main :where(td, .flow-form-table td, .personnel-table td, .create-preview-table td) {
  font-weight: var(--app-weight-normal);
}
.app-main :where(strong, a, .font-medium, .flow-step-title, .flow-value, .flow-meta-value, .flow-cell-input, .personnel-person strong, .personnel-office strong, .create-preview-table td, .create-check span) {
  font-weight: var(--app-weight-semibold);
}
.app-main :where(.personnel-stat strong, .flow-stage-tile strong, .flow-summary-grand strong, .flow-grand-values strong, .calendar-summary-total strong, .create-preview-net-total strong, .create-estimate-total-mini strong) {
  font-size: var(--app-font-stat);
  font-weight: var(--app-weight-bold);
  line-height: 1.1;
}
.app-main :where(.flow-summary-grand strong) {
  font-size: 34px;
}
@media (max-width: 720px) {
  .app-page-header {
    align-items: stretch;
    flex-direction: column;
  }
  .app-page-title, .app-main :where(.app-page-title, h1) {
    font-size: 27px;
  }
}
.app-main .personnel-page .app-page-title {
  font-size: var(--app-font-page);
  font-weight: var(--app-weight-bold);
  line-height: 1.16;
}
.app-main .personnel-page .app-page-kicker, .app-main .personnel-page .personnel-stat span, .app-main .personnel-page .personnel-table th {
  font-size: var(--app-font-sm);
  font-weight: var(--app-weight-medium);
  letter-spacing: 0;
}
.app-main .personnel-page .app-page-subtitle, .app-main .personnel-page .personnel-table td, .app-main .personnel-page .personnel-office span {
  font-size: var(--app-font-base);
  font-weight: var(--app-weight-normal);
}
.app-main .personnel-page .personnel-table-head h2 {
  font-size: var(--app-font-lg);
  font-weight: var(--app-weight-semibold);
}
.app-main .personnel-page .personnel-person strong, .app-main .personnel-page .personnel-office strong, .app-main .personnel-page .personnel-link, .app-main .personnel-page .personnel-role {
  font-size: var(--app-font-base);
  font-weight: var(--app-weight-semibold);
}
.app-main .personnel-page .personnel-stat strong {
  font-size: var(--app-font-stat);
  font-weight: var(--app-weight-bold);
}
.app-main .create-offer-head, .app-main .create-offer-shell {
  max-width: 1560px;
}
.app-main .create-offer-shell {
  gap: 20px;
}
.app-main .create-offer-head {
  align-items: flex-end;
  border-bottom: 1px solid #dbe3ee;
  margin-bottom: 20px;
  padding-bottom: 16px;
}
.app-main .create-offer-title-block {
  border-left: 4px solid #1f2937;
  padding-left: 14px;
}
.app-main .create-offer-kicker {
  color: #1d4ed8;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.03em;
  margin-bottom: 4px;
  text-transform: uppercase;
}
.app-main .create-offer-head .app-page-title {
  font-size: 22px;
  line-height: 1.15;
}
.app-main .create-quote-number {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: auto 160px;
  justify-items: end;
  position: relative;
}
.app-main .create-quote-number label {
  color: #475569;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
}
.app-main .create-quote-number input {
  background: #ffffff;
  border: 1px solid #d8e0ea;
  border-radius: 8px;
  box-shadow: 0 2px 5px rgb(15 23 42 / 0.08);
  color: #334155;
  font-size: 14px;
  height: 34px;
  padding: 0 12px;
  width: 100%;
}
.app-main .create-quote-number input:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgb(37 99 235 / 0.14);
  outline: none;
}
.app-main .create-quote-number small {
  color: var(--color-destructive);
  font-size: 12px;
  grid-column: 1 / -1;
  justify-self: end;
}
.app-main .create-offer-inputs {
  align-items: start;
  display: grid;
  gap: 40px;
  grid-template-columns: minmax(300px, 1fr) minmax(0, 2fr);
}
.app-main .create-input-rail {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  display: grid;
  gap: 24px;
  min-height: 0;
  padding: 0;
}
.app-main .create-rail-section {
  border-bottom: 1px solid #d7e0ec;
  display: grid;
  gap: 14px;
  padding-bottom: 18px;
}
.app-main .create-rail-section:last-child {
  border-bottom: 0;
}
.app-main .create-offer-section-head {
  margin: 0;
}
.app-main .create-offer-section-head h2 {
  color: #020617;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.02em;
  line-height: 1.2;
  text-transform: uppercase;
}
.app-main .create-choice-field, .app-main .create-static-field, .app-main .create-unit-field {
  align-items: center;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(120px, 1fr) auto;
}
.app-main .create-choice-label, .app-main .create-static-field > span, .app-main .create-field > span {
  color: #4b6381;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.2;
}
.app-main .create-static-field strong {
  color: #020617;
  font-size: 14px;
  font-weight: 500;
  text-align: right;
}
.app-main .create-segmented {
  background: #ffffff;
  border: 1px solid #d8e0ea;
  border-radius: 7px;
  display: inline-flex;
  overflow: hidden;
  padding: 2px;
}
.app-main .create-segmented label {
  cursor: pointer;
  display: block;
}
.app-main .create-segmented input, .app-main .create-swatches input {
  inline-size: 1px;
  block-size: 1px;
  opacity: 0;
  position: absolute;
}
.app-main .create-segmented span {
  border-radius: 5px;
  color: #475569;
  display: block;
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  min-width: 46px;
  padding: 7px 10px;
  text-align: center;
}
.app-main .create-segmented input:checked + span {
  background: #0f172a;
  color: #ffffff;
  box-shadow: 0 1px 2px rgb(15 23 42 / 0.16);
}
.app-main .create-segmented input:focus-visible + span {
  outline: 2px solid #2563eb;
  outline-offset: 1px;
}
.app-main .create-swatch-field {
  align-items: center;
}
.app-main .create-swatches {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}
.app-main .create-swatches label {
  cursor: pointer;
  display: inline-flex;
  gap: 0;
}
.app-main .create-swatch {
  border: 2px solid #ffffff;
  border-radius: 999px;
  box-shadow: 0 0 0 1px #64748b;
  display: block;
  height: 22px;
  width: 22px;
}
.app-main .create-swatches input:checked + .create-swatch {
  box-shadow: 0 0 0 2px #0f172a;
}
.app-main .create-swatch-RAL7016PM {
  background: #29313d;
}
.app-main .create-swatch-RAL6005PM {
  background: #0f4d3e;
}
.app-main .create-swatch-RAL8017PM {
  background: #47302d;
}
.app-main .create-swatch-RAL8019PM {
  background: #3f3b3f;
}
.app-main .create-swatches em {
  color: #4b6381;
  display: none;
  font-size: 11px;
  font-style: normal;
  font-weight: 500;
  margin-left: 6px;
}
.app-main .create-swatches input:checked ~ em {
  display: inline;
}
.app-main .create-unit-input {
  align-items: center;
  display: grid;
  grid-template-columns: minmax(96px, 128px) 24px;
}
.app-main .create-unit-input input {
  background: #ffffff;
  border: 1px solid #d8e0ea;
  border-radius: 7px;
  box-shadow: 0 2px 5px rgb(15 23 42 / 0.06);
  color: #334155;
  font-size: 14px;
  height: 38px;
  min-width: 0;
  padding: 0 12px;
  text-align: right;
}
.app-main .create-unit-input input:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgb(37 99 235 / 0.14);
  outline: none;
}
.app-main .create-unit-input em {
  color: #4b6381;
  font-size: 13px;
  font-style: normal;
  font-weight: 500;
  padding-left: 8px;
}
.app-main .create-choice-field small, .app-main .create-unit-field small {
  color: var(--color-destructive);
  font-size: 12px;
  grid-column: 2;
}
.app-main .create-pgroup-cond {
  display: grid;
  gap: 12px;
}
.app-main .create-subsection--gate:has(input[name="gate_type"][value="none"]:checked) .create-pgroup-cond, .app-main .create-subsection--wicket:has(input[name="wicket_required"][value="0"]:checked) .create-pgroup-cond {
  display: none;
}
.app-main .create-extra-checks {
  display: grid;
  gap: 10px;
}
.app-main .create-check {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: #020617;
  min-height: 0;
  padding: 0;
}
.app-main .create-check:hover {
  border-color: transparent;
  box-shadow: none;
}
.app-main .create-check:has(input:checked) {
  background: transparent;
  border-color: transparent;
  color: #020617;
}
.app-main .create-check input {
  accent-color: #2563eb;
  height: 16px;
  width: 16px;
}
.app-main .create-check span {
  color: #020617;
  font-size: 14px;
  font-weight: 400;
}
.app-main .create-estimate-panel {
  background: #f8fafc;
  border: 1px solid #d8e0ea;
  border-radius: 9px;
  box-shadow: none;
  min-height: 250px;
  padding: 20px;
}
.app-main .create-estimate-head {
  border-bottom: 0;
  margin-bottom: 14px;
  padding-bottom: 0;
}
.app-main .create-estimate-head h2 {
  color: #020617;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.app-main .create-preview-hero {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(160px, 1fr));
  margin-bottom: 20px;
  max-width: 380px;
}
.app-main .create-preview-hero div {
  background: #ffffff;
  border: 1px solid #d8e0ea;
  border-radius: 7px;
  box-shadow: none;
  padding: 12px;
}
.app-main .create-preview-hero span {
  color: #4b6381;
  display: block;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.2;
  margin-bottom: 7px;
  text-transform: uppercase;
}
.app-main .create-preview-hero strong {
  color: #020617;
  display: block;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.2;
}
.app-main .create-preview-empty {
  align-items: center;
  border: 1px dashed #dbe3ee;
  border-radius: 8px;
  color: #526b8c;
  display: flex;
  font-size: 14px;
  justify-content: center;
  min-height: 104px;
  text-align: center;
}
.app-main .create-estimate-section {
  margin-top: 20px;
}
.app-main .create-estimate-section h3 {
  color: #020617;
  font-size: 13px;
  font-weight: 650;
  letter-spacing: 0.02em;
  margin-bottom: 8px;
  text-transform: uppercase;
}
.app-main .create-preview-table-wrap {
  background: #ffffff;
  border: 1px solid #d8e0ea;
  border-radius: 8px;
  overflow: auto;
}
.app-main .create-preview-table th {
  background: #ffffff;
  color: #4b6381;
  font-size: 12px;
  font-weight: 500;
}
.app-main .create-preview-table td {
  background: #ffffff;
  color: #020617;
  font-size: 13px;
  font-weight: 500;
}
.app-main .create-preview-net-total {
  border-top: 1px solid #d8e0ea;
}
.app-main .create-preview-details {
  display: none;
}
.app-main .create-submit-row {
  display: flex;
  justify-content: flex-end;
}
@media (max-width: 1180px) {
  .app-main .create-offer-inputs {
    gap: 24px;
    grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.6fr);
  }
}
@media (max-width: 860px) {
  .app-main .create-offer-head {
    align-items: stretch;
    flex-direction: column;
  }
  .app-main .create-quote-number {
    grid-template-columns: 1fr;
    justify-items: stretch;
  }
  .app-main .create-quote-number small {
    justify-self: start;
  }
  .app-main .create-offer-inputs {
    grid-template-columns: 1fr;
  }
  .app-main .create-choice-field, .app-main .create-static-field, .app-main .create-unit-field {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .app-main .create-static-field strong, .app-main .create-swatches {
    justify-content: flex-start;
    text-align: left;
  }
}
.app-main .create-offer-head {
  align-items: flex-start;
  border-bottom: 0;
  margin-bottom: 22px;
  padding-bottom: 0;
}
.app-main .create-offer-head .app-page-title {
  font-size: var(--app-font-page);
  line-height: 1.16;
}
.app-main .create-text-row-field, .app-main .create-select-field {
  align-items: center;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(120px, 1fr) minmax(128px, auto);
}
.app-main .create-text-row-field input, .app-main .create-select-field select {
  background: #ffffff;
  border: 1px solid #d8e0ea;
  border-radius: 7px;
  box-shadow: 0 2px 5px rgb(15 23 42 / 0.06);
  color: #334155;
  font-size: 14px;
  height: 38px;
  min-width: 0;
  padding: 0 12px;
  width: 100%;
}
.app-main .create-text-row-field input {
  text-align: right;
}
.app-main .create-select-field select {
  text-align: left;
}
.app-main .create-text-row-field input:focus, .app-main .create-select-field select:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgb(37 99 235 / 0.14);
  outline: none;
}
.app-main .create-subsection--gate:has(input[name="gate_type"]:checked:not([value="none"])) .create-pgroup-cond, .app-main .create-subsection--wicket:has(input[name="wicket_required"][value="1"]:checked) .create-pgroup-cond {
  display: grid;
}
.app-main .create-preview-table {
  min-width: 880px;
}
.app-main .create-preview-table th, .app-main .create-preview-table td {
  white-space: nowrap;
}
.app-main .create-preview-table th:first-child, .app-main .create-preview-table td:first-child {
  white-space: normal;
}
.app-main .create-preview-net-total {
  display: grid;
  gap: 7px;
}
.app-main .create-preview-net-total div {
  align-items: baseline;
  display: flex;
  gap: 16px;
  justify-content: flex-end;
}
.app-main .create-preview-net-total strong {
  font-size: 15px;
  font-weight: 600;
}
.app-main .create-preview-net-total div:last-child strong {
  font-size: 18px;
  font-weight: 700;
}
.app-main .create-width-action-row {
  align-items: stretch;
  display: grid;
  gap: 12px;
  grid-template-columns: 1fr;
}
.app-main .create-width-action-row .create-unit-field {
  grid-template-columns: minmax(120px, 1fr) auto;
}
.app-main .create-width-action-row .create-check {
  align-self: start;
  justify-self: start;
}
.app-main .create-preview-table {
  min-width: 680px;
}
.app-main .create-preview-table th, .app-main .create-preview-table td, .app-main .create-preview-table th:nth-child(1), .app-main .create-preview-table td:nth-child(1), .app-main .create-preview-table th:nth-child(3), .app-main .create-preview-table td:nth-child(3), .app-main .create-preview-table th:nth-child(4), .app-main .create-preview-table td:nth-child(4), .app-main .create-preview-table th:nth-child(5), .app-main .create-preview-table td:nth-child(5), .app-main .create-preview-table th:nth-child(6), .app-main .create-preview-table td:nth-child(6) {
  text-align: left;
}
.app-main .create-input-rail {
  --create-control-width: 240px;
}
.app-main .create-choice-field, .app-main .create-static-field, .app-main .create-text-row-field, .app-main .create-select-field, .app-main .create-unit-field {
  grid-template-columns: minmax(120px, 1fr) var(--create-control-width);
}
.app-main .create-segmented, .app-main .create-text-row-field input, .app-main .create-select-field select, .app-main .create-unit-input {
  width: var(--create-control-width);
}
.app-main .create-segmented {
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
}
.app-main .create-text-row-field input, .app-main .create-unit-input input {
  text-align: left;
}
.app-main .create-unit-input {
  grid-template-columns: minmax(0, 1fr) 24px;
}
.app-main .create-input-rail {
  --create-control-width: 144px;
  --create-segmented-width: 188px;
}
.app-main .create-choice-field, .app-main .create-static-field, .app-main .create-text-row-field, .app-main .create-select-field, .app-main .create-unit-field {
  grid-template-columns: minmax(78px, 1fr) var(--create-control-width);
}
.app-main .create-choice-field {
  grid-template-columns: minmax(78px, 1fr) var(--create-segmented-width);
}
.app-main .create-choice-field:has(input[name="price_list"]) {
  --create-segmented-width: 164px;
}
.app-main .create-choice-field:has(input[name="gate_type"]) {
  --create-segmented-width: 210px;
}
.app-main .create-choice-field:has(input[name="wicket_required"]) {
  --create-segmented-width: 144px;
}
.app-main .create-preview-table {
  table-layout: fixed;
  min-width: 760px;
}
.app-main .create-preview-table th, .app-main .create-preview-table td {
  font-weight: 400;
  line-height: 1.35;
  padding-left: 10px;
  padding-right: 10px;
}
.app-main .create-preview-table th {
  font-weight: 500;
}
.app-main .create-preview-table th:nth-child(1), .app-main .create-preview-table td:nth-child(1) {
  width: 70px;
  white-space: nowrap;
}
.app-main .create-preview-table th:nth-child(2), .app-main .create-preview-table td:nth-child(2) {
  width: auto;
  white-space: normal;
  overflow-wrap: anywhere;
}
.app-main .create-preview-table th:nth-child(3), .app-main .create-preview-table td:nth-child(3) {
  width: 128px;
  white-space: nowrap;
}
.app-main .create-preview-table th:nth-child(4), .app-main .create-preview-table td:nth-child(4) {
  width: 86px;
  white-space: nowrap;
}
.app-main .create-preview-table th:nth-child(5), .app-main .create-preview-table td:nth-child(5), .app-main .create-preview-table th:nth-child(6), .app-main .create-preview-table td:nth-child(6) {
  width: 132px;
  white-space: nowrap;
}
.app-main:has(.create-offer-shell) {
  padding-bottom: 118px;
}
.app-main .create-section-totals {
  background: #ffffff;
  border: 1px solid #d8e0ea;
  border-top: 0;
  border-radius: 0 0 8px 8px;
  display: grid;
  gap: 0;
  justify-content: end;
  justify-items: stretch;
  padding: 8px 12px 10px;
}
.app-main .create-section-totals div {
  align-items: baseline;
  display: grid;
  gap: 18px;
  grid-template-columns: 150px 120px;
  min-height: 24px;
}
.app-main .create-section-totals span {
  color: #0f172a;
  font-size: 13px;
  font-weight: 500;
  text-align: right;
}
.app-main .create-section-totals strong {
  color: #0f172a;
  font-size: 13px;
  font-weight: 600;
  text-align: right;
}
.app-main .create-sticky-submit {
  align-items: center;
  background: #ffffff;
  border: 0;
  border-top: 1px solid #d8e0ea;
  border-radius: 0;
  bottom: 0;
  box-shadow: none;
  display: flex;
  gap: 28px;
  justify-content: flex-end;
  left: 190px;
  margin: 0;
  padding: 16px 34px;
  position: fixed;
  right: 0;
  width: auto;
  z-index: 30;
}
.app-main .create-footer-total {
  align-items: baseline;
  display: flex;
  gap: 38px;
  text-align: right;
}
.app-main .create-footer-total span {
  color: #64748b;
  display: block;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.app-main .create-footer-total strong {
  color: #0f172a;
  display: block;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.15;
  margin-top: 4px;
  min-width: 116px;
}
.app-main .create-footer-total div:last-child strong {
  font-size: 22px;
}
.app-main .create-sticky-submit button {
  background: #2563eb;
  border-radius: 8px;
  color: #ffffff;
  min-height: 42px;
  padding-inline: 22px;
}
.app-main .create-sticky-submit button:hover {
  background: #1d4ed8;
}
@media (max-width: 980px) {
  .app-main .create-sticky-submit {
    left: 0;
    padding: 14px 16px;
  }
}
@media (max-width: 760px) {
  .app-main:has(.create-offer-shell) {
    padding-bottom: 188px;
  }
  .app-main .create-sticky-submit {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
  }
  .app-main .create-footer-total {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    text-align: left;
  }
  .app-main .create-footer-total strong {
    min-width: 0;
  }
}
.inbox-detail-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.4fr);
}
.inbox-email-panel {
  align-self: start;
}
.inbox-meta {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 12px;
}
.inbox-meta span {
  color: #64748b;
  display: block;
  font-size: 12px;
  font-weight: 600;
}
.inbox-meta strong {
  color: #0f172a;
  display: block;
  font-size: 13px;
  font-weight: 600;
  overflow-wrap: anywhere;
}
.inbox-raw-body {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  color: #334155;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 12px;
  line-height: 1.55;
  max-height: 680px;
  overflow: auto;
  padding: 14px;
  white-space: pre-wrap;
}
.inbox-review-form {
  display: grid;
  gap: 16px;
  margin-top: 16px;
}
.inbox-form-rail {
  max-width: 560px;
}
.inbox-hints {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.inbox-hint {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  min-height: 64px;
  padding: 10px 12px;
}
.inbox-hint span {
  color: #64748b;
  display: block;
  font-size: 12px;
  font-weight: 600;
}
.inbox-hint strong {
  color: #0f172a;
  display: block;
  font-size: 14px;
  font-weight: 600;
  margin-top: 4px;
  overflow-wrap: anywhere;
}
.inbox-missing, .inbox-form-error {
  background: #fff7ed;
  border: 1px solid #fed7aa;
  border-radius: 8px;
  color: #9a3412;
  font-size: 13px;
  font-weight: 600;
  padding: 10px 12px;
}
.inbox-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}
.inbox-created-link {
  margin-top: 14px;
}
@media (max-width: 1100px) {
  .inbox-detail-grid {
    grid-template-columns: 1fr;
  }
  .inbox-meta {
    grid-template-columns: 1fr;
  }
  .inbox-hints {
    grid-template-columns: 1fr;
  }
}
.app-main .create-offer-inputs {
  gap: 32px;
  grid-template-columns: minmax(220px, 0.55fr) minmax(0, 2.45fr);
}
.app-main .create-input-rail {
  --create-control-width: 144px;
}
.app-main .create-choice-field, .app-main .create-static-field, .app-main .create-text-row-field, .app-main .create-select-field, .app-main .create-unit-field {
  grid-template-columns: minmax(92px, 1fr) var(--create-control-width);
}
.app-main .create-segmented, .app-main .create-text-row-field input, .app-main .create-select-field select, .app-main .create-unit-input {
  width: var(--create-control-width);
}
.app-main .create-width-action-row .create-unit-field {
  grid-template-columns: minmax(92px, 1fr) auto;
}
@media (max-width: 1180px) {
  .app-main .create-offer-inputs {
    grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1.8fr);
  }
}
@media (max-width: 860px) {
  .app-main .create-offer-inputs {
    grid-template-columns: 1fr;
  }
  .app-main .create-choice-field, .app-main .create-static-field, .app-main .create-text-row-field, .app-main .create-select-field, .app-main .create-unit-field {
    grid-template-columns: minmax(92px, 1fr) var(--create-control-width);
  }
}
.app-main .create-offer-head {
  margin-bottom: 14px;
}
.app-main .create-offer-inputs {
  gap: 48px;
  grid-template-columns: minmax(340px, 0.62fr) minmax(0, 2.38fr);
}
.app-main .create-input-rail {
  --create-control-width: 144px;
  --create-segmented-width: 188px;
  gap: 16px;
}
.app-main .create-rail-section {
  gap: 10px;
  padding-bottom: 12px;
}
.app-main .create-choice-field, .app-main .create-static-field, .app-main .create-text-row-field, .app-main .create-select-field, .app-main .create-unit-field {
  gap: 12px;
  grid-template-columns: minmax(78px, 1fr) var(--create-control-width);
}
.app-main .create-choice-field {
  grid-template-columns: minmax(78px, 1fr) var(--create-segmented-width);
}
.app-main .create-segmented {
  display: flex;
  width: var(--create-segmented-width);
}
.app-main .create-choice-field:has(input[name="price_list"]) {
  --create-segmented-width: 164px;
}
.app-main .create-choice-field:has(input[name="gate_type"]) {
  --create-segmented-width: 210px;
}
.app-main .create-choice-field:has(input[name="wicket_required"]) {
  --create-segmented-width: 144px;
}
.app-main .create-segmented label {
  flex: 1 1 auto;
}
.app-main .create-segmented span {
  width: 100%;
}
.app-main .create-choice-field:has(input[name="gate_type"]) .create-segmented label:nth-child(1) {
  flex-grow: 0.75;
}
.app-main .create-choice-field:has(input[name="gate_type"]) .create-segmented label:nth-child(2), .app-main .create-choice-field:has(input[name="gate_type"]) .create-segmented label:nth-child(3) {
  flex-grow: 1.12;
}
.app-main .create-field input, .app-main .create-field select, .app-main .create-unit-input input {
  height: 34px;
}
.app-main .create-segmented span {
  padding: 6px 8px;
}
.app-main .create-estimate-panel {
  padding: 16px;
}
.app-main .create-preview-hero {
  margin-bottom: 14px;
}
.app-main .create-estimate-section {
  margin-top: 16px;
}
.app-main .create-preview-table th, .app-main .create-preview-table td {
  padding-block: 7px;
}
.app-main .create-section-totals {
  padding-block: 6px 8px;
}
.app-main .create-section-totals div {
  min-height: 22px;
}
.app-main .create-section-totals span {
  color: #64748b;
}
.app-main .create-section-totals strong {
  color: #334155;
}
@media (max-width: 1180px) {
  .app-main .create-offer-inputs {
    gap: 32px;
    grid-template-columns: minmax(340px, 0.8fr) minmax(0, 1.7fr);
  }
}
.app-main .create-preview-table {
  table-layout: fixed;
  min-width: 760px;
}
.app-main .create-preview-table th, .app-main .create-preview-table td {
  font-weight: 400;
  line-height: 1.35;
  padding-left: 10px;
  padding-right: 10px;
}
.app-main .create-preview-table th {
  font-weight: 500;
}
.app-main .create-preview-table th:nth-child(1), .app-main .create-preview-table td:nth-child(1) {
  width: 70px;
  white-space: nowrap;
}
.app-main .create-preview-table th:nth-child(2), .app-main .create-preview-table td:nth-child(2) {
  width: auto;
  white-space: normal;
  overflow-wrap: anywhere;
}
.app-main .create-preview-table th:nth-child(3), .app-main .create-preview-table td:nth-child(3) {
  width: 128px;
  white-space: nowrap;
}
.app-main .create-preview-table th:nth-child(4), .app-main .create-preview-table td:nth-child(4) {
  width: 86px;
  white-space: nowrap;
}
.app-main .create-preview-table th:nth-child(5), .app-main .create-preview-table td:nth-child(5), .app-main .create-preview-table th:nth-child(6), .app-main .create-preview-table td:nth-child(6) {
  width: 132px;
  white-space: nowrap;
}
.app-main .create-section-totals {
  border: 1px solid #dbe3ee;
  border-top: 0;
  border-radius: 0 0 8px 8px;
  display: grid;
  gap: 6px;
  justify-items: end;
  padding: 10px 12px;
}
.app-main .create-section-totals div {
  align-items: baseline;
  display: flex;
  gap: 12px;
}
.app-main .create-section-totals span {
  color: #64748b;
  font-size: 12px;
}
.app-main .create-section-totals strong {
  color: #0f172a;
  font-size: 13px;
  font-weight: 600;
}
.app-main .create-sticky-submit {
  align-items: center;
  background: rgb(248 250 252 / 0.96);
  border: 1px solid #dbe3ee;
  border-radius: 8px;
  bottom: 16px;
  box-shadow: 0 18px 36px rgb(15 23 42 / 0.12);
  display: flex;
  gap: 18px;
  justify-content: flex-end;
  margin-left: auto;
  padding: 12px;
  position: sticky;
  width: fit-content;
  z-index: 20;
}
.app-main .create-sticky-submit button {
  background: #2563eb;
  color: #ffffff;
}
.app-main .create-sticky-submit button:hover {
  background: #1d4ed8;
}
.app-main .create-footer-total {
  align-items: baseline;
  display: flex;
  gap: 18px;
  text-align: right;
}
.app-main .create-footer-total span {
  color: #64748b;
  display: block;
  font-size: 12px;
  font-weight: 500;
}
.app-main .create-footer-total strong {
  color: #0f172a;
  display: block;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.15;
  min-width: 132px;
}
.app-main:has(.create-offer-shell) {
  padding-bottom: 118px;
}
.app-main .create-offer-head {
  margin-bottom: 14px;
}
.app-main .create-offer-inputs {
  gap: 48px;
  grid-template-columns: minmax(340px, 0.62fr) minmax(0, 2.38fr);
}
.app-main .create-input-rail {
  --create-control-width: 144px;
  --create-segmented-width: 188px;
  gap: 16px;
}
.app-main .create-rail-section {
  gap: 10px;
  padding-bottom: 12px;
}
.app-main .create-choice-field, .app-main .create-static-field, .app-main .create-text-row-field, .app-main .create-select-field, .app-main .create-unit-field {
  gap: 12px;
  grid-template-columns: minmax(78px, 1fr) var(--create-control-width);
}
.app-main .create-choice-field {
  grid-template-columns: minmax(78px, 1fr) var(--create-segmented-width);
}
.app-main .create-segmented {
  display: flex;
  width: var(--create-segmented-width);
}
.app-main .create-choice-field:has(input[name="price_list"]) {
  --create-segmented-width: 164px;
}
.app-main .create-choice-field:has(input[name="gate_type"]) {
  --create-segmented-width: 210px;
}
.app-main .create-choice-field:has(input[name="wicket_required"]) {
  --create-segmented-width: 144px;
}
.app-main .create-segmented label {
  flex: 1 1 auto;
}
.app-main .create-segmented span {
  padding: 6px 8px;
  width: 100%;
}
.app-main .create-sticky-submit {
  align-items: center;
  background: #ffffff;
  border: 0;
  border-top: 1px solid #d8e0ea;
  border-radius: 0;
  bottom: 0;
  box-shadow: none;
  display: flex;
  gap: 28px;
  justify-content: flex-end;
  left: 190px;
  margin: 0;
  padding: 16px 34px;
  position: fixed;
  right: 0;
  width: auto;
  z-index: 30;
}
.app-main .create-footer-total {
  align-items: baseline;
  display: flex;
  gap: 38px;
  text-align: right;
}
.app-main .create-footer-total span {
  color: #64748b;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.app-main .create-footer-total strong {
  color: #0f172a;
  font-size: 19px;
  font-weight: 700;
  margin-top: 4px;
  min-width: 116px;
}
.app-main .create-footer-total div:last-child strong {
  font-size: 22px;
}
.app-main .create-preview-table {
  table-layout: fixed;
  min-width: 760px;
}
.app-main .create-preview-table th, .app-main .create-preview-table td {
  font-weight: 400;
  line-height: 1.35;
  padding-left: 10px;
  padding-right: 10px;
}
.app-main .create-preview-table th {
  font-weight: 500;
}
.app-main .create-preview-table th:nth-child(1), .app-main .create-preview-table td:nth-child(1) {
  width: 70px;
  white-space: nowrap;
}
.app-main .create-preview-table th:nth-child(2), .app-main .create-preview-table td:nth-child(2) {
  width: auto;
  white-space: normal;
  overflow-wrap: anywhere;
}
.app-main .create-preview-table th:nth-child(3), .app-main .create-preview-table td:nth-child(3) {
  width: 128px;
  white-space: nowrap;
}
.app-main .create-preview-table th:nth-child(4), .app-main .create-preview-table td:nth-child(4) {
  width: 86px;
  white-space: nowrap;
}
.app-main .create-preview-table th:nth-child(5), .app-main .create-preview-table td:nth-child(5), .app-main .create-preview-table th:nth-child(6), .app-main .create-preview-table td:nth-child(6) {
  width: 132px;
  white-space: nowrap;
}
@media (max-width: 1180px) {
  .app-main .create-offer-inputs {
    gap: 32px;
    grid-template-columns: minmax(340px, 0.8fr) minmax(0, 1.7fr);
  }
}
@media (max-width: 980px) {
  .app-main .create-sticky-submit {
    left: 0;
    padding: 14px 16px;
  }
}
@media (max-width: 760px) {
  .app-main:has(.create-offer-shell) {
    padding-bottom: 188px;
  }
  .app-main .create-sticky-submit {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
  }
  .app-main .create-footer-total {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    text-align: left;
  }
  .app-main .create-footer-total strong {
    min-width: 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-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-space-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-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-ordinal {
  syntax: "*";
  inherits: false;
}
@property --tw-slashed-zero {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-figure {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@property --tw-content {
  syntax: "*";
  initial-value: "";
  inherits: false;
}
@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-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-space-x-reverse: 0;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-content: "";
    }
  }
}
