/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-border-spacing-x: 0;
      --tw-border-spacing-y: 0;
      --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-pan-x: initial;
      --tw-pan-y: initial;
      --tw-pinch-zoom: initial;
      --tw-space-y-reverse: 0;
      --tw-space-x-reverse: 0;
      --tw-divide-x-reverse: 0;
      --tw-border-style: solid;
      --tw-divide-y-reverse: 0;
      --tw-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-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-content: "";
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: "Instrument 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-50: oklch(97.1% .013 17.38);
    --color-red-100: oklch(93.6% .032 17.717);
    --color-red-200: oklch(88.5% .062 18.334);
    --color-red-300: oklch(80.8% .114 19.571);
    --color-red-400: oklch(70.4% .191 22.216);
    --color-red-500: oklch(63.7% .237 25.331);
    --color-red-600: oklch(57.7% .245 27.325);
    --color-red-700: oklch(50.5% .213 27.518);
    --color-red-800: oklch(44.4% .177 26.899);
    --color-red-900: oklch(39.6% .141 25.723);
    --color-red-950: oklch(25.8% .092 26.042);
    --color-amber-300: oklch(87.9% .169 91.605);
    --color-amber-500: oklch(76.9% .188 70.08);
    --color-yellow-100: oklch(97.3% .071 103.193);
    --color-yellow-300: oklch(90.5% .182 98.111);
    --color-yellow-400: oklch(85.2% .199 91.936);
    --color-yellow-500: oklch(79.5% .184 86.047);
    --color-yellow-600: oklch(68.1% .162 75.834);
    --color-yellow-700: oklch(55.4% .135 66.442);
    --color-yellow-800: oklch(47.6% .114 61.907);
    --color-yellow-900: oklch(42.1% .095 57.708);
    --color-green-50: oklch(98.2% .018 155.826);
    --color-green-100: oklch(96.2% .044 156.743);
    --color-green-300: oklch(87.1% .15 154.449);
    --color-green-400: oklch(79.2% .209 151.711);
    --color-green-500: oklch(72.3% .219 149.579);
    --color-green-600: oklch(62.7% .194 149.214);
    --color-green-700: oklch(52.7% .154 150.069);
    --color-green-800: oklch(44.8% .119 151.328);
    --color-emerald-50: oklch(97.9% .021 166.113);
    --color-emerald-200: oklch(90.5% .093 164.15);
    --color-emerald-300: oklch(84.5% .143 164.978);
    --color-emerald-400: oklch(76.5% .177 163.223);
    --color-emerald-500: oklch(69.6% .17 162.48);
    --color-emerald-700: oklch(50.8% .118 165.612);
    --color-emerald-900: oklch(37.8% .077 168.94);
    --color-sky-500: oklch(68.5% .169 237.323);
    --color-blue-100: oklch(93.2% .032 255.585);
    --color-blue-300: oklch(80.9% .105 251.813);
    --color-blue-600: oklch(54.6% .245 262.881);
    --color-blue-700: oklch(48.8% .243 264.376);
    --color-blue-800: oklch(42.4% .199 265.638);
    --color-indigo-50: oklch(96.2% .018 272.314);
    --color-indigo-500: oklch(58.5% .233 277.117);
    --color-indigo-600: oklch(51.1% .262 276.966);
    --color-indigo-700: oklch(45.7% .24 277.023);
    --color-rose-500: oklch(64.5% .246 16.439);
    --color-slate-100: oklch(96.8% .007 247.896);
    --color-slate-200: oklch(92.9% .013 255.508);
    --color-slate-300: oklch(86.9% .022 252.894);
    --color-slate-600: oklch(44.6% .043 257.281);
    --color-slate-700: oklch(37.2% .044 257.287);
    --color-slate-900: oklch(20.8% .042 265.755);
    --color-gray-50: oklch(98.5% .002 247.839);
    --color-gray-100: oklch(96.7% .003 264.542);
    --color-gray-200: oklch(92.8% .006 264.531);
    --color-gray-300: oklch(87.2% .01 258.338);
    --color-gray-400: oklch(70.7% .022 261.325);
    --color-gray-500: oklch(55.1% .027 264.364);
    --color-gray-600: oklch(44.6% .03 256.802);
    --color-gray-700: oklch(37.3% .034 259.733);
    --color-gray-800: oklch(27.8% .033 256.848);
    --color-gray-900: oklch(21% .034 264.665);
    --color-zinc-900: oklch(21% .006 285.885);
    --color-neutral-100: oklch(97% 0 0);
    --color-neutral-200: oklch(92.2% 0 0);
    --color-neutral-300: oklch(87% 0 0);
    --color-neutral-400: oklch(70.8% 0 0);
    --color-neutral-500: oklch(55.6% 0 0);
    --color-neutral-600: oklch(43.9% 0 0);
    --color-neutral-700: oklch(37.1% 0 0);
    --color-neutral-800: oklch(26.9% 0 0);
    --color-neutral-900: oklch(20.5% 0 0);
    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --breakpoint-xl: 80rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-4xl: 56rem;
    --container-5xl: 64rem;
    --container-6xl: 72rem;
    --container-7xl: 80rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --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);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-5xl: 3rem;
    --text-5xl--line-height: 1;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --tracking-tight: -.025em;
    --tracking-wide: .025em;
    --tracking-wider: .05em;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-relaxed: 1.625;
    --radius-sm: calc(var(--radius)  - 4px);
    --radius-md: calc(var(--radius)  - 2px);
    --radius-lg: var(--radius);
    --radius-xl: .75rem;
    --radius-2xl: 1rem;
    --shadow-xs: 0 1px 2px 0 #0000000d;
    --shadow-md: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;
    --drop-shadow-sm: 0 1px 2px #00000026;
    --ease-in: cubic-bezier(.4, 0, 1, 1);
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --animate-spin: spin 1s linear infinite;
    --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
    --blur-sm: 8px;
    --blur-md: 12px;
    --blur-lg: 16px;
    --aspect-video: 16 / 9;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-background: var(--background);
    --color-foreground: var(--foreground);
    --color-card: var(--card);
    --color-card-foreground: var(--card-foreground);
    --color-popover: var(--popover);
    --color-popover-foreground: var(--popover-foreground);
    --color-primary: var(--primary);
    --color-primary-foreground: var(--primary-foreground);
    --color-secondary: var(--secondary);
    --color-secondary-foreground: var(--secondary-foreground);
    --color-muted: var(--muted);
    --color-muted-foreground: var(--muted-foreground);
    --color-accent: var(--accent);
    --color-accent-foreground: var(--accent-foreground);
    --color-destructive: var(--destructive);
    --color-destructive-foreground: var(--destructive-foreground);
    --color-border: var(--border);
    --color-input: var(--input);
    --color-ring: var(--ring);
    --color-chart-1: var(--chart-1);
    --color-chart-2: var(--chart-2);
    --color-chart-3: var(--chart-3);
    --color-chart-4: var(--chart-4);
    --color-chart-5: var(--chart-5);
    --color-sidebar: var(--sidebar);
    --color-sidebar-foreground: var(--sidebar-foreground);
    --color-sidebar-primary: var(--sidebar-primary);
    --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
    --color-sidebar-accent: var(--sidebar-accent);
    --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
    --color-sidebar-border: var(--sidebar-border);
    --color-sidebar-ring: var(--sidebar-ring);
  }
}

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

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

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

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

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

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

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

  b, strong {
    font-weight: bolder;
  }

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

  small {
    font-size: 80%;
  }

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

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

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

  :-moz-focusring {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

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

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

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

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

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

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

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

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

  ::placeholder {
    opacity: 1;
  }

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

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

  textarea {
    resize: vertical;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  *, :after, :before, ::backdrop {
    border-color: var(--border);
    border-style: solid;
  }

  ::file-selector-button {
    border-color: var(--border);
    border-style: solid;
  }

  * {
    border-color: var(--color-border);
  }

  body {
    background-color: var(--color-background);
    color: var(--color-foreground);
    padding-top: 0 !important;
  }
}

@layer components {
  .ui-input {
    width: 100%;
    padding-inline: calc(var(--spacing) * 3);
    padding-block: calc(var(--spacing) * 2);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    background-color: var(--card);
    color: var(--foreground);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--border);
  }

  .ui-input::placeholder {
    color: var(--muted-foreground);
  }

  .ui-input: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);
    --tw-ring-color: var(--accent);
    --tw-outline-style: none;
    outline-style: none;
  }

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

  .ui-table-container {
    height: 100%;
    overflow-y: auto;
  }

  .ui-table {
    table-layout: auto;
    table-layout: fixed;
    border-collapse: collapse;
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--border);
    background-color: var(--color-background);
    width: 100%;
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    color: var(--body);
    border-radius: var(--radius-sm);
    overflow: hidden;
    color: var(--body) !important;
  }

  .ui-table.animate {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: .3s;
    transition-duration: .3s;
    animation-duration: .3s;
  }

  .ui-table thead {
    top: var(--app-header-h);
    z-index: 10;
    background: var(--header);
    position: sticky;
  }

  .ui-table thead, .ui-table thead * {
    font-weight: 700;
    color: #fff !important;
  }

  .ui-table th {
    cursor: pointer;
    padding-inline: calc(var(--spacing) * 4);
    padding-block: calc(var(--spacing) * 2);
    text-align: center;
    vertical-align: top;
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    -webkit-user-select: none;
    user-select: none;
    position: relative;
    color: inherit !important;
  }

  .ui-table .resizer {
    top: calc(var(--spacing) * 0);
    right: calc(var(--spacing) * 0);
    z-index: 10;
    cursor: col-resize;
    width: 6px;
    height: 100%;
    position: absolute;
  }

  .ui-table .resizer:hover {
    background-color: #ffffff4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ui-table .resizer:hover {
      background-color: color-mix(in oklab, var(--color-white) 30%, transparent);
    }
  }

  .ui-table th, .ui-table td {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
    border-color: var(--border);
  }

  .ui-table td {
    border-bottom-style: var(--tw-border-style);
    text-align: center;
    vertical-align: top;
    border-bottom-width: 1px;
    color: var(--body) !important;
  }

  :where(.ui-table-mobile > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
  }

  .ui-table-mobile details {
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-border);
    border-radius: var(--radius-sm);
    overflow: hidden;
  }

  .ui-table-mobile details summary {
    cursor: pointer;
    text-overflow: ellipsis;
    white-space: nowrap;
    background-color: var(--color-secondary);
    width: 100%;
    padding-inline: calc(var(--spacing) * 4);
    padding-block: calc(var(--spacing) * 2);
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    border-radius: var(--radius-sm);
    justify-content: space-between;
    align-items: center;
    display: flex;
    overflow: hidden;
  }

  .ui-table-mobile details summary, .ui-table-mobile details summary * {
    font-weight: 600;
    color: var(--body) !important;
  }

  .ui-table-mobile details > div {
    gap: calc(var(--spacing) * 2);
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
    border-color: var(--color-border);
    background-color: var(--color-card);
    padding-inline: calc(var(--spacing) * 4);
    padding-block: calc(var(--spacing) * 3);
    border-bottom-left-radius: var(--radius-sm);
    border-bottom-right-radius: var(--radius-sm);
    flex-direction: column;
    display: flex;
  }

  .ui-table-mobile details > div, .ui-table-mobile details > div * {
    color: var(--body) !important;
  }

  @media (max-width: 767.98px) {
    .page-activity .activity-table thead, .page-activity .activity-table .thead, .page-activity .activity-table .table-head, .page-activity .activity-table [role="rowgroup"][data-part="head"], .page-activity .activity-table [role="rowgroup"][aria-label="Table Head"], .page-activity .activity-table dl > div > dt {
      display: none !important;
    }

    .page-activity .activity-table dl > div {
      gap: 0 !important;
    }
  }

  .sp-browser {
    background: var(--bg-soft);
    border-color: var(--border);
    color: var(--foreground);
    border-radius: var(--radius-sm);
    border-style: solid;
    border-width: 1px;
  }

  .sp-browser .sp-tree {
    background: var(--card);
    border-right-color: var(--border);
    border-radius: var(--radius-sm);
    border-right-style: solid;
    border-right-width: 1px;
  }

  .sp-browser .sp-tree .sp-tree-row:hover {
    background: var(--hover);
  }

  .sp-browser .sp-topbar {
    background: var(--bg-soft);
    border-bottom-color: var(--border);
    border-top-left-radius: var(--radius-sm);
    border-top-right-radius: var(--radius-sm);
    border-bottom-style: solid;
    border-bottom-width: 1px;
  }

  .sp-browser .sp-crumbs button {
    color: var(--foreground);
    border-radius: var(--radius-sm);
  }

  .sp-browser .sp-crumbs button:hover {
    opacity: .9;
    text-underline-offset: 2px;
    text-decoration: underline;
  }

  .sp-browser .sp-ibtn {
    background: var(--bg);
    border-color: var(--border);
    border-radius: var(--radius-sm);
    border-style: solid;
    border-width: 1px;
  }

  .sp-browser .sp-ibtn:hover {
    background: var(--hover);
  }

  .sp-browser .sp-ibtn[disabled] {
    opacity: .5;
    pointer-events: none;
  }

  .sp-browser .sp-upbar-track {
    background: var(--border);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .sp-browser .sp-upbar-track {
      background: color-mix(in oklab, var(--border) 60%, transparent);
    }
  }

  .sp-browser .sp-upbar-track {
    border-radius: var(--radius-sm);
  }

  .sp-browser .sp-upbar-fill {
    background: var(--accent);
    border-radius: var(--radius-sm);
  }

  .sp-browser table.ui-table thead {
    background: var(--header);
    color: var(--gray-body);
  }

  .sp-browser table.ui-table th, .sp-browser table.ui-table td {
    border-color: var(--border);
  }

  .sp-browser table.ui-table {
    border-radius: var(--radius-sm);
    overflow: hidden;
  }

  .sp-browser table.ui-table tbody tr:hover {
    background: var(--hover);
  }

  .auth-reset-grid {
    gap: calc(var(--spacing) * 6);
    display: grid;
  }

  .auth-reset-field {
    gap: calc(var(--spacing) * 2);
    display: grid;
  }

  .auth-reset-input {
    margin-top: calc(var(--spacing) * 1);
    width: 100%;
    display: block;
  }

  .auth-reset-error {
    margin-top: calc(var(--spacing) * 2);
  }

  .auth-reset-submit {
    margin-top: calc(var(--spacing) * 4);
    width: 100%;
  }

  .auth-reset-spinner {
    height: calc(var(--spacing) * 4);
    width: calc(var(--spacing) * 4);
    animation: var(--animate-spin);
  }

  .auth-verify-status {
    margin-bottom: calc(var(--spacing) * 4);
    text-align: center;
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    color: var(--color-green-600);
  }

  :where(.auth-verify-form > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
  }

  .auth-verify-form {
    text-align: center;
  }

  .auth-verify-logout {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    margin-inline: auto;
    display: block;
  }

  .auth-verify-spinner {
    height: calc(var(--spacing) * 4);
    width: calc(var(--spacing) * 4);
    animation: var(--animate-spin);
  }

  .visitor-form {
    gap: calc(var(--spacing) * 6);
    flex-direction: column;
    display: flex;
  }

  .visitor-progress {
    justify-content: space-between;
    align-items: center;
    width: 100%;
    display: flex;
  }

  .visitor-progress-bar {
    margin-inline: calc(var(--spacing) * 2);
    background-color: var(--border);
    flex: 1;
    height: 2px;
  }

  .visitor-step-wrap {
    align-items: center;
    gap: calc(var(--spacing) * 2);
    display: flex;
  }

  .visitor-step-dot {
    height: calc(var(--spacing) * 6);
    width: calc(var(--spacing) * 6);
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .visitor-section {
    gap: calc(var(--spacing) * 6);
    display: grid;
  }

  .visitor-field {
    gap: calc(var(--spacing) * 2);
    display: grid;
  }

  .visitor-field-error {
    margin-top: calc(var(--spacing) * 2);
  }

  .visitor-signature-wrapper {
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--border);
    background-color: var(--card);
    position: relative;
  }

  .visitor-signature-canvas {
    touch-action: manipulation;
    background-color: var(--color-white);
    -webkit-user-select: none;
    user-select: none;
    width: 100%;
    height: 160px;
  }

  .visitor-signature-footer {
    right: calc(var(--spacing) * 0);
    bottom: calc(var(--spacing) * 0);
    left: calc(var(--spacing) * 0);
    background-color: var(--card);
    justify-content: space-between;
    align-items: center;
    display: flex;
    position: absolute;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .visitor-signature-footer {
      background-color: color-mix(in oklab, var(--card) 90%, transparent);
    }
  }

  .visitor-signature-footer {
    padding-inline: calc(var(--spacing) * 2);
    padding-block: calc(var(--spacing) * 1);
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    color: var(--muted-foreground);
  }

  .visitor-signature-clear {
    height: calc(var(--spacing) * 6);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--border);
    padding-inline: calc(var(--spacing) * 2);
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .visitor-terms-box {
    max-height: calc(var(--spacing) * 48);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--border);
    background-color: var(--card);
    padding: calc(var(--spacing) * 3);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
    overflow-y: auto;
  }

  .visitor-terms-accept {
    align-items: center;
    gap: calc(var(--spacing) * 2);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    display: flex;
  }

  .visitor-nav-row {
    justify-content: space-between;
    align-items: center;
    gap: calc(var(--spacing) * 3);
    display: flex;
  }

  .visitor-nav-back {
    min-width: 96px;
  }

  .visitor-nav-next {
    min-width: 140px;
    margin-left: auto;
  }

  .visitor-nav-submit {
    min-width: 180px;
    margin-left: auto;
  }

  .visitor-footer-text {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    color: var(--muted-foreground);
  }

  .poster-root {
    background-color: var(--color-white);
    min-height: 100vh;
    color: var(--color-black);
    justify-content: center;
    align-items: flex-start;
    display: flex;
  }

  .poster-grid {
    margin-bottom: calc(var(--spacing) * 10);
    gap: calc(var(--spacing) * 6);
    grid-template-columns: 64% 36%;
    display: grid;
  }

  .poster-safety {
    align-items: center;
    gap: calc(var(--spacing) * 0);
    flex-direction: column;
    display: flex;
  }

  .bottomnav-container {
    z-index: 50;
    pointer-events: none;
    flex-direction: column;
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
  }

  @media (min-width: 768px) {
    .bottomnav-container {
      display: none;
    }
  }

  .bottomnav-bar {
    pointer-events: auto;
    background: var(--header);
    border-top: 3px solid var(--accent);
    border-bottom: 1px solid var(--header);
    border-radius: var(--radius-sm) var(--radius-sm) 0 0;
    width: 100%;
    height: 48px;
    padding-top: 1rem;
    overflow: hidden;
  }

  .bottomnav-list {
    justify-content: space-between;
    height: 100%;
    display: flex;
  }

  .bottomnav-item {
    flex: 1;
  }

  .bottomnav-link {
    -webkit-user-select: none;
    user-select: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    font-size: 11px;
    text-decoration: none;
    display: flex;
  }

  .bottomnav-link span {
    white-space: nowrap;
    text-overflow: ellipsis;
    line-height: 1;
    overflow: hidden;
  }

  .bottomnav-active {
    color: var(--accent);
    font-weight: 600;
  }

  .bottomnav-inactive {
    color: #ffffffb3;
  }

  .bottomnav-icon {
    width: 1rem;
    height: 1rem;
    margin-bottom: 2px;
  }

  .bottomnav-icon-active {
    color: var(--accent);
  }

  .bottomnav-icon-inactive {
    color: #ffffffb3;
  }

  .bottomnav-footer {
    pointer-events: auto;
    background: var(--header);
    border-top: none;
  }

  .tbl-frame {
    contain: layout paint;
    isolation: isolate;
    width: 100%;
    min-width: 0;
    height: 100%;
    max-height: 100%;
    position: relative;
    overflow: hidden;
  }

  .tbl-frame-desktop {
    display: none;
  }

  @media (min-width: 768px) {
    .tbl-frame-desktop {
      height: 61.8%;
      max-height: calc((100dvh - var(--app-header-h, 64px)  - var(--app-footer-h, 48px)  - var(--bottom-nav-h, 0px)) * .618);
      display: flex;
    }
  }

  .tbl-card-shell {
    border-radius: var(--radius-sm);
    flex-direction: column;
    width: 100%;
    display: flex;
    overflow: hidden;
  }

  .tbl-body-scroll {
    flex: auto;
    min-height: 0;
    padding-bottom: 6px;
    overflow: auto;
  }

  .tbl-mobile-list {
    max-height: calc(100dvh - var(--app-header-h, 64px)  - var(--app-footer-h, 48px)  - var(--bottom-nav-h, 0px));
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding-bottom: calc(var(--app-footer-h, 48px)  + var(--bottom-nav-h, 0px)  + 160px);
    overflow-y: auto;
  }

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

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

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

  .collapse {
    visibility: collapse;
  }

  .invisible {
    visibility: hidden;
  }

  .visible {
    visibility: visible;
  }

  .sr-only {
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
  }

  .not-sr-only {
    clip: auto;
    white-space: normal;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    position: static;
    overflow: visible;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .sticky {
    position: sticky;
  }

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

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

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

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

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

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

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

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

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

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

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

  .top-\[72px\] {
    top: 72px;
  }

  .top-\[var\(--app-header-h\)\] {
    top: var(--app-header-h);
  }

  .top-\[var\(--app-header-h\,0px\)\] {
    top: var(--app-header-h, 0px);
  }

  .top-full {
    top: 100%;
  }

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

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

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

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

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

  .-bottom-px {
    bottom: -1px;
  }

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

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

  .bottom-\[calc\(env\(safe-area-inset-bottom\,0px\)\+8px\)\] {
    bottom: calc(env(safe-area-inset-bottom, 0px)  + 8px);
  }

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

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

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

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

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

  .left-\[calc\(100\%-1\.375rem\)\] {
    left: calc(100% - 1.375rem);
  }

  .\[isolation\:isolate\], .isolate {
    isolation: isolate;
  }

  .isolation-auto {
    isolation: auto;
  }

  .-z-10 {
    z-index: calc(10 * -1);
  }

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

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

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

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

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

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

  .z-\[1\] {
    z-index: 1;
  }

  .z-\[2\] {
    z-index: 2;
  }

  .z-\[50\] {
    z-index: 50;
  }

  .z-\[60\] {
    z-index: 60;
  }

  .z-\[70\] {
    z-index: 70;
  }

  .z-\[80\] {
    z-index: 80;
  }

  .z-\[90\] {
    z-index: 90;
  }

  .z-\[100\] {
    z-index: 100;
  }

  .z-\[101\] {
    z-index: 101;
  }

  .z-\[110\] {
    z-index: 110;
  }

  .z-\[200\] {
    z-index: 200;
  }

  .z-\[500\] {
    z-index: 500;
  }

  .z-\[1000\] {
    z-index: 1000;
  }

  .z-\[1001\] {
    z-index: 1001;
  }

  .z-\[1010\] {
    z-index: 1010;
  }

  .z-\[2000\] {
    z-index: 2000;
  }

  .z-\[3000\] {
    z-index: 3000;
  }

  .z-\[9998\] {
    z-index: 9998;
  }

  .z-\[9999\] {
    z-index: 9999;
  }

  .z-\[10000\] {
    z-index: 10000;
  }

  .order-1 {
    order: 1;
  }

  .order-2 {
    order: 2;
  }

  .col-3 {
    grid-column: 3;
  }

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

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

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

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

  .col-start-1 {
    grid-column-start: 1;
  }

  .col-start-4 {
    grid-column-start: 4;
  }

  .col-start-7 {
    grid-column-start: 7;
  }

  .col-start-10 {
    grid-column-start: 10;
  }

  .row-span-2 {
    grid-row: span 2 / span 2;
  }

  .row-start-1 {
    grid-row-start: 1;
  }

  .row-start-2 {
    grid-row-start: 2;
  }

  .row-start-3 {
    grid-row-start: 3;
  }

  .container {
    width: 100%;
  }

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

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

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

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

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

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

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

  .m-auto {
    margin: auto;
  }

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

  .-mx-\[calc\(50vw-50\%\)\] {
    margin-inline: calc(50% - 50vw);
  }

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

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

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

  .\!my-1 {
    margin-block: calc(var(--spacing) * 1) !important;
  }

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

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

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

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

  .me-4 {
    margin-inline-end: calc(var(--spacing) * 4);
  }

  .-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-px {
    margin-top: -1px;
  }

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

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

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

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

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

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

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

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

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

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

  .mt-\[var\(--app-header-h\,64px\)\] {
    margin-top: var(--app-header-h, 64px);
  }

  .mt-auto {
    margin-top: auto;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .-ml-px {
    margin-left: -1px;
  }

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

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

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

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

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

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

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

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

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

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

  .box-border {
    box-sizing: border-box;
  }

  .block {
    display: block;
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .flow-root {
    display: flow-root;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

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

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

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

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

  .list-item {
    display: list-item;
  }

  .table {
    display: table;
  }

  .table-caption {
    display: table-caption;
  }

  .table-cell {
    display: table-cell;
  }

  .table-column {
    display: table-column;
  }

  .table-column-group {
    display: table-column-group;
  }

  .table-footer-group {
    display: table-footer-group;
  }

  .table-header-group {
    display: table-header-group;
  }

  .table-row {
    display: table-row;
  }

  .table-row-group {
    display: table-row-group;
  }

  .aspect-\[1\/1\] {
    aspect-ratio: 1;
  }

  .aspect-\[4\/3\] {
    aspect-ratio: 4 / 3;
  }

  .aspect-\[16\/9\] {
    aspect-ratio: 16 / 9;
  }

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

  .aspect-video {
    aspect-ratio: var(--aspect-video);
  }

  .\!h-\[52px\] {
    height: 52px !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-6 {
    height: calc(var(--spacing) * 6);
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .h-\[1px\] {
    height: 1px;
  }

  .h-\[2px\] {
    height: 2px;
  }

  .h-\[3px\] {
    height: 3px;
  }

  .h-\[6px\] {
    height: 6px;
  }

  .h-\[11in\] {
    height: 11in;
  }

  .h-\[18px\] {
    height: 18px;
  }

  .h-\[20\%\] {
    height: 20%;
  }

  .h-\[25px\] {
    height: 25px;
  }

  .h-\[36px\] {
    height: 36px;
  }

  .h-\[40px\] {
    height: 40px;
  }

  .h-\[42px\] {
    height: 42px;
  }

  .h-\[48px\] {
    height: 48px;
  }

  .h-\[52\], .h-\[52px\] {
    height: 52px;
  }

  .h-\[55px\] {
    height: 55px;
  }

  .h-\[72\%\] {
    height: 72%;
  }

  .h-\[75\%\] {
    height: 75%;
  }

  .h-\[90\%\] {
    height: 90%;
  }

  .h-\[100dvh\] {
    height: 100dvh;
  }

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

  .h-\[160px\] {
    height: 160px;
  }

  .h-\[320px\] {
    height: 320px;
  }

  .h-\[400px\] {
    height: 400px;
  }

  .h-\[420px\] {
    height: 420px;
  }

  .h-\[520px\] {
    height: 520px;
  }

  .h-\[calc\(100\%-44px\)\] {
    height: calc(100% - 44px);
  }

  .h-\[calc\(100\%-var\(--sidebar-footer\,0px\)-var\(--sidebar-header\,0px\)\)\] {
    height: calc(100% - var(--sidebar-footer, 0px)  - var(--sidebar-header, 0px));
  }

  .h-\[calc\(100vh-7rem\)\] {
    height: calc(100vh - 7rem);
  }

  .h-\[calc\(100vh-12rem\)\] {
    height: calc(100vh - 12rem);
  }

  .h-\[calc\(100vh-160px\)\] {
    height: calc(100vh - 160px);
  }

  .h-\[calc\(100vh-var\(--app-header-h\,0px\)\)\] {
    height: calc(100vh - var(--app-header-h, 0px));
  }

  .h-\[var\(--bottom-nav-h\,64px\)\] {
    height: var(--bottom-nav-h, 64px);
  }

  .h-auto {
    height: auto;
  }

  .h-dvh {
    height: 100dvh;
  }

  .h-full {
    height: 100%;
  }

  .h-px {
    height: 1px;
  }

  .h-screen {
    height: 100vh;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .max-h-\[260px\] {
    max-height: 260px;
  }

  .max-h-\[280px\] {
    max-height: 280px;
  }

  .max-h-\[320px\] {
    max-height: 320px;
  }

  .max-h-\[420px\] {
    max-height: 420px;
  }

  .max-h-\[4000px\] {
    max-height: 4000px;
  }

  .max-h-\[calc\(85vh-56px\)\] {
    max-height: calc(85vh - 56px);
  }

  .max-h-full {
    max-height: 100%;
  }

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

  .min-h-\[44px\] {
    min-height: 44px;
  }

  .min-h-\[46px\] {
    min-height: 46px;
  }

  .min-h-\[48px\] {
    min-height: 48px;
  }

  .min-h-\[52px\] {
    min-height: 52px;
  }

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

  .min-h-\[80px\] {
    min-height: 80px;
  }

  .min-h-\[90px\] {
    min-height: 90px;
  }

  .min-h-\[96px\] {
    min-height: 96px;
  }

  .min-h-\[100dvh\] {
    min-height: 100dvh;
  }

  .min-h-\[120px\] {
    min-height: 120px;
  }

  .min-h-\[260px\] {
    min-height: 260px;
  }

  .min-h-\[420px\] {
    min-height: 420px;
  }

  .min-h-\[720px\] {
    min-height: 720px;
  }

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

  .min-h-full {
    min-height: 100%;
  }

  .min-h-screen {
    min-height: 100vh;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .w-\[6px\] {
    width: 6px;
  }

  .w-\[8\.5in\] {
    width: 8.5in;
  }

  .w-\[18px\] {
    width: 18px;
  }

  .w-\[20\%\] {
    width: 20%;
  }

  .w-\[24px\] {
    width: 24px;
  }

  .w-\[44px\] {
    width: 44px;
  }

  .w-\[52\], .w-\[52px\] {
    width: 52px;
  }

  .w-\[55px\] {
    width: 55px;
  }

  .w-\[60px\] {
    width: 60px;
  }

  .w-\[72\%\] {
    width: 72%;
  }

  .w-\[78\%\] {
    width: 78%;
  }

  .w-\[80\%\] {
    width: 80%;
  }

  .w-\[80vw\] {
    width: 80vw;
  }

  .w-\[84px\] {
    width: 84px;
  }

  .w-\[90\%\] {
    width: 90%;
  }

  .w-\[90vw\] {
    width: 90vw;
  }

  .w-\[92vw\] {
    width: 92vw;
  }

  .w-\[120px\] {
    width: 120px;
  }

  .w-\[160px\] {
    width: 160px;
  }

  .w-\[220px\] {
    width: 220px;
  }

  .w-\[260px\] {
    width: 260px;
  }

  .w-\[280px\] {
    width: 280px;
  }

  .w-\[360px\] {
    width: 360px;
  }

  .w-\[calc\(100\%-var\(--page-x\)\*2\)\] {
    width: calc(100% - var(--page-x) * 2);
  }

  .w-\[min\(92vw\,420px\)\] {
    width: min(92vw, 420px);
  }

  .w-\[min\(92vw\,720px\)\] {
    width: min(92vw, 720px);
  }

  .w-\[min\(480px\,90vw\)\] {
    width: min(480px, 90vw);
  }

  .w-\[min\(720px\,94vw\)\] {
    width: min(720px, 94vw);
  }

  .w-\[min\(920px\,92vw\)\] {
    width: min(920px, 92vw);
  }

  .w-\[min\(1100px\,94vw\)\] {
    width: min(1100px, 94vw);
  }

  .w-auto {
    width: auto;
  }

  .w-full {
    width: 100%;
  }

  .w-screen {
    width: 100vw;
  }

  .max-w-2xl {
    max-width: var(--container-2xl);
  }

  .max-w-3xl {
    max-width: var(--container-3xl);
  }

  .max-w-4xl {
    max-width: var(--container-4xl);
  }

  .max-w-5xl {
    max-width: var(--container-5xl);
  }

  .max-w-6xl {
    max-width: var(--container-6xl);
  }

  .max-w-7xl {
    max-width: var(--container-7xl);
  }

  .max-w-\[3\.5in\] {
    max-width: 3.5in;
  }

  .max-w-\[22rem\] {
    max-width: 22rem;
  }

  .max-w-\[40vw\] {
    max-width: 40vw;
  }

  .max-w-\[70vw\] {
    max-width: 70vw;
  }

  .max-w-\[96vw\] {
    max-width: 96vw;
  }

  .max-w-\[120px\] {
    max-width: 120px;
  }

  .max-w-\[140px\] {
    max-width: 140px;
  }

  .max-w-\[160px\] {
    max-width: 160px;
  }

  .max-w-\[320px\] {
    max-width: 320px;
  }

  .max-w-\[360px\] {
    max-width: 360px;
  }

  .max-w-\[520px\] {
    max-width: 520px;
  }

  .max-w-\[620px\] {
    max-width: 620px;
  }

  .max-w-\[720px\] {
    max-width: 720px;
  }

  .max-w-\[820px\] {
    max-width: 820px;
  }

  .max-w-\[900px\] {
    max-width: 900px;
  }

  .max-w-\[1200px\] {
    max-width: 1200px;
  }

  .max-w-\[1400px\] {
    max-width: 1400px;
  }

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

  .max-w-lg {
    max-width: var(--container-lg);
  }

  .max-w-md {
    max-width: var(--container-md);
  }

  .max-w-screen-xl {
    max-width: var(--breakpoint-xl);
  }

  .max-w-sm {
    max-width: var(--container-sm);
  }

  .max-w-xl {
    max-width: var(--container-xl);
  }

  .max-w-xs {
    max-width: var(--container-xs);
  }

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

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

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

  .min-w-\[52px\] {
    min-width: 52px;
  }

  .min-w-\[64px\] {
    min-width: 64px;
  }

  .min-w-\[92px\] {
    min-width: 92px;
  }

  .min-w-\[96px\] {
    min-width: 96px;
  }

  .min-w-\[140px\] {
    min-width: 140px;
  }

  .min-w-\[160px\] {
    min-width: 160px;
  }

  .min-w-\[180px\] {
    min-width: 180px;
  }

  .min-w-\[200px\] {
    min-width: 200px;
  }

  .min-w-\[220px\] {
    min-width: 220px;
  }

  .min-w-\[280px\] {
    min-width: 280px;
  }

  .min-w-\[300px\] {
    min-width: 300px;
  }

  .min-w-\[320px\] {
    min-width: 320px;
  }

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

  .flex-1 {
    flex: 1;
  }

  .flex-none {
    flex: none;
  }

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

  .shrink {
    flex-shrink: 1;
  }

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

  .flex-grow, .grow {
    flex-grow: 1;
  }

  .basis-1\/3 {
    flex-basis: 33.3333%;
  }

  .basis-2\/3 {
    flex-basis: 66.6667%;
  }

  .basis-full {
    flex-basis: 100%;
  }

  .table-auto {
    table-layout: auto;
  }

  .table-fixed {
    table-layout: fixed;
  }

  .border-collapse {
    border-collapse: collapse;
  }

  .border-separate {
    border-collapse: separate;
  }

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

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

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

  .-translate-x-full {
    --tw-translate-x: -100%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

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

  .translate-x-full {
    --tw-translate-x: 100%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

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

  .translate-none {
    translate: none;
  }

  .scale-95 {
    --tw-scale-x: 95%;
    --tw-scale-y: 95%;
    --tw-scale-z: 95%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .scale-100 {
    --tw-scale-x: 100%;
    --tw-scale-y: 100%;
    --tw-scale-z: 100%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .scale-x-0 {
    --tw-scale-x: 0%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .scale-x-100 {
    --tw-scale-x: 100%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .scale-3d {
    scale: var(--tw-scale-x) var(--tw-scale-y) var(--tw-scale-z);
  }

  .rotate-90 {
    rotate: 90deg;
  }

  .rotate-180 {
    rotate: 180deg;
  }

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

  .animate-\[fade_200ms_ease-out_forwards\] {
    animation: .2s ease-out forwards fade;
  }

  .animate-\[slide-in-underline_300ms_ease-out\] {
    animation: .3s ease-out slide-in-underline;
  }

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

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

  .cursor-col-resize {
    cursor: col-resize;
  }

  .cursor-default {
    cursor: default;
  }

  .cursor-grab {
    cursor: grab;
  }

  .cursor-move {
    cursor: move;
  }

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

  .cursor-pointer {
    cursor: pointer;
  }

  .cursor-wait {
    cursor: wait;
  }

  .cursor-zoom-in {
    cursor: zoom-in;
  }

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

  .\[touch-action\:manipulation\], .touch-manipulation {
    touch-action: manipulation;
  }

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

  .resize {
    resize: both;
  }

  .resize-none {
    resize: none;
  }

  .resize-y {
    resize: vertical;
  }

  .list-decimal {
    list-style-type: decimal;
  }

  .list-disc {
    list-style-type: disc;
  }

  .list-none {
    list-style-type: none;
  }

  .appearance-none {
    appearance: none;
  }

  .break-inside-avoid {
    break-inside: avoid;
  }

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

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

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

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

  .grid-cols-\[1\.3fr_1\.7fr_1\.5fr\] {
    grid-template-columns: 1.3fr 1.7fr 1.5fr;
  }

  .grid-cols-\[1fr\,1fr\,1fr\,auto\] {
    grid-template-columns: 1fr, 1fr, 1fr, auto;
  }

  .grid-cols-\[1fr\,auto\] {
    grid-template-columns: 1fr, auto;
  }

  .grid-cols-\[1fr_auto\] {
    grid-template-columns: 1fr auto;
  }

  .grid-cols-\[auto\,1fr\] {
    grid-template-columns: auto, 1fr;
  }

  .grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)_auto\] {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  }

  .grid-rows-\[220px_1fr_220px\] {
    grid-template-rows: 220px 1fr 220px;
  }

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

  .flex-row {
    flex-direction: row;
  }

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

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

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

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

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

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

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

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

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

  .justify-end {
    justify-content: flex-end;
  }

  .justify-start {
    justify-content: flex-start;
  }

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

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

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

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

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

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

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

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

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

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

  :where(.space-y-0\.5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-1 > :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)));
  }

  :where(.space-y-1\.5 > :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)));
  }

  :where(.space-y-2 > :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)));
  }

  :where(.space-y-3 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-4 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-6 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-8 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-12 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-reverse > :not(:last-child)) {
    --tw-space-y-reverse: 1;
  }

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

  .gap-x-8 {
    column-gap: calc(var(--spacing) * 8);
  }

  .gap-x-10 {
    column-gap: calc(var(--spacing) * 10);
  }

  :where(.space-x-1 > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(calc(var(--spacing) * 1) * var(--tw-space-x-reverse));
    margin-inline-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-x-reverse)));
  }

  :where(.space-x-2 > :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)));
  }

  :where(.space-x-3 > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));
    margin-inline-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)));
  }

  :where(.space-x-4 > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));
    margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));
  }

  :where(.space-x-reverse > :not(:last-child)) {
    --tw-space-x-reverse: 1;
  }

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

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

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

  :where(.divide-x > :not(:last-child)) {
    --tw-divide-x-reverse: 0;
    border-inline-style: var(--tw-border-style);
    border-inline-start-width: calc(1px * var(--tw-divide-x-reverse));
    border-inline-end-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
  }

  :where(.divide-y > :not(:last-child)) {
    --tw-divide-y-reverse: 0;
    border-bottom-style: var(--tw-border-style);
    border-top-style: var(--tw-border-style);
    border-top-width: calc(1px * var(--tw-divide-y-reverse));
    border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  }

  :where(.divide-y-reverse > :not(:last-child)) {
    --tw-divide-y-reverse: 1;
  }

  :where(.divide-\[color\:var\(--border\)\] > :not(:last-child)), :where(.divide-\[color\:var\(--border\)\]\/60 > :not(:last-child)) {
    border-color: var(--border);
  }

  @supports (color: color-mix(in lab, red, red)) {
    :where(.divide-\[color\:var\(--border\)\]\/60 > :not(:last-child)) {
      border-color: color-mix(in oklab, var(--border) 60%, transparent);
    }
  }

  :where(.divide-\[var\(--border\)\] > :not(:last-child)) {
    border-color: var(--border);
  }

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

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

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

  .\[overflow\:clip\] {
    overflow: clip;
  }

  .overflow-auto {
    overflow: auto;
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .overflow-visible {
    overflow: visible;
  }

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

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

  .overscroll-auto {
    overscroll-behavior: auto;
  }

  .overscroll-contain {
    overscroll-behavior: contain;
  }

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

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

  .rounded-\[1rem\] {
    border-radius: 1rem;
  }

  .rounded-\[calc\(var\(--radius\)\*1\.25\)\] {
    border-radius: calc(var(--radius) * 1.25);
  }

  .rounded-\[calc\(var\(--radius\)-2px\)\] {
    border-radius: calc(var(--radius)  - 2px);
  }

  .rounded-\[calc\(var\(--radius\)-4px\)\] {
    border-radius: calc(var(--radius)  - 4px);
  }

  .rounded-\[calc\(var\(--radius-sm\)-2px\)\] {
    border-radius: calc(var(--radius-sm)  - 2px);
  }

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

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

  .rounded-full {
    border-radius: 3.40282e38px;
  }

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

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

  .rounded-none {
    border-radius: 0;
  }

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

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

  .rounded-s {
    border-start-start-radius: .25rem;
    border-end-start-radius: .25rem;
  }

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

  .rounded-e {
    border-start-end-radius: .25rem;
    border-end-end-radius: .25rem;
  }

  .rounded-se {
    border-start-end-radius: .25rem;
  }

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

  .rounded-es {
    border-end-start-radius: .25rem;
  }

  .rounded-t {
    border-top-left-radius: .25rem;
    border-top-right-radius: .25rem;
  }

  .rounded-t-2xl {
    border-top-left-radius: var(--radius-2xl);
    border-top-right-radius: var(--radius-2xl);
  }

  .rounded-t-\[var\(--radius\)\] {
    border-top-left-radius: var(--radius);
    border-top-right-radius: var(--radius);
  }

  .rounded-t-\[var\(--radius-sm\)\] {
    border-top-left-radius: var(--radius-sm);
    border-top-right-radius: var(--radius-sm);
  }

  .rounded-t-md {
    border-top-left-radius: var(--radius-md);
    border-top-right-radius: var(--radius-md);
  }

  .rounded-t-none {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }

  .rounded-l {
    border-top-left-radius: .25rem;
    border-bottom-left-radius: .25rem;
  }

  .rounded-l-md {
    border-top-left-radius: var(--radius-md);
    border-bottom-left-radius: var(--radius-md);
  }

  .rounded-tl {
    border-top-left-radius: .25rem;
  }

  .rounded-tl-\[12px\] {
    border-top-left-radius: 12px;
  }

  .rounded-tl-\[var\(--radius-sm\)\] {
    border-top-left-radius: var(--radius-sm);
  }

  .rounded-r {
    border-top-right-radius: .25rem;
    border-bottom-right-radius: .25rem;
  }

  .rounded-r-md {
    border-top-right-radius: var(--radius-md);
    border-bottom-right-radius: var(--radius-md);
  }

  .rounded-tr {
    border-top-right-radius: .25rem;
  }

  .rounded-tr-\[12px\] {
    border-top-right-radius: 12px;
  }

  .rounded-tr-\[var\(--radius-sm\)\] {
    border-top-right-radius: var(--radius-sm);
  }

  .rounded-b {
    border-bottom-right-radius: .25rem;
    border-bottom-left-radius: .25rem;
  }

  .rounded-b-\[var\(--radius-sm\)\] {
    border-bottom-right-radius: var(--radius-sm);
    border-bottom-left-radius: var(--radius-sm);
  }

  .rounded-b-md {
    border-bottom-right-radius: var(--radius-md);
    border-bottom-left-radius: var(--radius-md);
  }

  .rounded-b-none {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }

  .rounded-br {
    border-bottom-right-radius: .25rem;
  }

  .rounded-br-\[12px\] {
    border-bottom-right-radius: 12px;
  }

  .rounded-bl {
    border-bottom-left-radius: .25rem;
  }

  .rounded-bl-\[12px\] {
    border-bottom-left-radius: 12px;
  }

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

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

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

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

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

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

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

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

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

  .border-t-\[3px\] {
    border-top-style: var(--tw-border-style);
    border-top-width: 3px;
  }

  .border-t-\[4px\] {
    border-top-style: var(--tw-border-style);
    border-top-width: 4px;
  }

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

  .border-r-\[4px\] {
    border-right-style: var(--tw-border-style);
    border-right-width: 4px;
  }

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

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

  .border-b-\[4px\] {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 4px;
  }

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

  .border-l-\[4px\] {
    border-left-style: var(--tw-border-style);
    border-left-width: 4px;
  }

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

  .\!border-\[color\:var\(--accent\)\]\/50 {
    border-color: var(--accent) !important;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .\!border-\[color\:var\(--accent\)\]\/50 {
      border-color: color-mix(in oklab, var(--accent) 50%, transparent) !important;
    }
  }

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

  .border-\[\#0f4d75\] {
    border-color: #0f4d75;
  }

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

  .border-\[color\:var\(--accent\,\#0f4d75\)\] {
    border-color: var(--accent, #0f4d75);
  }

  .border-\[color\:var\(--border\)\], .border-\[color\:var\(--border\)\]\/80 {
    border-color: var(--border);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-\[color\:var\(--border\)\]\/80 {
      border-color: color-mix(in oklab, var(--border) 80%, transparent);
    }
  }

  .border-\[color\:var\(--border\,\#444\)\] {
    border-color: var(--border, #444);
  }

  .border-\[color\:var\(--border\,\#d1d5db\)\] {
    border-color: var(--border, #d1d5db);
  }

  .border-\[color\:var\(--border\,\#ddd\)\] {
    border-color: var(--border, #ddd);
  }

  .border-\[color\:var\(--rsv-border\,\#e5e7eb\)\] {
    border-color: var(--rsv-border, #e5e7eb);
  }

  .border-\[color\:var\(--sidebar-border\)\], .border-\[color\:var\(--sidebar-border\)\]\/60 {
    border-color: var(--sidebar-border);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-\[color\:var\(--sidebar-border\)\]\/60 {
      border-color: color-mix(in oklab, var(--sidebar-border) 60%, transparent);
    }
  }

  .border-\[color\:var\(--sidebar-border\)\]\/80 {
    border-color: var(--sidebar-border);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-\[color\:var\(--sidebar-border\)\]\/80 {
      border-color: color-mix(in oklab, var(--sidebar-border) 80%, transparent);
    }
  }

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

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

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

  .border-\[var\(--rsv-border\,\#e5e7eb\)\] {
    border-color: var(--rsv-border, #e5e7eb);
  }

  .border-accent, .border-accent\/80 {
    border-color: var(--color-accent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-accent\/80 {
      border-color: color-mix(in oklab, var(--color-accent) 80%, transparent);
    }
  }

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

  .border-black\/10 {
    border-color: #0000001a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-black\/10 {
      border-color: color-mix(in oklab, var(--color-black) 10%, transparent);
    }
  }

  .border-blue-600 {
    border-color: var(--color-blue-600);
  }

  .border-border, .border-border\/50 {
    border-color: var(--color-border);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-border\/50 {
      border-color: color-mix(in oklab, var(--color-border) 50%, transparent);
    }
  }

  .border-emerald-300 {
    border-color: var(--color-emerald-300);
  }

  .border-gray-200 {
    border-color: var(--color-gray-200);
  }

  .border-gray-300 {
    border-color: var(--color-gray-300);
  }

  .border-gray-400 {
    border-color: var(--color-gray-400);
  }

  .border-gray-500\/40 {
    border-color: #6a728266;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-gray-500\/40 {
      border-color: color-mix(in oklab, var(--color-gray-500) 40%, transparent);
    }
  }

  .border-gray-600 {
    border-color: var(--color-gray-600);
  }

  .border-gray-800 {
    border-color: var(--color-gray-800);
  }

  .border-green-500 {
    border-color: var(--color-green-500);
  }

  .border-green-600 {
    border-color: var(--color-green-600);
  }

  .border-green-600\/40 {
    border-color: #00a54466;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-green-600\/40 {
      border-color: color-mix(in oklab, var(--color-green-600) 40%, transparent);
    }
  }

  .border-red-300 {
    border-color: var(--color-red-300);
  }

  .border-red-500 {
    border-color: var(--color-red-500);
  }

  .border-red-500\/40 {
    border-color: #fb2c3666;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-red-500\/40 {
      border-color: color-mix(in oklab, var(--color-red-500) 40%, transparent);
    }
  }

  .border-red-600 {
    border-color: var(--color-red-600);
  }

  .border-red-600\/40 {
    border-color: #e4001466;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-red-600\/40 {
      border-color: color-mix(in oklab, var(--color-red-600) 40%, transparent);
    }
  }

  .border-red-700 {
    border-color: var(--color-red-700);
  }

  .border-slate-200 {
    border-color: var(--color-slate-200);
  }

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

  .border-white\/30 {
    border-color: #ffffff4d;
  }

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

  .border-white\/50 {
    border-color: #ffffff80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/50 {
      border-color: color-mix(in oklab, var(--color-white) 50%, transparent);
    }
  }

  .border-white\/70 {
    border-color: #ffffffb3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/70 {
      border-color: color-mix(in oklab, var(--color-white) 70%, transparent);
    }
  }

  .border-yellow-300 {
    border-color: var(--color-yellow-300);
  }

  .border-yellow-400 {
    border-color: var(--color-yellow-400);
  }

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

  .bg-\[\#0f4d75\] {
    background-color: #0f4d75;
  }

  .bg-\[--thead-bg\,\#0f4d75\] {
    background-color: --thead-bg, #0f4d75;
  }

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

  .bg-\[color\:var\(--accent\)\], .bg-\[color\:var\(--accent\)\]\/10 {
    background-color: var(--accent);
  }

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

  .bg-\[color\:var\(--accent\)\]\/15 {
    background-color: var(--accent);
  }

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

  .bg-\[color\:var\(--accent\)\]\/20 {
    background-color: var(--accent);
  }

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

  .bg-\[color\:var\(--accent\)\]\/30 {
    background-color: var(--accent);
  }

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

  .bg-\[color\:var\(--accent\)\]\/60 {
    background-color: var(--accent);
  }

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

  .bg-\[color\:var\(--accent\,\#0f4d75\)\] {
    background-color: var(--accent, #0f4d75);
  }

  .bg-\[color\:var\(--accent\,\#16a34a\)\] {
    background-color: var(--accent, #16a34a);
  }

  .bg-\[color\:var\(--accent\,\#dc2626\)\] {
    background-color: var(--accent, #dc2626);
  }

  .bg-\[color\:var\(--accent\,\#dc6504\)\] {
    background-color: var(--accent, #dc6504);
  }

  .bg-\[color\:var\(--accent\,\#e67e22\)\] {
    background-color: var(--accent, #e67e22);
  }

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

  .bg-\[color\:var\(--background\)\], .bg-\[color\:var\(--background\)\]\/95 {
    background-color: var(--background);
  }

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

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

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

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

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

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

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

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

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

  .bg-\[color\:var\(--danger\,\#dc2626\)\] {
    background-color: var(--danger, #dc2626);
  }

  .bg-\[color\:var\(--foreground\)\]\/10 {
    background-color: var(--foreground);
  }

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

  .bg-\[color\:var\(--header\)\], .bg-\[color\:var\(--header\)\]\/8 {
    background-color: var(--header);
  }

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

  .bg-\[color\:var\(--header\)\]\/20 {
    background-color: var(--header);
  }

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

  .bg-\[color\:var\(--header\)\]\/30 {
    background-color: var(--header);
  }

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

  .bg-\[color\:var\(--hover\)\], .bg-\[color\:var\(--hover\)\]\/40 {
    background-color: var(--hover);
  }

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

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

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

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

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

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

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

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

  .bg-\[color\:var\(--sidebar-accent\)\]\/20 {
    background-color: var(--sidebar-accent);
  }

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

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

  .bg-\[var\(--accent\,\#0f4d75\)\] {
    background-color: var(--accent, #0f4d75);
  }

  .bg-\[var\(--body-bg\,\#f5f5f5\)\] {
    background-color: var(--body-bg, #f5f5f5);
  }

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

  .bg-accent, .bg-accent\/10 {
    background-color: var(--color-accent);
  }

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

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

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

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

  .bg-background, .bg-background\/60 {
    background-color: var(--color-background);
  }

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

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

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

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

  .bg-black\/5 {
    background-color: #0000000d;
  }

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

  .bg-black\/10 {
    background-color: #0000001a;
  }

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

  .bg-black\/20 {
    background-color: #0003;
  }

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

  .bg-black\/25 {
    background-color: #00000040;
  }

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

  .bg-black\/30 {
    background-color: #0000004d;
  }

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

  .bg-black\/40 {
    background-color: #0006;
  }

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

  .bg-black\/50 {
    background-color: #00000080;
  }

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

  .bg-black\/60 {
    background-color: #0009;
  }

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

  .bg-black\/70 {
    background-color: #000000b3;
  }

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

  .bg-black\/80 {
    background-color: #000c;
  }

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

  .bg-black\/90 {
    background-color: #000000e6;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .bg-green-500\/10 {
    background-color: #00c7581a;
  }

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

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

  .bg-green-600\/10 {
    background-color: #00a5441a;
  }

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

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

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

  .bg-inherit {
    background-color: inherit;
  }

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

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

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

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

  .bg-neutral-200\/70 {
    background-color: #e5e5e5b3;
  }

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

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

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

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

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

  .bg-red-500\/10 {
    background-color: #fb2c361a;
  }

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

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

  .bg-red-600\/10 {
    background-color: #e400141a;
  }

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

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

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

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

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

  .bg-white\/5 {
    background-color: #ffffff0d;
  }

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

  .bg-white\/20 {
    background-color: #fff3;
  }

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

  .bg-white\/50 {
    background-color: #ffffff80;
  }

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

  .bg-white\/70 {
    background-color: #ffffffb3;
  }

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

  .bg-white\/80 {
    background-color: #fffc;
  }

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

  .bg-white\/90 {
    background-color: #ffffffe6;
  }

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

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

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

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

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

  .bg-cover {
    background-size: cover;
  }

  .bg-center {
    background-position: center;
  }

  .bg-repeat {
    background-repeat: repeat;
  }

  .mask-no-clip {
    -webkit-mask-clip: no-clip;
    mask-clip: no-clip;
  }

  .mask-repeat {
    -webkit-mask-repeat: repeat;
    mask-repeat: repeat;
  }

  .fill-current {
    fill: currentColor;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .p-\[0\.75in\] {
    padding: .75in;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

  .py-0\.5 {
    padding-block: calc(var(--spacing) * .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-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }

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

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

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

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

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

  .py-\[2px\] {
    padding-block: 2px;
  }

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

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

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

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

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

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

  .pt-\[2px\] {
    padding-top: 2px;
  }

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

  .pt-\[var\(--app-header-h\)\] {
    padding-top: var(--app-header-h);
  }

  .pt-\[var\(--app-header-h\,0px\)\] {
    padding-top: var(--app-header-h, 0px);
  }

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

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

  .pr-7 {
    padding-right: calc(var(--spacing) * 7);
  }

  .pr-8 {
    padding-right: calc(var(--spacing) * 8);
  }

  .pr-9 {
    padding-right: calc(var(--spacing) * 9);
  }

  .pr-11 {
    padding-right: calc(var(--spacing) * 11);
  }

  .pr-14 {
    padding-right: calc(var(--spacing) * 14);
  }

  .pr-28 {
    padding-right: calc(var(--spacing) * 28);
  }

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

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

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

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

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

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

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

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

  .pb-\[2px\] {
    padding-bottom: 2px;
  }

  .pb-\[calc\(var\(--bottom-nav-h\,0\)\+var\(--page-x\,0\)\+env\(safe-area-inset-bottom\)\)\] {
    padding-bottom: calc(var(--bottom-nav-h, 0)  + var(--page-x, 0)  + env(safe-area-inset-bottom));
  }

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

  .pb-\[var\(--bottom-nav-h\,64px\)\] {
    padding-bottom: var(--bottom-nav-h, 64px);
  }

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

  .pl-4 {
    padding-left: calc(var(--spacing) * 4);
  }

  .pl-5 {
    padding-left: calc(var(--spacing) * 5);
  }

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

  .pl-8 {
    padding-left: calc(var(--spacing) * 8);
  }

  .pl-9 {
    padding-left: calc(var(--spacing) * 9);
  }

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

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

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

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

  .align-middle {
    vertical-align: middle;
  }

  .align-top {
    vertical-align: top;
  }

  .font-mono {
    font-family: var(--font-mono);
  }

  .font-sans {
    font-family: var(--font-sans);
  }

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

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

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

  .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-\[10px\] {
    font-size: 10px;
  }

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

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

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

  .leading-4 {
    --tw-leading: calc(var(--spacing) * 4);
    line-height: calc(var(--spacing) * 4);
  }

  .leading-5 {
    --tw-leading: calc(var(--spacing) * 5);
    line-height: calc(var(--spacing) * 5);
  }

  .leading-6 {
    --tw-leading: calc(var(--spacing) * 6);
    line-height: calc(var(--spacing) * 6);
  }

  .leading-7 {
    --tw-leading: calc(var(--spacing) * 7);
    line-height: calc(var(--spacing) * 7);
  }

  .leading-\[52px\] {
    --tw-leading: 52px;
    line-height: 52px;
  }

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

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

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

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

  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }

  .font-extrabold {
    --tw-font-weight: var(--font-weight-extrabold);
    font-weight: var(--font-weight-extrabold);
  }

  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }

  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }

  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }

  .tracking-wide {
    --tw-tracking: var(--tracking-wide);
    letter-spacing: var(--tracking-wide);
  }

  .tracking-wider {
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
  }

  .text-wrap {
    text-wrap: wrap;
  }

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

  .break-all {
    word-break: break-all;
  }

  .text-clip {
    text-overflow: clip;
  }

  .text-ellipsis {
    text-overflow: ellipsis;
  }

  .whitespace-normal {
    white-space: normal;
  }

  .whitespace-nowrap {
    white-space: nowrap;
  }

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

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

  .\!text-\[color\:var\(--body\)\] {
    color: var(--body) !important;
  }

  .text-\[\#0f4d75\] {
    color: #0f4d75;
  }

  .text-\[\#1c262b\] {
    color: #1c262b;
  }

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

  .text-\[color\:var\(--accent\,\#0f4d75\)\] {
    color: var(--accent, #0f4d75);
  }

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

  .text-\[color\:var\(--card-foreground\,\#e5e7eb\)\] {
    color: var(--card-foreground, #e5e7eb);
  }

  .text-\[color\:var\(--foreground\)\], .text-\[color\:var\(--foreground\)\]\/70 {
    color: var(--foreground);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-\[color\:var\(--foreground\)\]\/70 {
      color: color-mix(in oklab, var(--foreground) 70%, transparent);
    }
  }

  .text-\[color\:var\(--foreground\)\]\/75 {
    color: var(--foreground);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-\[color\:var\(--foreground\)\]\/75 {
      color: color-mix(in oklab, var(--foreground) 75%, transparent);
    }
  }

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

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

  .text-\[color\:var\(--header\,white\)\] {
    color: var(--header, white);
  }

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

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

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

  .text-\[color\:var\(--sidebar-accent-foreground\)\] {
    color: var(--sidebar-accent-foreground);
  }

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

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

  .text-\[var\(--rsv-muted\,\#6b7280\)\] {
    color: var(--rsv-muted, #6b7280);
  }

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

  .text-blue-600 {
    color: var(--color-blue-600);
  }

  .text-blue-700 {
    color: var(--color-blue-700);
  }

  .text-card-foreground {
    color: var(--color-card-foreground);
  }

  .text-current {
    color: currentColor;
  }

  .text-emerald-900 {
    color: var(--color-emerald-900);
  }

  .text-foreground, .text-foreground\/60 {
    color: var(--color-foreground);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-foreground\/60 {
      color: color-mix(in oklab, var(--color-foreground) 60%, transparent);
    }
  }

  .text-foreground\/80 {
    color: var(--color-foreground);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-foreground\/80 {
      color: color-mix(in oklab, var(--color-foreground) 80%, transparent);
    }
  }

  .text-gray-200 {
    color: var(--color-gray-200);
  }

  .text-gray-300 {
    color: var(--color-gray-300);
  }

  .text-gray-400 {
    color: var(--color-gray-400);
  }

  .text-gray-500 {
    color: var(--color-gray-500);
  }

  .text-gray-600 {
    color: var(--color-gray-600);
  }

  .text-gray-700 {
    color: var(--color-gray-700);
  }

  .text-gray-800 {
    color: var(--color-gray-800);
  }

  .text-gray-900 {
    color: var(--color-gray-900);
  }

  .text-green-300 {
    color: var(--color-green-300);
  }

  .text-green-500 {
    color: var(--color-green-500);
  }

  .text-green-600 {
    color: var(--color-green-600);
  }

  .text-green-700 {
    color: var(--color-green-700);
  }

  .text-green-800 {
    color: var(--color-green-800);
  }

  .text-inherit {
    color: inherit;
  }

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

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

  .text-neutral-500 {
    color: var(--color-neutral-500);
  }

  .text-neutral-600 {
    color: var(--color-neutral-600);
  }

  .text-red-200 {
    color: var(--color-red-200);
  }

  .text-red-500 {
    color: var(--color-red-500);
  }

  .text-red-600 {
    color: var(--color-red-600);
  }

  .text-red-700 {
    color: var(--color-red-700);
  }

  .text-red-800 {
    color: var(--color-red-800);
  }

  .text-slate-600 {
    color: var(--color-slate-600);
  }

  .text-slate-900 {
    color: var(--color-slate-900);
  }

  .text-transparent {
    color: #0000;
  }

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

  .text-white\/70 {
    color: #ffffffb3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/70 {
      color: color-mix(in oklab, var(--color-white) 70%, transparent);
    }
  }

  .text-white\/80 {
    color: #fffc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/80 {
      color: color-mix(in oklab, var(--color-white) 80%, transparent);
    }
  }

  .text-yellow-500 {
    color: var(--color-yellow-500);
  }

  .text-yellow-700 {
    color: var(--color-yellow-700);
  }

  .text-yellow-800 {
    color: var(--color-yellow-800);
  }

  .text-yellow-900 {
    color: var(--color-yellow-900);
  }

  .capitalize {
    text-transform: capitalize;
  }

  .lowercase {
    text-transform: lowercase;
  }

  .normal-case {
    text-transform: none;
  }

  .uppercase {
    text-transform: uppercase;
  }

  .italic {
    font-style: italic;
  }

  .not-italic {
    font-style: normal;
  }

  .diagonal-fractions {
    --tw-numeric-fraction: diagonal-fractions;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .lining-nums {
    --tw-numeric-figure: lining-nums;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .oldstyle-nums {
    --tw-numeric-figure: oldstyle-nums;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .ordinal {
    --tw-ordinal: ordinal;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .proportional-nums {
    --tw-numeric-spacing: proportional-nums;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .slashed-zero {
    --tw-slashed-zero: slashed-zero;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .stacked-fractions {
    --tw-numeric-fraction: stacked-fractions;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .normal-nums {
    font-variant-numeric: normal;
  }

  .line-through {
    text-decoration-line: line-through;
  }

  .no-underline {
    text-decoration-line: none;
  }

  .overline {
    text-decoration-line: overline;
  }

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

  .decoration-neutral-300 {
    -webkit-text-decoration-color: var(--color-neutral-300);
    -webkit-text-decoration-color: var(--color-neutral-300);
    text-decoration-color: var(--color-neutral-300);
  }

  .decoration-dotted {
    text-decoration-style: dotted;
  }

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

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

  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  .subpixel-antialiased {
    -webkit-font-smoothing: auto;
    -moz-osx-font-smoothing: auto;
  }

  .placeholder-\[color\:var\(--body\)\]::placeholder {
    color: var(--body);
  }

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

  .placeholder-\[color\:var\(--subheader\)\]\/70::placeholder {
    color: var(--subheader);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .placeholder-\[color\:var\(--subheader\)\]\/70::placeholder {
      color: color-mix(in oklab, var(--subheader) 70%, transparent);
    }
  }

  .placeholder-muted-foreground::placeholder {
    color: var(--color-muted-foreground);
  }

  .caret-transparent {
    caret-color: #0000;
  }

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

  .accent-current {
    accent-color: currentColor;
  }

  .accent-foreground {
    accent-color: var(--color-foreground);
  }

  .opacity-0 {
    opacity: 0;
  }

  .opacity-25 {
    opacity: .25;
  }

  .opacity-40 {
    opacity: .4;
  }

  .opacity-50 {
    opacity: .5;
  }

  .opacity-60 {
    opacity: .6;
  }

  .opacity-70 {
    opacity: .7;
  }

  .opacity-75 {
    opacity: .75;
  }

  .opacity-80 {
    opacity: .8;
  }

  .opacity-85 {
    opacity: .85;
  }

  .opacity-90 {
    opacity: .9;
  }

  .opacity-100 {
    opacity: 1;
  }

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

  .shadow-2xl {
    --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, #00000040);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_0_9999px_rgba\(0\,0\,0\,0\.25\)\] {
    --tw-shadow: 0 0 0 9999px var(--tw-shadow-color, #00000040);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_1px_0_rgba\(255\,255\,255\,\.04\)\,0_1px_6px_rgba\(0\,0\,0\,\.35\)\] {
    --tw-shadow: 0 1px 0 var(--tw-shadow-color, #ffffff0a), 0 1px 6px var(--tw-shadow-color, #00000059);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_4px_20px_rgba\(0\,0\,0\,0\.15\)\] {
    --tw-shadow: 0 4px 20px var(--tw-shadow-color, #00000026);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_6px_18px_rgba\(0\,0\,0\,0\.28\)\,inset_0_0_0_1px_rgba\(255\,255\,255\,0\.18\)\] {
    --tw-shadow: 0 6px 18px var(--tw-shadow-color, #00000047), inset 0 0 0 1px var(--tw-shadow-color, #ffffff2e);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[inset_0_0_0_1px_rgba\(255\,255\,255\,\.35\)\] {
    --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #ffffff59);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

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

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

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

  .shadow-xl {
    --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-xs {
    --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, #0000000d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

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

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

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

  .\[--tw-ring-color\:transparent\] {
    --tw-ring-color: transparent;
  }

  .ring-\[color\:var\(--accent\)\], .ring-\[color\:var\(--accent\)\]\/70 {
    --tw-ring-color: var(--accent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-\[color\:var\(--accent\)\]\/70 {
      --tw-ring-color: color-mix(in oklab, var(--accent) 70%, transparent);
    }
  }

  .ring-gray-300 {
    --tw-ring-color: var(--color-gray-300);
  }

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

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

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

  .outline-red-500 {
    outline-color: var(--color-red-500);
  }

  .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .drop-shadow {
    --tw-drop-shadow-size: drop-shadow(0 1px 2px var(--tw-drop-shadow-color, #0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color, #0000000f));
    --tw-drop-shadow: drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .drop-shadow-sm {
    --tw-drop-shadow-size: drop-shadow(0 1px 2px var(--tw-drop-shadow-color, #00000026));
    --tw-drop-shadow: drop-shadow(var(--drop-shadow-sm));
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .grayscale {
    --tw-grayscale: grayscale(100%);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .invert {
    --tw-invert: invert(100%);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .sepia {
    --tw-sepia: sepia(100%);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .filter {
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

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

  .backdrop-blur {
    --tw-backdrop-blur: blur(8px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .backdrop-blur-\[1px\] {
    --tw-backdrop-blur: blur(1px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .backdrop-blur-lg {
    --tw-backdrop-blur: blur(var(--blur-lg));
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .backdrop-blur-md {
    --tw-backdrop-blur: blur(var(--blur-md));
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .backdrop-blur-sm {
    --tw-backdrop-blur: blur(var(--blur-sm));
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .backdrop-grayscale {
    --tw-backdrop-grayscale: grayscale(100%);
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .backdrop-invert {
    --tw-backdrop-invert: invert(100%);
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .backdrop-sepia {
    --tw-backdrop-sepia: sepia(100%);
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .backdrop-filter {
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, visibility, 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\! {
    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, visibility, content-visibility, overlay, pointer-events !important;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)) !important;
    transition-duration: var(--tw-duration, var(--default-transition-duration)) !important;
  }

  .transition-\[transform\] {
    transition-property: transform;
    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-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-100 {
    --tw-duration: .1s;
    transition-duration: .1s;
  }

  .duration-150 {
    --tw-duration: .15s;
    transition-duration: .15s;
  }

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

  .duration-300 {
    --tw-duration: .3s;
    transition-duration: .3s;
  }

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

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

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

  .will-change-transform {
    will-change: transform;
  }

  .\[contain\:layout_paint\] {
    contain: layout paint;
  }

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

  .outline-none {
    --tw-outline-style: none;
    outline-style: none;
  }

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

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

  .\[-webkit-tap-highlight-color\:transparent\] {
    -webkit-tap-highlight-color: transparent;
  }

  .\[agreements\:getAgreementText\] {
    agreements: getAgreementText;
  }

  :where(.divide-x-reverse > :not(:last-child)) {
    --tw-divide-x-reverse: 1;
  }

  .duration-100 {
    animation-duration: .1s;
  }

  .duration-150 {
    animation-duration: .15s;
  }

  .duration-200 {
    animation-duration: .2s;
  }

  .duration-300 {
    animation-duration: .3s;
  }

  .ease-in {
    animation-timing-function: cubic-bezier(.4, 0, 1, 1);
  }

  .ease-in-out {
    animation-timing-function: cubic-bezier(.4, 0, .2, 1);
  }

  .ease-out {
    animation-timing-function: cubic-bezier(0, 0, .2, 1);
  }

  .paused {
    animation-play-state: paused;
  }

  .ring-inset {
    --tw-ring-inset: inset;
  }

  .running {
    animation-play-state: running;
  }

  .zoom-in {
    --tw-enter-scale: 0;
  }

  .zoom-out {
    --tw-exit-scale: 0;
  }

  @media (hover: hover) {
    .group-hover\:scale-x-100:is(:where(.group):hover *) {
      --tw-scale-x: 100%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .group-hover\:bg-white\/20:is(:where(.group):hover *) {
      background-color: #fff3;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .group-hover\:bg-white\/20:is(:where(.group):hover *) {
        background-color: color-mix(in oklab, var(--color-white) 20%, transparent);
      }
    }

    .group-hover\:opacity-100:is(:where(.group):hover *) {
      opacity: 1;
    }
  }

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

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

  .placeholder\:\!text-\[color\:var\(--body\)\]::placeholder {
    color: var(--body) !important;
  }

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

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

  .before\:absolute:before {
    content: var(--tw-content);
    position: absolute;
  }

  .before\:right-0:before {
    content: var(--tw-content);
    right: calc(var(--spacing) * 0);
  }

  .before\:bottom-\[-2px\]:before {
    content: var(--tw-content);
    bottom: -2px;
  }

  .before\:left-0:before {
    content: var(--tw-content);
    left: calc(var(--spacing) * 0);
  }

  .before\:h-\[1\.5px\]:before {
    content: var(--tw-content);
    height: 1.5px;
  }

  .before\:origin-left:before {
    content: var(--tw-content);
    transform-origin: 0;
  }

  .before\:scale-x-0:before {
    content: var(--tw-content);
    --tw-scale-x: 0%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .before\:scale-x-100:before {
    content: var(--tw-content);
    --tw-scale-x: 100%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .before\:bg-\[color\:var\(--accent\)\]:before {
    content: var(--tw-content);
    background-color: var(--accent);
  }

  .before\:transition-transform:before {
    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));
  }

  .before\:duration-200:before {
    content: var(--tw-content);
    --tw-duration: .2s;
    transition-duration: .2s;
  }

  .before\:content-\[\'\'\]:before {
    content: var(--tw-content);
    --tw-content: "";
    content: var(--tw-content);
  }

  .before\:duration-200:before {
    content: var(--tw-content);
    animation-duration: .2s;
  }

  .after\:absolute:after {
    content: var(--tw-content);
    position: absolute;
  }

  .after\:right-0:after {
    content: var(--tw-content);
    right: calc(var(--spacing) * 0);
  }

  .after\:bottom-\[-3px\]:after {
    content: var(--tw-content);
    bottom: -3px;
  }

  .after\:left-0:after {
    content: var(--tw-content);
    left: calc(var(--spacing) * 0);
  }

  .after\:z-10:after {
    content: var(--tw-content);
    z-index: 10;
  }

  .after\:h-\[3px\]:after {
    content: var(--tw-content);
    height: 3px;
  }

  .after\:rounded-t:after {
    content: var(--tw-content);
    border-top-left-radius: .25rem;
    border-top-right-radius: .25rem;
  }

  .after\:bg-\[color\:var\(--accent\)\]:after {
    content: var(--tw-content);
    background-color: var(--accent);
  }

  .first\:border-t-0:first-child {
    border-top-style: var(--tw-border-style);
    border-top-width: 0;
  }

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

  .last\:border-b-0:last-child {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 0;
  }

  .odd\:bg-white:nth-child(odd) {
    background-color: var(--color-white);
  }

  .even\:bg-gray-50:nth-child(2n) {
    background-color: var(--color-gray-50);
  }

  @media (hover: hover) {
    .hover\:border-\[color\:var\(--accent\)\]\/40:hover {
      border-color: var(--accent);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-\[color\:var\(--accent\)\]\/40:hover {
        border-color: color-mix(in oklab, var(--accent) 40%, transparent);
      }
    }

    .hover\:border-\[color\:var\(--accent\)\]\/50:hover {
      border-color: var(--accent);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-\[color\:var\(--accent\)\]\/50:hover {
        border-color: color-mix(in oklab, var(--accent) 50%, transparent);
      }
    }

    .hover\:bg-\[\#0d4061\]:hover {
      background-color: #0d4061;
    }

    .hover\:bg-\[color-mix\(in_olab\,var\(--accent\)_12\%\,transparent\)\]:hover {
      background-color: var(--accent);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-\[color-mix\(in_olab\,var\(--accent\)_12\%\,transparent\)\]:hover {
        background-color: color-mix(in olab, var(--accent) 12%, transparent);
      }
    }

    .hover\:bg-\[color-mix\(in_olab\,var\(--accent\)_12\%\,var\(--muted\)\)\]:hover {
      background-color: var(--accent);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-\[color-mix\(in_olab\,var\(--accent\)_12\%\,var\(--muted\)\)\]:hover {
        background-color: color-mix(in olab, var(--accent) 12%, var(--muted));
      }
    }

    .hover\:bg-\[color\:var\(--accent\)\]\/5:hover {
      background-color: var(--accent);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-\[color\:var\(--accent\)\]\/5:hover {
        background-color: color-mix(in oklab, var(--accent) 5%, transparent);
      }
    }

    .hover\:bg-\[color\:var\(--accent\)\]\/10:hover {
      background-color: var(--accent);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-\[color\:var\(--accent\)\]\/10:hover {
        background-color: color-mix(in oklab, var(--accent) 10%, transparent);
      }
    }

    .hover\:bg-\[color\:var\(--accent\)\]\/12:hover {
      background-color: var(--accent);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-\[color\:var\(--accent\)\]\/12:hover {
        background-color: color-mix(in oklab, var(--accent) 12%, transparent);
      }
    }

    .hover\:bg-\[color\:var\(--accent\)\]\/20:hover {
      background-color: var(--accent);
    }

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

    .hover\:bg-\[color\:var\(--accent\,\#0f4d75\)\]\/10:hover {
      background-color: var(--accent, #0f4d75);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-\[color\:var\(--accent\,\#0f4d75\)\]\/10:hover {
        background-color: color-mix(in oklab, var(--accent, #0f4d75) 10%, transparent);
      }
    }

    .hover\:bg-\[color\:var\(--accent-foreground\)\]\/10:hover {
      background-color: var(--accent-foreground);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-\[color\:var\(--accent-foreground\)\]\/10:hover {
        background-color: color-mix(in oklab, var(--accent-foreground) 10%, transparent);
      }
    }

    .hover\:bg-\[color\:var\(--hover\)\]:hover, .hover\:bg-\[color\:var\(--hover\)\]\/70:hover {
      background-color: var(--hover);
    }

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

    .hover\:bg-\[color\:var\(--sidebar-accent\)\]\/15:hover {
      background-color: var(--sidebar-accent);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-\[color\:var\(--sidebar-accent\)\]\/15:hover {
        background-color: color-mix(in oklab, var(--sidebar-accent) 15%, transparent);
      }
    }

    .hover\:bg-accent:hover, .hover\:bg-accent\/5:hover {
      background-color: var(--color-accent);
    }

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

    .hover\:bg-accent\/10:hover {
      background-color: var(--color-accent);
    }

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

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

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

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

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

    .hover\:bg-accent\/80:hover {
      background-color: var(--color-accent);
    }

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

    .hover\:bg-black\/5:hover {
      background-color: #0000000d;
    }

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

    .hover\:bg-black\/35:hover {
      background-color: #00000059;
    }

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

    .hover\:bg-black\/70:hover {
      background-color: #000000b3;
    }

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

    .hover\:bg-blue-700:hover {
      background-color: var(--color-blue-700);
    }

    .hover\:bg-gray-50:hover {
      background-color: var(--color-gray-50);
    }

    .hover\:bg-gray-100:hover {
      background-color: var(--color-gray-100);
    }

    .hover\:bg-gray-300:hover {
      background-color: var(--color-gray-300);
    }

    .hover\:bg-gray-400:hover {
      background-color: var(--color-gray-400);
    }

    .hover\:bg-gray-700:hover {
      background-color: var(--color-gray-700);
    }

    .hover\:bg-gray-800:hover {
      background-color: var(--color-gray-800);
    }

    .hover\:bg-gray-900:hover {
      background-color: var(--color-gray-900);
    }

    .hover\:bg-green-50:hover {
      background-color: var(--color-green-50);
    }

    .hover\:bg-green-600:hover {
      background-color: var(--color-green-600);
    }

    .hover\:bg-green-700:hover {
      background-color: var(--color-green-700);
    }

    .hover\:bg-indigo-700:hover {
      background-color: var(--color-indigo-700);
    }

    .hover\:bg-muted:hover, .hover\:bg-muted\/80:hover {
      background-color: var(--color-muted);
    }

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

    .hover\:bg-neutral-200\/60:hover {
      background-color: #e5e5e599;
    }

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

    .hover\:bg-neutral-800:hover {
      background-color: var(--color-neutral-800);
    }

    .hover\:bg-red-50:hover {
      background-color: var(--color-red-50);
    }

    .hover\:bg-red-500\/10:hover {
      background-color: #fb2c361a;
    }

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

    .hover\:bg-red-600:hover {
      background-color: var(--color-red-600);
    }

    .hover\:bg-red-600\/10:hover {
      background-color: #e400141a;
    }

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

    .hover\:bg-red-700:hover {
      background-color: var(--color-red-700);
    }

    .hover\:bg-red-700\/10:hover {
      background-color: #bf000f1a;
    }

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

    .hover\:bg-red-800:hover {
      background-color: var(--color-red-800);
    }

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

    .hover\:bg-white\/10:hover {
      background-color: #ffffff1a;
    }

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

    .hover\:bg-white\/20:hover {
      background-color: #fff3;
    }

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

    .hover\:bg-white\/40:hover {
      background-color: #fff6;
    }

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

    .hover\:bg-yellow-500:hover {
      background-color: var(--color-yellow-500);
    }

    .hover\:bg-yellow-700:hover {
      background-color: var(--color-yellow-700);
    }

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

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

    .hover\:text-\[color\:var\(--sidebar-foreground\)\]:hover {
      color: var(--sidebar-foreground);
    }

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

    .hover\:text-blue-800:hover {
      color: var(--color-blue-800);
    }

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

    .hover\:text-gray-300:hover {
      color: var(--color-gray-300);
    }

    .hover\:text-gray-400:hover {
      color: var(--color-gray-400);
    }

    .hover\:text-gray-500:hover {
      color: var(--color-gray-500);
    }

    .hover\:text-green-700:hover {
      color: var(--color-green-700);
    }

    .hover\:text-red-600:hover {
      color: var(--color-red-600);
    }

    .hover\:text-red-700:hover {
      color: var(--color-red-700);
    }

    .hover\:text-red-800:hover {
      color: var(--color-red-800);
    }

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

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

    .hover\:decoration-current:hover {
      text-decoration-color: currentColor;
    }

    .hover\:decoration-current\!:hover {
      text-decoration-color: currentColor !important;
    }

    .hover\:decoration-solid:hover {
      text-decoration-style: solid;
    }

    .hover\:opacity-90:hover {
      opacity: .9;
    }

    .hover\:opacity-100:hover {
      opacity: 1;
    }

    .hover\:brightness-110:hover {
      --tw-brightness: brightness(110%);
      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, );
    }

    .hover\:before\:scale-x-100:hover:before {
      content: var(--tw-content);
      --tw-scale-x: 100%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }

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

  .focus\:border-accent\/60:focus {
    border-color: var(--color-accent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:border-accent\/60:focus {
      border-color: color-mix(in oklab, var(--color-accent) 60%, transparent);
    }
  }

  .focus\:border-blue-300:focus {
    border-color: var(--color-blue-300);
  }

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

  .focus\:ring-0:focus {
    --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\:ring-1:focus {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus\: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-\[\#0f4d75\]:focus {
    --tw-ring-color: #0f4d75;
  }

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

  .focus\:ring-accent\/60:focus {
    --tw-ring-color: var(--color-accent);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:ring-accent\/60:focus {
      --tw-ring-color: color-mix(in oklab, var(--color-accent) 60%, transparent);
    }
  }

  .focus\:ring-red-500:focus {
    --tw-ring-color: var(--color-red-500);
  }

  .focus\:ring-ring:focus {
    --tw-ring-color: var(--color-ring);
  }

  .focus\:ring-white\/60:focus {
    --tw-ring-color: #fff9;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:ring-white\/60:focus {
      --tw-ring-color: color-mix(in oklab, var(--color-white) 60%, transparent);
    }
  }

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

  .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-\[color\:var\(--accent\)\]:focus-visible {
    --tw-ring-color: var(--accent);
  }

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

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

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

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

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

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

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

  .active\:bg-gray-100:active {
    background-color: var(--color-gray-100);
  }

  .active\:bg-green-100:active {
    background-color: var(--color-green-100);
  }

  .active\:bg-red-100:active {
    background-color: var(--color-red-100);
  }

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

  .active\:text-gray-500:active {
    color: var(--color-gray-500);
  }

  .active\:text-gray-700:active {
    color: var(--color-gray-700);
  }

  @media (hover: hover) {
    .enabled\:hover\:bg-\[\#0d4061\]:enabled:hover {
      background-color: #0d4061;
    }

    .enabled\:hover\:opacity-90:enabled:hover {
      opacity: .9;
    }
  }

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

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

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

  @supports ((-webkit-backdrop-filter: var(--tw)) or (backdrop-filter: var(--tw))) {
    .supports-\[backdrop-filter\]\:bg-white\/75 {
      background-color: #ffffffbf;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .supports-\[backdrop-filter\]\:bg-white\/75 {
        background-color: color-mix(in oklab, var(--color-white) 75%, transparent);
      }
    }

    .supports-\[backdrop-filter\]\:backdrop-blur {
      --tw-backdrop-blur: blur(8px);
      -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
      backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    }
  }

  @media (min-width: 40rem) {
    .sm\:col-span-2 {
      grid-column: span 2 / span 2;
    }

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

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

    .sm\:mb-4 {
      margin-bottom: calc(var(--spacing) * 4);
    }

    .sm\:flex {
      display: flex;
    }

    .sm\:hidden {
      display: none;
    }

    .sm\:inline {
      display: inline;
    }

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

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

    .sm\:h-\[560px\] {
      height: 560px;
    }

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

    .sm\:w-max {
      width: max-content;
    }

    .sm\:max-w-\[600px\] {
      max-width: 600px;
    }

    .sm\:flex-1 {
      flex: 1;
    }

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

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

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

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

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

    .sm\:justify-start {
      justify-content: flex-start;
    }

    .sm\:overscroll-contain {
      overscroll-behavior: contain;
    }

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

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

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

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

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

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

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

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

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

  @media (min-width: 48rem) {
    .md\:pointer-events-auto {
      pointer-events: auto;
    }

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

    .md\:order-1 {
      order: 1;
    }

    .md\:order-2 {
      order: 2;
    }

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

    .md\:col-span-3 {
      grid-column: span 3 / span 3;
    }

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

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

    .md\:block {
      display: block;
    }

    .md\:flex {
      display: flex;
    }

    .md\:hidden {
      display: none;
    }

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

    .md\:h-full {
      height: 100%;
    }

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

    .md\:min-h-\[360px\] {
      min-height: 360px;
    }

    .md\:w-auto {
      width: auto;
    }

    .md\:flex-1 {
      flex: 1;
    }

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

    .md\:\[touch-action\:auto\] {
      touch-action: auto;
    }

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

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

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

    .md\:grid-cols-\[1fr_35\%\] {
      grid-template-columns: 1fr 35%;
    }

    .md\:grid-cols-\[minmax\(520px\,1\.1fr\)_minmax\(420px\,1fr\)\] {
      grid-template-columns: minmax(520px, 1.1fr) minmax(420px, 1fr);
    }

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

    .md\:flex-row {
      flex-direction: row;
    }

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

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

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

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

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

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

    .md\:overflow-hidden {
      overflow: hidden;
    }

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

    .md\:overscroll-contain {
      overscroll-behavior: contain;
    }

    .md\:rounded-none {
      border-radius: 0;
    }

    .md\:border-none {
      --tw-border-style: none;
      border-style: none;
    }

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

    .md\:p-4 {
      padding: calc(var(--spacing) * 4);
    }

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

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

    .md\:p-10 {
      padding: calc(var(--spacing) * 10);
    }

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

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

    .md\:pr-0 {
      padding-right: calc(var(--spacing) * 0);
    }

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

    .md\:pl-\[280px\] {
      padding-left: 280px;
    }

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

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

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

    .md\:opacity-0 {
      opacity: 0;
    }

    .md\:opacity-100 {
      opacity: 1;
    }

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

    .md\:\[--bottom-nav-h\:0px\] {
      --bottom-nav-h: 0px;
    }
  }

  @media (min-width: 64rem) {
    .lg\:static {
      position: static;
    }

    .lg\:left-auto {
      left: auto;
    }

    .lg\:my-8 {
      margin-block: calc(var(--spacing) * 8);
    }

    .lg\:block {
      display: block;
    }

    .lg\:flex {
      display: flex;
    }

    .lg\:grid {
      display: grid;
    }

    .lg\:hidden {
      display: none;
    }

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

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

    .lg\:grid-cols-\[1fr_420px\] {
      grid-template-columns: 1fr 420px;
    }

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

  .rtl\:flex-row-reverse:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
    flex-direction: row-reverse;
  }

  @media (prefers-color-scheme: dark) {
    .dark\:block {
      display: block;
    }

    .dark\:hidden {
      display: none;
    }

    .dark\:border-\[\#2a3a41\] {
      border-color: #2a3a41;
    }

    .dark\:border-border {
      border-color: var(--color-border);
    }

    .dark\:border-emerald-700 {
      border-color: var(--color-emerald-700);
    }

    .dark\:border-gray-600 {
      border-color: var(--color-gray-600);
    }

    .dark\:border-gray-700 {
      border-color: var(--color-gray-700);
    }

    .dark\:border-red-700 {
      border-color: var(--color-red-700);
    }

    .dark\:border-red-800 {
      border-color: var(--color-red-800);
    }

    .dark\:border-sidebar-border {
      border-color: var(--color-sidebar-border);
    }

    .dark\:border-slate-700 {
      border-color: var(--color-slate-700);
    }

    .dark\:border-white\/10 {
      border-color: #ffffff1a;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:border-white\/10 {
        border-color: color-mix(in oklab, var(--color-white) 10%, transparent);
      }
    }

    .dark\:bg-\[\#0b151a\] {
      background-color: #0b151a;
    }

    .dark\:bg-\[\#0b1220\] {
      background-color: #0b1220;
    }

    .dark\:bg-\[\#0f4d75\]\/10 {
      background-color: oklab(40.3983% -.0405113 -.0800191 / .1);
    }

    .dark\:bg-\[\#1c262b\] {
      background-color: #1c262b;
    }

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

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

    .dark\:bg-\[color\:var\(--header\)\], .dark\:bg-\[color\:var\(--header\)\]\/90 {
      background-color: var(--header);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:bg-\[color\:var\(--header\)\]\/90 {
        background-color: color-mix(in oklab, var(--header) 90%, transparent);
      }
    }

    .dark\:bg-\[color\:var\(--header\,\#0f4d75\)\] {
      background-color: var(--header, #0f4d75);
    }

    .dark\:bg-background\/70 {
      background-color: var(--color-background);
    }

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

    .dark\:bg-blue-700 {
      background-color: var(--color-blue-700);
    }

    .dark\:bg-card-foreground {
      background-color: var(--color-card-foreground);
    }

    .dark\:bg-emerald-900\/30 {
      background-color: #004e3b4d;
    }

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

    .dark\:bg-gray-200 {
      background-color: var(--color-gray-200);
    }

    .dark\:bg-gray-700 {
      background-color: var(--color-gray-700);
    }

    .dark\:bg-gray-800 {
      background-color: var(--color-gray-800);
    }

    .dark\:bg-gray-900 {
      background-color: var(--color-gray-900);
    }

    .dark\:bg-neutral-700 {
      background-color: var(--color-neutral-700);
    }

    .dark\:bg-neutral-800 {
      background-color: var(--color-neutral-800);
    }

    .dark\:bg-neutral-800\/60 {
      background-color: #26262699;
    }

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

    .dark\:bg-neutral-900\/80 {
      background-color: #171717cc;
    }

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

    .dark\:bg-red-900\/30 {
      background-color: #82181a4d;
    }

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

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

    .dark\:bg-slate-900 {
      background-color: var(--color-slate-900);
    }

    .dark\:bg-white\/10 {
      background-color: #ffffff1a;
    }

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

    .dark\:\!text-\[color\:var\(--gray-body\)\] {
      color: var(--gray-body) !important;
    }

    .dark\:text-\[\#f5f5f5\] {
      color: #f5f5f5;
    }

    .dark\:text-\[color\:var\(--gray-body\)\], .dark\:text-\[color\:var\(--gray-body\)\]\/80 {
      color: var(--gray-body);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:text-\[color\:var\(--gray-body\)\]\/80 {
        color: color-mix(in oklab, var(--gray-body) 80%, transparent);
      }
    }

    .dark\:text-emerald-200 {
      color: var(--color-emerald-200);
    }

    .dark\:text-gray-100 {
      color: var(--color-gray-100);
    }

    .dark\:text-gray-200 {
      color: var(--color-gray-200);
    }

    .dark\:text-gray-300 {
      color: var(--color-gray-300);
    }

    .dark\:text-gray-400 {
      color: var(--color-gray-400);
    }

    .dark\:text-gray-600 {
      color: var(--color-gray-600);
    }

    .dark\:text-gray-800 {
      color: var(--color-gray-800);
    }

    .dark\:text-green-400 {
      color: var(--color-green-400);
    }

    .dark\:text-neutral-100 {
      color: var(--color-neutral-100);
    }

    .dark\:text-neutral-400 {
      color: var(--color-neutral-400);
    }

    .dark\:text-red-200 {
      color: var(--color-red-200);
    }

    .dark\:text-red-400 {
      color: var(--color-red-400);
    }

    .dark\:text-slate-100 {
      color: var(--color-slate-100);
    }

    .dark\:text-slate-300 {
      color: var(--color-slate-300);
    }

    .dark\:text-white {
      color: var(--color-white);
    }

    .dark\:decoration-neutral-500 {
      -webkit-text-decoration-color: var(--color-neutral-500);
      -webkit-text-decoration-color: var(--color-neutral-500);
      text-decoration-color: var(--color-neutral-500);
    }

    .dark\:placeholder\:\!text-\[color\:var\(--gray-body\)\]::placeholder {
      color: var(--gray-body) !important;
    }

    @media (hover: hover) {
      .dark\:hover\:bg-\[\#0f-4d75\]\/10:hover {
        background-color: color-mix(in oklab, #0f-4d75 10%, transparent);
      }

      .dark\:hover\:bg-\[\#0f4d75\]\/10:hover {
        background-color: oklab(40.3983% -.0405113 -.0800191 / .1);
      }

      .dark\:hover\:bg-\[\#0f4d75\]\/20:hover {
        background-color: oklab(40.3983% -.0405113 -.0800191 / .2);
      }

      .dark\:hover\:bg-blue-800:hover {
        background-color: var(--color-blue-800);
      }

      .dark\:hover\:bg-gray-700:hover {
        background-color: var(--color-gray-700);
      }

      .dark\:hover\:bg-gray-800:hover {
        background-color: var(--color-gray-800);
      }

      .dark\:hover\:bg-neutral-700\/60:hover {
        background-color: #40404099;
      }

      @supports (color: color-mix(in lab, red, red)) {
        .dark\:hover\:bg-neutral-700\/60:hover {
          background-color: color-mix(in oklab, var(--color-neutral-700) 60%, transparent);
        }
      }

      .dark\:hover\:bg-red-500\/10:hover {
        background-color: #fb2c361a;
      }

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

      .dark\:hover\:bg-red-900\/20:hover {
        background-color: #82181a33;
      }

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

      .dark\:hover\:bg-red-950\/20:hover {
        background-color: #46080933;
      }

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

      .dark\:hover\:bg-white\/5:hover {
        background-color: #ffffff0d;
      }

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

      .dark\:hover\:bg-white\/10:hover {
        background-color: #ffffff1a;
      }

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

      .dark\:hover\:text-gray-300:hover {
        color: var(--color-gray-300);
      }

      .dark\:hover\:text-white:hover {
        color: var(--color-white);
      }
    }

    .dark\:focus\:border-blue-700:focus {
      border-color: var(--color-blue-700);
    }

    .dark\:focus\:border-blue-800:focus {
      border-color: var(--color-blue-800);
    }

    .dark\:active\:bg-gray-700:active {
      background-color: var(--color-gray-700);
    }

    .dark\:active\:text-gray-300:active {
      color: var(--color-gray-300);
    }

    @supports ((-webkit-backdrop-filter: var(--tw)) or (backdrop-filter: var(--tw))) {
      .dark\:supports-\[backdrop-filter\]\:bg-\[color\:var\(--header\)\]\/75 {
        background-color: var(--header);
      }

      @supports (color: color-mix(in lab, red, red)) {
        .dark\:supports-\[backdrop-filter\]\:bg-\[color\:var\(--header\)\]\/75 {
          background-color: color-mix(in oklab, var(--header) 75%, transparent);
        }
      }
    }
  }

  @media print {
    .print\:hidden {
      display: none;
    }

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

    .print\:p-\[0\.5in\] {
      padding: .5in;
    }

    .print\:pt-4 {
      padding-top: calc(var(--spacing) * 4);
    }

    .print\:outline-0 {
      outline-style: var(--tw-outline-style);
      outline-width: 0;
    }
  }

  .\[\&_summary\:\:-webkit-details-marker\]\:hidden summary::-webkit-details-marker {
    display: none;
  }

  .\[\&\:\:-webkit-scrollbar\]\:h-0::-webkit-scrollbar {
    height: calc(var(--spacing) * 0);
  }

  .\[\&\:\:-webkit-scrollbar\]\:w-0::-webkit-scrollbar {
    width: calc(var(--spacing) * 0);
  }

  .\[\&\>\*\:first-child\]\:mb-4 > :first-child {
    margin-bottom: calc(var(--spacing) * 4);
  }

  .\[\&\>tbody\>tr\]\:border-b > tbody > tr {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }

  .\[\&\>tbody\>tr\]\:border-\[color\:var\(--border\)\] > tbody > tr {
    border-color: var(--border);
  }

  .\[\&\>tbody\>tr\>td\]\:border-r > tbody > tr > td {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
  }

  .\[\&\>tbody\>tr\>td\]\:border-b > tbody > tr > td {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }

  .\[\&\>tbody\>tr\>td\]\:border-\[color\:var\(--border\)\] > tbody > tr > td {
    border-color: var(--border);
  }

  .\[\&\>tbody\>tr\>td\:last-child\]\:border-r-0 > tbody > tr > td:last-child {
    border-right-style: var(--tw-border-style);
    border-right-width: 0;
  }

  .\[\&\>thead\>tr\]\:border-b > thead > tr {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }

  .\[\&\>thead\>tr\]\:border-\[color\:var\(--border\)\] > thead > tr {
    border-color: var(--border);
  }

  .\[\&\>thead\>tr\>th\]\:border-r > thead > tr > th {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
  }

  .\[\&\>thead\>tr\>th\]\:border-b > thead > tr > th {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }

  .\[\&\>thead\>tr\>th\]\:border-\[color\:var\(--border\)\] > thead > tr > th {
    border-color: var(--border);
  }

  .\[\&\>thead\>tr\>th\:last-child\]\:border-r-0 > thead > tr > th:last-child {
    border-right-style: var(--tw-border-style);
    border-right-width: 0;
  }
}

:root {
  --app-header-h: 56px;
  --page-x: 16px;
  --bottom-nav-h: 56px;
  --body: #1c262b;
  --gray-body: #f5f5f5;
  --header: #0f4d75;
  --subheader: #0090c8;
  --accent: #dc6504;
  --background: #f5f5f5;
  --foreground: var(--body);
  --card: #fff;
  --card-foreground: var(--body);
  --popover: #fff;
  --popover-foreground: var(--body);
  --primary: var(--header);
  --primary-foreground: #fff;
  --secondary: #f0f0f0;
  --secondary-foreground: var(--body);
  --muted: #f0f0f0;
  --muted-foreground: #666;
  --accent-foreground: #fff;
  --destructive: #e60000;
  --destructive-foreground: #fff;
  --border: #d0d0d0;
  --input: #e0e0e0;
  --ring: #0f4d75;
  --chart-1: #0f4d75;
  --chart-2: #dc6504;
  --chart-3: #0090c8;
  --chart-4: #16a34a;
  --chart-5: #f59e0b;
  --sidebar: #0f4d75;
  --sidebar-foreground: #f5f5f5;
  --sidebar-primary: #dc6504;
  --sidebar-primary-foreground: #fff;
  --sidebar-accent: #0090c8;
  --sidebar-accent-foreground: #fff;
  --sidebar-border: #0b1220;
  --sidebar-ring: #0f172a;
}

@media (min-width: 768px) {
  :root {
    --app-header-h: 64px;
    --bottom-nav-h: 0px;
  }
}

.resizer {
  cursor: col-resize;
  width: 4px;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
}

@keyframes slide-in-underline {
  from {
    opacity: 0;
    transform: scaleX(0);
  }

  to {
    opacity: 1;
    transform: scaleX(1);
  }
}

.tab-wrapper {
  margin-bottom: calc(var(--spacing) * 0);
  justify-content: center;
  display: flex;
}

.tab-group {
  gap: calc(var(--spacing) * 6);
  display: inline-flex;
  position: relative;
  overflow: visible;
}

.tab-button {
  padding-inline: calc(var(--spacing) * 1);
  padding-top: calc(var(--spacing) * 2);
  padding-bottom: calc(var(--spacing) * 3);
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
  --tw-font-weight: var(--font-weight-semibold);
  font-weight: var(--font-weight-semibold);
  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));
  --tw-duration: .2s;
  transition-duration: .2s;
  animation-duration: .2s;
  position: relative;
}

@media (min-width: 48rem) {
  .tab-button {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
}

.tab-button {
  color: var(--body);
  border-radius: var(--radius-sm);
  background: none;
  border: none;
}

.tab-button:hover {
  opacity: .9;
}

.tab-button-active {
  color: var(--header);
}

.tab-button-active:after {
  content: "";
  background-color: var(--accent);
  transform-origin: 0;
  width: 100%;
  height: 3px;
  animation: .2s ease-out slide-in-underline;
  display: block;
  position: absolute;
  bottom: -2px;
  left: 0;
}

.tab-button > span:nth-child(2) {
  color: var(--body);
}

input[type="time"], input[type="date"], input[type="number"] {
  appearance: none;
}

input[type="time"]::-webkit-calendar-picker-indicator {
  -webkit-appearance: none;
  display: none;
}

input[type="date"]::-webkit-calendar-picker-indicator {
  -webkit-appearance: none;
  display: none;
}

input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.bottom-nav {
  padding-bottom: 0 !important;
}

@supports (padding-bottom: env(safe-area-inset-bottom)) {
  .safe-bottom {
    height: env(safe-area-inset-bottom);
    background: var(--header);
    z-index: 50;
    pointer-events: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
  }
}

@supports (padding-top: env(safe-area-inset-top)) {
  .app-header {
    padding-top: env(safe-area-inset-top);
  }
}

.safe-top {
  height: env(safe-area-inset-top);
  z-index: 60;
  pointer-events: none;
  border-bottom-left-radius: var(--radius-sm);
  border-bottom-right-radius: var(--radius-sm);
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}

.app-header {
  color: var(--sidebar-foreground);
  border-bottom: 3px solid var(--accent);
  border-bottom-left-radius: var(--radius-sm);
  border-bottom-right-radius: var(--radius-sm);
  background: #fff;
}

.tab-wrapper .tab-group [role="tablist"] {
  justify-content: flex-start;
  gap: 1rem;
  display: flex;
}

.tab-wrapper .tab-group [role="tab"] {
  color: var(--body);
  cursor: pointer;
  border-radius: var(--radius-sm);
  background: none;
  flex-direction: column;
  align-items: center;
  line-height: 1.1;
  display: flex;
  border: 0 !important;
  padding: .5rem .25rem .75rem !important;
}

.tab-wrapper .tab-group [role="tab"][aria-selected="true"] {
  color: var(--header);
}

.tab-wrapper .tab-group [role="tab"]:after {
  content: "";
  background: none;
  width: 100%;
  height: 3px;
  margin-top: 6px;
}

.tab-wrapper .tab-group [role="tab"][aria-selected="true"]:after {
  background: var(--accent);
  transform-origin: 0;
  animation: .2s ease-out slide-in-underline;
}

.tab-wrapper .tab-group [role="tab"]:not([aria-selected="true"]):hover {
  opacity: .9;
}

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

.text-gray {
  color: var(--gray-body);
}

.bg-panel {
  background: var(--panel-bg, #0b1220);
}

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

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

@supports (color: color-mix(in lab, red, red)) {
  .bg-acc-10 {
    background-color: color-mix(in oklab, var(--accent) 10%, transparent);
  }
}

.dash-card {
  background: var(--panel-bg, transparent);
}

.dash-title {
  color: var(--body);
  font-weight: 700;
}

.dash-subtle {
  opacity: .8;
}

.dash-btn {
  height: calc(var(--spacing) * 8);
  border-style: var(--tw-border-style);
  border-width: 1px;
  border-color: var(--color-border);
  padding-inline: calc(var(--spacing) * 3);
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
  --tw-font-weight: var(--font-weight-medium);
  font-weight: var(--font-weight-medium);
  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));
  color: var(--gray-body);
  border-radius: var(--radius-sm);
  background: none;
}

.dash-btn:hover {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .dash-btn:hover {
    background: color-mix(in oklab, var(--accent) 10%, transparent);
  }
}

.dash-btn--green {
  color: var(--color-white);
  border-color: var(--border);
  border-radius: var(--radius-sm);
  background: #16a34a;
}

.dash-btn--green:hover {
  border-color: var(--border);
  background: #15803d;
}

.dash-btn--red {
  color: var(--color-white);
  border-color: var(--border);
  border-radius: var(--radius-sm);
  background: #dc2626;
}

.dash-btn--red:hover {
  border-color: var(--border);
  background: #b91c1c;
}

.dash-select {
  height: calc(var(--spacing) * 10);
  border-style: var(--tw-border-style);
  border-width: 1px;
  border-color: var(--color-border);
  width: 100%;
  padding-inline: calc(var(--spacing) * 3);
  text-align: left;
  color: var(--body);
  border-radius: var(--radius-sm);
  background: none;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.dash-select-menu {
  z-index: 10;
  margin-top: calc(var(--spacing) * 1);
  max-height: calc(var(--spacing) * 60);
  border-style: var(--tw-border-style);
  border-width: 1px;
  border-color: var(--color-border);
  --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
  width: 100%;
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  color: var(--body);
  border-radius: var(--radius-sm);
  background: #fff;
  position: absolute;
  overflow: auto;
}

.dash-option {
  cursor: pointer;
  padding-inline: calc(var(--spacing) * 2);
  padding-block: calc(var(--spacing) * 1);
  border-radius: var(--radius-sm);
}

.dash-option:hover {
  background-color: var(--color-gray-100);
}

.dash-btn-icon {
  height: calc(var(--spacing) * 10);
  width: calc(var(--spacing) * 10);
  background: none;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.dash-btn-icon:hover {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .dash-btn-icon:hover {
    background: color-mix(in oklab, var(--accent) 18%, transparent);
  }
}

.scan-backdrop {
  inset: calc(var(--spacing) * 0);
  background-color: #0009;
  position: absolute;
}

@supports (color: color-mix(in lab, red, red)) {
  .scan-backdrop {
    background-color: color-mix(in oklab, var(--color-black) 60%, transparent);
  }
}

.scan-frame {
  width: 92vw;
  max-width: var(--container-lg);
  border-style: var(--tw-border-style);
  border-width: 1px;
  border-color: #0000001a;
  position: relative;
}

@supports (color: color-mix(in lab, red, red)) {
  .scan-frame {
    border-color: color-mix(in oklab, var(--color-black) 10%, transparent);
  }
}

.scan-frame {
  padding: calc(var(--spacing) * 4);
  --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, #00000040);
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}

@media (min-width: 40rem) {
  .scan-frame {
    padding: calc(var(--spacing) * 5);
  }
}

.scan-frame {
  color: var(--body);
  border-radius: var(--radius-sm);
  background: #fff;
}

.scan-close {
  border-style: var(--tw-border-style);
  padding-inline: calc(var(--spacing) * 2);
  padding-block: calc(var(--spacing) * 1);
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
  border-radius: var(--radius-sm);
  border-width: 1px;
}

.scan-close:hover {
  background-color: #0000000d;
}

@supports (color: color-mix(in lab, red, red)) {
  .scan-close:hover {
    background-color: color-mix(in oklab, var(--color-black) 5%, transparent);
  }
}

.scan-video-box {
  margin-bottom: calc(var(--spacing) * 3);
  aspect-ratio: 1;
  background-color: #000c;
  width: 100%;
  position: relative;
  overflow: hidden;
}

@supports (color: color-mix(in lab, red, red)) {
  .scan-video-box {
    background-color: color-mix(in oklab, var(--color-black) 80%, transparent);
  }
}

.scan-video-box {
  border-radius: var(--radius-sm);
}

.scan-guides {
  inset: calc(var(--spacing) * 6);
  border-style: var(--tw-border-style);
  border-width: 2px;
  border-color: #ffffffb3;
  position: absolute;
}

@supports (color: color-mix(in lab, red, red)) {
  .scan-guides {
    border-color: color-mix(in oklab, var(--color-white) 70%, transparent);
  }
}

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

.scan-hint {
  top: calc(var(--spacing) * 2);
  --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
  translate: var(--tw-translate-x) var(--tw-translate-y);
  font-size: var(--text-xs);
  line-height: var(--tw-leading, var(--text-xs--line-height));
  color: #fffc;
  position: absolute;
  left: 50%;
}

@supports (color: color-mix(in lab, red, red)) {
  .scan-hint {
    color: color-mix(in oklab, var(--color-white) 80%, transparent);
  }
}

.scan-input {
  border-style: var(--tw-border-style);
  padding-inline: calc(var(--spacing) * 3);
  padding-block: calc(var(--spacing) * 2);
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
  color: #000;
  border-radius: var(--radius-sm);
  background: #fff;
  border-width: 1px;
  flex: 1;
}

.scan-cta {
  padding-inline: calc(var(--spacing) * 4);
  padding-block: calc(var(--spacing) * 2);
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
  --tw-font-weight: var(--font-weight-semibold);
  font-weight: var(--font-weight-semibold);
  color: #fff;
  border-radius: var(--radius-sm);
  background: #0f4d75;
  flex-shrink: 0;
  align-items: center;
  display: inline-flex;
}

.scan-cta:hover {
  background: #0d4061;
}

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

.dash-select {
  caret-color: var(--body);
  background: none;
  color: var(--body) !important;
}

.dash-select::placeholder {
  color: var(--body);
}

@supports (color: color-mix(in lab, red, red)) {
  .dash-select::placeholder {
    color: color-mix(in oklab, var(--body) 55%, transparent);
  }
}

.dash-select-menu {
  color: var(--body);
  background: #fff;
}

.osha-frame {
  aspect-ratio: 16 / 9;
  background-color: var(--color-white);
  border-radius: .25rem;
  border-radius: var(--radius-sm);
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
  overflow: hidden;
}

.osha-frame img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.osha-frame {
  touch-action: pan-y;
}

.btn-hi-vis-yellow {
  text-align: center;
  border-radius: var(--radius-sm);
  width: 100%;
  padding: .75rem 1rem;
  font-weight: bold;
  transition: background-color .2s;
  display: inline-block;
  color: #000 !important;
  border: 1px solid var(--body) !important;
  background-color: #ff0 !important;
}

.btn-hi-vis-yellow:hover {
  background-color: #ffe600 !important;
}

.btn-hi-vis-green {
  text-align: center;
  border-radius: var(--radius-sm);
  width: 100%;
  padding: .75rem 1rem;
  font-weight: bold;
  transition: background-color .2s;
  display: inline-block;
  color: #000 !important;
  border: 1px solid var(--body) !important;
  background-color: #0c0 !important;
}

.btn-hi-vis-green:hover {
  background-color: #00b300 !important;
}

@media print {
  html, body {
    background: #fff !important;
  }

  .print\:hidden {
    display: none !important;
  }

  a {
    color: #000 !important;
    text-decoration: none !important;
  }
}

.page-pad {
  padding: 16px;
}

@media (min-width: 768px) {
  .page-pad {
    padding: 24px;
  }
}

:root {
  --bg-soft: var(--card);
  --bg: var(--card);
  --hover: #f0f0f0;
}

.sp-browser .sp-name--folder {
  font-weight: 700;
}

.sp-browser .sp-topbar, .sp-browser .sp-controls, .sp-browser .sp-controls input, .sp-browser .sp-controls .sp-ibtn, .sp-browser ul li, .sp-browser .drawer-panel {
  border-color: var(--border);
}

.sp-browser .sp-controls, .sp-browser .sp-controls input, .sp-browser .sp-controls .sp-ibtn {
  border-radius: 0;
}

.sp-browser .sp-controls input, .sp-browser .sp-controls .sp-ibtn {
  background: var(--background);
  border-width: 1px;
}

.sp-browser .sp-ibtn:hover, .sp-browser ul li:hover {
  background: var(--hover);
}

.sp-browser ul {
  border-top: 1px solid var(--border);
}

.sp-browser ul li {
  border-bottom: 1px solid var(--border);
}

.sp-browser .drawer-panel {
  border-right: 1px solid var(--border);
  background: var(--background);
}

.sp-browser [data-sp-inline-addnew="1"] {
  display: none !important;
}

.sp-browser .sp-inner-header, .sp-browser > div:has( > input[placeholder="Search..."]), .sp-browser > div:has( > button:where([title="Add New"])) {
  margin: 0 !important;
  padding: 0 !important;
  display: none !important;
}

.sp-browser[data-editable="0"] .sp-controls {
  display: none;
}

.sp-browser > :not(.sp-topbar):first-child:has(input[placeholder="Search..."]) {
  margin: 0 !important;
  padding: 0 !important;
  display: none !important;
}

.inner-scroll {
  scrollbar-gutter: stable both-edges;
  scrollbar-width: thin;
  scrollbar-color: #00000059 transparent;
}

.inner-scroll::-webkit-scrollbar {
  width: 10px;
}

.inner-scroll::-webkit-scrollbar-thumb {
  background: #00000059;
  border-radius: 8px;
}

.inner-scroll:hover::-webkit-scrollbar-thumb {
  background: #00000080;
}

.inner-scroll::-webkit-scrollbar-track {
  background: none;
}

@media print {
  header, footer, nav, .BottomNav, .inertia-progress, .modal-backdrop {
    display: none !important;
  }

  .modal {
    box-shadow: none !important;
    border: none !important;
  }

  aside, .report-sidebar {
    display: none !important;
  }

  .print-activity main {
    width: 100% !important;
    margin: 0 !important;
  }

  .print-activity table {
    border-color: #bbb !important;
  }
}

.app-footer {
  color: var(--sidebar-foreground);
  background: #fff;
  border-top: 0;
  border-radius: 0;
}

.app-footer.has-top-border {
  border-top: 3px solid var(--accent);
}

.app-bottomnav {
  color: var(--sidebar-foreground);
  border-top: 3px solid var(--accent);
  border-top-left-radius: var(--radius-sm);
  border-top-right-radius: var(--radius-sm);
  background: #fff;
}

.record-card, .list-item, .card-item {
  background: var(--card);
}

@supports (color: color-mix(in lab, red, red)) {
  .record-card, .list-item, .card-item {
    background: color-mix(in oklab, var(--card) 80%, var(--background));
  }
}

.record-card, .list-item, .card-item {
  border: 1px solid var(--border);
}

@supports (color: color-mix(in lab, red, red)) {
  .record-card, .list-item, .card-item {
    border: 1px solid color-mix(in oklab, var(--border) 60%, transparent);
  }
}

.record-card, .list-item, .card-item {
  border-radius: var(--radius-sm);
  transition: background-color .2s, border-color .2s;
  box-shadow: 0 2px 4px #0003, inset 0 1px #ffffff0a;
  color: var(--body) !important;
}

.record-card *, .list-item *, .card-item * {
  color: inherit !important;
}

.record-card h1, .record-card h2, .record-card h3, .record-card h4, .record-card h5, .record-card h6, .list-item h1, .list-item h2, .list-item h3, .list-item h4, .list-item h5, .list-item h6, .card-item h1, .card-item h2, .card-item h3, .card-item h4, .card-item h5, .card-item h6 {
  font-weight: 600;
}

.record-card p, .list-item p, .card-item p {
  opacity: .85;
}

.record-card:hover, .list-item:hover, .card-item:hover {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .record-card:hover, .list-item:hover, .card-item:hover {
    background: color-mix(in oklab, var(--accent) 12%, var(--card));
  }
}

.record-card:hover, .list-item:hover, .card-item:hover {
  border-color: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .record-card:hover, .list-item:hover, .card-item:hover {
    border-color: color-mix(in oklab, var(--accent) 60%, var(--border));
  }
}

.chart-flash {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
  transition: outline-color .2s;
  animation: 1.2s chartFlash;
}

@keyframes chartFlash {
  0% {
    outline-color: var(--accent);
  }

  60% {
    outline-color: #0000;
  }

  100% {
    outline-color: var(--accent);
  }
}

.leaflet-container, .leaflet-top, .leaflet-bottom, .leaflet-pane {
  z-index: 0 !important;
}

:root {
  --safety-hospital-color: #10b981;
  --safety-police-color: #2563eb;
  --safety-fire-color: #dc2626;
}

.emerg-pin {
  filter: drop-shadow(0 1px 2px #00000059);
  fill: currentColor;
  width: 22px;
  height: 22px;
  transform: translate(-11px, -22px);
}

.emerg-pin svg {
  display: block;
}

.emerg-pin--hospital {
  color: var(--safety-hospital-color);
}

.emerg-pin--police {
  color: var(--safety-police-color);
}

.emerg-pin--fire {
  color: var(--safety-fire-color);
}

#app-main .overflow-auto {
  height: 100%;
  min-height: auto !important;
}

html, body, #app, #app-main, .inner-scroll, .ui-table-container, .ui-table-mobile, .app-bottomnav, .app-footer, .overflow-auto, [data-scroll] {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

html::-webkit-scrollbar {
  background: none;
  width: 0;
  height: 0;
}

body::-webkit-scrollbar {
  background: none;
  width: 0;
  height: 0;
}

#app::-webkit-scrollbar {
  background: none;
  width: 0;
  height: 0;
}

#app-main::-webkit-scrollbar {
  background: none;
  width: 0;
  height: 0;
}

.inner-scroll::-webkit-scrollbar {
  background: none;
  width: 0;
  height: 0;
}

.ui-table-container::-webkit-scrollbar {
  background: none;
  width: 0;
  height: 0;
}

.ui-table-mobile::-webkit-scrollbar {
  background: none;
  width: 0;
  height: 0;
}

.app-bottomnav::-webkit-scrollbar {
  background: none;
  width: 0;
  height: 0;
}

.app-footer::-webkit-scrollbar {
  background: none;
  width: 0;
  height: 0;
}

.overflow-auto::-webkit-scrollbar {
  background: none;
  width: 0;
  height: 0;
}

[data-scroll]::-webkit-scrollbar {
  background: none;
  width: 0;
  height: 0;
}

.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.no-scrollbar::-webkit-scrollbar {
  background: none;
  width: 0;
  height: 0;
}

.sticky-header thead {
  z-index: 1;
  background: var(--card);
  position: sticky;
  top: 0;
}

.scrollbar-hide::-webkit-scrollbar {
  display: none;
}

.scrollbar-hide {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.masonry-scroll {
  scrollbar-width: none;
  -ms-overflow-style: none;
  min-height: 0;
  max-height: 100%;
  overflow: hidden auto;
}

.masonry-scroll::-webkit-scrollbar {
  display: none;
}

.bulk-activity-modal-overlay {
  z-index: 50;
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  inset: 0;
}

.bulk-activity-modal-backdrop {
  background: #00000080;
  position: absolute;
  inset: 0;
}

.bulk-activity-modal {
  z-index: 10;
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
  background: var(--card);
  width: 100%;
  max-width: 48rem;
  color: var(--body);
  padding: 1rem;
  position: relative;
  box-shadow: 0 10px 30px #0000002e;
}

.bulk-activity-modal-header {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.bulk-activity-modal-title {
  font-size: 1.125rem;
  font-weight: 600;
}

.bulk-activity-modal-description {
  color: var(--body);
  margin-top: .5rem;
  font-size: .875rem;
}

@supports (color: color-mix(in lab, red, red)) {
  .bulk-activity-modal-description {
    color: color-mix(in oklab, var(--body) 70%, transparent);
  }
}

.bulk-activity-modal-description code {
  background: var(--border);
  border-radius: 3px;
  padding: .05rem .25rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
}

@supports (color: color-mix(in lab, red, red)) {
  .bulk-activity-modal-description code {
    background: color-mix(in oklab, var(--border) 40%, transparent);
  }
}

.bulk-activity-modal-description-hint {
  opacity: .7;
}

.bulk-activity-toolbar {
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  margin-top: 1rem;
  display: flex;
}

.bulk-activity-file-input {
  cursor: pointer;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--card);
  width: 100%;
  max-width: 20rem;
  color: var(--body);
  padding: .5rem;
  display: block;
}

.bulk-activity-btn {
  border-radius: var(--radius-sm);
  cursor: pointer;
  border: 1px solid #0000;
  padding: .5rem .75rem;
  font-size: .875rem;
  font-weight: 500;
  transition: background-color .15s, color .15s, border-color .15s, opacity .15s;
}

.bulk-activity-btn-ghost {
  color: var(--body);
  background: none;
  border-color: #0000;
}

.bulk-activity-btn-ghost:hover {
  background: var(--border);
}

@supports (color: color-mix(in lab, red, red)) {
  .bulk-activity-btn-ghost:hover {
    background: color-mix(in oklab, var(--border) 35%, transparent);
  }
}

.bulk-activity-btn-secondary {
  background: var(--card);
}

@supports (color: color-mix(in lab, red, red)) {
  .bulk-activity-btn-secondary {
    background: color-mix(in oklab, var(--card) 80%, var(--background));
  }
}

.bulk-activity-btn-secondary {
  border-color: var(--border);
  color: var(--body);
}

.bulk-activity-btn-secondary:hover {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .bulk-activity-btn-secondary:hover {
    background: color-mix(in oklab, var(--accent) 10%, var(--card));
  }
}

.bulk-activity-btn-parse {
  background: var(--header);
  color: #fff;
  border-color: var(--header);
}

.bulk-activity-btn-parse:hover {
  background: var(--header);
}

@supports (color: color-mix(in lab, red, red)) {
  .bulk-activity-btn-parse:hover {
    background: color-mix(in oklab, var(--header) 85%, #000);
  }
}

.bulk-activity-btn-parse:hover {
  border-color: var(--header);
}

@supports (color: color-mix(in lab, red, red)) {
  .bulk-activity-btn-parse:hover {
    border-color: color-mix(in oklab, var(--header) 85%, #000);
  }
}

.bulk-activity-btn-import {
  min-width: 9rem;
}

.bulk-activity-btn-import.is-active {
  color: #fff;
  background: #16a34a;
  border-color: #16a34a;
}

.bulk-activity-btn-import.is-active:hover {
  background: #15803d;
  border-color: #15803d;
}

.bulk-activity-btn-import.is-disabled {
  color: #6b7280;
  cursor: not-allowed;
  opacity: .8;
  background: #e5e7eb;
  border-color: #e5e7eb;
}

.bulk-activity-file-label {
  color: var(--body);
  font-size: .875rem;
}

@supports (color: color-mix(in lab, red, red)) {
  .bulk-activity-file-label {
    color: color-mix(in oklab, var(--body) 60%, transparent);
  }
}

.bulk-activity-textarea-wrap {
  margin-top: .75rem;
}

.bulk-activity-textarea {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--card);
  width: 100%;
  height: 7rem;
  color: var(--body);
  resize: vertical;
  padding: .5rem;
  font-size: .875rem;
}

.bulk-activity-preview {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--card);
  max-height: 18rem;
  margin-top: 1rem;
  overflow: auto;
}

.bulk-activity-table {
  border-collapse: collapse;
  width: 100%;
  min-width: 100%;
  font-size: .875rem;
}

.bulk-activity-table thead {
  background: var(--secondary);
}

.bulk-activity-table th, .bulk-activity-table td {
  text-align: left;
  border-top: 1px solid var(--border);
  padding: .25rem .5rem;
}

.bulk-activity-table thead th {
  border-top: none;
  padding: .5rem;
  font-weight: 600;
}

.bulk-activity-preview-info {
  color: var(--body);
  padding: .25rem .5rem;
  font-size: .75rem;
}

@supports (color: color-mix(in lab, red, red)) {
  .bulk-activity-preview-info {
    color: color-mix(in oklab, var(--body) 55%, transparent);
  }
}

.bulk-activity-result {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--card);
  margin-top: 1rem;
  padding: .75rem;
  font-size: .875rem;
}

.bulk-activity-result-label {
  font-weight: 600;
}

.bulk-activity-errors {
  border-radius: var(--radius-sm);
  color: #b91c1c;
  background: #fef2f2;
  border: 1px solid #fecaca;
  margin-top: .75rem;
  padding: .75rem;
  font-size: .875rem;
}

.bulk-activity-errors-title {
  margin-bottom: .25rem;
  font-weight: 600;
}

.bulk-activity-error-list {
  margin: 0;
  padding-left: 1.25rem;
  list-style: outside;
}

.bulk-activity-modal-footer {
  justify-content: flex-end;
  gap: .5rem;
  margin-top: 1rem;
  display: flex;
}

.bulk-user-modal-overlay {
  z-index: 50;
  background: #00000080;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  display: flex;
  position: fixed;
  inset: 0;
}

.bulk-user-modal-shell {
  background: var(--card);
  width: 100%;
  max-width: 48rem;
  color: var(--body);
  border: 1px solid var(--border);
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 20px 45px #00000040;
}

.bulk-user-modal-header {
  border-bottom: 1px solid var(--border);
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.25rem;
  display: flex;
}

.bulk-user-modal-title {
  color: var(--body);
  font-size: 1.125rem;
  font-weight: 600;
}

.bulk-user-modal-body {
  flex-direction: column;
  gap: 1rem;
  padding: 1.25rem;
  display: flex;
}

.bulk-user-field-group {
  flex-direction: column;
  gap: .25rem;
  display: flex;
}

.bulk-user-label {
  color: var(--body);
  font-size: .875rem;
  display: block;
}

@supports (color: color-mix(in lab, red, red)) {
  .bulk-user-label {
    color: color-mix(in oklab, var(--body) 75%, transparent);
  }
}

.bulk-user-file-input {
  width: 100%;
  color: var(--body);
  padding: .35rem 0;
  font-size: .875rem;
  display: block;
}

.bulk-user-help-text {
  color: var(--body);
  font-size: .75rem;
}

@supports (color: color-mix(in lab, red, red)) {
  .bulk-user-help-text {
    color: color-mix(in oklab, var(--body) 60%, transparent);
  }
}

.bulk-user-help-text code {
  background: var(--border);
  border-radius: 3px;
  padding: .05rem .25rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
}

@supports (color: color-mix(in lab, red, red)) {
  .bulk-user-help-text code {
    background: color-mix(in oklab, var(--border) 40%, transparent);
  }
}

.bulk-user-button-row {
  flex-wrap: wrap;
  gap: .5rem;
  display: flex;
}

.bulk-user-btn {
  border-radius: var(--radius-sm);
  cursor: pointer;
  border: 1px solid #0000;
  padding: .5rem .75rem;
  font-size: .875rem;
  font-weight: 500;
  transition: background-color .15s, color .15s, border-color .15s, opacity .15s;
}

.bulk-user-btn-ghost {
  border-color: var(--border);
  color: var(--body);
  background: none;
}

.bulk-user-btn-ghost:hover {
  background: var(--border);
}

@supports (color: color-mix(in lab, red, red)) {
  .bulk-user-btn-ghost:hover {
    background: color-mix(in oklab, var(--border) 30%, transparent);
  }
}

.bulk-user-btn-parse {
  background: var(--header);
  border-color: var(--header);
  color: #fff;
}

.bulk-user-btn-parse:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.bulk-user-btn-parse:not(:disabled):hover {
  background: var(--header);
}

@supports (color: color-mix(in lab, red, red)) {
  .bulk-user-btn-parse:not(:disabled):hover {
    background: color-mix(in oklab, var(--header) 85%, #000);
  }
}

.bulk-user-btn-parse:not(:disabled):hover {
  border-color: var(--header);
}

@supports (color: color-mix(in lab, red, red)) {
  .bulk-user-btn-parse:not(:disabled):hover {
    border-color: color-mix(in oklab, var(--header) 85%, #000);
  }
}

.bulk-user-btn-import {
  color: #fff;
  background: #16a34a;
  border-color: #16a34a;
}

.bulk-user-btn-import:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.bulk-user-btn-import:not(:disabled):hover {
  background: #15803d;
  border-color: #15803d;
}

.bulk-user-btn-secondary {
  background: var(--card);
}

@supports (color: color-mix(in lab, red, red)) {
  .bulk-user-btn-secondary {
    background: color-mix(in oklab, var(--card) 80%, var(--background));
  }
}

.bulk-user-btn-secondary {
  border-color: var(--border);
  color: var(--body);
}

.bulk-user-btn-secondary:hover {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .bulk-user-btn-secondary:hover {
    background: color-mix(in oklab, var(--accent) 10%, var(--card));
  }
}

.bulk-user-errors {
  border-radius: var(--radius-sm);
  color: #b91c1c;
  background: #fef2f2;
  border: 1px solid #fecaca;
  padding: .75rem;
  font-size: .875rem;
}

.bulk-user-errors-title {
  margin-bottom: .25rem;
  font-weight: 600;
}

.bulk-user-error-list {
  margin: 0;
  padding-left: 1.25rem;
  list-style: outside;
}

.bulk-user-preview {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--card);
  max-height: 20rem;
  overflow: auto;
}

.bulk-user-table {
  border-collapse: collapse;
  width: 100%;
  min-width: 100%;
  font-size: .875rem;
}

.bulk-user-table thead {
  background: var(--secondary);
}

.bulk-user-table th, .bulk-user-table td {
  text-align: left;
  border-top: 1px solid var(--border);
  padding: .5rem .75rem;
}

.bulk-user-table thead th {
  border-top: none;
  font-weight: 600;
}

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

@supports (color: color-mix(in lab, red, red)) {
  .bulk-user-text-muted {
    color: color-mix(in oklab, var(--body) 55%, transparent);
  }
}

.bulk-user-status-error {
  color: #b91c1c;
  font-weight: 500;
}

.bulk-user-status-ok {
  color: #15803d;
  font-weight: 500;
}

.bulk-user-result {
  border-radius: var(--radius-sm);
  color: #064e3b;
  background: #ecfdf5;
  border: 1px solid #6ee7b7;
  padding: .75rem;
  font-size: .875rem;
}

.bulk-user-result-heading {
  margin-bottom: .25rem;
  font-weight: 600;
}

.bulk-user-result-credentials {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  margin-top: .5rem;
  display: flex;
}

.companies-page {
  flex-direction: column;
  gap: .75rem;
  padding: 1rem;
  display: flex;
}

@media (min-width: 640px) {
  .companies-page {
    padding: 1.5rem;
  }
}

.companies-id-cell {
  opacity: .7;
}

.companies-actions {
  justify-content: flex-end;
  display: flex;
}

.companies-delete-btn {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  cursor: pointer;
  background: none;
  height: 2rem;
  padding: 0 .5rem;
  transition: background-color .15s, border-color .15s;
}

.companies-delete-btn:hover {
  background-color: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .companies-delete-btn:hover {
    background-color: color-mix(in oklab, var(--accent) 10%, transparent);
  }
}

.companies-inline-input {
  width: 100%;
  font: inherit;
  color: inherit;
  background: none;
  border: 0;
  outline: none;
}

.magic-links-dialog {
  z-index: 50;
  position: relative;
}

.magic-links-backdrop {
  background: #0000004d;
  position: fixed;
  inset: 0;
}

.magic-links-wrapper {
  justify-content: center;
  align-items: center;
  padding: 1rem;
  display: flex;
  position: fixed;
  inset: 0;
}

.magic-links-panel {
  border-radius: var(--radius-lg);
  background: var(--card);
  width: 100%;
  max-width: 64rem;
  color: var(--body);
  margin: 0 auto;
  padding: 1.5rem;
  box-shadow: 0 20px 45px #00000040;
}

.magic-links-title {
  margin-bottom: .5rem;
  font-size: 1.125rem;
  font-weight: 600;
}

.magic-links-description {
  color: var(--body);
  margin-bottom: 1rem;
  font-size: .875rem;
}

@supports (color: color-mix(in lab, red, red)) {
  .magic-links-description {
    color: color-mix(in oklab, var(--body) 70%, transparent);
  }
}

.magic-links-search {
  margin-bottom: .75rem;
}

.magic-links-search-input {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--card);
  width: 100%;
  color: var(--body);
  padding: .5rem;
  font-size: .875rem;
}

.magic-links-grid {
  grid-template-columns: 1fr;
  gap: 1.5rem;
  display: grid;
}

@media (min-width: 1024px) {
  .magic-links-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.magic-links-card {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--card);
  flex-direction: column;
  display: flex;
  overflow: hidden;
}

.magic-links-card-header {
  border-bottom: 1px solid var(--border);
  padding: .5rem .75rem;
  font-size: .875rem;
  font-weight: 500;
}

.magic-links-list {
  max-height: 20rem;
  overflow: auto;
}

.magic-links-list-message {
  color: var(--body);
  padding: .75rem;
  font-size: .875rem;
}

@supports (color: color-mix(in lab, red, red)) {
  .magic-links-list-message {
    color: color-mix(in oklab, var(--body) 60%, transparent);
  }
}

.magic-links-table {
  border-collapse: collapse;
  width: 100%;
  min-width: 100%;
  font-size: .875rem;
}

.magic-links-row {
  border-bottom: 1px solid var(--border);
}

.magic-links-row:last-child {
  border-bottom: none;
}

.magic-links-user-cell {
  vertical-align: top;
  padding: .5rem;
}

.magic-links-user-name {
  font-weight: 500;
}

.magic-links-user-email {
  color: var(--body);
  margin-top: .15rem;
  font-size: .75rem;
}

@supports (color: color-mix(in lab, red, red)) {
  .magic-links-user-email {
    color: color-mix(in oklab, var(--body) 60%, transparent);
  }
}

.magic-links-user-email {
  word-break: break-all;
}

.magic-links-generated-cell {
  vertical-align: top;
  padding: .5rem;
}

.magic-links-url {
  word-break: break-all;
  margin-top: .5rem;
  font-size: .75rem;
}

.magic-links-expiry {
  color: var(--body);
  margin-top: .25rem;
  font-size: .75rem;
}

@supports (color: color-mix(in lab, red, red)) {
  .magic-links-expiry {
    color: color-mix(in oklab, var(--body) 55%, transparent);
  }
}

.magic-links-user-actions {
  text-align: right;
  vertical-align: top;
  width: 10rem;
  padding: .5rem;
}

.magic-links-copy-cell {
  text-align: right;
  vertical-align: top;
  width: 7rem;
  padding: .5rem;
}

.magic-links-btn {
  border-radius: var(--radius-sm);
  color: var(--body);
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  padding: .4rem .75rem;
  font-size: .8125rem;
  font-weight: 500;
  transition: background-color .15s, border-color .15s, color .15s, opacity .15s;
}

.magic-links-btn-generate {
  border-color: var(--border);
  background: var(--card);
}

@supports (color: color-mix(in lab, red, red)) {
  .magic-links-btn-generate {
    background: color-mix(in oklab, var(--card) 90%, var(--background));
  }
}

.magic-links-btn-generate:hover {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .magic-links-btn-generate:hover {
    background: color-mix(in oklab, var(--accent) 8%, var(--card));
  }
}

.magic-links-btn-copy {
  border-color: var(--border);
  background: var(--card);
}

@supports (color: color-mix(in lab, red, red)) {
  .magic-links-btn-copy {
    background: color-mix(in oklab, var(--card) 90%, var(--background));
  }
}

.magic-links-btn-copy:hover {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .magic-links-btn-copy:hover {
    background: color-mix(in oklab, var(--accent) 8%, var(--card));
  }
}

.magic-links-footer {
  justify-content: flex-end;
  gap: .75rem;
  margin-top: 1.5rem;
  display: flex;
}

.magic-links-btn-close {
  color: #111827;
  background: #e5e7eb;
  border-color: #e5e7eb;
}

.magic-links-btn-close:hover {
  background: #d1d5db;
}

.magic-links-pagination {
  border-top: 1px solid var(--border);
  justify-content: space-between;
  align-items: center;
  padding: .5rem .75rem;
  font-size: .8125rem;
  display: flex;
}

.magic-links-pagination-buttons {
  gap: .5rem;
  display: flex;
}

.magic-links-page-btn {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--card);
  padding: .25rem .5rem;
}

@supports (color: color-mix(in lab, red, red)) {
  .magic-links-page-btn {
    background: color-mix(in oklab, var(--card) 95%, var(--background));
  }
}

.magic-links-page-btn {
  cursor: pointer;
  font-size: .8125rem;
}

.magic-links-page-btn:hover:not(:disabled) {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .magic-links-page-btn:hover:not(:disabled) {
    background: color-mix(in oklab, var(--accent) 8%, var(--card));
  }
}

.magic-links-page-btn:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.trades-page {
  flex-direction: column;
  gap: 1rem;
  display: flex;
}

.trades-cell {
  border: 1px solid var(--border);
  text-align: left;
  vertical-align: middle;
  padding: .5rem;
}

.trades-color-inner {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.trades-color-swatch {
  border-radius: var(--radius-sm);
  border: 1px solid #0000001a;
  width: 1rem;
  height: 1rem;
}

.trades-inline-input {
  width: 100%;
  font: inherit;
  color: inherit;
  background: none;
  border: 0;
  outline: none;
}

.auth-hero {
  background-image: url("/images/welcome.jpg");
  background-position: center;
  background-size: cover;
  flex-grow: 1;
  min-height: 60vh;
  position: relative;
}

.auth-hero-overlay {
  background: #00000080;
  position: absolute;
  inset: 0;
}

.auth-hero-inner {
  z-index: 10;
  text-align: center;
  color: #fff;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 60vh;
  padding-inline: 1rem;
  display: flex;
  position: relative;
}

.auth-hero-title {
  margin-bottom: 1rem;
  font-size: 1.875rem;
  font-weight: 700;
}

@media (min-width: 640px) {
  .auth-hero-title {
    font-size: 3rem;
  }
}

.auth-hero-card-wrapper {
  width: 100%;
  max-width: 24rem;
  margin-inline: auto;
}

.auth-hero-tabs {
  margin-bottom: 1rem;
}

.auth-hero-panel {
  border-radius: var(--radius-lg);
  -webkit-backdrop-filter: blur(1px);
  backdrop-filter: blur(1px);
  background: none;
  border: 1px solid #ffffff4d;
  padding: 1.5rem;
}

.guest-layout-root {
  flex-direction: column;
  min-height: 100vh;
  display: flex;
}

.guest-layout-main {
  background-position: center;
  background-size: cover;
  flex: auto;
  position: relative;
}

.guest-layout-overlay {
  background: #00000080;
  position: absolute;
  inset: 0;
}

.guest-layout-inner {
  z-index: 10;
  position: relative;
}

.certificate-scanner-overlay {
  z-index: 50;
  position: fixed;
  inset: 0;
}

.certificate-scanner-backdrop {
  background: #000000b3;
  position: absolute;
  inset: 0;
}

.certificate-scanner-panel {
  background: var(--panel, var(--card));
  inset-inline: 0;
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
  flex-direction: column;
  width: 100%;
  height: 85vh;
  display: flex;
  position: absolute;
  bottom: 0;
  overflow: hidden;
  box-shadow: 0 18px 45px #00000073;
}

@media (min-width: 768px) {
  .certificate-scanner-panel {
    border-radius: 1rem;
    width: 900px;
    height: 80vh;
    margin: auto;
    inset: 0;
  }
}

.certificate-scanner-header {
  border-bottom: 1px solid var(--border);
  justify-content: space-between;
  align-items: center;
  padding-block: .75rem;
  padding-inline: 1rem;
  display: flex;
}

.certificate-scanner-title {
  font-weight: 500;
}

.certificate-scanner-close {
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  transition: background-color .15s;
  display: inline-flex;
}

.certificate-scanner-close:hover {
  background: var(--hover, var(--border));
}

@supports (color: color-mix(in lab, red, red)) {
  .certificate-scanner-close:hover {
    background: var(--hover, color-mix(in oklab, var(--border) 35%, transparent));
  }
}

.certificate-scanner-body {
  flex: auto;
  grid-template-columns: 1fr;
  display: grid;
}

@media (min-width: 768px) {
  .certificate-scanner-body {
    grid-template-columns: 1fr 1fr;
  }
}

.certificate-scanner-camera-wrap {
  background: #000;
  position: relative;
}

.certificate-scanner-camera {
  width: 100%;
  height: 100%;
}

.certificate-scanner-sidebar {
  flex-direction: column;
  gap: .75rem;
  padding: 1rem;
  display: flex;
}

.certificate-scanner-instructions {
  color: var(--muted, var(--body));
  font-size: .875rem;
}

@supports (color: color-mix(in lab, red, red)) {
  .certificate-scanner-instructions {
    color: var(--muted, color-mix(in oklab, var(--body) 55%, transparent));
  }
}

.certificate-scanner-button-row {
  flex-wrap: wrap;
  gap: .5rem;
  display: flex;
}

.certificate-scanner-btn {
  border-radius: var(--radius-sm);
  cursor: pointer;
  border: 1px solid #0000;
  align-items: center;
  gap: .5rem;
  padding-block: .5rem;
  padding-inline: 1rem;
  font-size: .875rem;
  font-weight: 500;
  transition: background-color .15s, border-color .15s, color .15s, opacity .15s;
  display: inline-flex;
}

.certificate-scanner-btn:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.certificate-scanner-btn-primary {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}

.certificate-scanner-btn-primary:hover:not(:disabled) {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .certificate-scanner-btn-primary:hover:not(:disabled) {
    background: color-mix(in oklab, var(--accent) 85%, #000);
  }
}

.certificate-scanner-btn-primary:hover:not(:disabled) {
  border-color: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .certificate-scanner-btn-primary:hover:not(:disabled) {
    border-color: color-mix(in oklab, var(--accent) 85%, #000);
  }
}

.certificate-scanner-btn-secondary {
  border-color: var(--border);
  color: var(--body);
  background: none;
}

.certificate-scanner-btn-secondary:hover:not(:disabled) {
  background: var(--border);
}

@supports (color: color-mix(in lab, red, red)) {
  .certificate-scanner-btn-secondary:hover:not(:disabled) {
    background: color-mix(in oklab, var(--border) 30%, transparent);
  }
}

.certificate-scanner-preview {
  margin-top: .5rem;
}

.certificate-scanner-preview-label {
  margin-bottom: .25rem;
  font-size: .875rem;
}

.certificate-scanner-preview-image {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  max-width: 100%;
  height: auto;
}

.activity-bars-card {
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  background: var(--card);
  box-sizing: border-box;
  width: 100%;
  padding: 1rem;
}

.activity-bars-title {
  margin-bottom: .5rem;
  font-size: 1.125rem;
  font-weight: 600;
}

.activity-bars-status-text {
  opacity: .7;
  font-size: .875rem;
}

.activity-bars-svg {
  width: 100%;
  height: auto;
  display: block;
  overflow: visible;
}

.activity-bars-legend {
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin-top: .75rem;
  font-size: .875rem;
  display: flex;
}

.activity-bars-legend-item {
  align-items: center;
  gap: .5rem;
  display: inline-flex;
}

.activity-bars-legend-swatch {
  border-radius: .125rem;
  width: .75rem;
  height: .75rem;
  display: inline-block;
}

.activity-bars-legend-swatch-verified {
  background: #0f4d75;
}

.activity-bars-legend-swatch-unverified {
  background: var(--border);
}

.activity-bars-legend-footnote {
  opacity: .7;
  font-size: .75rem;
}

.projects-by-manager-card {
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  background: var(--card);
  box-sizing: border-box;
  width: 100%;
  padding: 1rem;
}

.projects-by-manager-title {
  margin-bottom: .5rem;
  font-size: 1.125rem;
  font-weight: 600;
}

.projects-by-manager-status-text {
  opacity: .7;
  font-size: .875rem;
}

.projects-by-manager-svg {
  width: 100%;
  height: auto;
  display: block;
  overflow: visible;
}

.projects-by-manager-legend {
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: .75rem;
  font-size: .875rem;
  display: flex;
}

.projects-by-manager-legend-item {
  align-items: center;
  gap: .5rem;
  display: inline-flex;
}

.projects-by-manager-legend-swatch {
  border-radius: .125rem;
  width: .75rem;
  height: .75rem;
  display: inline-block;
}

.projects-by-manager-footnote {
  opacity: .7;
  margin-top: .5rem;
  font-size: .75rem;
  line-height: 1.4;
}

.add-user-modal-body {
  flex-direction: column;
  gap: .75rem;
  display: flex;
}

.add-user-input {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--card);
  width: 100%;
  color: var(--body);
  box-sizing: border-box;
  padding: .5rem .75rem;
  font-size: .875rem;
}

.add-user-input:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 1px var(--accent);
  outline: none;
}

.geofence-banner-wrap {
  z-index: 1000;
  pointer-events: none;
  inset-inline: 0;
  justify-content: center;
  display: flex;
  position: absolute;
  top: .75rem;
}

.geofence-banner {
  pointer-events: auto;
  color: #fff;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  background: #000c;
  border-radius: 9999px;
  align-items: center;
  gap: .75rem;
  padding: .5rem 1rem;
  font-size: .75rem;
  display: inline-flex;
  box-shadow: 0 6px 18px #00000059;
}

.geofence-banner-distance {
  font-weight: 500;
}

.geofence-status-pill {
  border-style: solid;
  border-width: 1px;
  border-radius: 9999px;
  align-items: center;
  padding: .125rem .5rem;
  font-size: .625rem;
  font-weight: 600;
  display: inline-flex;
}

.geofence-status-pill-inside {
  color: #6ee7b7;
  background-color: #22c55e33;
  border-color: #4ade8080;
}

.geofence-status-pill-outside {
  color: #fda4af;
  background-color: #ef444433;
  border-color: #f8717180;
}

.geofence-error {
  color: #fcd34d;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 10rem;
  font-size: .625rem;
  overflow: hidden;
}

.geofence-watcher-card {
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
  background: var(--card);
  flex-direction: column;
  gap: .5rem;
  padding: .75rem;
  display: flex;
}

.geofence-watcher-header {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.geofence-watcher-title {
  font-size: 1.125rem;
  font-weight: 600;
}

.geofence-watcher-coords {
  color: var(--body);
  font-size: .75rem;
}

@supports (color: color-mix(in lab, red, red)) {
  .geofence-watcher-coords {
    color: color-mix(in oklab, var(--body) 50%, transparent);
  }
}

.geofence-watcher-radius {
  color: var(--body);
  font-size: .75rem;
}

@supports (color: color-mix(in lab, red, red)) {
  .geofence-watcher-radius {
    color: color-mix(in oklab, var(--body) 50%, transparent);
  }
}

.geofence-watcher-body {
  font-size: .875rem;
}

.geofence-watcher-status {
  margin-top: .25rem;
}

.geofence-watcher-status-inside {
  color: #16a34a;
}

.geofence-watcher-status-outside {
  color: #dc2626;
}

.geofence-watcher-footer {
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .25rem;
  display: flex;
}

.geofence-watcher-error {
  color: #ef4444;
  font-size: .75rem;
}

.geofence-watcher-btn {
  border-radius: var(--radius-sm);
  cursor: pointer;
  border: 1px solid #0000;
  padding: .25rem .75rem;
  font-size: .875rem;
  transition: background-color .15s, border-color .15s, color .15s, opacity .15s;
}

.geofence-watcher-btn-primary {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}

.geofence-watcher-btn-primary:hover {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .geofence-watcher-btn-primary:hover {
    background: color-mix(in oklab, var(--accent) 85%, #000);
  }
}

.geofence-watcher-btn-primary:hover {
  border-color: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .geofence-watcher-btn-primary:hover {
    border-color: color-mix(in oklab, var(--accent) 85%, #000);
  }
}

.geofence-watcher-btn-secondary {
  border-color: var(--border);
  color: var(--body);
  background: none;
}

.geofence-watcher-btn-secondary:hover {
  background: var(--border);
}

@supports (color: color-mix(in lab, red, red)) {
  .geofence-watcher-btn-secondary:hover {
    background: color-mix(in oklab, var(--border) 30%, transparent);
  }
}

.show-location-root {
  flex-direction: column;
  gap: 1rem;
  width: 100%;
  padding: 1rem;
  display: flex;
}

.show-location-meta {
  opacity: .8;
  color: var(--gray-body);
  flex-wrap: wrap;
  gap: 1rem;
  font-size: .875rem;
  display: flex;
}

.show-location-error {
  color: #ef4444;
  font-size: .875rem;
}

.show-location-coords {
  color: var(--gray-body);
  flex-wrap: wrap;
  gap: 1.5rem;
  font-size: .875rem;
  display: flex;
}

.show-location-label {
  opacity: .6;
  font-size: .875rem;
}

.show-location-value {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
}

.show-location-map-shell {
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  background: var(--card);
  width: 100%;
  overflow: hidden;
}

.show-location-map-iframe {
  border: 0;
  width: 100%;
  height: 11rem;
  display: block;
}

.show-location-map-empty {
  width: 100%;
  height: 11rem;
  color: var(--gray-body);
  opacity: .7;
  justify-content: center;
  align-items: center;
  font-size: .875rem;
  display: flex;
}

.show-location-help-section {
  flex-direction: column;
  gap: .5rem;
  display: flex;
}

.show-location-help-title {
  color: var(--gray-body);
  font-size: 1rem;
  font-weight: 600;
}

.show-location-help-root {
  flex-direction: column;
  gap: .75rem;
  display: flex;
}

.show-location-help-block {
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  background: var(--card);
  padding: .75rem;
}

.show-location-help-summary {
  cursor: pointer;
  font-weight: 500;
}

.show-location-help-list {
  margin-top: .5rem;
  padding-left: 1.25rem;
  font-size: .875rem;
}

.show-location-help-list li {
  margin-bottom: .25rem;
}

.show-location-help-list.numbered {
  list-style-type: decimal;
}

.show-location-help-list:not(.numbered) {
  list-style-type: disc;
}

.show-location-help-docs {
  margin-top: .5rem;
  font-size: .875rem;
}

.show-location-help-link {
  color: var(--accent);
  text-decoration: underline;
}

.addr-verifier-root {
  flex-direction: column;
  gap: .5rem;
  display: flex;
}

.addr-verifier-loading {
  opacity: .7;
  font-size: .875rem;
}

.addr-verifier-search-input {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--card);
  width: 100%;
  height: 40px;
  color: var(--body);
  box-sizing: border-box;
  padding: 0 .75rem;
  font-size: .875rem;
}

.addr-verifier-map-card {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--card);
  overflow: hidden;
}

.addr-verifier-map-caption {
  color: var(--muted-foreground);
  white-space: nowrap;
  text-overflow: ellipsis;
  padding: .25rem .75rem;
  font-size: .75rem;
  overflow: hidden;
}

.addr-verifier-map-coords {
  opacity: .8;
  margin-left: .5rem;
}

.addr-verifier-editor {
  background: var(--card);
  flex-direction: column;
  gap: .5rem;
  display: flex;
}

.addr-verifier-grid {
  gap: .5rem;
  display: grid;
}

.addr-verifier-grid-addr {
  grid-template-columns: 1fr;
}

@media (min-width: 640px) {
  .addr-verifier-grid-addr {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

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

.addr-verifier-input {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--card);
  color: var(--body);
  box-sizing: border-box;
  padding: .5rem .75rem;
  font-size: .875rem;
}

.addr-verifier-input-state {
  text-transform: uppercase;
  letter-spacing: .08em;
}

.addr-verifier-actions {
  align-items: center;
  gap: .5rem;
  padding-top: .25rem;
  display: flex;
}

.addr-verifier-btn {
  border-radius: var(--radius-sm);
  cursor: pointer;
  border: 1px solid #0000;
  height: 2rem;
  padding: 0 .75rem;
  font-size: .875rem;
  font-weight: 500;
  transition: background-color .15s, border-color .15s, color .15s, opacity .15s;
}

.addr-verifier-btn-primary {
  color: #fff;
  background: #2563eb;
  border-color: #2563eb;
}

.addr-verifier-btn-primary.is-enabled:hover {
  background: #1d4ed8;
  border-color: #1d4ed8;
}

.addr-verifier-btn-primary.is-disabled {
  color: #4b5563;
  cursor: not-allowed;
  background: #e5e7eb;
  border-color: #e5e7eb;
}

.addr-verifier-btn-secondary {
  border-color: var(--border);
  color: var(--body);
  background: none;
}

.addr-verifier-btn-secondary:hover {
  background: var(--border);
}

@supports (color: color-mix(in lab, red, red)) {
  .addr-verifier-btn-secondary:hover {
    background: color-mix(in oklab, var(--border) 30%, transparent);
  }
}

.addr-verifier-dirty-label {
  opacity: .7;
  font-size: .75rem;
}

.paemergency-root {
  width: 100%;
}

.paemergency-main {
  flex-direction: column;
  align-items: stretch;
  gap: .75rem;
  display: flex;
}

.paemergency-map {
  border: 1px solid var(--rsv-border, #e5e7eb);
  border-radius: .75rem;
  width: 100%;
  position: relative;
  overflow: hidden;
}

.paemergency-legend-wrap {
  z-index: 500;
  pointer-events: none;
  position: absolute;
  bottom: .5rem;
  left: .5rem;
}

.paemergency-legend {
  pointer-events: auto;
  border-radius: var(--radius-sm);
  border: 1px solid var(--rsv-border, #e5e7eb);
  background: #ffffffe6;
  margin: 0;
  padding: .25rem .5rem;
  font-size: .75rem;
  list-style: none;
  box-shadow: 0 2px 4px #0f172a1f;
}

.paemergency-legend-item {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.paemergency-legend-item + .paemergency-legend-item {
  margin-top: .25rem;
}

.paemergency-legend-dot {
  border-radius: 999px;
  width: .625rem;
  height: .625rem;
  display: inline-block;
}

.paemergency-legend-dot-hospital {
  background-color: #10b981;
}

.paemergency-legend-dot-police {
  background-color: #2563eb;
}

.paemergency-legend-dot-fire {
  background-color: #dc2626;
}

.paemergency-legend-label {
  line-height: 1;
}

.paemergency-table-wrap {
  width: 100%;
}

.paemergency-status {
  margin-top: .25rem;
  font-size: .875rem;
}

.paemergency-status-loading {
  color: #6b7280;
}

.paemergency-status-error {
  color: #ef4444;
}

.paemergency-type-cell {
  align-items: center;
  gap: .5rem;
  display: inline-flex;
}

.paemergency-type-dot {
  border-radius: 999px;
  width: .625rem;
  height: .625rem;
}

.paemergency-type-label {
  text-transform: capitalize;
}

.paemergency-name-cell {
  font-weight: 500;
}

.paemergency-open-btn {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  height: 2rem;
  color: inherit;
  align-items: center;
  padding: 0 .75rem;
  font-size: .875rem;
  text-decoration: none;
  transition: background-color .15s, border-color .15s;
  display: inline-flex;
}

.paemergency-open-btn:hover {
  background: var(--hover, var(--border));
}

@supports (color: color-mix(in lab, red, red)) {
  .paemergency-open-btn:hover {
    background: var(--hover, color-mix(in oklab, var(--border) 30%, transparent));
  }
}

.pafs-root {
  width: 100%;
}

.pafs-map {
  border: 1px solid var(--rsv-border, #e5e7eb);
  border-radius: .75rem;
  width: 100%;
  overflow: hidden;
}

.pafs-status {
  margin-top: .5rem;
  font-size: .875rem;
}

.pafs-status-loading {
  color: #6b7280;
}

.pafs-status-error {
  color: #ef4444;
}

.pahosp-root {
  width: 100%;
}

.pahosp-map {
  border: 1px solid var(--rsv-border, #e5e7eb);
  border-radius: .75rem;
  width: 100%;
  overflow: hidden;
}

.pahosp-status {
  margin-top: .5rem;
  font-size: .875rem;
}

.pahosp-status-loading {
  color: #6b7280;
}

.pahosp-status-error {
  color: #ef4444;
}

.papolice-root {
  width: 100%;
}

.papolice-map {
  border: 1px solid var(--rsv-border, #e5e7eb);
  border-radius: .75rem;
  width: 100%;
  overflow: hidden;
}

.papolice-status {
  margin-top: .5rem;
  font-size: .875rem;
}

.papolice-status-loading {
  color: #6b7280;
}

.papolice-status-error {
  color: #ef4444;
}

.permits-map {
  border: 1px solid var(--border, #2e3b44);
  box-sizing: border-box;
  border-radius: .75rem;
  width: 100%;
  overflow: hidden;
}

.project-activity-map {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  box-sizing: border-box;
  width: 100%;
  overflow: hidden;
}

.project-checkin-map {
  border: 1px solid var(--border, #2e3b44);
  box-sizing: border-box;
  border-radius: .75rem;
  width: 100%;
  overflow: hidden;
}

.project-proximity-map-shell {
  width: 100%;
  position: relative;
}

.project-proximity-map-height {
  height: 320px;
}

.project-proximity-map-inner {
  width: 100%;
  height: 100%;
}

.projects-map-root {
  border-radius: calc(var(--radius)  - 4px);
  overflow: hidden;
}

.weather-radar-widget {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--card);
  width: 100%;
  overflow: hidden;
}

.weather-radar-iframe {
  border: 0;
  width: 100%;
  height: 100%;
}

.addresses-tab-root {
  padding: var(--page-x, 16px);
  flex-direction: column;
  gap: 1rem;
  display: flex;
}

.addresses-tab-map-frame {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  overflow: hidden;
}

.addresses-tab-map-bg {
  background: var(--card);
}

.membership-editor-root {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.membership-editor-input {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--card);
  width: 5rem;
  height: 2rem;
  color: var(--card-foreground);
  box-sizing: border-box;
  padding: 0 .5rem;
  font-size: .875rem;
}

.membership-editor-status-dot {
  background-color: #0000;
  border-radius: 999px;
  width: .5rem;
  height: .5rem;
  display: inline-block;
}

.membership-editor-status-saving {
  background-color: #f59e0b;
}

.membership-editor-status-saved {
  background-color: #22c55e;
}

.membership-editor-status-error {
  background-color: #ef4444;
}

.membership-editor-status-idle {
  background-color: #0000;
}

.project-poster-page {
  color: #000;
  background: #fff;
  justify-content: center;
  align-items: flex-start;
  min-height: 100vh;
  display: flex;
}

.project-poster-sheet {
  color: #000;
  box-sizing: border-box;
  background: #fff;
  flex-direction: column;
  width: 8.5in;
  height: 11in;
  margin-inline: auto;
  padding: .75in;
  display: flex;
}

.project-poster-header {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
  display: flex;
}

.project-poster-title {
  letter-spacing: -.03em;
  font-size: 2.25rem;
  font-weight: 800;
  line-height: 1.1;
}

.project-poster-subtitle {
  margin-top: .5rem;
  font-size: 1.125rem;
}

.project-poster-brand {
  border: 1px solid #000;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: 4rem;
  height: 4rem;
  display: flex;
}

.project-poster-brand-logo {
  width: 2.5rem;
  height: 2.5rem;
}

.project-poster-divider {
  background: #000c;
  width: 100%;
  height: 2px;
  margin-bottom: 2rem;
}

.project-poster-main {
  grid-template-columns: 1.5fr 1fr;
  column-gap: 2rem;
  margin-bottom: 2.5rem;
  display: grid;
}

.project-poster-left {
  flex-direction: column;
  row-gap: 1rem;
  display: flex;
}

.project-poster-section-title {
  font-size: 1.25rem;
  font-weight: 600;
}

.project-poster-section-body {
  font-size: 1.125rem;
}

.project-poster-notes {
  padding-top: .5rem;
}

.project-poster-notes-list {
  margin-top: .25rem;
  padding-left: 1.5rem;
  font-size: 1.125rem;
  line-height: 1.75rem;
  list-style: outside;
}

.project-poster-qr-col {
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.project-poster-qr-image {
  object-fit: contain;
  width: 14rem;
  height: 14rem;
  margin-bottom: 1rem;
}

.project-poster-qr-caption {
  text-align: center;
  max-width: 3.5in;
  font-size: .875rem;
}

.project-poster-safety {
  margin-top: .5rem;
  margin-bottom: 2.5rem;
}

.project-poster-safety-inner {
  box-sizing: border-box;
  border: 2px solid #000;
  width: 100%;
  padding: 1rem;
}

.project-poster-safety-grid {
  text-align: center;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 1rem;
  display: grid;
}

.project-poster-safety-item {
  font-size: 1rem;
}

.project-poster-safety-heading {
  margin-bottom: .25rem;
  font-weight: 700;
}

.project-poster-footer {
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
  padding-top: 1.5rem;
  font-size: .875rem;
  display: flex;
}

.project-poster-controls {
  text-align: center;
  margin-top: 2rem;
}

.project-poster-print-btn {
  cursor: pointer;
  background: none;
  border: 1px solid #000;
  border-radius: .375rem;
  padding: .75rem 1.5rem;
  font-weight: 600;
}

@media print {
  .project-poster-page {
    color: #000 !important;
    background: #fff !important;
  }

  .project-poster-sheet {
    box-shadow: none !important;
    padding: .5in !important;
  }

  .project-poster-footer {
    padding-top: 1rem !important;
  }

  .project-poster-controls {
    display: none !important;
  }
}

.project-qr-static-frame {
  border-radius: var(--radius-sm);
  background: #fff;
  place-items: center;
  width: 100%;
  height: 100%;
  display: grid;
  overflow: hidden;
}

.project-qr-static-image {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.project-qr-status-text {
  opacity: .7;
  font-size: .875rem;
}

.project-qr-status-error {
  color: #dc2626;
  font-size: .875rem;
}

.project-qr-icon {
  width: 1.25rem;
  height: 1.25rem;
}

.project-qr-modal-overlay {
  z-index: 1000;
  position: fixed;
  inset: 0;
}

.project-qr-modal-backdrop {
  background: #0009;
  border: none;
  margin: 0;
  padding: 0;
  position: absolute;
  inset: 0;
}

.project-qr-modal-shell {
  justify-content: center;
  align-items: center;
  padding: 1rem;
  display: flex;
  position: absolute;
  inset: 0;
}

.project-qr-modal-body {
  padding: 1rem;
}

.project-qr-modal-frame {
  aspect-ratio: 1;
  border-radius: var(--radius-sm);
  background: #fff;
  place-items: center;
  width: 100%;
  margin-inline: auto;
  display: grid;
  overflow: hidden;
}

.project-membership-section {
  margin-top: 2rem;
}

.project-membership-title {
  margin-bottom: 1rem;
  font-size: 1.125rem;
  font-weight: 600;
}

.project-membership-table {
  border-collapse: collapse;
  border: 1px solid var(--border, #4b5563);
  width: 100%;
}

.project-membership-thead-row {
  color: #f3f4f6;
  background: #1f2937;
}

.project-membership-th {
  border: 1px solid var(--border, #4b5563);
  text-align: left;
  padding: .5rem 1rem;
}

.project-membership-row {
  border: 1px solid var(--border, #4b5563);
}

.project-membership-td {
  padding: .5rem 1rem;
}

.add-project-field-label {
  margin-bottom: .25rem;
  font-size: .875rem;
  font-weight: 500;
  display: block;
}

.add-project-input {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--card);
  width: 100%;
  color: var(--body);
  box-sizing: border-box;
  margin-bottom: 1rem;
  padding: .25rem .5rem;
  font-size: .875rem;
}

.add-project-input-multi {
  height: 6rem;
}

.magiclinks-section {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  flex-direction: column;
  gap: .75rem;
  padding: 1rem;
  display: flex;
}

.magiclinks-controls {
  grid-template-columns: 1fr;
  gap: .75rem;
  display: grid;
}

@media (min-width: 768px) {
  .magiclinks-controls {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.magiclinks-help-text {
  color: var(--muted-foreground);
  font-size: .75rem;
}

.magiclinks-combobox-block {
  flex-direction: column;
  gap: .5rem;
  display: flex;
}

.magiclinks-combobox-wrap {
  position: relative;
}

.magiclinks-combobox-control {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: #fff;
  flex-wrap: wrap;
  align-items: center;
  gap: .25rem;
  width: 100%;
  padding: .25rem .5rem;
  display: flex;
}

.magiclinks-chip {
  border-radius: var(--radius-sm);
  background: #f3f4f6;
  align-items: center;
  gap: .25rem;
  padding: .125rem .5rem;
  font-size: .875rem;
  display: inline-flex;
}

.magiclinks-chip-remove {
  color: var(--muted-foreground);
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  font-size: .75rem;
}

.magiclinks-chip-remove:hover {
  color: var(--foreground);
}

.magiclinks-input {
  background: none;
  border: none;
  outline: none;
  flex: 1;
  min-width: 120px;
  padding: .25rem 0;
  font-size: .875rem;
}

.magiclinks-options {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  z-index: 10;
  background: #fff;
  width: 100%;
  max-height: 16rem;
  margin-top: .25rem;
  position: absolute;
  overflow: auto;
  box-shadow: 0 10px 25px #0f172a26;
}

.magiclinks-option {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  justify-content: space-between;
  align-items: center;
  padding: .5rem;
  display: flex;
}

.magiclinks-option:hover {
  background: #f3f4f6;
}

.magiclinks-option-check {
  font-size: .75rem;
}

.magiclinks-generate-btn {
  border-radius: var(--radius-sm);
  color: #fff;
  cursor: pointer;
  background: #16a34a;
  border: none;
  height: 2.25rem;
  padding: 0 1rem;
  font-size: .875rem;
  font-weight: 500;
  transition: background-color .15s, opacity .15s;
}

.magiclinks-generate-btn:hover:enabled {
  background: #15803d;
}

.magiclinks-generate-btn:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.magiclinks-expiry-text {
  color: var(--muted-foreground);
  font-size: .6875rem;
}

.magiclinks-results, .magiclinks-row + .magiclinks-row {
  border-top: 1px solid var(--border);
}

.magiclinks-row {
  padding: .75rem;
}

.magiclinks-empty {
  color: var(--muted-foreground);
  padding: .75rem;
  font-size: .875rem;
}

.magiclinks-link {
  color: var(--foreground);
  font-size: .875rem;
  font-weight: 500;
  text-decoration: none;
}

.magiclinks-link:hover {
  color: #4f46e5;
}

.membership-manager-overlay {
  z-index: 100;
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  inset: 0;
}

.membership-manager-backdrop {
  background: #00000080;
  position: absolute;
  inset: 0;
}

.membership-manager-modal {
  border: 1px solid var(--border);
  background: var(--background);
  width: min(880px, 95vw);
  max-height: 90vh;
  color: var(--foreground);
  border-radius: 1rem;
  flex-direction: column;
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 20px 50px #0f172a66;
}

.membership-manager-header {
  border-bottom: 1px solid var(--border);
  justify-content: space-between;
  align-items: center;
  padding: .75rem 1rem;
  display: flex;
}

.membership-manager-header-left {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.membership-manager-header-icon {
  width: 1.25rem;
  height: 1.25rem;
}

.membership-manager-header-title {
  font-weight: 600;
}

.membership-manager-close-btn {
  border-radius: var(--radius-sm);
  cursor: pointer;
  background: none;
  border: none;
  padding: .5rem;
}

.membership-manager-close-btn:hover {
  background: var(--muted);
}

.membership-manager-body {
  flex-direction: column;
  gap: 1rem;
  max-height: calc(90vh - 120px);
  padding: 1rem;
  display: flex;
  overflow-y: auto;
}

.membership-manager-controls {
  flex-direction: column;
  gap: .75rem;
  display: flex;
}

@media (min-width: 768px) {
  .membership-manager-controls {
    flex-direction: row;
    align-items: flex-end;
  }
}

.membership-manager-addcol {
  flex: auto;
}

.membership-manager-label {
  color: var(--muted-foreground);
  margin-bottom: .25rem;
  font-size: .75rem;
  display: block;
}

.membership-manager-listbox-wrap {
  position: relative;
}

.membership-manager-listbox-button {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  text-align: left;
  background: #fff;
  width: 100%;
  padding: .5rem .75rem;
}

.membership-manager-listbox-options {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  z-index: 50;
  background: #fff;
  width: 100%;
  max-height: 16rem;
  margin-top: .25rem;
  position: absolute;
  overflow: auto;
  box-shadow: 0 10px 25px #0f172a4d;
}

.membership-manager-listbox-option {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  padding: .5rem;
}

.membership-manager-listbox-option:hover {
  background: #f3f4f6;
}

.membership-manager-actions {
  gap: .5rem;
  display: flex;
}

.membership-manager-add-btn, .membership-manager-ensure-btn {
  border-radius: var(--radius-sm);
  cursor: pointer;
  border: 1px solid #0000;
  align-items: center;
  gap: .5rem;
  height: 2.5rem;
  padding: 0 1rem;
  font-size: .875rem;
  font-weight: 500;
  display: inline-flex;
}

.membership-manager-add-btn {
  color: #fff;
  background: #2563eb;
}

.membership-manager-add-btn:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.membership-manager-add-btn:not(:disabled):hover {
  background: #1d4ed8;
}

.membership-manager-ensure-btn {
  border-color: var(--border);
  background: none;
}

.membership-manager-ensure-btn:hover {
  background: var(--muted);
}

.membership-manager-list {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  overflow: hidden;
}

.membership-manager-list-header {
  color: var(--muted-foreground);
  border-bottom: 1px solid var(--border);
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: .5rem .75rem;
  font-size: .75rem;
  display: grid;
}

.membership-manager-list-header-expires {
  display: none;
}

.membership-manager-list-header-actions {
  text-align: right;
}

@media (min-width: 768px) {
  .membership-manager-list-header {
    grid-template-columns: 1fr auto auto;
  }

  .membership-manager-list-header-expires {
    display: block;
  }
}

.membership-manager-list-body {
  border-top: none;
}

.membership-manager-row {
  border-top: 1px solid var(--border);
  grid-template-columns: 1fr;
  align-items: center;
  gap: .5rem;
  padding: .5rem .75rem;
  display: grid;
}

@media (min-width: 768px) {
  .membership-manager-row {
    grid-template-columns: 1fr auto auto;
  }
}

.membership-manager-user-cell {
  min-width: 0;
}

.membership-manager-user-name {
  white-space: nowrap;
  text-overflow: ellipsis;
  font-weight: 500;
  overflow: hidden;
}

.membership-manager-user-url {
  color: var(--muted-foreground);
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: .75rem;
  overflow: hidden;
}

.membership-manager-expires {
  font-size: .875rem;
  display: none;
}

@media (min-width: 768px) {
  .membership-manager-expires {
    text-align: left;
    display: block;
  }
}

.membership-manager-row-actions {
  justify-content: flex-end;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.membership-manager-action-btn {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  cursor: pointer;
  background: none;
  align-items: center;
  gap: .25rem;
  height: 2rem;
  padding: 0 .5rem;
  font-size: .875rem;
  display: inline-flex;
}

.membership-manager-action-icon {
  width: 1rem;
  height: 1rem;
}

.membership-manager-remove-btn {
  color: #dc2626;
}

.membership-manager-empty {
  text-align: center;
  color: var(--muted-foreground);
  padding: 1.5rem .75rem;
  font-size: .875rem;
}

.membership-manager-footer {
  border-top: 1px solid var(--border);
  justify-content: flex-end;
  align-items: center;
  gap: .5rem;
  padding: .75rem 1rem;
  display: flex;
}

.membership-manager-close-footer-btn {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  cursor: pointer;
  background: none;
  height: 2.5rem;
  padding: 0 1rem;
}

.membership-manager-footer-status {
  color: var(--muted-foreground);
  font-size: .75rem;
}

.osha-inspections-root {
  border: 1px solid var(--rsv-border);
  background: var(--rsv-card-bg);
  box-sizing: border-box;
  border-radius: 1rem;
}

.osha-inspections-header {
  border-bottom: 1px solid var(--rsv-border);
  align-items: center;
  gap: .75rem;
  padding: .75rem 1rem;
  display: flex;
}

.osha-inspections-title {
  font-size: 1rem;
  font-weight: 500;
}

.osha-inspections-meta {
  color: var(--rsv-muted);
  margin-left: auto;
  font-size: .875rem;
}

.osha-inspections-map {
  width: 100%;
  min-height: 360px;
}

.osha-inspections-controls {
  border-top: 1px solid var(--rsv-border);
  padding: .75rem 1rem;
}

.osha-inspections-sliders {
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  display: flex;
}

.osha-inspections-slider-row {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.osha-inspections-slider-label {
  font-variant-numeric: tabular-nums;
  font-size: .75rem;
}

.osha-inspections-slider-summary {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.osha-inspections-slider-caption {
  font-size: .75rem;
}

.osha-inspections-slider-value {
  font-variant-numeric: tabular-nums;
  font-size: .875rem;
  font-weight: 500;
}

.osha-inspections-preset-row {
  align-items: center;
  gap: .5rem;
  margin-left: auto;
  display: flex;
}

.osha-inspections-btn {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  cursor: pointer;
  background: none;
  height: 2rem;
  padding: 0 .75rem;
  font-size: .875rem;
  transition: background-color .15s, border-color .15s;
}

.osha-inspections-btn:hover {
  background: var(--hover, var(--border));
}

@supports (color: color-mix(in lab, red, red)) {
  .osha-inspections-btn:hover {
    background: var(--hover, color-mix(in oklab, var(--border) 30%, transparent));
  }
}

.osha-inspections-error {
  color: #dc2626;
  margin-top: .5rem;
  font-size: .875rem;
}

.safety-news-root {
  flex-direction: column;
  gap: .75rem;
  display: flex;
}

.safety-news-filters {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.safety-news-select {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--card);
  height: 38px;
  padding: 0 .5rem;
  font-size: .875rem;
}

.safety-news-error {
  border-radius: var(--radius-sm);
  color: #fca5a5;
  background: #ef44441a;
  border: 1px solid #ef444480;
  padding: .75rem;
  font-size: .875rem;
}

.safety-news-error-title {
  margin-bottom: .25rem;
  font-weight: 600;
}

.safety-news-error-body {
  opacity: .8;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.safety-news-error-footer {
  margin-top: .5rem;
}

.safety-news-retry-btn {
  border-radius: var(--radius-sm);
  background: var(--accent, #dc6504);
  color: #fff;
  cursor: pointer;
  border: none;
  height: 2rem;
  padding: 0 .75rem;
  font-size: .875rem;
  font-weight: 500;
  transition: opacity .15s;
}

.safety-news-retry-btn:hover {
  opacity: .9;
}

.safety-news-table-shell {
  min-height: 200px;
}

.safety-news-status {
  opacity: .7;
  padding: 1rem;
  font-size: .875rem;
}

.safety-news-link {
  text-decoration: underline;
}

.safety-news-link:hover {
  text-decoration: none;
}

.safety-news-summary {
  opacity: .8;
}

.scheduler-open-report-btn {
  border-radius: var(--radius-md);
  cursor: pointer;
  border-style: solid;
  border-width: 1px;
  border-color: var(--accent);
  height: 2.5rem;
  color: var(--accent);
  background: none;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  padding: 0 .75rem;
  font-size: .875rem;
  transition: background-color .15s, border-color .15s, color .15s, opacity .15s;
  display: inline-flex;
}

.scheduler-left-weekbar {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.scheduler-day-header {
  justify-content: space-between;
  align-items: center;
  width: 100%;
  display: flex;
}

.scheduler-day-name {
  font-weight: 600;
}

.scheduler-day-date {
  opacity: .85;
  font-size: .75rem;
}

.scheduler-left-weekbar-tabs {
  flex: 1;
  min-width: 0;
}

.scheduler-left-weekbar-picker {
  align-items: center;
  gap: 8px;
  display: flex;
}

.scheduler-left-week-date {
  border: 1px solid var(--border, #d0d7de);
  background: var(--panel, #fff);
  height: 38px;
  color: var(--text, #111);
  border-radius: 8px;
  padding: 0 10px;
}

.scheduler-inline-calendar .react-datepicker {
  border: 1px solid var(--border);
  background: var(--card);
  color: var(--body);
  max-width: 320px;
}

.scheduler-inline-calendar .react-datepicker__header {
  background: var(--card);
  border-bottom: 1px solid var(--border);
}

.scheduler-inline-calendar .react-datepicker__day-name, .scheduler-inline-calendar .react-datepicker__day, .scheduler-inline-calendar .react-datepicker__current-month {
  color: var(--body);
}

.scheduler-inline-calendar .react-datepicker__day--selected, .scheduler-inline-calendar .react-datepicker__day--keyboard-selected {
  background: var(--accent);
  color: #fff;
}

.scheduler-weekly-cell {
  vertical-align: top;
  padding: .5rem 1rem;
}

.scheduler-weekly-cell-inner {
  justify-content: space-between;
  align-items: flex-start;
  gap: .75rem;
  display: flex;
}

.scheduler-weekly-pillwrap {
  flex-wrap: wrap;
  gap: .25rem;
  min-height: 44px;
  display: flex;
}

.scheduler-weekly-pill {
  align-items: left;
  border: 1px solid var(--border);
  background: var(--card);
  padding: .25rem .6rem;
  display: inline-flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .scheduler-weekly-pill {
    background: color-mix(in oklab, var(--card) 92%, var(--accent) 8%);
  }
}

.scheduler-weekly-pill {
  max-width: 100%;
}

.scheduler-weekly-pill-inner {
  min-width: 0;
  line-height: 1.05;
}

.scheduler-weekly-pill-primary {
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: .75rem;
  font-weight: 600;
  overflow: hidden;
}

.scheduler-weekly-pill-secondary {
  color: var(--muted-foreground);
  white-space: nowrap;
  align-items: left;
  text-overflow: ellipsis;
  margin-top: 2px;
  font-size: .6875rem;
  overflow: hidden;
}

.scheduler-weekly-pill-icon {
  opacity: .8;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.scheduler-weekly-pill-icon-locked {
  opacity: .55;
}

.scheduler-weekly-pill-icon-svg {
  width: 14px;
  height: 14px;
  display: block;
  opacity: 1 !important;
}

.scheduler-weekly-pill:hover {
  background: var(--card);
}

@supports (color: color-mix(in lab, red, red)) {
  .scheduler-weekly-pill:hover {
    background: color-mix(in oklab, var(--card) 86%, var(--accent) 14%);
  }
}

.scheduler-weekly-pill:hover {
  border-color: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .scheduler-weekly-pill:hover {
    border-color: color-mix(in oklab, var(--accent) 35%, var(--border));
  }
}

.scheduler-weekly-pill:hover {
  transform: translateY(-1px);
}

.scheduler-weekly-pill-text {
  white-space: nowrap;
  text-overflow: ellipsis;
  max-width: 220px;
  overflow: hidden;
}

.scheduler-weekly-pill-x {
  color: #dc2626;
  opacity: .85;
  font-weight: 800;
}

.scheduler-cell-edit-idle {
  outline: 2px dashed var(--border);
}

@supports (color: color-mix(in lab, red, red)) {
  .scheduler-cell-edit-idle {
    outline: 2px dashed color-mix(in oklab, var(--border) 85%, transparent);
  }
}

.scheduler-cell-edit-idle {
  outline-offset: -6px;
  border-radius: 12px;
}

.scheduler-cell-edit-over {
  outline-offset: -6px;
  background: #22c55e14;
  border-radius: 12px;
  outline: 2px dashed #22c55e;
}

.scheduler-weekly-add {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  cursor: pointer;
  background: none;
  flex-shrink: 0;
  height: 1.75rem;
  padding: 0 .5rem;
  font-size: .75rem;
  transition: background-color .12s;
}

.scheduler-weekly-add:hover {
  background: var(--hover);
}

.scheduler-weekly-add-disabled {
  opacity: .6;
  cursor: not-allowed;
}

.react-datepicker__day--highlighted-week {
  background: var(--accent) !important;
}

@supports (color: color-mix(in lab, red, red)) {
  .react-datepicker__day--highlighted-week {
    background: color-mix(in srgb, var(--accent) 18%, transparent) !important;
  }
}

.react-datepicker__day--highlighted-week {
  border-radius: 0 !important;
}

.react-datepicker__day--highlighted-week.react-datepicker__day--selected, .react-datepicker__day--highlighted-week.react-datepicker__day--keyboard-selected {
  background: var(--accent) !important;
  color: #fff !important;
}

.react-datepicker__day--highlighted-week.react-datepicker__day--mon {
  border-top-left-radius: 8px !important;
  border-bottom-left-radius: 8px !important;
}

.react-datepicker__day--highlighted-week.react-datepicker__day--sun {
  border-top-right-radius: 8px !important;
  border-bottom-right-radius: 8px !important;
}

.react-datepicker__day--highlighted-week {
  border-radius: 0 !important;
  margin: 2px !important;
}

.react-datepicker__week .react-datepicker__day--highlighted-week {
  border-radius: 0 !important;
}

.react-datepicker__week .react-datepicker__day--highlighted-week.react-datepicker__day--mon {
  border-top-left-radius: 8px !important;
  border-bottom-left-radius: 8px !important;
}

.react-datepicker__week .react-datepicker__day--highlighted-week.react-datepicker__day--sun {
  border-top-right-radius: 8px !important;
  border-bottom-right-radius: 8px !important;
}

.react-datepicker__day--selected {
  box-shadow: inset 0 0 0 2px var(--accent) !important;
}

@supports (color: color-mix(in lab, red, red)) {
  .react-datepicker__day--selected {
    box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--accent) 55%, transparent) !important;
  }
}

.scheduler-open-report-btn:hover:not(:disabled) {
  background-color: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .scheduler-open-report-btn:hover:not(:disabled) {
    background-color: color-mix(in oklab, var(--accent) 10%, transparent);
  }
}

.scheduler-open-report-btn:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.scheduler-open-report-btn-icononly {
  width: 2.5rem;
  padding-left: 0;
  padding-right: 0;
}

.scheduler-open-report-label {
  font-size: .875rem;
  font-weight: 500;
}

.scheduler-report-overlay {
  z-index: 9999;
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  inset: 0;
}

.scheduler-report-backdrop {
  background: #00000080;
  position: absolute;
  inset: 0;
}

.scheduler-report-modal {
  color: #000;
  background: #fff;
  border-radius: .75rem;
  width: 100%;
  max-width: 64rem;
  max-height: 85vh;
  position: relative;
  overflow: hidden;
  box-shadow: 0 20px 40px #0f172a66;
}

.scheduler-report-header {
  border-bottom: 1px solid var(--border);
  padding: .75rem 1rem;
}

.scheduler-report-header-inner {
  flex-direction: column;
  gap: .5rem;
  display: flex;
}

@media (min-width: 768px) {
  .scheduler-report-header-inner {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}

.scheduler-report-title {
  font-size: .875rem;
  font-weight: 600;
}

.scheduler-report-user-select {
  display: none;
}

.scheduler-report-body {
  max-height: calc(85vh - 56px);
  padding: 1rem;
  overflow-y: auto;
}

.scheduler-report-day {
  margin-bottom: 1rem;
}

.scheduler-report-day:last-child {
  margin-bottom: 0;
}

.scheduler-report-day-label {
  text-transform: capitalize;
  margin-bottom: .25rem;
  font-size: .875rem;
  font-weight: 600;
}

.scheduler-report-no-user, .scheduler-report-no-assignment {
  color: var(--muted-foreground);
  font-size: .875rem;
}

.scheduler-report-tags {
  flex-wrap: wrap;
  gap: .5rem;
  display: flex;
}

.scheduler-report-tag {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: #fff;
  flex-direction: column;
  min-width: 200px;
  padding: .25rem .5rem;
  font-size: .75rem;
  display: flex;
}

.scheduler-report-tag-title {
  white-space: nowrap;
  text-overflow: ellipsis;
  font-weight: 500;
  overflow: hidden;
}

.scheduler-report-tag-street {
  color: #6b7280;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: .6875rem;
  overflow: hidden;
}

.scheduler-report-sidebar {
  box-sizing: border-box;
  flex-direction: column;
  gap: 1rem;
  height: 100%;
  min-height: 0;
  padding: 1rem;
  display: flex;
}

.scheduler-report-sidebar-header {
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  display: flex;
}

.scheduler-report-sidebar-title {
  font-size: .875rem;
  font-weight: 600;
}

.scheduler-report-sidebar-controls {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.scheduler-report-sidebar-user-label {
  font-size: .875rem;
}

.scheduler-report-sidebar-user-select {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: #fff;
  min-width: 200px;
  height: 2.25rem;
  padding: 0 .5rem;
  font-size: .875rem;
}

.scheduler-report-sidebar-back-btn {
  border-radius: var(--radius-sm);
  border: 1px solid var(--accent);
  height: 2.25rem;
  color: var(--accent);
  cursor: pointer;
  background: none;
  padding: 0 .75rem;
  font-size: .875rem;
  transition: background-color .15s, color .15s, border-color .15s;
}

.scheduler-report-sidebar-back-btn:hover {
  background-color: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .scheduler-report-sidebar-back-btn:hover {
    background-color: color-mix(in oklab, var(--accent) 10%, transparent);
  }
}

.scheduler-report-sidebar-body {
  flex: auto;
  min-height: 0;
  overflow-y: auto;
}

.scheduler-layout-root {
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: var(--background);
  box-sizing: border-box;
  flex: auto;
  height: 100%;
  min-height: 0;
  display: flex;
  overflow: hidden;
}

.scheduler-layout-left {
  overflow-y: auto;
}

.scheduler-layout-divider {
  background: var(--border);
  cursor: col-resize;
  width: 3px;
  transition: background-color .2s;
}

.scheduler-layout-divider:hover {
  background: var(--accent);
}

.scheduler-layout-right {
  flex-direction: column;
  flex: auto;
  min-height: 0;
  display: flex;
  overflow: hidden;
}

.scheduler-layout-single {
  flex: auto;
  overflow-y: auto;
}

.scheduler-left-root {
  flex-direction: column;
  gap: 1.5rem;
  padding: 16px;
  display: flex;
  overflow-y: auto;
}

.scheduler-left-controls {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.scheduler-left-report-select {
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  background: var(--card);
  min-width: 220px;
  height: 2.25rem;
  color: var(--body);
  padding: 0 .5rem;
  font-size: .875rem;
}

.scheduler-left-myprojects-btn {
  border-radius: var(--radius-md);
  border: 1px solid var(--accent);
  height: 2.25rem;
  color: var(--accent);
  cursor: pointer;
  background: none;
  align-items: center;
  gap: .5rem;
  padding: 0 .75rem;
  transition: background-color .15s;
  display: inline-flex;
}

.scheduler-left-myprojects-btn:hover {
  background-color: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .scheduler-left-myprojects-btn:hover {
    background-color: color-mix(in oklab, var(--accent) 10%, transparent);
  }
}

.scheduler-left-myprojects-label {
  font-size: .875rem;
}

.scheduler-left-table-wrap {
  position: relative;
}

.scheduler-left-trash-rail {
  display: none;
}

@media (min-width: 768px) {
  .scheduler-left-trash-rail {
    pointer-events: none;
    -webkit-user-select: none;
    user-select: none;
    z-index: 60;
    inset-block: 0;
    background: #ef4444;
    border-radius: .75rem 0 0 .75rem;
    width: 1.25rem;
    display: block;
    position: absolute;
    right: 0;
    box-shadow: inset 0 0 0 1px #ffffff59;
  }
}

.scheduler-left-project-cell {
  color: var(--body);
  text-align: left;
  padding-left: 1rem;
  font-size: .875rem;
  font-weight: 600;
}

.scheduler-left-project-label {
  display: block;
}

.scheduler-left-project-title {
  font-weight: 500;
}

.scheduler-left-project-subtitle {
  color: var(--muted-foreground);
  font-size: .75rem;
  line-height: 1.25;
}

.scheduler-left-trash-btn {
  cursor: pointer;
  background: none;
  border: none;
  margin-top: .25rem;
  padding: .25rem;
}

.scheduler-left-day-cell {
  padding: .5rem 1rem;
  position: relative;
}

.scheduler-left-day-cell-edit {
  min-height: 120px;
}

.scheduler-left-day-cell-view {
  min-height: 48px;
}

.scheduler-left-drop-row {
  display: none;
}

@media (min-width: 768px) {
  .scheduler-left-drop-row {
    align-items: center;
    gap: .5rem;
    width: 100%;
    margin-bottom: .5rem;
    transition: opacity .15s;
    display: flex;
  }

  .scheduler-left-drop-row-hidden {
    opacity: 0;
  }

  .scheduler-left-drop-row-visible {
    opacity: 1;
  }
}

.scheduler-left-drop-here {
  border-radius: var(--radius-md);
  color: #16a34a;
  z-index: 30;
  background: #22c55e1a;
  border: 2px dashed #22c55e;
  flex: 1;
  justify-content: center;
  align-items: center;
  height: 2rem;
  font-size: .75rem;
  display: flex;
}

.scheduler-left-trash-zone {
  border-radius: var(--radius-md);
  color: #dc2626;
  z-index: 20;
  background: none;
  border: 2px dashed #ef4444;
  flex: 1;
  justify-content: center;
  align-items: center;
  height: 1.5rem;
  font-size: .75rem;
  transition: background-color .15s;
  display: flex;
}

.scheduler-left-trash-zone:hover {
  background: #fef2f2;
}

.scheduler-left-add-btn-desktop {
  background: var(--card);
  border: 2px solid #22c55e;
  border-radius: .25rem;
  justify-content: center;
  align-items: center;
  width: 1.5rem;
  height: 1.5rem;
  transition: background-color .15s;
  display: flex;
}

.scheduler-left-add-btn-desktop:hover {
  background: #ecfdf3;
}

.scheduler-left-add-icon {
  width: .875rem;
  height: .875rem;
}

.scheduler-left-empty-add-wrap {
  display: none;
}

@media (min-width: 768px) {
  .scheduler-left-empty-add-wrap {
    opacity: 0;
    transition: opacity .15s;
    display: flex;
  }

  td:hover .scheduler-left-empty-add-wrap {
    opacity: 1;
  }
}

.scheduler-left-empty-add-btn {
  background: var(--card);
  border: 2px solid #22c55e;
  border-radius: .25rem;
  justify-content: center;
  align-items: center;
  width: 1.5rem;
  height: 1.5rem;
  transition: opacity .15s, background-color .15s;
  display: flex;
  position: absolute;
  top: .5rem;
  right: 1rem;
}

.scheduler-left-drop-overlay {
  pointer-events: none;
  z-index: 20;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  inset: 0;
}

.scheduler-left-drop-overlay-inner {
  color: #15803d;
  background: #22c55e1a;
  border: 2px dashed #22c55e;
  border-radius: .75rem;
  justify-content: center;
  align-items: center;
  width: 90%;
  height: 90%;
  font-size: .75rem;
  display: flex;
}

.scheduler-left-tags-wrap {
  position: relative;
}

.scheduler-left-tags-row {
  flex-flow: wrap;
  align-items: center;
  gap: .25rem;
  width: 100%;
  min-height: 44px;
  padding-right: 3.5rem;
  display: flex;
}

@media (min-width: 768px) {
  .scheduler-left-tags-row {
    flex-direction: column;
    align-items: flex-start;
    gap: .25rem;
    padding-right: 0;
  }
}

.scheduler-left-tag {
  border-radius: 999px;
  align-items: center;
  gap: .25rem;
  padding: .25rem .75rem;
  font-size: .75rem;
  transition: all .15s ease-out;
  display: inline-flex;
  position: relative;
}

.scheduler-left-tag-remove {
  opacity: 0;
  pointer-events: none;
  justify-content: center;
  align-items: center;
  width: 0;
  margin-left: 0;
  transition: all .15s ease-out;
  display: flex;
  overflow: hidden;
}

.scheduler-left-tag-remove-visible {
  opacity: 1;
  pointer-events: auto;
  width: .875rem;
  margin-left: .25rem;
}

.scheduler-left-add-btn-mobile {
  background: var(--card);
  border: 2px solid #22c55e;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: 1.75rem;
  height: 1.75rem;
  display: flex;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  box-shadow: 0 1px 2px #0f172a40;
}

@media (min-width: 768px) {
  .scheduler-left-add-btn-mobile {
    display: none;
  }
}

.scheduler-right-root {
  flex-direction: column;
  gap: .5rem;
  height: 100%;
  min-height: 0;
  display: flex;
}

.scheduler-right-header {
  flex-shrink: 0;
  padding-bottom: .25rem;
}

.scheduler-right-title-row {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.scheduler-right-title-label {
  color: var(--foreground);
  font-size: .875rem;
  font-weight: 500;
  display: block;
}

.scheduler-right-form {
  flex-direction: column;
  gap: .75rem;
  display: flex;
}

.scheduler-right-project-row {
  align-items: flex-end;
  gap: .5rem;
  margin-bottom: .75rem;
  display: flex;
}

@media (min-width: 640px) {
  .scheduler-right-project-row {
    margin-bottom: 1rem;
  }
}

.scheduler-right-project-col {
  flex: auto;
  min-width: 0;
}

.scheduler-right-project-input {
  height: 52px;
  color: var(--body);
  padding-top: 0;
  padding-bottom: 0;
  line-height: 52px;
}

.scheduler-right-submit-btn {
  border-radius: var(--radius-sm);
  color: #fff;
  cursor: pointer;
  background: #16a34a;
  border: none;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 52px;
  height: 52px;
  transition: background-color .15s, opacity .15s;
  display: flex;
}

.scheduler-right-submit-btn:hover:not(:disabled) {
  background: #15803d;
}

.scheduler-right-submit-btn:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.scheduler-right-submit-icon {
  width: 1.5rem;
  height: 1.5rem;
}

.scheduler-right-day-groups {
  margin-top: .75rem;
  margin-bottom: .5rem;
}

.scheduler-right-day-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: flex-start;
  column-gap: 2rem;
  display: grid;
}

.scheduler-right-day-row {
  align-items: center;
  gap: .5rem;
  display: inline-flex;
}

.scheduler-right-day-row-main {
  font-weight: 600;
}

.scheduler-right-day-checkbox {
  width: 1rem;
  height: 1rem;
}

.scheduler-right-day-label {
  font-size: .875rem;
}

.scheduler-right-selected-row {
  flex-wrap: wrap;
  align-items: center;
  gap: .25rem;
  display: flex;
}

.scheduler-right-chip {
  border-radius: var(--radius-sm);
  align-items: center;
  gap: .25rem;
  padding: .25rem .75rem;
  font-size: .75rem;
  transition: all .15s ease-out;
  display: inline-flex;
  position: relative;
}

.scheduler-right-chip-remove {
  z-index: 60;
  opacity: 0;
  pointer-events: none;
  justify-content: center;
  align-items: center;
  width: .875rem;
  margin-left: .25rem;
  transition: opacity .15s ease-out;
  display: flex;
  position: relative;
}

.scheduler-right-chip-remove-visible {
  opacity: 1;
  pointer-events: auto;
}

.scheduler-right-chip-remove-x {
  -webkit-user-select: none;
  user-select: none;
  font-size: .875rem;
  font-weight: 700;
  line-height: 1;
}

.scheduler-right-divider {
  background: var(--accent);
  width: 100%;
  height: 1px;
  margin-top: .5rem;
}

.scheduler-right-lower {
  flex-direction: column;
  flex: auto;
  min-height: 0;
  display: flex;
}

.scheduler-right-lower-toolbar-wrap {
  flex-shrink: 0;
}

.scheduler-right-mode-buttons {
  flex-shrink: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .5rem;
  margin-top: .5rem;
  margin-bottom: .25rem;
  display: grid;
}

.scheduler-right-mode-btn {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  cursor: pointer;
  background: none;
  width: 100%;
  height: 2.25rem;
  font-size: .875rem;
  font-weight: 500;
  transition: background-color .15s, color .15s, border-color .15s;
}

.scheduler-right-mode-btn-default {
  color: var(--foreground);
}

.scheduler-right-mode-btn-default:hover {
  background: var(--hover);
}

.scheduler-right-mode-btn-active {
  background: var(--accent);
  color: #fff;
  border-color: var(--accent);
}

.scheduler-right-userlist-wrap {
  overscroll-behavior: contain;
  flex: auto;
  min-height: 0;
  overflow-y: auto;
}

.scheduler-right-userlist {
  flex-direction: column;
  gap: .25rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.scheduler-right-user-row {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.scheduler-right-user-add-btn {
  border-radius: var(--radius-sm);
  cursor: pointer;
  background: none;
  border: none;
  outline: none;
  align-items: center;
  gap: .5rem;
  padding: .125rem .25rem;
  transition: background-color .15s;
  display: inline-flex;
}

.scheduler-right-user-add-btn:hover, .scheduler-right-user-add-selected {
  background: var(--hover);
}

.scheduler-right-user-add-icon {
  pointer-events: none;
  color: #16a34a;
  opacity: 0;
  width: 1rem;
  height: 1rem;
  transition: opacity .15s;
}

.scheduler-right-user-add-btn:hover .scheduler-right-user-add-icon {
  opacity: 1;
}

.scheduler-right-user-name {
  text-align: left;
}

.scheduler-right-bench-btn {
  text-underline-offset: 2px;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0 .5rem;
  font-size: .75rem;
  text-decoration-thickness: 2px;
}

.scheduler-right-bench-btn:hover {
  text-decoration: underline;
}

.sp-browser-root {
  gap: 0;
  display: flex;
  position: relative;
}

@media (min-width: 768px) {
  .sp-browser-root {
    gap: 0;
  }
}

.sp-browser-root {
  box-sizing: border-box;
  width: 100%;
  height: calc(100vh - 12rem);
  min-height: 420px;
}

.sp-main-table {
  flex-direction: column;
  flex: auto;
  min-width: 0;
  display: flex;
  position: relative;
}

.sp-drop-pill {
  -webkit-user-select: none;
  user-select: none;
  border-style: solid;
  border-width: 1px;
  border-radius: 999px;
  align-items: center;
  height: 1.75rem;
  margin-left: auto;
  padding: 0 .75rem;
  font-size: .6875rem;
  display: inline-flex;
}

.sp-drop-pill-idle {
  border-color: var(--border);
  color: var(--muted-foreground);
  background: none;
}

.sp-drop-pill-active {
  border-color: var(--accent);
  color: var(--accent);
  background-color: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .sp-drop-pill-active {
    background-color: color-mix(in oklab, var(--accent) 10%, transparent);
  }
}

.sp-move-confirm-outer {
  z-index: 30;
  align-self: center;
  position: sticky;
  bottom: .5rem;
}

.sp-move-confirm {
  border: 1px solid var(--border);
  background: var(--card);
  border-radius: .75rem;
  align-items: center;
  gap: .75rem;
  min-width: 360px;
  padding: .5rem .75rem;
  font-size: .875rem;
  display: flex;
  box-shadow: 0 10px 25px #0f172a59;
}

.sp-move-confirm-text {
  font-size: .875rem;
}

.sp-move-cancel-btn {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  cursor: pointer;
  background: none;
  align-items: center;
  gap: .25rem;
  margin-left: auto;
  padding: .25rem .5rem;
  font-size: .875rem;
  transition: background-color .15s;
  display: inline-flex;
}

.sp-move-cancel-btn:hover:not(:disabled) {
  background: var(--hover);
}

.sp-move-confirm-btn {
  border-radius: var(--radius-sm);
  border: 1px solid var(--accent);
  background: var(--accent);
  color: #fff;
  cursor: pointer;
  align-items: center;
  gap: .25rem;
  padding: .25rem .5rem;
  font-size: .875rem;
  transition: opacity .15s;
  display: inline-flex;
}

.sp-move-confirm-btn:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.sp-move-confirm-btn:hover:not(:disabled) {
  opacity: .9;
}

.sp-mobile-root {
  border: 1px solid var(--border);
  background: var(--card);
  box-sizing: border-box;
  flex-direction: column;
  width: 100%;
  height: calc(100vh - 7rem);
  display: flex;
  position: relative;
  overflow: hidden;
}

.sp-mobile-controls {
  align-items: center;
  gap: .5rem;
  padding: .5rem;
  display: flex;
}

.sp-mobile-up-label {
  opacity: .7;
  font-size: .75rem;
}

.sp-upbar-track {
  height: .25rem;
}

.sp-upbar-fill {
  background: var(--accent);
  height: 100%;
  transition: width .15s;
}

.sp-upbar-fill-indeterminate {
  animation: 1.2s ease-in-out infinite spUpIndeterminate;
}

@keyframes spUpIndeterminate {
  0% {
    transform: translateX(-40%);
  }

  50% {
    transform: translateX(10%);
  }

  100% {
    transform: translateX(60%);
  }
}

.sp-ibtn-square {
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  display: grid;
}

.sp-mobile-path {
  opacity: .7;
  white-space: nowrap;
  margin-left: auto;
  font-size: .75rem;
}

.sp-mobile-list-wrap {
  border-radius: none;
  background: none;
  border: none;
  flex: auto;
  position: relative;
  overflow-y: auto;
}

.sp-mobile-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.sp-mobile-loading-overlay {
  z-index: 10;
  background: #0000001a;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  inset: 0;
}

.sp-mobile-loading-pill {
  border: 1px solid var(--border);
  padding: .5rem .75rem;
  font-size: .875rem;
  animation: 1.2s ease-in-out infinite pulse;
}

@keyframes pulse {
  50% {
    opacity: .5;
  }
}

.sp-mobile-empty {
  text-align: center;
  opacity: .6;
  padding: 2rem;
  font-size: .875rem;
}

.sp-mobile-row {
  align-items: center;
  gap: .75rem;
  padding: .75rem;
  transition: background-color .15s;
  display: flex;
}

.sp-mobile-row:hover, .sp-mobile-row-selected {
  background: var(--hover);
}

.sp-mobile-checkbox {
  flex-shrink: 0;
}

.sp-mobile-icon {
  flex-shrink: 0;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  display: grid;
}

.sp-mobile-main {
  flex: auto;
  min-width: 0;
}

.sp-mobile-name {
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: .9375rem;
  line-height: 1.25;
  overflow: hidden;
}

.sp-mobile-meta {
  opacity: .6;
  margin-top: .125rem;
  font-size: .75rem;
}

.sp-mobile-row-btn {
  cursor: pointer;
  background: none;
  padding: .25rem .5rem;
  font-size: .75rem;
  transition: background-color .15s;
}

.sp-mobile-row-btn:hover {
  background: var(--hover);
}

.sp-mobile-tree-overlay {
  z-index: 30;
  position: absolute;
  inset: 0;
}

.sp-mobile-tree-backdrop {
  background: #0006;
  position: absolute;
  inset: 0;
}

.sp-mobile-tree-panel {
  background: var(--card);
  border-right: 1px solid var(--accent);
  inset-block: 0;
  width: 80%;
  max-width: 16rem;
  position: absolute;
  left: 0;
  overflow-y: auto;
  box-shadow: 0 10px 25px #0f172a80;
}

.sp-mobile-tree-folder {
  text-align: left;
  cursor: pointer;
  background: none;
  border: none;
  align-items: center;
  padding: 0 .25rem;
  display: inline-flex;
}

.sp-mobile-tree-folder:hover {
  background: var(--hover);
}

.sp-mobile-tree-children {
  border-left: 1px solid var(--accent);
  margin-left: 1.5rem;
}

.visitor-panel-action {
  justify-content: center;
  margin-top: .75rem;
  display: flex;
}

.visitor-panel-checkout-btn {
  border-radius: var(--radius-sm);
  color: #fff;
  cursor: pointer;
  background: #dc2626;
  border: 1px solid #dc2626;
  height: 2rem;
  padding: 0 .75rem;
  font-size: .875rem;
  transition: background-color .15s, opacity .15s;
}

.visitor-panel-checkout-btn:hover:not(:disabled) {
  background: #b91c1c;
}

.visitor-panel-checkout-btn:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.visitor-panel-dialog-root {
  z-index: 50;
  position: relative;
}

.visitor-panel-dialog-backdrop {
  background: #0000004d;
  position: fixed;
  inset: 0;
}

.visitor-panel-dialog-shell {
  justify-content: center;
  align-items: center;
  padding: 1rem;
  display: flex;
  position: fixed;
  inset: 0;
}

.visitor-panel-dialog-panel {
  border: 1px solid var(--border);
  background: var(--card);
  width: 100%;
  max-width: 28rem;
  color: var(--card-foreground);
  border-radius: .75rem;
  box-shadow: 0 20px 40px #0f172a66;
}

.visitor-panel-dialog-inner {
  padding: 1rem;
}

.visitor-panel-dialog-title {
  font-size: 1rem;
  font-weight: 600;
}

.visitor-panel-dialog-description {
  opacity: .8;
  margin-top: .25rem;
  font-size: .875rem;
}

.visitor-panel-agreement-row {
  align-items: center;
  gap: .5rem;
  margin-top: 1rem;
  font-size: .875rem;
  display: flex;
}

.visitor-panel-agreement-checkbox {
  width: 1rem;
  height: 1rem;
}

.visitor-panel-dialog-footer {
  justify-content: flex-end;
  align-items: center;
  gap: .5rem;
  margin-top: 1.25rem;
  display: flex;
}

.visitor-panel-confirm-btn {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  cursor: pointer;
  background: none;
  height: 2rem;
  padding: 0 .75rem;
  font-size: .875rem;
  transition: background-color .15s, opacity .15s;
}

.visitor-panel-confirm-btn:hover:not(:disabled) {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .visitor-panel-confirm-btn:hover:not(:disabled) {
    background: color-mix(in oklab, var(--accent) 10%, transparent);
  }
}

.visitor-panel-confirm-btn:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.android-apk-overlay {
  z-index: 1000;
  position: fixed;
  inset: 0;
}

.android-apk-backdrop {
  background: #0009;
  position: absolute;
  inset: 0;
}

.android-apk-shell {
  justify-content: center;
  align-items: center;
  padding: 1rem;
  display: flex;
  position: absolute;
  inset: 0;
}

.android-apk-panel {
  border: 1px solid var(--border, #d1d5db);
  background: var(--card, #111827);
  width: 100%;
  max-width: 28rem;
  color: var(--card-foreground, #e5e7eb);
  border-radius: .75rem;
  overflow: hidden;
  box-shadow: 0 20px 40px #0f172a73;
}

.android-apk-header {
  border-bottom: 1px solid var(--border, #d1d5db);
  justify-content: space-between;
  align-items: center;
  padding: .75rem 1rem;
  display: flex;
}

.android-apk-title {
  font-size: 1rem;
  font-weight: 600;
}

.android-apk-close-btn {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border, #d1d5db);
  cursor: pointer;
  background: none;
  place-items: center;
  width: 2rem;
  height: 2rem;
  transition: background-color .15s, opacity .15s;
  display: grid;
}

.android-apk-close-btn:hover {
  background-color: var(--accent, #0f4d75);
}

@supports (color: color-mix(in lab, red, red)) {
  .android-apk-close-btn:hover {
    background-color: color-mix(in oklab, var(--accent, #0f4d75) 10%, transparent);
  }
}

.android-apk-body {
  flex-direction: column;
  gap: .75rem;
  padding: 1rem;
  display: flex;
}

.android-apk-text {
  opacity: .9;
  font-size: .875rem;
}

.android-apk-actions {
  gap: .5rem;
  display: flex;
}

.android-apk-primary-btn {
  border-radius: var(--radius-md);
  background: var(--accent, #0f4d75);
  color: #fff;
  cursor: pointer;
  border: none;
  flex: auto;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  padding: .75rem 1rem;
  font-weight: 500;
  transition: filter .15s, opacity .15s;
  display: inline-flex;
}

.android-apk-primary-btn:hover {
  filter: brightness(1.1);
}

.android-apk-primary-icon {
  width: 1rem;
  height: 1rem;
}

.android-apk-secondary-btn {
  border-radius: var(--radius-md);
  border: 1px solid var(--border, #d1d5db);
  cursor: pointer;
  background: none;
  padding: .75rem 1rem;
  font-size: .875rem;
  transition: background-color .15s, opacity .15s;
}

.android-apk-secondary-btn:hover {
  background-color: var(--accent, #0f4d75);
}

@supports (color: color-mix(in lab, red, red)) {
  .android-apk-secondary-btn:hover {
    background-color: color-mix(in oklab, var(--accent, #0f4d75) 10%, transparent);
  }
}

.android-apk-file-note {
  opacity: .7;
  font-size: .75rem;
}

.app-content-root {
  border-radius: var(--radius-xl, .75rem);
  flex-direction: column;
  flex: auto;
  gap: 1rem;
  width: 100%;
  min-height: 100vh;
  display: flex;
}

.app-header-root {
  z-index: 9999;
  pointer-events: auto;
  border-bottom: 1px solid var(--sidebar-border, #2b363d);
  width: 100%;
  position: sticky;
  top: 0;
}

@supports (color: color-mix(in lab, red, red)) {
  .app-header-root {
    border-bottom: 1px solid color-mix(in oklab, var(--sidebar-border, #2b363d) 60%, transparent);
  }
}

.app-header-root {
  background: var(--header);
  border-bottom-left-radius: var(--radius-sm);
  border-bottom-right-radius: var(--radius-sm);
}

.app-header-main {
  align-items: center;
  height: 4rem;
  padding: 0 1rem;
  display: flex;
}

.app-header-logo-link {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.app-header-logo {
  fill: currentColor;
  width: auto;
  height: 1.5rem;
  color: var(--gray-body);
}

.app-header-avatar {
  background: var(--card);
  width: 2.25rem;
  height: 2.25rem;
  color: var(--foreground);
  border: 1px solid var(--border);
  -webkit-user-select: none;
  user-select: none;
  border-radius: 1rem;
  justify-content: center;
  align-items: center;
  font-weight: 600;
  display: inline-flex;
}

.app-header-avatar-initials {
  font-size: .75rem;
}

.app-header-mobile-user {
  align-items: center;
  gap: .5rem;
  margin-left: auto;
  display: flex;
}

@media (min-width: 1024px) {
  .app-header-mobile-user {
    display: none;
  }
}

.app-header-desktop-right {
  z-index: 10000;
  pointer-events: auto;
  align-items: center;
  gap: 1rem;
  margin-left: auto;
  padding-left: 1rem;
  display: none;
  position: relative;
}

@media (min-width: 1024px) {
  .app-header-desktop-right {
    display: flex;
  }
}

.app-header-nav {
  gap: .5rem;
  display: flex;
}

.app-header-nav-link {
  border-radius: var(--radius-sm);
  align-items: center;
  padding: .25rem .75rem;
  text-decoration: none;
  display: flex;
  position: relative;
}

.app-header-nav-link:before {
  content: "";
  background: var(--accent);
  transform-origin: 0;
  height: 1.5px;
  transition: transform .2s;
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  transform: scaleX(0);
}

.app-header-nav-link-active:before, .app-header-nav-link:not(.app-header-nav-link-active):hover:before {
  transform: scaleX(1);
}

.app-header-nav-label {
  color: var(--gray-body);
  font-size: .875rem;
  font-weight: 500;
}

.app-header-nav-label:hover {
  color: var(--accent);
  font-size: .875rem;
  font-weight: 500;
}

.app-header-nav-label-active {
  opacity: 1;
  color: var(--accent);
}

.app-header-mobile-guest {
  align-items: center;
  gap: .5rem;
  margin-left: auto;
  display: flex;
}

.app-header-mobile-login-btn {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  padding: .375rem .75rem;
  font-size: .875rem;
  font-weight: 500;
}

@media (min-width: 1024px) {
  .app-header-mobile-guest {
    display: none;
  }
}

.app-header-desktop-login {
  align-items: center;
  gap: .75rem;
  margin-left: auto;
  display: none;
}

@media (min-width: 1024px) {
  .app-header-desktop-login {
    display: flex;
  }
}

.app-header-login-form {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.app-header-login-field {
  flex-direction: column;
  display: flex;
}

.app-header-login-input {
  height: 2.25rem;
  font-size: .875rem;
}

.app-header-login-input.email {
  width: 12rem;
}

.app-header-login-input.password {
  width: 10rem;
}

.app-header-login-button {
  height: 2.25rem;
  padding: 0 1rem;
}

.app-header-breadcrumb-row {
  align-items: center;
  height: 3rem;
  padding: 0 1rem;
  display: none;
}

@media (min-width: 1024px) {
  .app-header-breadcrumb-row {
    display: flex;
  }
}

.app-header-breadcrumb-list {
  color: var(--body);
  align-items: center;
  gap: .5rem;
  font-size: .875rem;
  display: flex;
}

.app-header-breadcrumb-item {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.app-header-breadcrumb-separator {
  opacity: .5;
}

.app-header-breadcrumb-link {
  text-decoration: none;
}

.app-header-breadcrumb-link:hover {
  text-decoration: underline;
}

.app-header-breadcrumb-label {
  opacity: .8;
}

.app-logo-light {
  display: block;
}

.app-logo-dark {
  display: none;
}

.app-logo {
  fill: currentColor;
  color: #fff;
  width: 1.25rem;
  height: 1.25rem;
}

.app-shell-root {
  flex-direction: column;
  width: 100%;
  min-height: 100vh;
  display: flex;
}

.app-sidebar-header {
  border-bottom: 1px solid var(--sidebar-border, #00000080);
  flex-shrink: 0;
  align-items: center;
  gap: .5rem;
  height: 4rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  transition-property: width, height;
  transition-timing-function: linear;
  display: flex;
}

.sidebar-wrapper[data-collapsible="icon"] .app-sidebar-header {
  height: 3rem;
}

@media (min-width: 768px) {
  .app-sidebar-header {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.app-sidebar-header-inner {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.app-sidebar-header-trigger {
  margin-left: -.25rem;
}

.app-sidebar-logo {
  width: auto;
  height: 1.5rem;
}

.app-sidebar-footer {
  margin-top: auto;
}

.appearance-toggle-btn {
  border-radius: .375rem;
  width: 2.25rem;
  height: 2.25rem;
}

.appearance-icon {
  width: 1.25rem;
  height: 1.25rem;
}

.appearance-item {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.appearance-tab-root {
  background-color: #f5f5f5;
  border-radius: .5rem;
  gap: .25rem;
  padding: .25rem;
  display: inline-flex;
}

.appearance-tab-btn {
  border-radius: .375rem;
  align-items: center;
  padding: .375rem .875rem;
  transition: background-color .2s, color .2s;
  display: flex;
}

.appearance-tab-btn-active {
  box-shadow: var(--shadow-xs);
  color: inherit;
  background-color: #fff;
}

.appearance-tab-btn-idle {
  color: #737373;
}

.appearance-tab-btn-idle:hover {
  color: #000;
  background-color: #0000001f;
}

.appearance-tab-icon {
  width: 1rem;
  height: 1rem;
  margin-left: -.25rem;
}

.appearance-tab-label {
  margin-left: .375rem;
  font-size: .875rem;
}

.app-logo-default {
  fill: currentColor;
  color: #fff;
  width: 1.25rem;
  height: 1.25rem;
}

.avatar-uploader-root {
  box-sizing: border-box;
  border-style: solid;
  border-width: 1px;
  border-radius: .125rem;
  width: 3rem;
  height: 3rem;
  position: relative;
}

.avatar-uploader-editing {
  cursor: pointer;
  border-color: #4b5563;
}

.avatar-uploader-disabled {
  cursor: not-allowed;
  border-color: #1f2937;
}

.avatar-uploader-image {
  object-fit: cover;
  border-radius: .125rem;
  width: 100%;
  height: 100%;
}

.avatar-uploader-delete-btn {
  color: #fff;
  cursor: pointer;
  background: #0009;
  border: none;
  border-radius: 0 0 0 .125rem;
  padding: 0 .25rem;
  font-size: .75rem;
  transition: background-color .15s;
  position: absolute;
  top: 0;
  right: 0;
}

.avatar-uploader-delete-btn:hover {
  background: #dc2626;
}

.avatar-uploader-empty {
  color: #6b7280;
  background: #0003;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  font-size: .75rem;
  display: flex;
}

.avatar-uploader-input-hidden {
  display: none;
}

.checkin-block-root {
  border-style: solid;
  border-width: 1px;
  border-color: var(--border, #1c262b);
  border-radius: 1rem;
  width: 100%;
}

@supports (color: color-mix(in lab, red, red)) {
  .checkin-block-root {
    border-color: color-mix(in oklab, var(--border, #1c262b) 15%, transparent);
  }
}

.checkin-block-root {
  background: var(--card, #fff);
  box-shadow: 0 1px 2px #0f172a0f;
}

.checkin-block-header {
  border-bottom: 1px solid var(--border, #1c262b);
  justify-content: space-between;
  align-items: center;
  padding: .75rem 1rem;
  display: flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .checkin-block-header {
    border-bottom: 1px solid color-mix(in oklab, var(--border, #1c262b) 15%, transparent);
  }
}

.checkin-block-header-left {
  align-items: center;
  gap: .75rem;
  display: flex;
}

.checkin-block-icon-main {
  width: 1.25rem;
  height: 1.25rem;
  color: var(--accent, #0f4d75);
}

.checkin-block-title {
  font-size: 1rem;
  font-weight: 600;
}

.checkin-block-date {
  color: var(--foreground, #1c262b);
  font-size: .75rem;
}

@supports (color: color-mix(in lab, red, red)) {
  .checkin-block-date {
    color: color-mix(in oklab, var(--foreground, #1c262b) 60%, transparent);
  }
}

.checkin-block-body {
  padding: 1rem;
}

.checkin-block-loading {
  color: var(--foreground, #1c262b);
  font-size: .875rem;
}

@supports (color: color-mix(in lab, red, red)) {
  .checkin-block-loading {
    color: color-mix(in oklab, var(--foreground, #1c262b) 70%, transparent);
  }
}

.checkin-block-active {
  flex-direction: column;
  gap: .75rem;
  display: flex;
}

.checkin-block-project-row {
  align-items: center;
  gap: .5rem;
  font-size: .875rem;
  display: flex;
}

.checkin-block-project-icon {
  opacity: .8;
  width: 1rem;
  height: 1rem;
}

.checkin-block-project-title {
  font-weight: 500;
}

.checkin-block-summary-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  font-size: .875rem;
  display: grid;
}

.checkin-block-summary-card {
  border-style: solid;
  border-width: 1px;
  border-color: var(--border, #1c262b);
  border-radius: .75rem;
}

@supports (color: color-mix(in lab, red, red)) {
  .checkin-block-summary-card {
    border-color: color-mix(in oklab, var(--border, #1c262b) 15%, transparent);
  }
}

.checkin-block-summary-card {
  padding: .75rem;
}

.checkin-block-summary-label {
  opacity: .7;
  font-size: .75rem;
}

.checkin-block-summary-value {
  font-weight: 600;
}

.checkin-block-actions-row {
  align-items: center;
  gap: .75rem;
  display: flex;
}

.checkin-block-checkout-btn {
  border-style: solid;
  border-width: 2px;
  border-color: var(--accent-warm, #f97316);
  color: var(--accent-warm, #f97316);
  cursor: pointer;
  background: none;
  border-radius: .75rem;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  padding: .5rem 1rem;
  font-size: .875rem;
  font-weight: 600;
  transition: opacity .15s;
  display: inline-flex;
}

.checkin-block-checkout-btn:hover:not(:disabled) {
  opacity: .9;
}

.checkin-block-checkout-btn:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.checkin-block-inactive {
  flex-direction: column;
  gap: 1rem;
  display: flex;
}

.checkin-block-field {
  flex-direction: column;
  gap: .25rem;
  display: flex;
}

.checkin-block-field-label {
  opacity: .7;
  font-size: .75rem;
}

.checkin-block-select {
  border: 1px solid var(--border, #1c262b);
  background: none;
  border-radius: .75rem;
  width: 100%;
}

@supports (color: color-mix(in lab, red, red)) {
  .checkin-block-select {
    border: 1px solid color-mix(in oklab, var(--border, #1c262b) 25%, transparent);
  }
}

.checkin-block-select {
  outline: none;
  padding: .5rem .75rem;
  font-size: .875rem;
}

.checkin-block-select:focus {
  box-shadow: 0 0 0 2px var(--accent, #0f4d75);
  outline: none;
}

@supports (color: color-mix(in lab, red, red)) {
  .checkin-block-select:focus {
    box-shadow: 0 0 0 2px color-mix(in oklab, var(--accent, #0f4d75) 40%, transparent);
  }
}

.checkin-block-checkin-btn {
  background: var(--accent, #0f4d75);
  color: #fff;
  cursor: pointer;
  border: none;
  border-radius: .75rem;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  padding: .5rem 1rem;
  font-size: .875rem;
  font-weight: 600;
  transition: opacity .15s;
  display: inline-flex;
}

.checkin-block-checkin-btn:hover:not(:disabled) {
  opacity: .9;
}

.checkin-block-checkin-btn:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.checkin-block-action-icon {
  width: 1rem;
  height: 1rem;
}

.checkin-block-error {
  color: #ef4444;
  background: #ef44440d;
  border: 1px solid #ef44444d;
  border-radius: .75rem;
  align-items: flex-start;
  gap: .5rem;
  margin-top: 1rem;
  padding: .5rem .75rem;
  font-size: .875rem;
  display: flex;
}

.checkin-block-error-icon {
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  margin-top: .125rem;
}

.delete-user-root {
  flex-direction: column;
  gap: 1.5rem;
  display: flex;
}

.delete-user-warning-card {
  background: #fef2f2;
  border: 1px solid #fee2e2;
  border-radius: .5rem;
  flex-direction: column;
  gap: 1rem;
  padding: 1rem;
  display: flex;
}

.delete-user-warning-text {
  color: #dc2626;
  flex-direction: column;
  gap: .125rem;
  display: flex;
  position: relative;
}

.delete-user-warning-title {
  font-weight: 500;
}

.delete-user-warning-body {
  font-size: .875rem;
}

.delete-user-form {
  flex-direction: column;
  gap: 1.5rem;
  display: flex;
}

.delete-user-field-group {
  gap: .5rem;
  display: grid;
}

.delete-user-dialog-footer {
  gap: .5rem;
  display: flex;
}

.dropdown-root {
  text-align: left;
  display: inline-block;
  position: relative;
}

.dropdown-trigger {
  color: var(--body);
  align-items: center;
  font-size: .875rem;
  font-weight: 500;
  display: flex;
}

.dropdown-trigger:hover {
  opacity: .9;
}

.dropdown-trigger-icon {
  width: 1rem;
  height: 1rem;
  margin-left: .25rem;
}

.dropdown-content {
  border: 1px solid var(--border);
  color: var(--foreground);
  background: #fff;
  outline: none;
  margin-top: .5rem;
  position: absolute;
  box-shadow: 0 4px 12px #00000026;
}

.dropdown-content-align-start {
  transform-origin: 0 0;
  left: 0;
}

.dropdown-content-align-end {
  transform-origin: 100% 0;
  right: 0;
}

.dropdown-width-default {
  width: 12rem;
}

.dropdown-content-inner {
  padding: .25rem 0;
}

.dropdown-enter {
  transition: all .15s ease-out;
}

.dropdown-enter-from {
  opacity: 0;
  transform: scale(.95);
}

.dropdown-enter-to {
  opacity: 1;
  transform: scale(1);
}

.dropdown-leave {
  transition: all .1s ease-in;
}

.dropdown-leave-from {
  opacity: 1;
  transform: scale(1);
}

.dropdown-leave-to {
  opacity: 0;
  transform: scale(.95);
}

.dropdown-item {
  text-align: left;
  width: 100%;
  color: var(--foreground);
  padding: .5rem 1rem;
  font-size: .875rem;
  display: block;
}

.dropdown-item-active {
  background: #0000001a;
}

.dropdown-item-disabled {
  opacity: .5;
  pointer-events: none;
}

.dropdown-separator {
  background: var(--border);
  height: 1px;
  margin: .25rem 0;
}

.emergency-contacts-root {
  margin-top: 1rem;
  font-size: .75rem;
}

.emergency-contacts-rows {
  flex-direction: column;
  gap: .375rem;
  margin-top: .25rem;
  display: flex;
}

.emergency-contacts-label {
  font-weight: 500;
}

.emergency-contacts-phone {
  text-align: right;
}

.emergency-contacts-phone-link {
  color: var(--accent, #0f4d75);
  text-underline-offset: 2px;
  white-space: nowrap;
  font-size: .6875rem;
  text-decoration: underline;
}

.emergency-contacts-phone-text {
  color: var(--muted-foreground, #6b7280);
  white-space: nowrap;
  font-size: .6875rem;
}

.findvis-root {
  flex-direction: column;
  gap: 1rem;
  display: flex;
}

.findvis-title {
  font-size: 1.125rem;
  font-weight: 600;
}

.findvis-input {
  height: 2.75rem;
}

.findvis-results {
  border: 1px solid var(--border);
  background: var(--card);
  border-collapse: separate;
  border-radius: .5rem;
  overflow: hidden;
}

.findvis-loading {
  color: var(--muted-foreground);
  align-items: center;
  gap: .5rem;
  padding: 1rem;
  display: flex;
}

.findvis-spinner {
  width: 1rem;
  height: 1rem;
  animation: 1s linear infinite findvis-spin;
}

@keyframes findvis-spin {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

.findvis-empty {
  color: var(--muted-foreground);
  padding: 1rem;
}

.findvis-result-row {
  text-align: left;
  cursor: pointer;
  background: none;
  border: none;
  width: 100%;
  padding: .75rem;
  transition: background-color .15s;
}

.findvis-result-row:hover {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .findvis-result-row:hover {
    background: color-mix(in oklab, var(--accent) 5%, transparent);
  }
}

.findvis-result-name {
  font-weight: 500;
}

.findvis-result-email {
  color: var(--muted-foreground);
  font-size: .875rem;
}

.findvis-selected-card {
  border: 1px solid var(--border);
  background: var(--card);
  border-radius: .5rem;
  flex-direction: column;
  gap: .75rem;
  padding: 1rem;
  display: flex;
}

.findvis-selected-title {
  font-weight: 600;
}

.findvis-selected-text {
  color: var(--muted-foreground);
  font-size: .875rem;
}

.findvis-selected-actions {
  align-items: center;
  gap: .75rem;
  display: flex;
}

.findvis-selected-btn {
  height: 2.5rem;
}

.geo-banner {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--card, #0b1a22);
  color: var(--gray-body, #e5e7eb);
  padding: 1rem;
  position: relative;
  box-shadow: 0 1px 2px #0000001a;
}

.geo-banner-inner {
  align-items: flex-start;
  gap: .75rem;
  display: flex;
}

.geo-banner-icon {
  flex-shrink: 0;
  margin-top: .125rem;
}

.geo-banner-body {
  flex: 1;
  min-width: 0;
}

.geo-title {
  margin-bottom: .25rem;
  font-size: .875rem;
  font-weight: 600;
}

.geo-text {
  margin-bottom: .75rem;
  font-size: .875rem;
}

.geo-section-list {
  flex-direction: column;
  gap: .75rem;
  font-size: .875rem;
  display: flex;
}

.geo-section-title {
  margin-bottom: .25rem;
  font-weight: 500;
}

.geo-muted {
  opacity: .9;
}

.geo-list {
  opacity: .9;
  padding-left: 1.25rem;
  list-style-type: disc;
}

.geo-close {
  cursor: pointer;
  background: none;
  border: none;
  border-radius: .375rem;
  flex-shrink: 0;
  padding: .375rem;
  transition: background-color .15s;
}

.geo-close:hover {
  background: #ffffff1a;
}

.geo-close:focus {
  outline: 2px solid var(--rsv-accent);
}

.geo-close-icon {
  width: 1rem;
  height: 1rem;
}

.geo-toggle-root {
  border: 1px solid var(--border);
  border-radius: .375rem;
  justify-content: space-between;
  align-items: center;
  padding: .5rem .75rem;
  display: flex;
}

.geo-toggle-text {
  flex-direction: column;
  display: flex;
}

.geo-toggle-title {
  font-size: .875rem;
  font-weight: 500;
}

.geo-toggle-subtitle {
  color: var(--rsv-muted, #6b7280);
  font-size: .75rem;
}

.geo-toggle-error {
  color: #dc2626;
  margin-top: .25rem;
  font-size: .75rem;
}

.geo-toggle-control {
  cursor: pointer;
  align-items: center;
  gap: .5rem;
  display: inline-flex;
}

.geo-toggle-checkbox {
  width: 1rem;
  height: 1rem;
}

.geo-toggle-label {
  font-size: .875rem;
}

.globalsearch-root {
  z-index: 100000;
  position: fixed;
  inset: 0;
}

.globalsearch-backdrop {
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  background: #0009;
  position: absolute;
  inset: 0;
}

.globalsearch-panel {
  background: var(--background);
  border: 1px solid var(--border);
  inset-inline: 0;
  border-radius: .75rem;
  flex-direction: column;
  width: 92vw;
  max-width: 48rem;
  margin-inline: auto;
  display: flex;
  position: absolute;
  top: 8vh;
  box-shadow: 0 25px 60px #0f172a73;
}

.globalsearch-header {
  border-bottom: 1px solid var(--border);
  align-items: center;
  gap: .5rem;
  padding-block: .75rem;
  padding-inline: .75rem;
  display: flex;
}

@media (min-width: 640px) {
  .globalsearch-header {
    padding-block: 1rem;
    padding-inline: 1rem;
  }
}

.globalsearch-icon {
  opacity: .7;
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
}

.globalsearch-input {
  background: none;
  border: none;
  outline: none;
  width: 100%;
  font-size: 1rem;
}

@media (min-width: 640px) {
  .globalsearch-input {
    font-size: 1.125rem;
  }
}

.globalsearch-spinner {
  opacity: .7;
  width: 1.25rem;
  height: 1.25rem;
  animation: .9s linear infinite globalsearch-spin;
}

@keyframes globalsearch-spin {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

.globalsearch-close-btn {
  cursor: pointer;
  background: none;
  border: none;
  border-radius: .375rem;
  margin-left: .25rem;
  padding: .25rem;
  transition: background-color .15s;
}

.globalsearch-close-btn:hover {
  background: var(--muted);
}

.globalsearch-close-icon {
  width: 1.25rem;
  height: 1.25rem;
}

.globalsearch-error {
  color: #f87171;
  border-bottom: 1px solid var(--border);
  align-items: center;
  gap: .5rem;
  padding-block: .5rem;
  padding-inline: 1rem;
  font-size: .875rem;
  display: flex;
}

.globalsearch-error-icon {
  width: 1rem;
  height: 1rem;
}

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

.globalsearch-results {
  max-height: 65vh;
  overflow-y: auto;
}

.globalsearch-hint {
  opacity: .7;
  padding-block: 1.5rem;
  padding-inline: 1rem;
  font-size: .875rem;
}

.globalsearch-group-header {
  text-transform: uppercase;
  letter-spacing: .08em;
  opacity: .6;
  padding-inline: 1rem;
  padding-top: 1rem;
  padding-bottom: .5rem;
  font-size: .75rem;
}

.globalsearch-group-list {
  padding-inline: .5rem;
  margin: 0;
  padding-bottom: .5rem;
  list-style: none;
}

.globalsearch-hit-btn {
  text-align: left;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: .375rem;
  width: 100%;
  padding: .5rem;
  transition: background-color .15s, box-shadow .15s;
}

.globalsearch-hit-btn:hover {
  background: var(--muted);
}

.globalsearch-hit-btn-active {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .globalsearch-hit-btn-active {
    background: color-mix(in oklab, var(--accent) 15%, transparent);
  }
}

.globalsearch-hit-btn-active {
  box-shadow: 0 0 0 1px var(--accent);
}

.globalsearch-hit-title {
  font-size: .875rem;
  font-weight: 500;
}

.globalsearch-hit-subtitle {
  opacity: .7;
  font-size: .75rem;
}

.globalsearch-footer {
  opacity: .6;
  border-top: 1px solid var(--border);
  padding-block: .75rem;
  padding-inline: 1rem;
  font-size: .6875rem;
}

.globalsearch-footer-kbd {
  border: 1px solid var(--border);
  border-radius: .25rem;
  padding-block: .125rem;
  padding-inline: .25rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
  font-size: .75rem;
}

.googleaddr-loading {
  opacity: .7;
  font-size: .875rem;
}

.googleaddr-root {
  flex-direction: column;
  gap: .5rem;
  display: flex;
}

.googleaddr-input {
  border: 1px solid var(--border);
  box-sizing: border-box;
  border-radius: .375rem;
  width: 100%;
  height: 2.5rem;
  padding: 0 .75rem;
  font-size: .875rem;
}

.googleaddr-map-card {
  border: 1px solid var(--border);
  background: var(--card);
  border-radius: .5rem;
  overflow: hidden;
}

.googleaddr-map {
  height: 160px;
}

.googleaddr-map-caption {
  color: var(--muted-foreground);
  white-space: nowrap;
  text-overflow: ellipsis;
  padding: .5rem .75rem;
  font-size: .75rem;
  overflow: hidden;
}

.googleaddr-map-coords {
  opacity: .8;
  margin-left: .5rem;
}

.googleaddr-edit-card {
  border: 1px solid var(--border);
  background: var(--card);
  border-radius: .5rem;
  flex-direction: column;
  gap: .5rem;
  padding: .75rem;
  display: flex;
}

.googleaddr-edit-label {
  color: var(--muted-foreground);
  font-size: .75rem;
  font-weight: 500;
}

.googleaddr-grid-address {
  grid-template-columns: 1fr;
  gap: .5rem;
  display: grid;
}

@media (min-width: 640px) {
  .googleaddr-grid-address {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.googleaddr-grid-coords {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .5rem;
  display: grid;
}

.googleaddr-field {
  border: 1px solid var(--border);
  box-sizing: border-box;
  border-radius: .375rem;
  padding: .5rem .75rem;
  font-size: .875rem;
}

.googleaddr-state {
  text-transform: uppercase;
  letter-spacing: .08em;
}

.googleaddr-actions {
  align-items: center;
  gap: .5rem;
  padding-top: .25rem;
  display: flex;
}

.googleaddr-btn-primary {
  color: #fff;
  cursor: pointer;
  background: #16a34a;
  border: none;
  border-radius: .375rem;
  height: 2rem;
  padding: 0 .75rem;
  font-size: .875rem;
  font-weight: 500;
  transition: background-color .15s, opacity .15s;
}

.googleaddr-btn-primary:hover {
  background: #15803d;
}

.googleaddr-btn-primary-disabled {
  color: #4b5563;
  cursor: not-allowed;
  background: #d1d5db;
}

.googleaddr-btn-secondary {
  border: 1px solid var(--border);
  cursor: pointer;
  background: none;
  border-radius: .375rem;
  height: 2rem;
  padding: 0 .75rem;
  font-size: .875rem;
}

.googleaddr-dirty-flag {
  opacity: .7;
  font-size: .75rem;
}

.heading-small {
  margin: 0;
  padding: 0;
}

.heading-small-title {
  margin-bottom: .125rem;
  font-size: 1rem;
  font-weight: 500;
}

.heading-small-desc {
  color: var(--muted-foreground);
  font-size: .875rem;
}

.heading {
  flex-direction: column;
  gap: .125rem;
  margin-bottom: 2rem;
  display: flex;
}

.heading-title {
  letter-spacing: -.01em;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.2;
}

.heading-desc {
  color: var(--muted-foreground);
  font-size: .875rem;
}

.icon-default {
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  display: inline-block;
}

.idscanner-root {
  background: #000;
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.idscanner-video {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.idscanner-shade-rect, .idscanner-frame {
  position: absolute;
}

.idscanner-shutter {
  pointer-events: none;
  background: #ffffffb3;
  animation: .2s ease-out forwards idscanner-fade;
  position: absolute;
  inset: 0;
}

@keyframes idscanner-fade {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

.input-error-text {
  color: #dc2626;
  font-size: .875rem;
}

.masonry-root {
  align-items: flex-start;
  gap: 1rem;
  width: 100%;
  height: 100%;
  min-height: 0;
  display: flex;
}

.masonry-column {
  flex-direction: column;
  flex: 1;
  gap: 1rem;
  min-width: 0;
  display: flex;
}

.masonry-card {
  break-inside: avoid;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--card);
  overflow: hidden;
}

.masonry-card-selected {
  border-color: #22c55e;
}

.masonry-card-inner {
  cursor: pointer;
  width: 100%;
  position: relative;
  overflow: hidden;
}

.multiuser-tags-root {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.multiuser-dropdown-wrapper {
  position: relative;
}

.multiuser-add-btn {
  color: #fff;
  cursor: pointer;
  background: #2563eb;
  border: none;
  border-radius: 9999px;
  justify-content: center;
  align-items: center;
  width: 1.5rem;
  height: 1.5rem;
  transition: background-color .15s;
  display: flex;
}

.multiuser-add-btn:hover {
  background: #1d4ed8;
}

.multiuser-dropdown {
  z-index: 20;
  border: 1px solid var(--border);
  background: var(--muted);
  width: 10rem;
  color: var(--foreground);
  border-radius: .5rem;
  margin-top: .5rem;
  position: absolute;
  overflow: hidden;
  box-shadow: 0 10px 20px #0f172a59;
}

.multiuser-dropdown-option {
  text-align: left;
  cursor: pointer;
  background: none;
  border: none;
  width: 100%;
  padding: .25rem .75rem;
  font-size: .875rem;
  transition: background-color .15s;
  display: block;
}

.multiuser-dropdown-option:hover {
  background-color: var(--muted);
}

@supports (color: color-mix(in lab, red, red)) {
  .multiuser-dropdown-option:hover {
    background-color: color-mix(in oklab, var(--muted) 80%, transparent);
  }
}

.multiuser-dropdown-empty {
  color: var(--muted-foreground);
  padding: .5rem .75rem;
  font-size: .875rem;
}

.multiuser-tag {
  color: #fff;
  cursor: grab;
  background: #1e40af;
  border-radius: .375rem;
  align-items: center;
  gap: .25rem;
  padding: .25rem .5rem;
  font-size: .875rem;
  display: flex;
}

.multiuser-tag-remove {
  cursor: pointer;
  background: none;
  border: none;
  border-radius: .375rem;
  justify-content: center;
  align-items: center;
  width: 1.25rem;
  height: 1.25rem;
  margin-left: .25rem;
  transition: background-color .15s, box-shadow .15s;
  display: flex;
}

.multiuser-tag-remove:hover {
  background: #f8717133;
}

.multiuser-tag-remove:focus {
  outline-offset: 2px;
  outline: 2px solid #fca5a5;
}

.footer-root {
  color: #a1a09a;
  background: #1c262b;
}

.footer-grid {
  grid-template-columns: 1fr;
  gap: 2rem;
  max-width: 80rem;
  margin: 0 auto;
  padding: 3rem 1rem;
  display: grid;
}

@media (min-width: 640px) {
  .footer-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 768px) {
  .footer-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.footer-title {
  color: #fff;
  margin-bottom: 1rem;
  font-weight: 600;
}

.footer-address {
  gap: .25rem;
  font-style: normal;
  display: grid;
}

.footer-link {
  color: #a1a09a;
  text-decoration: none;
}

.footer-link:hover {
  text-decoration: underline;
}

.footer-list {
  gap: .5rem;
  display: grid;
}

.footer-list-item {
  border-bottom: 1px solid #374151;
  padding-bottom: .25rem;
}

.footer-list-link {
  color: #a1a09a;
  align-items: center;
  gap: .5rem;
  text-decoration: none;
  display: flex;
}

.footer-list-link:hover {
  color: #fff;
}

.footer-list-arrow {
  color: #dc6504;
}

.footer-social {
  gap: 1rem;
  display: flex;
}

.footer-social-link {
  color: #a1a09a;
  font-size: 1.25rem;
}

.footer-social-link:hover {
  color: #fff;
}

.footer-featured-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: .5rem;
  display: grid;
}

.footer-featured-img {
  object-fit: cover;
  border-radius: .25rem;
  width: 100%;
  height: 60px;
}

.footer-bottom {
  text-align: center;
  border-top: 1px solid #374151;
  padding: 1rem 0;
  font-size: .75rem;
}

.navmain-group {
  padding: .5rem .5rem 0;
}

.navmain-label {
  opacity: .7;
  margin-bottom: .25rem;
  padding-left: .25rem;
  font-size: .75rem;
}

.navmain-menu {
  flex-direction: column;
  gap: .25rem;
  display: flex;
}

.navmain-button {
  border-radius: var(--radius-sm);
  align-items: center;
  gap: .5rem;
  display: flex;
}

.navmain-link {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.navmain-icon {
  width: 1rem;
  height: 1rem;
}

.navmain-title {
  font-size: .875rem;
}

.navuser-button {
  color: var(--sidebar-accent-foreground);
  align-items: center;
  gap: .5rem;
  width: 100%;
  display: inline-flex;
}

.navuser-button[data-state="open"] {
  background-color: var(--sidebar-accent);
}

.navuser-chevron {
  width: 1rem;
  height: 1rem;
  margin-left: auto;
}

.navuser-menu-content {
  width: var(--radix-dropdown-menu-trigger-width);
  border-radius: .5rem;
  min-width: 14rem;
}

.navdropdown-trigger {
  background: var(--card);
  border-radius: var(--radius-sm);
  align-items: center;
  gap: .5rem;
  padding: .5rem .75rem;
  font-size: .875rem;
  transition: background .15s;
  display: flex;
}

.navdropdown-trigger:hover {
  background: var(--hover);
}

.navdropdown-trigger-icon {
  width: 1.25rem;
  height: 1.25rem;
}

.navdropdown-menu {
  border-radius: var(--radius-sm);
  min-width: 10rem;
  padding: .25rem 0;
}

.navdropdown-item {
  padding: 0;
}

.navdropdown-link {
  border-radius: var(--radius-sm);
  align-items: center;
  gap: .5rem;
  width: 100%;
  padding: .375rem .5rem;
  font-size: .875rem;
  transition: background .15s;
  display: flex;
}

.navdropdown-link:hover {
  background: var(--hover);
}

.navdropdown-link-icon {
  opacity: .85;
  width: 1rem;
  height: 1rem;
}

.navlink-base {
  border-bottom-width: 2px;
  outline: none;
  align-items: center;
  padding-top: .25rem;
  padding-left: .25rem;
  padding-right: .25rem;
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.25rem;
  transition: color .15s, border-color .15s;
  display: inline-flex;
}

.navlink-active {
  border-color: var(--accent, #dc6504);
  color: var(--foreground, #1c262b);
}

.navlink-inactive {
  color: var(--muted-foreground, #6b7280);
  border-color: #0000;
}

.navlink-inactive:hover {
  border-color: var(--border, #d1d5db);
  color: var(--foreground, #1c262b);
}

.ngxstats-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .5rem;
  display: grid;
}

@media (min-width: 768px) {
  .ngxstats-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
  }
}

.ngxstat-card {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--card);
  text-align: left;
  cursor: pointer;
  padding: .75rem;
  transition: background-color .15s, box-shadow .15s;
  position: relative;
}

.ngxstat-card:hover {
  background: var(--hover);
}

.ngxstat-card-default {
  box-shadow: 0 0 0 1px var(--border);
}

.ngxstat-card-primary {
  box-shadow: 0 0 0 1px var(--accent);
}

.ngxstat-card-success {
  box-shadow: 0 0 0 1px #10b981;
}

.ngxstat-card-info {
  box-shadow: 0 0 0 1px #0ea5e9;
}

.ngxstat-card-warning {
  box-shadow: 0 0 0 1px #f59e0b;
}

.ngxstat-card-danger {
  box-shadow: 0 0 0 1px #f43f5e;
}

.ngxstat-label {
  opacity: .7;
  font-size: .75rem;
}

.ngxstat-body {
  align-items: baseline;
  gap: .5rem;
  margin-top: .25rem;
  display: flex;
}

.ngxstat-value {
  font-variant-numeric: tabular-nums;
  font-size: 1.5rem;
  font-weight: 600;
}

.ngxstat-sub {
  opacity: .6;
  font-size: .75rem;
}

.oshaqr-root {
  z-index: 2000;
  background: #000000b3;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  display: flex;
  position: fixed;
  inset: 0;
}

.oshaqr-panel {
  border: 1px solid var(--border);
  background: #fff;
  border-radius: .75rem;
  width: 100%;
  max-width: 36rem;
  overflow: hidden;
  box-shadow: 0 20px 50px #0f172a80;
}

.oshaqr-header {
  border-bottom: 1px solid var(--border);
  justify-content: space-between;
  align-items: center;
  padding: .75rem 1rem;
  display: flex;
}

.oshaqr-title {
  font-size: 1.125rem;
  font-weight: 600;
}

.oshaqr-close-btn {
  cursor: pointer;
  background: none;
  border: none;
  border-radius: .375rem;
  justify-content: center;
  align-items: center;
  width: 2.25rem;
  height: 2.25rem;
  transition: background-color .15s;
  display: inline-flex;
}

.oshaqr-close-btn:hover {
  background: #0000000d;
}

.oshaqr-close-icon {
  width: 1.25rem;
  height: 1.25rem;
}

.oshaqr-body {
  padding: 1rem;
}

.oshaqr-video-wrapper {
  position: relative;
}

.oshaqr-video {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: #000;
  border-radius: .375rem;
  width: 100%;
}

.oshaqr-frame-overlay {
  pointer-events: none;
  place-items: center;
  display: grid;
  position: absolute;
  inset: 0;
}

.oshaqr-frame {
  border: 2px solid var(--accent);
  border-radius: .375rem;
  width: 10rem;
  height: 10rem;
}

@supports (color: color-mix(in lab, red, red)) {
  .oshaqr-frame {
    border: 2px solid color-mix(in oklab, var(--accent) 80%, transparent);
  }
}

.oshaqr-frame {
  box-shadow: 0 0 0 9999px #00000040;
}

.oshaqr-footer-row {
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  margin-top: .75rem;
  display: flex;
}

.oshaqr-status {
  opacity: .7;
  font-size: .875rem;
}

.oshaqr-status-error {
  color: #dc2626;
}

.oshaqr-controls {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.oshaqr-btn {
  border: 1px solid var(--border);
  cursor: pointer;
  background: none;
  border-radius: .375rem;
  align-items: center;
  gap: .5rem;
  padding: .375rem .75rem;
  font-size: .875rem;
  transition: background-color .15s;
  display: inline-flex;
}

.oshaqr-btn:hover {
  background: var(--hover);
}

.oshaqr-btn-icon {
  width: 1rem;
  height: 1rem;
}

.osha-slider-root {
  -webkit-user-select: none;
  user-select: none;
  width: 100%;
}

.osha-slider-frame {
  cursor: grab;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--card);
  overscroll-behavior: contain;
  contain: layout paint;
  outline: none;
  min-height: 260px;
  position: relative;
  overflow: hidden;
}

@media (min-width: 768px) {
  .osha-slider-frame {
    min-height: 360px;
  }
}

.osha-slider-frame:active {
  cursor: grabbing;
}

.osha-slider-expand-btn {
  z-index: 10;
  color: #fff;
  pointer-events: auto;
  cursor: pointer;
  border: none;
  border-radius: .375rem;
  padding: .25rem;
  transition: background-color .15s, opacity .15s;
  position: absolute;
  top: .5rem;
  right: .5rem;
}

.osha-slider-expand-enabled {
  background: #00000080;
}

.osha-slider-expand-enabled:hover {
  background: #000000b3;
}

.osha-slider-expand-disabled {
  opacity: .5;
  cursor: not-allowed;
  background: #0000004d;
}

.osha-slider-expand-icon {
  width: 1rem;
  height: 1rem;
}

.osha-slider-dots {
  z-index: 10;
  background: #0006;
  border-radius: .375rem;
  align-items: center;
  gap: .25rem;
  padding: .25rem .5rem;
  display: flex;
  position: absolute;
  top: .5rem;
  left: .5rem;
}

.osha-slider-dot {
  cursor: pointer;
  background: #ffffff80;
  border: none;
  border-radius: 9999px;
  width: .5rem;
  height: .5rem;
}

.osha-slider-dot-active {
  background: #fff;
}

.osha-slider-track {
  height: 100%;
  display: flex;
}

.osha-slider-track-animated {
  transition: transform .3s ease-out;
}

.osha-slider-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
}

.osha-slider-image {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.osha-slider-footer {
  color: #fff;
  inset-inline: 0;
  background: #00000080;
  justify-content: space-between;
  align-items: center;
  padding: .5rem .75rem;
  font-size: .75rem;
  display: flex;
  position: absolute;
  bottom: 0;
}

@media (min-width: 640px) {
  .osha-slider-footer {
    font-size: .875rem;
  }
}

.osha-slider-footer-label {
  font-weight: 600;
}

.osha-slider-replace-btn {
  color: inherit;
  cursor: pointer;
  background: none;
  border: 1px solid #ffffff4d;
  border-radius: .375rem;
  align-items: center;
  gap: .25rem;
  padding: .25rem .5rem;
  font-size: .75rem;
  transition: background-color .15s, opacity .15s;
  display: inline-flex;
}

.osha-slider-replace-btn:hover {
  background: #ffffff1a;
}

.osha-slider-replace-btn-disabled {
  opacity: .6;
  cursor: wait;
}

.osha-slider-replace-icon {
  width: .875rem;
  height: .875rem;
}

.osha-slider-uploading-badge {
  color: #fff;
  background: #0009;
  border-radius: .375rem;
  padding: .25rem .5rem;
  font-size: .625rem;
  position: absolute;
  top: .5rem;
  left: 50%;
  transform: translateX(-50%);
}

.osha-slider-empty-layer {
  pointer-events: none;
  position: absolute;
  inset: 0;
}

.osha-slider-empty-inner {
  text-align: center;
  width: max-content;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.osha-slider-empty-textblock {
  flex-direction: column;
  gap: .125rem;
  display: flex;
}

.osha-slider-empty-label {
  opacity: .7;
  font-size: .875rem;
}

.osha-slider-empty-sub {
  opacity: .5;
  margin-top: .125rem;
  font-size: .75rem;
}

.osha-slider-upload-btn {
  border: 1px solid var(--border);
  background: var(--card);
  pointer-events: auto;
  cursor: pointer;
  border-radius: .375rem;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  margin-top: .5rem;
  padding: .5rem .75rem;
  font-size: .875rem;
  transition: background-color .15s, opacity .15s;
  display: inline-flex;
}

.osha-slider-upload-btn:hover {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .osha-slider-upload-btn:hover {
    background: color-mix(in oklab, var(--accent) 10%, transparent);
  }
}

.osha-slider-upload-btn-disabled {
  opacity: .6;
  cursor: wait;
}

.osha-slider-upload-icon {
  width: 1rem;
  height: 1rem;
}

.osha-slider-file-input {
  display: none;
}

.osha-slider-preview-root {
  z-index: 100;
  background: #000000e6;
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  inset: 0;
}

.osha-slider-preview-close {
  color: #fff;
  cursor: pointer;
  background: #00000080;
  border: none;
  border-radius: .375rem;
  padding: .5rem;
  transition: background-color .15s;
  position: absolute;
  top: 1rem;
  right: 1rem;
}

.osha-slider-preview-close:hover {
  background: #000000b3;
}

.osha-slider-preview-close-icon {
  width: 1.25rem;
  height: 1.25rem;
}

.osha-slider-preview-inner {
  touch-action: none;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
}

.osha-slider-preview-img {
  object-fit: contain;
  max-width: 96vw;
  max-height: 90vh;
}

.posterpdf-root {
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
}

.posterpdf-frame {
  background: #fff;
  border: 1px solid #0000001a;
  border-radius: .375rem;
  overflow: hidden;
  box-shadow: 0 20px 50px #0f172a66;
}

.posterpdf-canvas {
  width: 100%;
  height: 100%;
  display: block;
}

.posterpreview-shell {
  color: var(--foreground);
  border: 1px solid var(--border);
  background: #fff;
  border-radius: .5rem;
  flex-direction: column;
  width: 100%;
  height: 100%;
  display: flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .posterpreview-shell {
    border: 1px solid color-mix(in oklab, var(--border) 60%, transparent);
  }
}

.posterpreview-shell {
  overflow: hidden;
}

.posterpreview-header {
  border-bottom: 1px solid var(--border);
  justify-content: space-between;
  align-items: center;
  padding: .5rem .75rem;
  display: flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .posterpreview-header {
    border-bottom: 1px solid color-mix(in oklab, var(--border) 60%, transparent);
  }
}

.posterpreview-header {
  background: var(--panel-bg, var(--card));
}

.posterpreview-header-left {
  align-items: center;
  gap: .5rem;
  min-width: 0;
  display: flex;
}

.posterpreview-mini-icon {
  border: 1px solid var(--border);
  border-radius: .25rem;
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
}

@supports (color: color-mix(in lab, red, red)) {
  .posterpreview-mini-icon {
    border: 1px solid color-mix(in oklab, var(--border) 60%, transparent);
  }
}

.posterpreview-mini-icon {
  justify-content: center;
  align-items: center;
  display: flex;
}

.posterpreview-mini-inner {
  border: 1px solid var(--border);
  border-radius: .125rem;
  width: .75rem;
  height: .75rem;
}

@supports (color: color-mix(in lab, red, red)) {
  .posterpreview-mini-inner {
    border: 1px solid color-mix(in oklab, var(--border) 60%, transparent);
  }
}

.posterpreview-title {
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: .875rem;
  font-weight: 600;
  overflow: hidden;
}

.posterpreview-header-actions {
  align-items: center;
  gap: .25rem;
  display: flex;
}

.posterpreview-icon-btn {
  cursor: pointer;
  background: none;
  border: none;
  border-radius: .375rem;
  padding: .375rem;
  transition: background-color .15s;
}

.posterpreview-icon-btn:hover {
  background: #0000000d;
}

.posterpreview-icon-btn:active {
  background: #0000001a;
}

.posterpreview-icon-btn-close {
  margin-left: .25rem;
}

.posterpreview-icon {
  width: 1rem;
  height: 1rem;
}

.posterpreview-body {
  background: #fff;
  flex: auto;
  position: relative;
}

.posterpreview-iframe-wrap {
  padding: .5rem;
  position: absolute;
  inset: 0;
}

.posterpreview-iframe {
  border: 1px solid var(--border);
  background: #fff;
  border-radius: .375rem;
  width: 100%;
  height: 100%;
}

@supports (color: color-mix(in lab, red, red)) {
  .posterpreview-iframe {
    border: 1px solid color-mix(in oklab, var(--border) 60%, transparent);
  }
}

.posterpreview-iframe {
  box-shadow: 0 1px 2px #0f172a14;
}

.posterpreview-loading-overlay {
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  inset: 0;
}

.posterpreview-spinner {
  border: 2px solid #0000004d;
  border-top-color: #000;
  border-radius: 9999px;
  width: 1.5rem;
  height: 1.5rem;
  animation: .9s linear infinite posterpreview-spin;
}

@keyframes posterpreview-spin {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

.posterpreview-error-overlay {
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  padding: 0 1.5rem;
  display: flex;
  position: absolute;
  inset: 0;
}

.posterpreview-error-text {
  color: #dc2626;
  font-size: .875rem;
}

.posterpreview-error-actions {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.posterpreview-error-btn {
  border: 1px solid var(--border);
  border-radius: .375rem;
  padding: .375rem .75rem;
  font-size: .875rem;
}

@supports (color: color-mix(in lab, red, red)) {
  .posterpreview-error-btn {
    border: 1px solid color-mix(in oklab, var(--border) 60%, transparent);
  }
}

.posterpreview-error-btn {
  cursor: pointer;
  background: none;
  transition: background-color .15s;
}

.posterpreview-error-btn:hover {
  background: #0000000d;
}

.projectpicker-root {
  width: 100%;
}

.projectpicker-inner {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--card);
  align-items: center;
  gap: .75rem;
  width: 100%;
  padding: .5rem .75rem;
  display: flex;
}

.projectpicker-selector-wrap {
  flex: auto;
  min-width: 0;
}

.projectpicker-selector {
  width: 100%;
}

.projectpicker-input {
  width: 100%;
  height: 1.25rem;
  color: var(--foreground);
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  padding-left: 0;
  padding-right: 0;
  font-size: 1rem;
  line-height: 1.25;
}

.projectpicker-input::placeholder {
  color: var(--muted-foreground);
}

.projectpicker-scan-btn {
  flex-shrink: 0;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.projectpicker-scan-icon {
  width: 1.75rem;
  height: 1.75rem;
}

.projectselector-root, .projectselector-inner {
  width: 100%;
  position: relative;
}

.projectselector-input {
  z-index: 10;
  width: 100%;
  height: 25px;
  color: var(--foreground);
  background: none;
  outline: none;
  padding-inline: .25rem;
  font-size: .875rem;
  position: relative;
}

.projectselector-input-hidden-selection {
  color: #0000;
  caret-color: #0000;
}

.projectselector-input-hidden-selection::selection {
  background: none;
}

.projectselector-button-overlay {
  z-index: 20;
  opacity: 0;
  cursor: pointer;
  background: none;
  border: none;
  position: absolute;
  inset: 0;
}

.projectselector-overlay {
  pointer-events: none;
  z-index: 0;
  align-items: center;
  padding-inline: .75rem;
  display: flex;
  position: absolute;
  inset: 0;
}

.projectselector-overlay-inner {
  min-width: 0;
  line-height: 1.1;
}

.projectselector-overlay-primary {
  white-space: nowrap;
  text-overflow: ellipsis;
  font-weight: 500;
  overflow: hidden;
}

.projectselector-overlay-secondary {
  white-space: nowrap;
  text-overflow: ellipsis;
  opacity: .7;
  font-size: .75rem;
  overflow: hidden;
}

.projectselector-menu {
  z-index: 50;
  background: var(--card);
  border: 1px solid var(--border);
  border-bottom-left-radius: var(--radius-sm);
  border-bottom-right-radius: var(--radius-sm);
  border-top-width: 0;
  width: 100%;
  position: absolute;
  box-shadow: 0 10px 25px #0f172a59;
}

.projectselector-menu-scroll {
  overscroll-behavior: contain;
  max-height: 18rem;
  overflow-y: auto;
}

.projectselector-options {
  padding-block: .25rem;
}

.projectselector-empty {
  opacity: .7;
  padding-block: .5rem;
  padding-inline: .75rem;
  font-size: 1.125rem;
}

.projectselector-option {
  cursor: pointer;
  padding-block: .5rem;
  padding-inline: .75rem;
}

.projectselector-option-active {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .projectselector-option-active {
    background: color-mix(in oklab, var(--accent) 10%, transparent);
  }
}

.projectselector-option-inner {
  min-width: 0;
  line-height: 1.1;
}

.projectselector-option-primary {
  white-space: nowrap;
  text-overflow: ellipsis;
  font-weight: 500;
  overflow: hidden;
}

.projectselector-option-secondary {
  white-space: nowrap;
  text-overflow: ellipsis;
  opacity: .7;
  font-size: .75rem;
  overflow: hidden;
}

.projtag-grid-readonly {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  min-height: 38px;
  padding: .25rem;
  display: flex;
}

.projtag-tag-readonly {
  color: #fff;
  opacity: .7;
  cursor: not-allowed;
  background: #4b5563;
  border-radius: .375rem;
  padding: .25rem .5rem;
  font-size: .75rem;
}

.projtag-grid-edit {
  border: 1px dashed #6b7280;
  border-radius: .375rem;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  min-height: 38px;
  padding: .25rem;
  display: flex;
}

.projtag-dropdown-wrap {
  position: relative;
}

.projtag-add-btn {
  color: #fff;
  cursor: pointer;
  background: #2563eb;
  border: none;
  border-radius: 9999px;
  justify-content: center;
  align-items: center;
  width: 1.5rem;
  height: 1.5rem;
  transition: background-color .15s;
  display: flex;
}

.projtag-add-btn:hover {
  background: #1d4ed8;
}

.projtag-dropdown-menu {
  z-index: 50;
  border: 1px solid var(--border);
  background: var(--muted);
  width: 11rem;
  color: var(--foreground);
  border-radius: .5rem;
  margin-top: .5rem;
  position: absolute;
  overflow: hidden;
  box-shadow: 0 10px 20px #0f172a59;
}

.projtag-dropdown-option {
  text-align: left;
  cursor: pointer;
  background: none;
  border: none;
  width: 100%;
  padding: .25rem .75rem;
  font-size: .875rem;
  transition: background-color .15s;
  display: block;
}

.projtag-dropdown-option:hover {
  background: var(--muted);
}

@supports (color: color-mix(in lab, red, red)) {
  .projtag-dropdown-option:hover {
    background: color-mix(in oklab, var(--muted) 80%, transparent);
  }
}

.projtag-dropdown-empty {
  color: var(--muted-foreground);
  padding: .5rem .75rem;
  font-size: .875rem;
}

.projtag-tag-draggable {
  color: #fff;
  cursor: move;
  background: #2563eb;
  border-radius: .375rem;
  align-items: center;
  gap: .25rem;
  padding: .25rem .5rem;
  font-size: .75rem;
  display: inline-flex;
}

.projtag-tag-remove {
  color: #fff;
  cursor: pointer;
  background: none;
  border: none;
  margin-left: .25rem;
  transition: color .15s;
}

.projtag-tag-remove:hover {
  color: #fca5a5;
}

.rnavlink-base {
  border-style: solid;
  border-left-width: 4px;
  outline: none;
  padding: .5rem 1rem .5rem .75rem;
  font-size: 1rem;
  font-weight: 500;
  transition: color .15s, background-color .15s, border-color .15s;
  display: block;
}

.rnavlink-active {
  color: #4338ca;
  background-color: #eef2ff;
  border-color: #6366f1;
}

.rnavlink-inactive {
  color: #4b5563;
  border-color: #0000;
}

.rnavlink-inactive:hover {
  color: #1f2933;
  background-color: #f9fafb;
  border-color: #d1d5db;
}

.schedule-root {
  flex-direction: column;
  gap: 1rem;
  padding: 1rem;
  display: flex;
  overflow-y: auto;
}

.schedule-tabs-wrap {
  text-align: center;
  flex-direction: column;
  align-items: center;
  display: flex;
}

.schedule-tabs-row {
  align-items: center;
  gap: .5rem;
  margin-top: .5rem;
  display: flex;
}

.schedule-tabs-divider {
  background: var(--accent);
  width: 100%;
  max-width: 28rem;
  height: 1px;
  margin-top: .75rem;
}

.schedule-loading-box {
  color: var(--muted-foreground);
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  padding: 1.5rem;
  font-size: .875rem;
}

.schedule-grid {
  gap: 1rem;
  max-width: 32rem;
  display: grid;
}

.schedule-day-row {
  align-items: flex-start;
  gap: 1rem;
  display: flex;
}

.schedule-day-label {
  letter-spacing: .08em;
  flex-shrink: 0;
  width: 7rem;
  font-size: .875rem;
  font-weight: 600;
}

.schedule-day-body {
  flex-direction: column;
  flex: auto;
  gap: .5rem;
  display: flex;
}

.schedule-day-empty {
  color: var(--muted-foreground);
  font-size: .875rem;
}

.schedule-project-card {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  padding: .5rem .75rem;
  transition: background-color .15s, border-color .15s;
  display: flex;
}

.schedule-project-card:hover {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .schedule-project-card:hover {
    background: color-mix(in oklab, var(--accent) 10%, transparent);
  }
}

.schedule-project-text {
  flex-direction: column;
  display: flex;
}

.schedule-project-title {
  font-size: .875rem;
  font-weight: 700;
  line-height: 1.1;
}

.schedule-project-sub {
  opacity: .8;
  font-size: .75rem;
  line-height: 1.1;
}

.schedule-project-pin {
  background: var(--accent);
  color: #fff;
  border-radius: var(--radius-sm);
  justify-content: center;
  align-items: center;
  margin-left: .75rem;
  padding: .25rem;
  display: inline-flex;
}

.schedule-project-pin-icon {
  width: 1.5rem;
  height: 1.5rem;
}

.settings-overlay {
  z-index: 9999;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  pointer-events: auto;
  background: #0000004d;
  position: fixed;
  inset: 0;
}

.settings-panel {
  z-index: 1000000;
  background: var(--header);
  border-left: 1px solid var(--accent);
  pointer-events: auto;
  flex-direction: column;
  width: auto;
  min-width: 15rem;
  max-width: 24rem;
  height: 100dvh;
  display: flex;
  position: fixed;
  top: 0;
  right: 0;
  box-shadow: 0 10px 40px #0f172a80;
}

.settings-header {
  justify-content: space-between;
  align-items: center;
  padding: .75rem 1rem;
  display: flex;
  position: relative;
}

.settings-title {
  color: var(--accent);
  font-size: 1rem;
  font-weight: 600;
}

.settings-close-btn:hover {
  background: #f3f4f6;
}

.settings-close-icon {
  width: 1rem;
  height: 1rem;
}

.settings-body {
  flex: auto;
  padding: 0 1rem;
}

.settings-mobile-nav {
  display: block;
}

@media (min-width: 1024px) {
  .settings-mobile-nav {
    display: none;
  }
}

.settings-mobile-nav-list {
  flex-direction: column;
  gap: .25rem;
  margin-bottom: 1rem;
  display: flex;
}

.settings-mobile-nav-item {
  text-align: left;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: .375rem;
  align-items: center;
  gap: .5rem;
  width: 100%;
  padding: .5rem .75rem;
  transition: background-color .15s, color .15s;
  display: flex;
}

.settings-mobile-nav-item:hover {
  background: none;
}

.settings-mobile-nav-item-active {
  color: var(--accent);
  font-weight: 600;
}

.settings-mobile-nav-item-inactive {
  color: var(--gray-body);
}

.settings-mobile-nav-icon {
  opacity: .8;
  width: 1rem;
  height: 1rem;
}

.settings-mobile-nav-icon-active {
  width: 1rem;
  height: 1rem;
  color: var(--accent);
}

.settings-mobile-nav-label {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.settings-divider {
  border: none;
  border-top: 1px solid var(--accent);
  margin: 1rem 0;
}

.settings-nav {
  flex-direction: column;
  gap: .5rem;
  display: flex;
}

.settings-nav-item {
  text-align: left;
  cursor: pointer;
  width: 100%;
  color: var(--gray-body);
  background: none;
  border: none;
  border-radius: .375rem;
  align-items: center;
  gap: .5rem;
  padding: .5rem .75rem;
  transition: background-color .15s;
  display: flex;
}

.settings-nav-item:hover {
  color: var(--gray-body);
  background: none;
}

.settings-nav-item-logout {
  color: #dc2626;
  align-items: right;
}

.settings-nav-icon {
  width: 1rem;
  height: 1rem;
}

.settings-nav-icon-accent {
  width: 1.5rem;
  height: 1.5rem;
  color: var(--accent);
}

.settings-nav-icon-small {
  opacity: .7;
  width: .75rem;
  height: .75rem;
}

.signature-root {
  flex-direction: column;
  gap: .75rem;
  width: 100%;
  max-width: 24rem;
  display: flex;
}

.signature-label {
  color: var(--header);
  font-size: .875rem;
  font-weight: 500;
}

.signature-pad-wrapper {
  border: 1px solid var(--border);
  background: #fff;
  border-radius: .5rem;
  position: relative;
}

.signature-canvas {
  border-radius: .5rem;
  width: 100%;
  height: 200px;
}

.signature-preview {
  object-fit: contain;
  border: 1px solid var(--border);
  background: #fff;
  border-radius: .5rem;
  width: 100%;
  height: 200px;
}

.signature-actions {
  gap: .5rem;
  display: flex;
}

.signature-btn-grow {
  flex: 1;
}

.simplescan-root {
  z-index: 1000;
  position: fixed;
  inset: 0;
}

.simplescan-backdrop {
  background: #0009;
  position: absolute;
  inset: 0;
}

.simplescan-center {
  justify-content: center;
  align-items: center;
  padding: 1rem;
  display: flex;
  position: absolute;
  inset: 0;
}

.simplescan-panel {
  border: 1px solid var(--border);
  background: var(--card);
  width: 100%;
  max-width: 36rem;
  color: var(--foreground);
  border-radius: .375rem;
  overflow: hidden;
  box-shadow: 0 20px 50px #0f172a80;
}

.simplescan-header {
  border-bottom: 1px solid var(--border);
  justify-content: space-between;
  align-items: center;
  padding: .75rem 1rem;
  display: flex;
}

.simplescan-title {
  font-weight: 600;
}

.simplescan-close-btn {
  border: 1px solid var(--border);
  cursor: pointer;
  background: none;
  border-radius: .375rem;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  display: inline-flex;
}

.simplescan-body {
  flex-direction: column;
  gap: 1rem;
  padding: 1rem;
  display: flex;
}

.simplescan-stage {
  background: #000;
  border-radius: .375rem;
  width: 100%;
  max-width: 24rem;
  margin-inline: auto;
  position: relative;
  overflow: hidden;
}

.simplescan-video {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.simplescan-fallback {
  flex-direction: column;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.simplescan-fallback-text {
  color: #ca8a04;
  font-size: .875rem;
}

.simplescan-shutter-wrap {
  justify-content: center;
  align-items: center;
  padding-top: .25rem;
  display: flex;
}

.simplescan-shutter-btn {
  cursor: pointer;
  background: #ffffffe6;
  border: 4px solid #fff;
  border-radius: 9999px;
  width: 4rem;
  height: 4rem;
  transition: background-color .15s, transform .1s;
}

.simplescan-shutter-btn:hover {
  background: #fff;
}

.simplescan-error {
  color: #ef4444;
  font-size: .875rem;
}

.tagghost {
  color: #fff;
  pointer-events: none;
  background: #2563eb;
  border-radius: .25rem;
  padding: .25rem .5rem;
  font-size: .75rem;
  box-shadow: 0 4px 10px #00000040;
}

.tagsearch-root {
  padding-inline: .25rem;
}

.tagsearch-tags {
  flex-wrap: wrap;
  gap: .5rem;
  margin-bottom: .5rem;
  display: flex;
}

.tagsearch-pill {
  border: 1px solid var(--border);
  background: var(--card);
  border-radius: .375rem;
  align-items: center;
  gap: .5rem;
  padding: .25rem .5rem;
  font-size: .75rem;
  display: inline-flex;
}

.tagsearch-pill-type {
  opacity: .7;
}

.tagsearch-pill-label {
  font-weight: 500;
}

.tagsearch-pill-remove {
  color: #ef4444;
  cursor: pointer;
  background: none;
  border: none;
  margin-left: .25rem;
  line-height: 1;
  transition: color .15s;
}

.tagsearch-pill-remove:hover {
  color: #dc2626;
}

.tagsearch-input-wrap {
  position: relative;
}

.tagsearch-input {
  background: var(--card);
  width: 100%;
  height: 2.25rem;
  color: var(--body);
  border: 1px solid var(--border);
  border-radius: .375rem;
  outline: none;
  padding-inline: .75rem;
  font-size: .875rem;
}

.tagsearch-input::placeholder {
  color: var(--muted-foreground);
}

.tagsearch-suggestions {
  z-index: 10;
  border: 1px solid var(--border);
  background: var(--card);
  border-radius: .375rem;
  width: 100%;
  max-height: 16rem;
  margin-top: .25rem;
  position: absolute;
  overflow: auto;
  box-shadow: 0 10px 25px #0f172a59;
}

.tagsearch-suggestion {
  text-align: left;
  cursor: pointer;
  background: none;
  border: none;
  width: 100%;
  padding: .5rem .75rem;
  font-size: .875rem;
  transition: background-color .15s;
  display: block;
}

.tagsearch-suggestion:hover {
  background: #0000000d;
}

.tagsearch-suggestion-kind {
  opacity: .6;
  text-transform: uppercase;
  margin-right: .5rem;
  font-size: .75rem;
}

.textlink {
  color: var(--foreground);
  text-decoration-line: underline;
  -webkit-text-decoration-color: var(--body);
  -webkit-text-decoration-color: var(--body);
  text-decoration-color: var(--body);
  text-underline-offset: 4px;
  transition: color .3s ease-out, text-decoration-color .3s ease-out;
}

.textlink:hover {
  text-decoration-color: currentColor;
}

.todays-root {
  width: 100%;
  padding-inline: 0;
}

.todays-tabs-bar {
  margin-bottom: .5rem;
}

.todays-report-bar {
  justify-content: flex-end;
  align-items: center;
  gap: .5rem;
  display: none;
}

@media (min-width: 768px) {
  .todays-report-bar {
    display: flex;
  }
}

.todays-report-button {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  cursor: pointer;
  background: none;
  align-items: center;
  gap: .5rem;
  height: 2.25rem;
  padding-inline: .75rem;
  transition: background-color .15s;
  display: inline-flex;
}

.todays-report-button:hover {
  background: var(--hover);
}

.todays-report-icon {
  width: 1rem;
  height: 1rem;
}

.todays-report-label {
  font-size: .875rem;
}

.todays-toolbar-desktop {
  margin-top: .5rem;
  display: none;
}

@media (min-width: 768px) {
  .todays-toolbar-desktop {
    display: block;
  }
}

.todays-scroll {
  margin-top: .75rem;
}

.todays-banner {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--card);
  opacity: .7;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  font-size: .875rem;
  display: flex;
}

.todays-report-pane {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  flex-direction: column;
  gap: 1rem;
  width: 100%;
  max-width: 1200px;
  height: 100%;
  margin-left: auto;
  padding: 1rem;
  display: flex;
  position: relative;
  overflow: auto;
}

.todays-report-pane-desktop {
  background: var(--app-bg);
}

.todays-report-pane-mobile {
  background: #fff;
}

.todays-report-inner {
  padding: .25rem;
}

.todays-desktop-grid {
  grid-template-rows: 220px 1fr 220px;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: stretch;
  gap: 1rem;
  min-height: 720px;
  display: grid;
}

.todays-info-card {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--card);
  padding: 1.5rem;
}

.todays-info-card:first-of-type {
  grid-column: span 3 / span 3;
  grid-row-start: 1;
}

.todays-info-card:nth-of-type(2) {
  grid-column: 4 / span 3;
  grid-row-start: 1;
}

.todays-info-card:nth-of-type(3) {
  grid-column: 7 / span 3;
  grid-row-start: 3;
}

.todays-info-card:nth-of-type(4) {
  grid-column: 10 / span 3;
  grid-row-start: 3;
}

.todays-info-overline {
  opacity: .7;
  font-size: .875rem;
}

.todays-info-title {
  margin-top: .25rem;
  font-size: 1.125rem;
  font-weight: 600;
}

.todays-info-sub {
  opacity: .6;
  margin-top: .5rem;
  font-size: .75rem;
}

.todays-map-panel {
  background: none;
  flex-direction: column;
  grid-area: 1 / 7 / span 2 / span 6;
  display: flex;
}

.todays-map-inner {
  height: 100%;
}

.todays-map-empty {
  opacity: .6;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  font-size: .75rem;
  display: flex;
}

.todays-table-panel {
  border-radius: var(--radius-sm);
  flex-direction: column;
  grid-area: 2 / 1 / span 2 / span 6;
  min-height: 0;
  padding: 0;
  display: flex;
  overflow: hidden;
}

.todays-table-inner {
  flex: auto;
  min-height: 150rem;
  overflow: auto;
}

.todays-group-header-row {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .todays-group-header-row {
    background: color-mix(in oklab, var(--accent) 10%, transparent);
  }
}

.todays-group-header-row {
  cursor: pointer;
  transition: background-color .15s;
}

.todays-group-header-row:hover {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .todays-group-header-row:hover {
    background: color-mix(in oklab, var(--accent) 20%, transparent);
  }
}

.todays-group-chevron-cell {
  width: 24px;
  padding: 0;
}

.todays-group-title-cell {
  padding: .5rem .75rem;
}

.todays-group-title-wrap {
  flex-direction: column;
  min-width: 0;
  display: flex;
}

.todays-group-title-text {
  white-space: nowrap;
  text-overflow: ellipsis;
  font-weight: 600;
  overflow: hidden;
}

.todays-group-title-sub {
  opacity: .7;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: .75rem;
  overflow: hidden;
}

.todays-group-pms-cell {
  padding: .5rem;
}

.todays-group-pms-wrap {
  flex-direction: column;
  min-width: 0;
  display: flex;
}

.todays-group-pm-text {
  white-space: nowrap;
  text-overflow: ellipsis;
  font-weight: 600;
  overflow: hidden;
}

.todays-group-super-text {
  opacity: .7;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: .75rem;
  overflow: hidden;
}

.todays-group-home-cell {
  padding: .5rem;
}

.todays-group-home-inner {
  justify-content: flex-end;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.todays-group-active-count {
  font-variant-numeric: tabular-nums;
  font-size: .875rem;
  font-weight: 600;
}

.todays-group-home-link {
  display: inline-flex;
}

.todays-group-home-icon {
  width: 2.25rem;
  height: 2.25rem;
}

.todays-group-approve-header-cell {
  text-align: center;
  padding: .5rem;
}

.todays-group-row {
  transition: background-color .15s;
}

.todays-group-row:hover {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .todays-group-row:hover {
    background: color-mix(in oklab, var(--accent) 5%, transparent);
  }
}

.todays-group-user-cell {
  padding: .5rem;
}

.todays-group-time-cell {
  text-align: left;
  padding: .5rem;
}

.todays-group-time-text {
  white-space: nowrap;
  display: block;
}

.todays-group-empty-cell {
  padding: .5rem;
}

.todays-group-empty-inner {
  white-space: nowrap;
  text-align: left;
  padding-left: 2rem;
  overflow: visible;
}

.todays-group-approve-cell {
  text-align: center;
  vertical-align: middle;
  width: 60px;
  padding-block: .5rem;
}

.todays-group-approve-inner {
  justify-content: flex-end;
  align-items: center;
  height: 100%;
  padding-right: .5rem;
  display: flex;
}

.todays-approve-btn {
  cursor: pointer;
  background: none;
  border: none;
  border-radius: .375rem;
  justify-content: center;
  align-items: center;
  width: 1.75rem;
  height: 1.75rem;
  transition: background-color .15s;
  display: flex;
}

.todays-approve-btn:hover {
  background: var(--hover);
}

.todays-approve-btn-disabled {
  opacity: .6;
  cursor: not-allowed;
}

.todays-mobile-list {
  display: block;
}

@media (min-width: 768px) {
  .todays-mobile-list {
    display: none;
  }
}

.todays-mobile-group {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  overflow: hidden;
}

.todays-mobile-group-header {
  text-align: left;
  cursor: pointer;
  background: none;
  border: none;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: .75rem;
  display: flex;
}

.todays-mobile-header-text {
  min-width: 0;
}

.todays-mobile-title {
  white-space: nowrap;
  text-overflow: ellipsis;
  font-weight: 500;
  overflow: hidden;
}

.todays-mobile-subtitle {
  opacity: .7;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: .75rem;
  overflow: hidden;
}

.todays-mobile-active-count {
  font-variant-numeric: tabular-nums;
  font-size: .875rem;
  font-weight: 600;
}

.todays-mobile-pm-line {
  opacity: .8;
  white-space: nowrap;
  text-overflow: ellipsis;
  padding: .25rem .75rem .5rem;
  font-size: .75rem;
  overflow: hidden;
}

.todays-mobile-row {
  border-top: 1px solid var(--border);
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: .75rem;
  padding: .75rem;
  font-size: .875rem;
  display: grid;
}

.todays-mobile-row-user {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.todays-mobile-row-time {
  white-space: nowrap;
  text-overflow: ellipsis;
  opacity: .8;
  overflow: hidden;
}

.userinfo-avatar {
  border-radius: 9999px;
  width: 2rem;
  height: 2rem;
  overflow: hidden;
}

.userinfo-avatar-fallback {
  color: #000;
  background: #e5e5e5;
  border-radius: .5rem;
  justify-content: center;
  align-items: center;
  display: flex;
}

.userinfo-text {
  text-align: left;
  flex: auto;
  font-size: .875rem;
  line-height: 1.25rem;
  display: grid;
}

.userinfo-name {
  white-space: nowrap;
  text-overflow: ellipsis;
  font-weight: 500;
  overflow: hidden;
}

.userinfo-email {
  color: var(--muted-foreground);
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: .75rem;
  overflow: hidden;
}

.usermenu-label {
  padding: 0;
  font-weight: 400;
}

.usermenu-userinfo {
  text-align: left;
  align-items: center;
  gap: .5rem;
  padding-block: .375rem;
  padding-inline: .25rem;
  font-size: .875rem;
  display: flex;
}

.usermenu-row {
  align-items: center;
  gap: .5rem;
  padding-block: .25rem;
  padding-inline: .5rem;
  display: flex;
}

.usermenu-iconitem {
  width: auto;
  padding: .5rem;
}

.usermenu-settings-link {
  background: none;
  border: none;
  padding: 0;
  display: inline-flex;
}

.usermenu-icon {
  width: 1.25rem;
  height: 1.25rem;
}

.usermenu-theme-toggle {
  cursor: pointer;
}

.usermenu-theme-sun, .usermenu-theme-moon {
  width: 1.25rem;
  height: 1.25rem;
}

.usermenu-theme-sun {
  display: none;
}

.usermenu-theme-moon {
  display: block;
}

.usermenu-logout-link {
  width: 100%;
  display: block;
}

.usermenu-logout-icon {
  margin-right: .5rem;
}

.usertagfield-wrap {
  flex-wrap: wrap;
  gap: .5rem;
  width: 100%;
  height: 100%;
  min-height: 48px;
  display: flex;
  overflow: visible;
}

.usertag-empty {
  color: #ffffff80;
  font-size: .875rem;
  font-style: italic;
}

.usertag-outer {
  pointer-events: auto;
}

.usertag-inner {
  -webkit-user-select: none;
  user-select: none;
  cursor: move;
  transform-origin: center;
  will-change: transform;
  z-index: 10;
  border-radius: .375rem;
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  min-width: 90px;
  padding: .25rem .5rem;
  font-size: .75rem;
  transition: transform .15s ease-out, z-index .15s ease-out;
  display: flex;
  position: relative;
  transform: translate3d(0, 0, 0);
}

.usertag-inner:hover, .usertag-inner:focus-visible {
  z-index: 20;
  transform: scale(1.5);
}

.usertag-name {
  white-space: nowrap;
  text-overflow: ellipsis;
  padding-right: 1rem;
  overflow: hidden;
}

.usertag-remove {
  color: #fff;
  cursor: pointer;
  opacity: 0;
  background: #dc2626;
  border: none;
  border-radius: 9999px;
  outline: none;
  justify-content: center;
  align-items: center;
  width: 1.5rem;
  height: 1.5rem;
  transition: opacity .2s;
  display: flex;
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(50%, -50%);
}

.usertag-inner:hover .usertag-remove, .usertag-inner:focus-visible .usertag-remove {
  opacity: 1;
}

.usertag-remove:focus-visible {
  box-shadow: 0 0 0 2px #f97373;
}

.usertag-trash {
  -webkit-user-select: none;
  user-select: none;
  border-style: dashed;
  border-width: 2px;
  border-radius: .375rem;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  height: 2rem;
  padding-inline: .75rem;
  font-size: .75rem;
  font-weight: 500;
  display: inline-flex;
}

.usertag-trash-idle {
  color: #ef4444;
  background: none;
  border-color: #f8717199;
}

.usertag-trash-over {
  color: #dc2626;
  background: #dc26261a;
  border-color: #dc2626;
}

.usertagselector-root {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.usertagselector-label {
  margin-right: .5rem;
  font-size: .875rem;
  font-weight: 600;
}

.usertagselector-add-wrap {
  position: relative;
}

.usertagselector-add-btn {
  color: #fff;
  cursor: pointer;
  background: #2563eb;
  border: none;
  border-radius: 9999px;
  justify-content: center;
  align-items: center;
  width: 1.5rem;
  height: 1.5rem;
  transition: background-color .15s;
  display: flex;
}

.usertagselector-add-btn:hover {
  background: #1d4ed8;
}

.usertagselector-dropdown {
  z-index: 50;
  border: 1px solid var(--border);
  background: var(--muted);
  width: 11rem;
  color: var(--foreground);
  border-radius: .375rem;
  margin-top: .5rem;
  position: absolute;
  box-shadow: 0 10px 25px #0f172a59;
}

.usertagselector-dropdown-item {
  text-align: left;
  cursor: pointer;
  background: none;
  border: none;
  width: 100%;
  padding: .25rem .75rem;
  font-size: .875rem;
  transition: background-color .12s;
  display: block;
}

.usertagselector-dropdown-item:hover {
  background: var(--muted);
}

@supports (color: color-mix(in lab, red, red)) {
  .usertagselector-dropdown-item:hover {
    background: color-mix(in oklab, var(--muted) 80%, #fff);
  }
}

.usertagselector-dropdown-empty {
  color: var(--muted-foreground);
  padding: .5rem .75rem;
  font-size: .875rem;
}

.usertagselector-tags {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.usertagselector-tag {
  color: #fff;
  background: #1e3a8a;
  border-radius: .25rem;
  align-items: center;
  gap: .25rem;
  padding: .25rem .5rem;
  font-size: .875rem;
  display: inline-flex;
}

.usertagselector-tag-remove {
  color: #fff;
  cursor: pointer;
  background: #dc2626;
  border: none;
  border-radius: 9999px;
  outline: none;
  justify-content: center;
  align-items: center;
  width: 1.5rem;
  height: 1.5rem;
  margin-left: .25rem;
  transition: background-color .15s, box-shadow .15s;
  display: flex;
}

.usertagselector-tag-remove:hover {
  background: #b91c1c;
}

.usertagselector-tag-remove:focus-visible {
  box-shadow: 0 0 0 2px #f97373;
}

.appsidebar-content {
  position: relative;
  overflow-x: hidden;
}

.appsidebar-backdrop {
  inset-block: 0;
  background: none;
  position: fixed;
  left: 0;
}

.appsidebar-drawer {
  color: var(--foreground);
  background: #fff;
  transition: transform .2s ease-in-out;
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  overflow-y: auto;
  transform: translateX(100%);
  box-shadow: 0 10px 30px #0f172a73;
}

.appsidebar-drawer-open {
  transform: translateX(0);
}

.appsidebar-drawer-closed {
  transform: translateX(100%);
}

.authcard-root {
  background: var(--muted);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  min-height: 100svh;
  padding: 1.5rem;
  display: flex;
}

@media (min-width: 768px) {
  .authcard-root {
    padding: 2.5rem;
  }
}

.authcard-wrapper {
  flex-direction: column;
  gap: 1.5rem;
  width: 100%;
  max-width: 28rem;
  display: flex;
}

.authcard-cardwrap {
  flex-direction: column;
  gap: 1.5rem;
  display: flex;
}

.authcard-card {
  border-radius: var(--radius-xl, .75rem);
}

.authcard-header {
  text-align: center;
  padding: 2rem 2.5rem 0;
}

.authcard-title {
  font-size: 1.25rem;
}

.authcard-content {
  padding: 2rem 2.5rem;
}

.authsimple-main {
  background-position: center;
  background-size: cover;
  min-height: 100vh;
  position: relative;
}

.authsimple-overlay {
  background: #00000080;
  position: absolute;
  inset: 0;
}

.authsimple-inner {
  z-index: 10;
  text-align: center;
  color: #fff;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  padding-inline: 1rem;
  display: flex;
  position: relative;
}

.authsimple-heading {
  margin-bottom: 1rem;
  font-size: 1.875rem;
  font-weight: 700;
}

@media (min-width: 640px) {
  .authsimple-heading {
    font-size: 3rem;
  }
}

.authsimple-cardwrap {
  width: 100%;
  max-width: 24rem;
}

.authsimple-tabs {
  margin-bottom: 1rem;
}

.authsimple-panel {
  -webkit-backdrop-filter: blur(1px);
  backdrop-filter: blur(1px);
  text-align: left;
  background: #ffffff0d;
  border: 1px solid #ffffff4d;
  border-radius: .5rem;
  flex-direction: column;
  height: 520px;
  padding: 1.5rem;
  display: flex;
  overflow: hidden;
}

@media (min-width: 640px) {
  .authsimple-panel {
    height: 560px;
  }
}

.authsimple-panel-header {
  margin-bottom: .75rem;
}

.authsimple-panel-title {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 600;
}

.authsimple-panel-desc {
  color: #fffc;
  margin-top: .25rem;
  font-size: .875rem;
}

.authsimple-panel-body {
  flex: auto;
  min-height: 0;
  overflow: auto;
}

.authsplit-root {
  flex-direction: column;
  grid-template-columns: 1fr;
  justify-content: center;
  align-items: center;
  height: 100dvh;
  padding-inline: 2rem;
  display: grid;
  position: relative;
}

@media (min-width: 640px) {
  .authsplit-root {
    padding-inline: 0;
  }
}

@media (min-width: 1024px) {
  .authsplit-root {
    grid-template-columns: 1fr 1fr;
    max-width: none;
    padding-inline: 0;
  }
}

.authsplit-left {
  background: var(--muted);
  color: #fff;
  border-right: 1px solid #ffffff1a;
  flex-direction: column;
  height: 100%;
  padding: 2.5rem;
  display: none;
  position: relative;
}

@media (min-width: 1024px) {
  .authsplit-left {
    display: flex;
  }
}

.authsplit-left-bg {
  background: #18181b;
  position: absolute;
  inset: 0;
}

.authsplit-left-logo {
  z-index: 20;
  align-items: center;
  gap: .5rem;
  font-size: 1.125rem;
  font-weight: 500;
  display: flex;
  position: relative;
}

.authsplit-logo-icon {
  fill: currentColor;
  color: #fff;
  width: 2rem;
  height: 2rem;
  margin-right: .5rem;
}

.authsplit-quote {
  z-index: 20;
  margin-top: auto;
  position: relative;
}

.authsplit-blockquote {
  flex-direction: column;
  gap: .5rem;
  display: flex;
}

.authsplit-blockquote-text {
  font-size: 1.125rem;
}

.authsplit-blockquote-footer {
  color: #d4d4d8;
  font-size: .875rem;
}

.authsplit-right {
  width: 100%;
  padding: 2rem;
}

@media (min-width: 1024px) {
  .authsplit-right {
    padding: 2rem;
  }
}

.authsplit-right-box {
  flex-direction: column;
  gap: 1.5rem;
  width: 100%;
  max-width: 350px;
  margin-inline: auto;
  display: flex;
}

.authsplit-mobile-logo {
  z-index: 20;
  justify-content: center;
  display: flex;
  position: relative;
}

@media (min-width: 1024px) {
  .authsplit-mobile-logo {
    display: none;
  }
}

.authsplit-mobile-logo-icon {
  fill: currentColor;
  color: #000;
  height: 2.5rem;
}

@media (min-width: 640px) {
  .authsplit-mobile-logo-icon {
    height: 3rem;
  }
}

.authsplit-titlewrap {
  text-align: left;
  flex-direction: column;
  align-items: start;
  gap: .5rem;
  display: flex;
}

@media (min-width: 640px) {
  .authsplit-titlewrap {
    text-align: center;
    align-items: center;
  }
}

.authsplit-title {
  font-size: 1.25rem;
  font-weight: 500;
}

.authsplit-desc {
  color: var(--muted-foreground);
  text-wrap: balance;
  font-size: .875rem;
}

.guestlayout-root {
  background: var(--app);
  width: 100%;
  min-height: 100vh;
  color: var(--header);
  position: relative;
}

.guestlayout-header {
  z-index: 50;
  background: var(--card);
  border-bottom: 1px solid var(--border);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}

.guestlayout-main {
  padding-top: var(--app-header-h, 64px);
  padding-bottom: var(--app-footer-h, 64px);
  min-height: 100vh;
  overflow-y: auto;
}

.guestlayout-footer {
  z-index: 50;
  background: var(--card);
  border-top: 1px solid var(--border);
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
}

.appheader-layout {
  width: 100%;
  min-height: 100vh;
  padding-top: var(--app-header-h, 64px);
  background: var(--background);
  color: var(--foreground);
  flex-direction: column;
  display: flex;
}

.appmain-safebar {
  z-index: 60;
  inset-inline: 0;
  background: #fff;
  position: fixed;
  top: 0;
}

.appmain-desktop-frame {
  width: 100%;
  height: 100%;
  display: none;
  position: relative;
}

@media (min-width: 768px) {
  .appmain-desktop-frame {
    display: flex;
  }
}

.appmain-desktop-frame-noscroll {
  gap: 0;
  display: flex;
  position: relative;
}

.appmain-rightpane {
  background: var(--card);
  height: 100%;
  color: var(--foreground);
  transition: all .15s ease-out;
  overflow: hidden;
}

.appmain-mobile {
  width: 100%;
  height: 100%;
}

.appmain-mobile-scroll {
  overflow: auto;
}

.appmain-sheet-overlay {
  z-index: 90;
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  position: fixed;
  inset: 0;
}

.appmain-sheet-container {
  z-index: 100;
  will-change: transform;
  inset-inline: 0;
  position: fixed;
  bottom: 0;
}

.appmain-sheet-card {
  border-radius: var(--radius);
  box-shadow: 0 25px 50px #00000059;
}

.appmain-sheet-bg {
  pointer-events: none;
  z-index: -10;
  position: absolute;
  inset-inline: 0;
}

.appmain-sheet-handle-area {
  -webkit-user-select: none;
  user-select: none;
  position: relative;
}

.appmain-sheet-handle-inner {
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
}

.appmain-sheet-handle {
  background: #ffffffb3;
  border-radius: 9999px;
  width: 4rem;
  height: .5rem;
  margin-inline: auto;
}

.appmain-sheet-body {
  padding-inline: 1rem;
  padding-bottom: 0;
  overflow: auto;
}

.authlayout-root {
  background: var(--background);
  width: 100%;
  min-height: 100vh;
  color: var(--foreground);
  padding-inline: 1rem;
}

.authlayout-inner {
  width: 100%;
  max-width: 28rem;
  margin-inline: auto;
}

.authlayout-title {
  text-align: center;
  margin-bottom: .25rem;
  font-size: 1.25rem;
  font-weight: 600;
}

.authlayout-desc {
  color: var(--muted-foreground);
  text-align: center;
  margin-bottom: 1.5rem;
  font-size: .875rem;
}

.authlayout-body {
  margin-top: 1rem;
}

.authsimple-root {
  background: var(--background);
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 100vh;
  padding: 2rem;
  display: flex;
}

.authsimple-panel {
  background: var(--card);
  width: 100%;
  max-width: 420px;
  color: var(--foreground);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-md);
  padding: 2rem;
}

.authedlayout-root {
  font-family: var(--font-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  -webkit-font-smoothing: antialiased;
}

.authedlayout-page {
  background-color: #f3f4f6;
  min-height: 100vh;
}

.authedlayout-nav {
  background-color: #fff;
  border-bottom: 1px solid #e5e7eb;
}

.authedlayout-nav-inner {
  max-width: 80rem;
  margin-inline: auto;
  padding-inline: 1rem;
}

@media (min-width: 640px) {
  .authedlayout-nav-inner {
    padding-inline: 1.5rem;
  }
}

@media (min-width: 1024px) {
  .authedlayout-nav-inner {
    padding-inline: 2rem;
  }
}

.authedlayout-nav-row {
  justify-content: space-between;
  height: 4rem;
  display: flex;
}

.authedlayout-nav-left {
  display: flex;
}

.authedlayout-logo {
  flex-shrink: 0;
  align-items: center;
  display: flex;
}

.authedlayout-logo-img {
  width: auto;
  height: 2.25rem;
  display: block;
}

.authedlayout-nav-links {
  display: none;
}

@media (min-width: 640px) {
  .authedlayout-nav-links {
    gap: 2rem;
    margin-top: -.125rem;
    margin-bottom: -.125rem;
    margin-left: 2.5rem;
    display: flex;
  }
}

.authedlayout-user {
  display: none;
}

@media (min-width: 640px) {
  .authedlayout-user {
    align-items: center;
    margin-left: 1.5rem;
    display: flex;
  }
}

.authedlayout-userbutton {
  color: #6b7280;
  cursor: pointer;
  background: none;
  border: none;
  align-items: center;
  font-size: .875rem;
  font-weight: 500;
  display: flex;
}

.authedlayout-userbutton:hover {
  color: #374151;
}

.authedlayout-mobilebtn {
  align-items: center;
  margin-right: -.5rem;
  display: flex;
}

@media (min-width: 640px) {
  .authedlayout-mobilebtn {
    display: none;
  }
}

.authedlayout-mobile-links {
  display: block;
}

@media (min-width: 640px) {
  .authedlayout-mobile-links {
    display: none;
  }
}

.authedlayout-header {
  background-color: #fff;
  box-shadow: 0 1px 2px #0000000d;
}

.authedlayout-header-inner {
  max-width: 80rem;
  margin-inline: auto;
  padding-block: 1.5rem;
  padding-inline: 1rem;
}

@media (min-width: 640px) {
  .authedlayout-header-inner {
    padding-inline: 1.5rem;
  }
}

@media (min-width: 1024px) {
  .authedlayout-header-inner {
    padding-inline: 2rem;
  }
}

.magiclinks-root {
  flex-direction: column;
  gap: 2rem;
  max-width: 72rem;
  margin-inline: auto;
  padding: 1rem;
  display: flex;
}

.magiclinks-heading {
  font-size: 1.5rem;
  font-weight: 600;
}

.magiclinks-block {
  flex-direction: column;
  gap: .75rem;
  display: flex;
}

.magiclinks-subheading {
  font-size: 1.125rem;
  font-weight: 500;
}

.magiclinks-row {
  border-bottom: 1px solid var(--border);
}

.magiclinks-row-top {
  vertical-align: top;
}

.magiclinks-cell {
  padding-block: .5rem;
}

.magiclinks-cell-url {
  word-break: break-all;
}

.magiclinks-empty-cell {
  color: var(--muted-foreground);
  padding-block: .5rem;
  font-size: .875rem;
}

.magiclinks-generate-btn {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  cursor: pointer;
  background: none;
  padding: .375rem .75rem;
  font-size: .875rem;
  transition: background-color .12s;
}

.magiclinks-generate-btn:hover {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .magiclinks-generate-btn:hover {
    background: color-mix(in oklab, var(--accent) 4%, transparent);
  }
}

.magiclinks-copy-btn {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  cursor: pointer;
  background: none;
  padding: .25rem .5rem;
  font-size: .875rem;
  transition: background-color .12s;
}

.magiclinks-copy-btn:hover {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .magiclinks-copy-btn:hover {
    background: color-mix(in oklab, var(--accent) 4%, transparent);
  }
}

.magiclinks-pagination {
  align-items: center;
  gap: .5rem;
  padding-top: .5rem;
  display: flex;
}

.magiclinks-page-btn {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  cursor: pointer;
  background: none;
  padding: .25rem .5rem;
  font-size: .875rem;
}

.magiclinks-page-btn[disabled] {
  opacity: .6;
  cursor: default;
}

.magiclinks-page-btn--active {
  background: #e5e7eb;
}

.auth-form, .auth-form-submit, .auth-form {
  width: 100%;
}

.auth-form-actions--spaced {
  justify-content: flex-start;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

.auth-form-submit {
  width: 100%;
}

.auth-status-message {
  text-align: center;
  color: #16a34a;
  margin-bottom: 1rem;
  font-size: .875rem;
  font-weight: 500;
}

.auth-form-footnote {
  text-align: center;
  color: var(--muted-foreground);
  font-size: .875rem;
}

.auth-form-footnote > * + * {
  margin-left: .25rem;
}

.welcome-mobile {
  display: block;
}

@media (min-width: 1024px) {
  .welcome-mobile {
    display: none;
  }
}

.welcome-tabs-wrap {
  margin-bottom: 1rem;
}

.auth-form-body {
  flex-direction: column;
  gap: 1.5rem;
  display: flex;
}

.auth-form-field {
  gap: .5rem;
  display: grid;
}

.auth-form-actions {
  align-items: center;
  display: flex;
}

.auth-form-footer {
  justify-content: flex-end;
}

.auth-form-grid-6 {
  gap: 1.5rem;
  display: grid;
}

.auth-form-grid-4 {
  gap: 1rem;
  display: grid;
}

.auth-input-wrapper {
  position: relative;
}

.auth-input-password {
  padding-right: 7rem;
}

.auth-login-actions {
  flex-wrap: wrap;
  justify-content: space-between;
  gap: .75rem;
  margin-top: .5rem;
}

.auth-remember-label {
  color: var(--muted-foreground);
  -webkit-user-select: none;
  user-select: none;
  align-items: center;
  gap: .5rem;
  font-size: .875rem;
  display: flex;
}

.auth-remember-checkbox {
  width: 1rem;
  height: 1rem;
  accent-color: var(--accent);
}

.auth-login-submit {
  flex-shrink: 0;
  padding-inline: 1.5rem;
}

.auth-kind-toggle {
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  display: inline-flex;
  overflow: hidden;
}

.auth-kind-btn {
  background: var(--card);
  color: inherit;
  border: none;
  padding: .5rem .75rem;
  font-size: .875rem;
}

.auth-kind-btn-split {
  border-left: 1px solid var(--border);
}

.auth-kind-btn-active {
  background: var(--accent);
  color: #fff;
}

.auth-select {
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--card);
  height: 2.5rem;
  color: inherit;
  padding: .5rem;
}

.auth-signature-box {
  border: 1px solid var(--border);
  background: var(--card);
  border-radius: var(--radius-sm);
  position: relative;
  overflow: hidden;
}

.auth-signature-canvas {
  touch-action: manipulation;
  -webkit-user-select: none;
  user-select: none;
  background: #fff;
  width: 100%;
  height: 160px;
}

.auth-signature-footer {
  background: var(--card);
  justify-content: space-between;
  align-items: center;
  padding: .25rem .5rem;
  display: flex;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

@supports (color: color-mix(in lab, red, red)) {
  .auth-signature-footer {
    background: color-mix(in oklab, var(--card) 90%, transparent);
  }
}

.auth-signature-footer {
  color: var(--muted-foreground);
  font-size: .75rem;
}

.auth-signature-clear {
  border: 1px solid var(--border);
  height: 1.5rem;
  padding-inline: .5rem;
  font-size: .75rem;
}

.auth-terms-box {
  max-height: 12rem;
  padding: .75rem;
  font-size: .875rem;
  line-height: 1.5;
  overflow-y: auto;
}

.auth-terms-checkrow {
  align-items: center;
  gap: .5rem;
  font-size: .875rem;
  display: flex;
}

.auth-form-submit-wide {
  min-width: 180px;
}

.auth-inputerror-spaced {
  margin-top: .5rem;
}

.register-form {
  flex-direction: column;
  gap: 1.5rem;
  display: flex;
}

.register-steps {
  justify-content: space-between;
  align-items: center;
  width: 100%;
  display: flex;
}

.register-steps-dot-wrap {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.register-step-line {
  background: var(--border);
  flex: 1;
  height: 2px;
  margin-inline: .5rem;
}

.register-step-dot {
  justify-content: center;
  align-items: center;
  width: 1.5rem;
  height: 1.5rem;
  font-size: .75rem;
  font-weight: 600;
  display: flex;
}

.register-step-dot--done {
  background: var(--accent);
  color: #fff;
}

.register-step-dot--active {
  background: var(--header);
  color: var(--gray-body);
}

.register-step-dot--idle {
  background: var(--secondary);
  color: var(--body);
}

.register-step-grid {
  gap: 1.5rem;
  display: grid;
}

.register-field-group {
  gap: .5rem;
  display: grid;
}

.register-kind-toggle {
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  display: inline-flex;
  overflow: hidden;
}

.register-kind-btn {
  background: var(--card);
  color: inherit;
  border: none;
  padding: .5rem .75rem;
  font-size: .875rem;
}

.register-kind-btn--split {
  border-left: 1px solid var(--border);
}

.register-kind-btn--active {
  background: var(--accent);
  color: #fff;
}

.register-select {
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--card);
  height: 2.5rem;
  color: inherit;
  padding: .5rem;
}

.register-signature-box {
  border: 1px solid var(--border);
  background: var(--card);
  border-radius: var(--radius-sm);
  position: relative;
  overflow: hidden;
}

.register-signature-canvas {
  touch-action: manipulation;
  -webkit-user-select: none;
  user-select: none;
  background: #fff;
  width: 100%;
  height: 160px;
}

.register-signature-footer {
  background: var(--card);
  justify-content: space-between;
  align-items: center;
  padding: .25rem .5rem;
  display: flex;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

@supports (color: color-mix(in lab, red, red)) {
  .register-signature-footer {
    background: color-mix(in oklab, var(--card) 90%, transparent);
  }
}

.register-signature-footer {
  color: var(--muted-foreground);
  font-size: .75rem;
}

.register-signature-clear {
  border: 1px solid var(--border);
  height: 1.5rem;
  padding-inline: .5rem;
  font-size: .75rem;
}

.register-terms-box {
  border: 1px solid var(--border);
  background: var(--card);
  max-height: 12rem;
  padding: .75rem;
  font-size: .875rem;
  line-height: 1.5;
  overflow-y: auto;
}

.register-terms-row {
  align-items: center;
  gap: .5rem;
  font-size: .875rem;
  display: flex;
}

.register-nav-row {
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  display: flex;
}

.register-nav-back {
  min-width: 96px;
}

.register-nav-next {
  min-width: 140px;
  margin-left: auto;
}

.register-nav-submit {
  min-width: 180px;
  margin-left: auto;
}

.register-footer-text {
  color: var(--muted-foreground);
  font-size: .75rem;
}

.project-show-left {
  flex-direction: column;
  gap: 1.5rem;
  min-height: 100dvh;
  padding: 1rem;
  display: flex;
  overflow-y: auto;
}

@media (min-width: 768px) {
  .project-show-left {
    min-height: 0;
  }
}

.project-accent-divider {
  align-items: center;
  gap: 1rem;
  margin-top: .5rem;
  display: flex;
}

.project-accent-divider-line {
  background-color: var(--accent);
  flex: 1;
  height: 1px;
}

.project-accent-divider-label {
  color: var(--accent);
  text-transform: uppercase;
  letter-spacing: .12em;
  white-space: nowrap;
  font-size: .75rem;
}

.project-map-shell {
  border-radius: var(--radius, .75rem);
  border: 1px solid var(--border);
  overflow: hidden;
}

.project-map-shell--desktop {
  flex: 1;
  min-height: 260px;
}

.project-mobile-tap-name-row {
  align-items: center;
  gap: 1rem;
  margin-bottom: .25rem;
  display: flex;
}

.project-mobile-tap-name-label {
  color: var(--accent);
  text-transform: uppercase;
  letter-spacing: .12em;
  white-space: nowrap;
  font-size: .75rem;
}

.project-mobile-tap-name-line {
  background-color: var(--accent);
  flex: 1;
  height: 1px;
}

.project-safety-images-block {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  margin-top: 1rem;
  overflow: hidden;
}

.project-meta-modal-root {
  z-index: 9998;
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  inset: 0;
}

.project-meta-modal-backdrop {
  background-color: #0006;
  position: absolute;
  inset: 0;
}

.project-meta-modal-shell {
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background-color: var(--card);
  width: min(720px, 94vw);
  max-height: 90vh;
  color: var(--foreground);
  padding: 1rem;
  position: relative;
  overflow-y: auto;
  box-shadow: 0 24px 48px #000000a6;
}

@media (min-width: 640px) {
  .project-meta-modal-shell {
    padding: 1.25rem;
  }
}

.project-modal-header {
  justify-content: space-between;
  align-items: center;
  margin-bottom: .75rem;
  display: flex;
}

.project-modal-title {
  font-size: 1rem;
  font-weight: 600;
}

@media (min-width: 640px) {
  .project-modal-title {
    font-size: 1.125rem;
  }
}

.project-modal-close-btn {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  display: flex;
}

.project-modal-close-btn:hover {
  background-color: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .project-modal-close-btn:hover {
    background-color: color-mix(in srgb, var(--accent) 10%, transparent);
  }
}

.project-assign-modal-root {
  z-index: 9998;
  justify-content: center;
  align-items: flex-start;
  display: flex;
  position: fixed;
  inset: 0;
}

.project-assign-modal-backdrop {
  background: none;
  position: absolute;
  inset: 0;
}

.project-assign-modal-shell {
  border-radius: calc(var(--radius) * 1.25);
  border: 1px solid var(--border);
  background-color: var(--card);
  width: min(1100px, 94vw);
  color: var(--foreground);
  padding: 1rem;
  position: relative;
  overflow: hidden;
  box-shadow: 0 24px 48px #000000a6;
}

@media (min-width: 640px) {
  .project-assign-modal-shell {
    padding: 1.25rem;
  }
}

.project-assign-modal-body {
  max-height: calc(88vh - 56px);
  overflow-y: auto;
}

.project-assign-header-row {
  justify-content: space-between;
  align-items: center;
  margin-bottom: .75rem;
  display: flex;
}

.project-assign-title {
  font-size: 1.125rem;
  font-weight: 600;
}

.project-assign-close-btn {
  z-index: 10;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  display: flex;
  position: relative;
}

.project-assign-close-btn:hover {
  background-color: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .project-assign-close-btn:hover {
    background-color: color-mix(in srgb, var(--accent) 10%, transparent);
  }
}

.project-assign-search-row {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.project-assign-search-input {
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background-color: var(--card);
  height: 2.5rem;
  color: var(--foreground);
  flex: 1;
  padding-left: .75rem;
  padding-right: .75rem;
  font-size: .875rem;
}

.project-assign-add-btn {
  white-space: nowrap;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background-color: var(--accent);
  color: #fff;
  height: 2.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  font-size: .875rem;
}

.project-assign-add-btn:disabled {
  opacity: .6;
}

.project-assign-available-meta {
  opacity: .7;
  font-size: .75rem;
}

.project-assign-list {
  max-height: 60vh;
  padding-left: .5rem;
  padding-right: .5rem;
  overflow: hidden auto;
}

.project-assign-list-item {
  cursor: pointer;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background-color: var(--card);
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  padding: .5rem .75rem;
  display: flex;
}

.project-assign-list-item--selected {
  background-color: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .project-assign-list-item--selected {
    background-color: color-mix(in srgb, var(--accent) 10%, var(--card));
  }
}

.project-assign-list-item-name {
  white-space: normal;
  word-break: break-word;
}

.project-assign-list-item-checkbox {
  flex-shrink: 0;
  align-items: center;
  gap: .5rem;
  margin-left: .75rem;
  margin-right: .25rem;
  display: flex;
}

.project-assign-footer-msg {
  font-size: .75rem;
}

.project-scanner-root {
  z-index: 9999;
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  inset: 0;
}

.project-scanner-backdrop {
  background-color: #0009;
  position: absolute;
  inset: 0;
}

.project-scanner-shell {
  width: min(920px, 92vw);
  max-height: 86vh;
  padding: 1rem;
  position: relative;
  overflow: hidden;
  box-shadow: 0 24px 48px #000000a6;
}

@media (min-width: 640px) {
  .project-scanner-shell {
    padding: 1.25rem;
  }
}

.project-scanner-video-frame {
  aspect-ratio: 1;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  width: 100%;
  position: relative;
  overflow: hidden;
}

.project-scanner-overlay {
  pointer-events: none;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  inset: 0;
}

.project-scanner-target {
  aspect-ratio: 1;
  width: 78%;
  position: relative;
}

.project-scanner-corner {
  border: 4px solid #0000;
  border-radius: 12px;
  width: 20%;
  height: 20%;
  position: absolute;
}

.project-scanner-corner--tl {
  border-top-color: #fff;
  border-left-color: #fff;
  top: 0;
  left: 0;
}

.project-scanner-corner--tr {
  border-top-color: #fff;
  border-right-color: #fff;
  top: 0;
  right: 0;
}

.project-scanner-corner--bl {
  border-bottom-color: #fff;
  border-left-color: #fff;
  bottom: 0;
  left: 0;
}

.project-scanner-corner--br {
  border-bottom-color: #fff;
  border-right-color: #fff;
  bottom: 0;
  right: 0;
}

.project-scanner-center {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  display: flex;
  position: absolute;
  inset: 0;
}

.project-scanner-icon {
  width: 3.125rem;
  height: 3.125rem;
  color: var(--accent);
  opacity: .8;
}

.project-scanner-label {
  text-align: center;
  color: var(--muted-foreground);
  font-size: .75rem;
  font-weight: 500;
}

.plan-paragraph-text {
  white-space: normal;
  padding: 0;
  font-size: .875rem;
  line-height: 1.625;
}

.plan-paragraph-availability {
  margin-top: .5rem;
  font-size: .875rem;
  font-weight: 600;
}

.safety-plan-btn-primary {
  background-color: var(--accent, #0f4d75);
  color: #fff;
  border-radius: .5rem;
  align-items: center;
  gap: .5rem;
  padding: .5rem .75rem;
  font-size: .875rem;
  display: inline-flex;
}

.safety-plan-btn-ghost {
  border-radius: .5rem;
  align-items: center;
  gap: .5rem;
  padding: .5rem .75rem;
  font-size: .875rem;
  display: inline-flex;
}

.safety-plan-btn-cancel {
  background-color: #e5e7eb;
  border-radius: .5rem;
  padding: .5rem 1rem;
  font-size: .875rem;
}

.safety-plan-card {
  border: 1px solid var(--border, #ddd);
  background-color: var(--card, #fff);
  border-radius: 1rem;
  flex-direction: column;
  gap: 1rem;
  padding: 1rem;
  display: flex;
}

.safety-plan-card-plain {
  border-radius: 1rem;
  padding: 1rem;
}

.safety-map-shell {
  border: 1px solid var(--border);
  border-radius: .75rem;
  overflow: hidden;
}

.safety-contact-input {
  background-color: #0000;
  border-radius: 9999px;
  padding: .5rem .75rem;
  font-size: .875rem;
}

.safety-bullet-display-btn {
  text-align: left;
  cursor: pointer;
  white-space: normal;
  word-break: break-word;
  background-color: #0000;
  border-radius: 9999px;
  flex: 1;
  padding: .5rem .75rem;
}

.safety-bullet-delete-btn {
  color: #dc2626;
  border-radius: .5rem;
  justify-content: center;
  align-items: center;
  padding: .5rem;
  display: inline-flex;
}

.safety-bullet-notes {
  background-color: #0000;
  border-radius: .5rem;
  min-height: 46px;
  padding: .5rem .75rem;
}

.safety-bullet-modal-backdrop {
  z-index: 9999;
  background-color: #00000080;
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  inset: 0;
}

.safety-bullet-modal-panel {
  background-color: var(--body-bg, #f5f5f5);
  border-radius: .75rem;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
  max-width: 32rem;
  padding: 1.5rem;
  display: flex;
  box-shadow: 0 20px 40px #00000059;
}

.safety-bullet-modal-textarea {
  background-color: #0000;
  border: 1px solid #d1d5db;
  border-radius: .5rem;
  width: 100%;
  height: 15rem;
  padding: .5rem .75rem;
}

.safety-bullet-modal-actions {
  justify-content: flex-end;
  gap: .75rem;
  display: flex;
}

.safety-map-tab-root {
  width: 100%;
}

.safety-map-tab-map {
  border-style: solid;
  border-width: 1px;
  border-color: var(--rsv-border, #e5e7eb);
  border-radius: .75rem;
  width: 100%;
  height: 420px;
  overflow: hidden;
}

.safety-map-tab-caption {
  color: var(--rsv-muted, #6b7280);
  margin-top: .75rem;
  font-size: .75rem;
}

.safety-plan-root {
  width: 100%;
  max-width: 64rem;
  margin-left: auto;
  margin-right: auto;
  padding: 1.5rem 1rem;
}

.safety-plan-title {
  margin-bottom: 1rem;
  font-size: 1.5rem;
  font-weight: 600;
}

.safety-plan-main-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  margin-bottom: 1.5rem;
  display: grid;
}

@media (min-width: 768px) {
  .safety-plan-main-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.safety-plan-column {
  flex-direction: column;
  row-gap: .75rem;
  display: flex;
}

.safety-plan-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  display: grid;
}

.safety-plan-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
  display: grid;
}

.safety-plan-field-label {
  margin-bottom: .25rem;
  font-size: .875rem;
  font-weight: 500;
  display: block;
}

.safety-plan-input {
  border: 1px solid var(--border, #d1d5db);
  background-color: var(--background, #f5f5f5);
  width: 100%;
  color: var(--foreground, #111827);
  border-radius: .375rem;
  padding: .5rem .75rem;
  font-size: .875rem;
}

.safety-plan-input::placeholder {
  color: var(--muted-foreground, #6b7280);
}

.safety-plan-map-shell {
  border: 1px solid var(--border, #e5e7eb);
  border-radius: .75rem;
  margin-bottom: .5rem;
  overflow: hidden;
}

.safety-plan-map-container {
  width: 100%;
  height: 360px;
}

.safety-plan-map-credit {
  color: var(--muted-foreground, #6b7280);
  margin-bottom: 1.5rem;
  font-size: .75rem;
}

.safety-plan-map-credit a {
  text-decoration: underline;
}

.safety-plan-footer-row {
  align-items: center;
  gap: .75rem;
  display: flex;
}

.safety-plan-download-btn {
  background-color: var(--accent, #e67e22);
  color: #fff;
  border-radius: .375rem;
  align-items: center;
  padding: .5rem 1rem;
  font-size: .875rem;
  display: inline-flex;
}

.safety-plan-download-btn:hover:not(:disabled) {
  opacity: .9;
}

.safety-plan-download-btn:disabled {
  opacity: .6;
}

.safety-plan-download-note {
  color: var(--muted-foreground, #6b7280);
  font-size: .875rem;
}

.settings-appearance-wrapper, .settings-password-wrapper, .settings-password-form {
  flex-direction: column;
  row-gap: 1.5rem;
  display: flex;
}

.settings-password-field {
  row-gap: .5rem;
  display: grid;
}

.settings-password-input {
  width: 100%;
  margin-top: .25rem;
  display: block;
}

.settings-password-footer {
  align-items: center;
  column-gap: 1rem;
  display: flex;
}

.settings-password-saved-text {
  color: #525252;
  font-size: .875rem;
}

.settings-profile-wrapper, .settings-profile-form {
  flex-direction: column;
  row-gap: 1.5rem;
  display: flex;
}

.settings-profile-field {
  row-gap: .5rem;
  display: grid;
}

.settings-profile-input {
  width: 100%;
  margin-top: .25rem;
  display: block;
}

.settings-profile-error {
  margin-top: .5rem;
}

.settings-profile-verify-text {
  color: var(--muted-foreground, #6b7280);
  margin-top: -1rem;
  font-size: .875rem;
}

.settings-profile-verify-link {
  color: var(--foreground, #111827);
  text-underline-offset: 4px;
  text-decoration-line: underline;
  text-decoration-color: #d4d4d4;
  transition-property: color, text-decoration-color;
  transition-duration: .3s;
  transition-timing-function: ease-out;
}

.settings-profile-verify-link:hover {
  text-decoration-color: currentColor;
}

.settings-profile-verify-status {
  color: #16a34a;
  margin-top: .5rem;
  font-size: .875rem;
  font-weight: 500;
}

.settings-profile-footer {
  align-items: center;
  column-gap: 1rem;
  display: flex;
}

.settings-profile-saved-text {
  color: #525252;
  font-size: .875rem;
}

.password-saved-enter {
  transition: opacity .15s ease-in-out;
}

.password-saved-enter-from {
  opacity: 0;
}

.password-saved-leave {
  transition: opacity .15s ease-in-out;
}

.password-saved-leave-to {
  opacity: 0;
}

.my-history-left-pane {
  flex-direction: column;
  gap: 1rem;
  padding: 1rem;
  display: flex;
  overflow-y: auto;
}

.my-history-week-header {
  text-align: center;
  flex-direction: column;
  align-items: center;
  gap: .75rem;
  display: flex;
}

.my-history-week-subtitle {
  opacity: .8;
  font-size: 11px;
  display: block;
}

.my-history-supers-section {
  flex-direction: column;
  align-items: center;
  gap: .5rem;
  width: 100%;
  max-width: 42rem;
  display: flex;
}

.my-history-supers-label {
  color: var(--muted-foreground);
  font-size: .875rem;
}

.my-history-supers-controls {
  align-items: flex-start;
  gap: .75rem;
  width: 100%;
  display: flex;
}

.my-history-supers-select {
  border: 1px solid var(--border, #0000001a);
  border-radius: var(--radius-sm);
  width: 100%;
  color: var(--foreground);
  background: none;
  padding: .5rem .75rem;
  font-size: .875rem;
}

.my-history-supers-actions {
  flex-direction: column;
  flex-shrink: 0;
  gap: .5rem;
  display: flex;
}

.my-history-supers-button {
  border: 1px solid var(--border, #0000001a);
  border-radius: var(--radius-sm);
  cursor: pointer;
  background: none;
  padding: .5rem .75rem;
  font-size: .875rem;
  transition: background-color .12s, opacity .12s;
}

.my-history-supers-button:hover:not(:disabled) {
  background-color: var(--hover);
}

.my-history-supers-button:disabled {
  opacity: .5;
  cursor: default;
}

.my-history-weekly-total {
  color: var(--muted-foreground);
  font-size: .875rem;
}

.my-history-weekly-total-value {
  color: var(--foreground);
  font-weight: 600;
}

.my-history-loading {
  color: var(--muted-foreground);
  border: 1px solid var(--border, #0000001a);
  border-radius: var(--radius-sm);
  padding: 1.5rem;
  font-size: .875rem;
}

.my-history-days-grid {
  gap: 1rem;
  max-width: 32rem;
  display: grid;
}

.my-history-day-row {
  align-items: flex-start;
  gap: 1rem;
  display: flex;
}

.my-history-day-label {
  letter-spacing: .03em;
  flex-shrink: 0;
  width: 8rem;
  font-size: .875rem;
  font-weight: 600;
}

.my-history-day-date {
  color: var(--muted-foreground);
  font-size: .75rem;
}

.my-history-day-entries {
  flex-direction: column;
  flex: 1;
  gap: .5rem;
  display: flex;
}

.my-history-day-empty {
  color: var(--muted-foreground);
  font-size: .875rem;
}

.my-history-entry-card {
  border: 1px solid var(--border, #0000001a);
  border-radius: var(--radius-sm);
  padding: .5rem .75rem;
  font-size: .875rem;
}

.my-history-entry-title {
  font-weight: 500;
}

.my-history-entry-address {
  color: var(--muted-foreground);
  margin-top: .1rem;
  font-size: .75rem;
}

.my-history-entry-time {
  margin-top: .25rem;
  font-size: .75rem;
}

.my-history-entry-separator {
  opacity: .7;
}

.scheduler-right-pane {
  background-color: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  flex-direction: column;
  gap: 1rem;
  width: 100%;
  max-width: 1200px;
  height: 100%;
  margin-left: auto;
  padding: 1rem;
  display: flex;
  position: relative;
  overflow: auto;
  box-shadow: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;
}

@media (min-width: 640px) {
  .scheduler-right-pane {
    padding: 1.25rem;
  }
}

@media (min-width: 768px) {
  .scheduler-right-pane {
    box-shadow: none;
    border: none;
  }
}

.welcome-mobile-wrapper {
  flex-direction: column;
  row-gap: .5rem;
  width: 100%;
  margin: 0;
  padding: 0;
  display: flex;
}

@media (min-width: 768px) {
  .welcome-mobile-wrapper {
    display: none;
  }
}

.welcome-accent-divider {
  align-items: center;
  column-gap: 1rem;
  margin-top: .5rem;
  display: flex;
}

.welcome-accent-line {
  background-color: var(--accent);
  flex: 1;
  height: 1px;
}

.welcome-accent-label {
  color: var(--accent);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .75rem;
}

.welcome-loading-text {
  opacity: .7;
  font-size: .875rem;
}

.welcome-project-picker {
  width: 100%;
}

.welcome-project-picker-input {
  width: 100%;
  height: 1.25rem;
  color: var(--foreground);
  background: none;
  border: 0;
  border-radius: 0;
  outline: none;
  padding-left: 0;
  padding-right: 0;
  font-size: 1rem;
  line-height: 1.25;
}

.welcome-project-picker-input::placeholder {
  color: var(--muted-foreground);
}

.welcome-safety-images {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  overflow: hidden;
}

.welcome-safety-image {
  width: 100%;
  height: auto;
  display: block;
}

.welcome-scan-overlay {
  z-index: 9999;
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  inset: 0;
}

.welcome-scan-overlay-backdrop {
  background-color: #0009;
  position: absolute;
  inset: 0;
}

.welcome-scan-modal {
  z-index: 1;
  background-color: #0000;
  width: min(920px, 92vw);
  max-height: 86vh;
  padding: 1rem;
  position: relative;
  overflow: hidden;
  box-shadow: 0 25px 50px -12px #00000040;
}

@media (min-width: 640px) {
  .welcome-scan-modal {
    padding: 1.25rem;
  }
}

.welcome-scan-frame {
  aspect-ratio: 1;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  width: 100%;
  position: relative;
  overflow: hidden;
}

.welcome-scan-video {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.welcome-scan-overlay-frame-wrapper {
  pointer-events: none;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  inset: 0;
}

.welcome-scan-overlay-inner {
  aspect-ratio: 1;
  width: 78%;
  position: relative;
}

.welcome-scan-corner {
  border-color: var(--accent);
  border-width: 4px;
  width: 20%;
  height: 20%;
  position: absolute;
}

.welcome-scan-corner-tl {
  border-bottom: 0;
  border-right: 0;
  border-top-left-radius: 12px;
  top: 0;
  left: 0;
}

.welcome-scan-corner-tr {
  border-bottom: 0;
  border-left: 0;
  border-top-right-radius: 12px;
  top: 0;
  right: 0;
}

.welcome-scan-corner-bl {
  border-top: 0;
  border-right: 0;
  border-bottom-left-radius: 12px;
  bottom: 0;
  left: 0;
}

.welcome-scan-corner-br {
  border-top: 0;
  border-left: 0;
  border-bottom-right-radius: 12px;
  bottom: 0;
  right: 0;
}

.welcome-scan-center {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: .5rem;
  display: flex;
  position: absolute;
  inset: 0;
}

.welcome-scan-icon {
  width: 7.5rem;
  height: 7.5rem;
  color: var(--accent);
  opacity: .8;
}

.welcome-scan-text {
  color: var(--muted-foreground);
  text-align: center;
  font-size: .75rem;
  font-weight: 500;
}

.projects-left-pane {
  flex-direction: column;
  gap: 1rem;
  display: flex;
  overflow-y: auto;
}

@media (min-width: 768px) {
  .projects-left-pane {
    min-height: 0;
    overflow-y: hidden;
  }
}

.projects-main-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  display: grid;
}

@media (min-width: 1024px) {
  .projects-main-grid {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  }
}

.projects-map-column {
  display: none;
}

@media (min-width: 1024px) {
  .projects-map-column {
    display: block;
  }
}

.projects-map-wrapper {
  position: sticky;
  top: 72px;
  overflow: hidden;
}

.projects-card {
  background-color: var(--card);
  cursor: pointer;
  flex-direction: column;
  row-gap: .5rem;
  width: 100%;
  padding: .75rem;
  font-size: .875rem;
  display: flex;
}

.projects-card-header {
  justify-content: flex-start;
  align-items: flex-start;
  column-gap: .5rem;
  display: flex;
}

.projects-card-title-wrap {
  flex: 1;
  min-width: 0;
}

.projects-card-title {
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: .875rem;
  font-weight: 600;
  line-height: 1.2;
  overflow: hidden;
}

.projects-card-subtitle {
  color: var(--muted-foreground);
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: .75rem;
  line-height: 1.2;
  overflow: hidden;
}

.projects-card-meta {
  flex-direction: column;
  row-gap: .125rem;
  margin-top: .25rem;
  font-size: .75rem;
  display: flex;
}

.projects-card-meta-row {
  justify-content: space-between;
  column-gap: .5rem;
  display: flex;
}

.projects-card-meta-label {
  color: var(--muted-foreground);
}

.projects-card-meta-value {
  white-space: nowrap;
  text-overflow: ellipsis;
  font-weight: 500;
  overflow: hidden;
}

.projects-card-actions-row {
  justify-content: space-between;
  align-items: center;
  column-gap: .5rem;
  margin-top: .5rem;
  display: flex;
}

.projects-card-actions-left, .projects-card-actions-right {
  align-items: center;
  column-gap: .375rem;
  display: flex;
}

.projects-card-icon-btn {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background-color: #0000;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  padding: .25rem;
  display: grid;
}

.projects-card-icon-btn:hover {
  background-color: var(--hover);
}

.projects-card-map-toggle {
  display: none;
}

@media (min-width: 1024px) {
  .projects-card-map-toggle {
    display: grid;
  }
}

.projects-card-map-toggle--on {
  color: #16a34a;
}

.projects-card-map-toggle--off {
  color: #0f4d75;
}

.projects-card-archive-btn {
  border-radius: var(--radius-sm);
  color: #dc2626;
  background-color: #0000;
  border: 1px solid #ef4444;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  display: grid;
}

.projects-card-archive-btn:hover {
  background-color: #f871711f;
}

.projects-addresses-pane {
  flex-direction: column;
  row-gap: .75rem;
  padding: 1rem;
  display: flex;
}

.projects-addresses-search-row {
  align-items: stretch;
  column-gap: .75rem;
  margin-bottom: .75rem;
  display: flex;
}

.projects-addresses-search-input {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  flex: 1;
  height: 40px;
  padding: 0 .75rem;
  font-size: .875rem;
}

.projects-addresses-add-btn {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  color: #fff;
  background-color: #16a34a;
  height: 40px;
  padding: 0 1rem;
  font-size: .875rem;
  font-weight: 500;
}

.projects-addresses-add-btn:hover {
  background-color: #15803d;
}

.projects-addresses-add-btn--active {
  color: #111827;
  background-color: #e5e7eb;
}

.projects-addresses-add-btn--active:hover {
  background-color: #d1d5db;
}

.projects-addresses-add-panel {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background-color: var(--card);
  flex-direction: column;
  row-gap: 1rem;
  margin-top: .75rem;
  padding: .75rem;
  display: flex;
}

.projects-addresses-add-google {
  flex-direction: column;
  row-gap: .5rem;
  display: flex;
}

.projects-addresses-add-label {
  color: var(--muted-foreground);
  font-size: .75rem;
  font-weight: 600;
}

.projects-addresses-google-input {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  width: 100%;
  height: 40px;
  padding: 0 .75rem;
  font-size: .875rem;
}

.projects-addresses-google-preview {
  border-radius: var(--radius-sm);
  background-color: var(--muted);
  margin-top: .5rem;
  padding: .25rem .5rem;
  font-size: .75rem;
}

@supports (color: color-mix(in lab, red, red)) {
  .projects-addresses-google-preview {
    background-color: color-mix(in srgb, var(--muted) 10%, transparent);
  }
}

.projects-addresses-google-actions {
  align-items: center;
  column-gap: .5rem;
  margin-top: .5rem;
  display: flex;
}

.projects-addresses-google-save {
  border-radius: var(--radius-sm);
  color: #fff;
  background-color: #16a34a;
  height: 32px;
  padding: 0 .75rem;
  font-size: .75rem;
  font-weight: 500;
}

.projects-addresses-google-save:hover:not(.projects-addresses-google-save--disabled) {
  background-color: #15803d;
}

.projects-addresses-google-save--disabled {
  color: #6b7280;
  cursor: not-allowed;
  background-color: #d1d5db;
}

.projects-addresses-google-cancel {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  height: 32px;
  padding: 0 .75rem;
  font-size: .75rem;
}

.projects-addresses-manual {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  padding: .75rem;
}

.projects-addresses-manual-summary {
  cursor: pointer;
  font-size: .875rem;
  font-weight: 500;
}

.projects-addresses-manual-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: .5rem;
  margin-top: .75rem;
  display: grid;
}

@media (min-width: 640px) {
  .projects-addresses-manual-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.projects-addresses-manual-input {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  padding: .5rem .75rem;
  font-size: .875rem;
}

.projects-addresses-manual-input--state {
  text-transform: uppercase;
  letter-spacing: .08em;
}

.projects-addresses-manual-actions {
  align-items: center;
  column-gap: .5rem;
  margin-top: .75rem;
  display: flex;
}

.projects-addresses-manual-save {
  border-radius: var(--radius-sm);
  color: #fff;
  background-color: #16a34a;
  height: 32px;
  padding: 0 .75rem;
  font-size: .75rem;
}

.projects-addresses-manual-save:hover {
  background-color: #15803d;
}

.projects-addresses-list {
  border-top: 1px solid var(--border);
}

.projects-address-item {
  border-bottom: 1px solid var(--border);
  padding: 0;
}

.projects-address-item-header {
  justify-content: space-between;
  align-items: center;
  column-gap: .5rem;
  width: 100%;
  padding: .75rem;
  display: flex;
}

.projects-address-item-text {
  text-align: left;
  min-width: 0;
}

.projects-address-item-street {
  font-size: .875rem;
  font-weight: 500;
}

.projects-address-item-city, .projects-address-item-toggle {
  opacity: .7;
  font-size: .75rem;
}

.projects-address-item-body {
  padding: 0 .75rem .75rem;
}

.projects-address-item-verifier {
  margin-bottom: .75rem;
}

.projects-address-item-actions {
  column-gap: .5rem;
  padding-bottom: .75rem;
  display: flex;
}

.projects-address-item-new-btn {
  border-radius: var(--radius-sm);
  color: #fff;
  background-color: #16a34a;
  flex: 1;
  height: 32px;
  padding: 0 .75rem;
  font-size: .75rem;
  font-weight: 500;
}

.projects-address-item-new-btn:hover:not(.projects-address-item-new-btn--disabled) {
  background-color: #15803d;
}

.projects-address-item-new-btn--disabled {
  cursor: not-allowed;
  background-color: #d1d5db;
}

.projects-address-item-open-btn {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  height: 32px;
  padding: 0 .5rem;
  font-size: .75rem;
}

.projects-address-item-open-btn:hover {
  background-color: var(--hover);
}

.projects-address-item-archive-btn {
  border-radius: var(--radius-sm);
  color: #dc2626;
  border: 1px solid #ef4444;
  place-items: center;
  width: 32px;
  height: 32px;
  display: grid;
}

.projects-address-item-archive-btn:hover {
  background-color: #f871711f;
}

.projects-address-project-list {
  flex-direction: column;
  row-gap: .25rem;
  margin-bottom: .5rem;
  display: flex;
}

.projects-address-project-item {
  justify-content: space-between;
  align-items: center;
  column-gap: .5rem;
  font-size: .75rem;
  display: flex;
}

.projects-address-project-text {
  min-width: 0;
}

.projects-address-project-title {
  white-space: nowrap;
  text-overflow: ellipsis;
  font-weight: 500;
  overflow: hidden;
}

.projects-address-project-meta {
  opacity: .7;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.projects-address-project-actions {
  align-items: center;
  column-gap: .375rem;
  display: flex;
}

.projects-address-project-open {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  color: #0f4d75;
  place-items: center;
  width: 32px;
  height: 32px;
  display: grid;
}

.projects-address-project-open:hover {
  background-color: var(--hover);
}

.projects-address-project-archive {
  border-radius: var(--radius-sm);
  color: #dc2626;
  border: 1px solid #ef4444;
  place-items: center;
  width: 32px;
  height: 32px;
  display: grid;
}

.projects-address-project-archive:hover {
  background-color: #f871711f;
}

.projects-address-project-empty {
  opacity: .7;
  margin-bottom: .5rem;
  font-size: .75rem;
}

.projects-inline-new-project {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background-color: var(--card);
  margin-top: .5rem;
  padding: .75rem;
}

.projects-inline-new-header {
  justify-content: space-between;
  align-items: center;
  margin-bottom: .5rem;
  display: flex;
}

.projects-inline-new-title {
  font-size: .875rem;
  font-weight: 600;
}

.projects-inline-new-cancel {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  padding: .25rem .5rem;
  font-size: .75rem;
}

.projects-inline-new-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: .5rem;
  display: grid;
}

@media (min-width: 768px) {
  .projects-inline-new-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.projects-inline-new-field {
  row-gap: .25rem;
  display: grid;
}

.projects-inline-new-label {
  opacity: .7;
  font-size: .75rem;
}

.projects-inline-new-input {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  padding: .375rem .5rem;
  font-size: .875rem;
}

.projects-inline-new-actions {
  column-gap: .5rem;
  margin-top: .75rem;
  display: flex;
}

.projects-inline-new-primary {
  border-radius: var(--radius-sm);
  color: #fff;
  background-color: #16a34a;
  padding: .375rem .75rem;
  font-size: .875rem;
}

.projects-inline-new-primary:hover:not(.projects-inline-new-primary--busy) {
  background-color: #15803d;
}

.projects-inline-new-primary--busy {
  background-color: #9ca3af;
}

.projects-inline-new-secondary {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  padding: .375rem .75rem;
  font-size: .875rem;
}

.projects-right-pane {
  background-color: var(--card);
  border-radius: var(--radius);
  border: 1px solid var(--border);
  flex-direction: column;
  row-gap: 1rem;
  width: 100%;
  max-width: 1200px;
  height: 100%;
  margin-left: auto;
  padding: 1rem;
  display: flex;
  position: relative;
  overflow: auto;
  box-shadow: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;
}

@media (min-width: 640px) {
  .projects-right-pane {
    padding: 1.25rem;
  }
}

@media (min-width: 768px) {
  .projects-right-pane {
    box-shadow: none;
    border: none;
    border-radius: 0;
  }
}

.projects-qr-pane {
  background-color: var(--card);
  flex-direction: column;
  width: 100%;
  max-width: 600px;
  height: 100%;
  margin-left: auto;
  display: flex;
  position: relative;
}

.projects-qr-inner {
  text-align: center;
  flex-direction: column;
  flex: 1;
  justify-content: center;
  align-items: center;
  padding: 2.5rem 1.5rem;
  display: flex;
}

.projects-qr-label {
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--muted-foreground);
  margin-bottom: .75rem;
  font-size: .75rem;
}

.projects-qr-code-wrap {
  margin-bottom: 1rem;
}

.projects-qr-title {
  opacity: .8;
  margin-bottom: 1rem;
  font-size: .95rem;
  font-weight: 500;
  line-height: 1.25;
}

.projects-qr-download-btn {
  display: none;
}

@media (min-width: 768px) {
  .projects-qr-download-btn {
    border-radius: var(--radius-sm);
    color: #fff;
    background-color: #0f4d75;
    height: 2.25rem;
    padding: 0 1rem;
    font-size: .875rem;
    font-weight: 600;
    display: inline-flex;
  }

  .projects-qr-download-btn:hover {
    opacity: .9;
  }
}

.projects-safety-pane {
  flex-direction: column;
  row-gap: 1rem;
  padding: 1rem;
  display: flex;
}

.projects-show-pane {
  background-color: var(--card);
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.projects-show-iframe {
  border: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  display: block;
  position: absolute;
  inset: 0;
}

.projects-ef-pane {
  background-color: var(--card);
  flex-direction: column;
  height: 100%;
  display: flex;
}

.projects-ef-header {
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
  padding: 1rem;
}

.projects-ef-title {
  font-size: .875rem;
  font-weight: 600;
}

.projects-ef-body {
  flex: 1;
  padding: .75rem;
  overflow-y: auto;
}

.projects-ef-empty {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  opacity: .8;
  padding: .75rem;
  font-size: .875rem;
}

.projects-ef-footer {
  border-top: 1px solid var(--border);
  flex-shrink: 0;
  column-gap: .5rem;
  padding: .75rem;
  display: flex;
}

.projects-ef-close-btn {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  height: 2.25rem;
  padding: 0 .75rem;
}

.safety-left-pane {
  flex-direction: column;
  gap: 1rem;
  display: flex;
  overflow-y: auto;
}

.safety-tag-pill {
  border-radius: 9999px;
  align-items: center;
  height: 1.5rem;
  padding: 0 .5rem;
  font-size: .75rem;
  font-weight: 500;
  display: inline-flex;
}

.safety-tag-pill-label {
  white-space: nowrap;
  text-overflow: ellipsis;
  max-width: 160px;
  overflow: hidden;
}

.safety-tag-wrapper {
  margin-right: .25rem;
  display: inline-flex;
  position: relative;
}

.safety-tag-remove {
  color: #fff;
  opacity: 0;
  background-color: #dc2626;
  border-radius: 9999px;
  place-items: center;
  width: 1.25rem;
  height: 1.25rem;
  font-size: .75rem;
  line-height: 1;
  transition: opacity .12s ease-out;
  display: grid;
  position: absolute;
  top: -.25rem;
  right: -.25rem;
}

.safety-tag-wrapper:hover .safety-tag-remove {
  opacity: 1;
}

.safety-owners-cell {
  width: 100%;
}

.safety-owners-tags {
  flex-wrap: wrap;
  align-items: center;
  gap: .25rem;
  margin-bottom: .25rem;
  display: flex;
}

.safety-owners-empty {
  opacity: .6;
  font-size: .875rem;
}

.safety-owners-select {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  width: 100%;
  color: var(--foreground);
  background-color: #fff;
  padding: .5rem;
  font-size: .875rem;
}

.safety-osha-ref-picker {
  gap: .5rem;
  display: flex;
}

.safety-osha-ref-input {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  width: 100%;
  height: 2.5rem;
  color: var(--foreground);
  background-color: #fff;
  padding: 0 .5rem;
  font-size: .875rem;
}

.safety-osha-ref-add-btn {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background-color: #0000;
  height: 2.5rem;
  padding: 0 .75rem;
  font-size: .875rem;
}

.safety-osha-ref-add-btn:hover {
  background-color: var(--hover);
}

.safety-doc-controls {
  align-items: center;
  gap: .5rem;
  width: 100%;
  display: flex;
}

.safety-doc-controls-left {
  flex-shrink: 0;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.safety-doc-controls-btn {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background-color: #0000;
  place-items: center;
  width: 2rem;
  height: 2rem;
  display: grid;
}

.safety-doc-controls-btn:disabled {
  opacity: .5;
  cursor: default;
}

.safety-doc-controls-btn:not(:disabled):hover {
  background-color: var(--hover);
}

.safety-doc-controls-icon {
  width: 1rem;
  height: 1rem;
}

.safety-doc-controls-status {
  flex: 1;
  align-items: center;
  min-width: 0;
  display: none;
}

@media (min-width: 768px) {
  .safety-doc-controls-status {
    display: flex;
  }
}

.safety-doc-controls-status-text {
  opacity: .7;
  white-space: nowrap;
  margin-left: auto;
  font-size: .75rem;
}

.safety-docs-mobile {
  display: block;
}

.safety-docs-desktop {
  display: none;
}

@media (min-width: 768px) {
  .safety-docs-mobile {
    display: none;
  }

  .safety-docs-desktop {
    display: block;
  }
}

.safety-items-toolbar-right {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.safety-category-filter {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background-color: #0000;
  height: 2rem;
  padding: 0 .5rem;
  font-size: .875rem;
}

.safety-osha-button {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  height: 2rem;
  color: var(--body);
  background-color: #0000;
  align-items: center;
  gap: .25rem;
  padding: 0 .75rem;
  font-size: .875rem;
  display: flex;
}

.safety-osha-button:hover {
  background-color: var(--hover);
}

.safety-items-empty {
  text-align: center;
  opacity: .7;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  padding: 2rem 1rem;
  font-size: .875rem;
}

.safety-items-table {
  width: 100%;
}

.safety-cell {
  padding: .5rem;
  font-size: .875rem;
}

.safety-cell--updated {
  opacity: .8;
}

.safety-cell--owners {
  padding-top: .25rem;
  padding-bottom: .25rem;
}

.safety-cell--summary {
  white-space: pre-wrap;
  word-break: break-word;
  opacity: .9;
}

.safety-title-button {
  text-align: left;
  border-radius: var(--radius-sm);
  width: 100%;
  padding: .5rem;
  transition: background-color .12s, opacity .12s;
}

.safety-title-button--enabled {
  cursor: pointer;
}

.safety-title-button--enabled:hover {
  background-color: var(--hover);
}

.safety-title-button--locked {
  cursor: not-allowed;
  opacity: .9;
}

.safety-title-text {
  font-size: .9rem;
  font-weight: 500;
}

.safety-project-text {
  flex-direction: column;
  display: flex;
}

.safety-project-title {
  font-size: .875rem;
  font-weight: 600;
  line-height: 1.2;
}

.safety-project-subline {
  color: var(--muted-foreground);
  font-size: .75rem;
  line-height: 1.2;
}

.safety-project-none {
  font-size: .875rem;
}

.safety-osha-pane {
  background-color: var(--background);
  flex-direction: column;
  height: 100%;
  max-height: 100%;
  display: flex;
  overflow: hidden;
}

.safety-osha-toolbar-wrap {
  flex-shrink: 0;
  padding: 1rem;
}

.safety-osha-toolbar-right {
  align-items: center;
  gap: .5rem;
  width: 100%;
  display: flex;
}

.safety-osha-sync-btn {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background-color: #0000;
  align-items: center;
  gap: .25rem;
  height: 2rem;
  padding: 0 .75rem;
  font-size: .875rem;
  display: flex;
}

.safety-osha-sync-btn:hover:not(:disabled) {
  background-color: var(--hover);
}

.safety-osha-sync-btn:disabled {
  opacity: .5;
  cursor: default;
}

.safety-osha-part-select, .safety-osha-section-select {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background-color: #0000;
  height: 2rem;
  padding: 0 .5rem;
  font-size: .875rem;
}

.safety-osha-section-select {
  min-width: 12rem;
}

.safety-osha-header-wrap {
  flex: 1;
  align-items: center;
  min-width: 0;
  display: none;
}

@media (min-width: 768px) {
  .safety-osha-header-wrap {
    display: flex;
  }
}

.safety-osha-header-text {
  opacity: .8;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: .875rem;
  font-weight: 600;
  overflow: hidden;
}

.safety-osha-content-scroll {
  flex: 1;
  padding: 1rem;
  overflow-y: auto;
}

.safety-osha-content-inner {
  overflow: hidden;
}

.safety-osha-table {
  width: 100%;
  font-size: .875rem;
}

.safety-osha-col-indent {
  border: 0;
  width: .75rem;
}

.safety-osha-row-loading, .safety-osha-row-error, .safety-osha-row-empty {
  padding: 1rem .75rem;
  font-size: .875rem;
}

.safety-osha-row-error {
  color: #dc2626;
}

.safety-osha-summary-row {
  background-color: var(--card);
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
}

.safety-osha-summary-cell {
  padding: 0;
}

.safety-osha-summary-bar {
  z-index: 20;
  background: var(--card);
  padding: .5rem .75rem;
  position: sticky;
  top: 0;
}

.safety-osha-summary-content {
  align-items: center;
  gap: .75rem;
  display: flex;
}

.safety-osha-summary-section {
  font-weight: 600;
}

.safety-osha-summary-title {
  white-space: nowrap;
  text-overflow: ellipsis;
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

.safety-osha-sub-indent {
  border: 0;
  width: .75rem;
  padding: .5rem 0;
}

.safety-osha-sub-text-cell {
  padding: .5rem .75rem;
}

.safety-osha-sub-text {
  white-space: pre-wrap;
  opacity: .8;
  text-align: left;
  line-height: 1.25rem;
}

.safety-osha-sub-empty {
  opacity: .6;
}

.safety-osha-highlight {
  color: #000;
  background-color: #facc15;
  border-radius: .125rem;
  padding: 0 .125rem;
}

.safety-edit-pane {
  flex-direction: column;
  height: 100%;
  display: flex;
}

.safety-edit-header {
  border-bottom: 1px solid var(--accent);
  background-color: var(--gray-body);
  flex-shrink: 0;
  padding: 1rem;
}

.safety-edit-title {
  font-size: .875rem;
  font-weight: 600;
}

.safety-edit-body {
  background-color: var(--gray-body);
  flex-direction: column;
  flex: 1;
  gap: 1rem;
  padding: 1rem;
  display: flex;
  overflow-y: auto;
}

.safety-form-group {
  flex-direction: column;
  gap: .25rem;
  display: flex;
}

.safety-form-label {
  opacity: .7;
  font-size: .75rem;
}

.safety-form-input {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  color: #000;
  width: 100%;
  padding: .5rem;
  font-size: .875rem;
}

.safety-form-textarea {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  resize: vertical;
  color: #000;
  width: 100%;
  min-height: 120px;
  padding: .5rem;
  font-size: .875rem;
}

.safety-edit-footer {
  border-top: 1px solid var(--accent);
  background-color: var(--gray-body);
  flex-shrink: 0;
  gap: .5rem;
  padding-top: 1rem;
  display: flex;
}

.safety-edit-btn {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  color: #000;
  height: 2.25rem;
  padding: 0 .75rem;
  font-size: .875rem;
}

.safety-edit-btn:hover {
  background-color: var(--hover);
}

.safety-edit-btn--primary {
  background-color: var(--header);
  color: #fff;
}

.safety-edit-btn--primary:hover {
  opacity: .9;
}

.settings-shell {
  width: 100%;
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
  padding: 1.5rem 1rem;
}

.settings-tabs {
  border-bottom: 1px solid var(--border);
  gap: 1.5rem;
  padding-bottom: 4px;
  display: flex;
}

.settings-tab-link {
  color: var(--muted-foreground);
  padding-bottom: 12px;
  font-size: .875rem;
  font-weight: 500;
  transition: color .2s;
  position: relative;
}

.settings-tab-link:hover, .settings-tab-link-active {
  color: var(--header);
}

.settings-tab-underline {
  pointer-events: none;
  background: var(--accent);
  transform-origin: 0;
  height: 2px;
  transition: transform .25s;
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  transform: scaleX(0);
}

.settings-tab-link:hover .settings-tab-underline {
  transform: scaleX(1);
}

.settings-tab-underline-active {
  animation: .3s ease-out slide-in-underline;
  transform: scaleX(1);
}

.settings-content {
  flex-direction: column;
  gap: 3rem;
  margin-top: 1.5rem;
  display: flex;
}

.register-osha-group {
  flex-direction: column;
  gap: .5rem;
  display: flex;
}

.register-osha-row {
  align-items: center;
  gap: .75rem;
  display: flex;
}

.register-osha-file {
  background: var(--header);
  border: 1px solid var(--border);
  color: var(--gray-body);
  cursor: pointer;
  border-radius: .375rem;
  flex: auto;
  padding: .4rem .6rem;
}

.register-osha-scan-btn {
  white-space: nowrap;
  padding-inline: .75rem;
}

.register-osha-filename {
  color: var(--gray-body);
  opacity: .85;
  font-size: .875rem;
}

.register-osha-result {
  color: var(--accent);
  font-size: .875rem;
  font-weight: 500;
}

.sp-browser-card {
  border-radius: var(--radius-md);
  overflow: hidden;
}

.app-header-leftbtn {
  background: var(--header);
  width: 1rem;
  height: 1rem;
  color: var(--card);
  cursor: pointer;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.app-header-leftbtn-icon {
  width: 1rem;
  height: 1rem;
}

.settings-safe-top {
  height: env(safe-area-inset-top);
}

.settings-body-scroll {
  -webkit-overflow-scrolling: touch;
  overflow-y: auto;
}

.settings-panel-left {
  border-right: 1px solid var(--accent);
  border-left: none;
  left: 0;
  right: auto;
}

.app-header-leftbtn-mobileonly {
  display: none;
}

@media (max-width: 767.98px) {
  .app-header-leftbtn-mobileonly {
    display: inline-flex;
  }
}

.app-header-leftcluster, .settings-header-row {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.settings-header-profile {
  flex: auto;
  align-items: center;
  gap: .5rem;
  min-width: 0;
  display: flex;
}

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

.settings-logout-icon {
  color: red;
  cursor: pointer;
  background: none;
  border: none;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  display: inline-flex;
}

.settings-desktop-only {
  display: none;
}

@media (min-width: 1024px) {
  .settings-desktop-only {
    display: flex;
  }
}

.settings-page-title {
  font-size: 1.125rem;
  font-weight: 600;
}

.settings-page-subtitle {
  opacity: .75;
  margin-top: .25rem;
  font-size: .875rem;
}

.settings-block {
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--card);
  margin-top: 1rem;
  padding: .75rem;
}

.settings-block-row {
  flex-direction: column;
  gap: .25rem;
  display: flex;
}

.settings-block-label {
  opacity: .7;
  font-size: .75rem;
}

.settings-block-value {
  word-break: break-word;
  font-size: .875rem;
}

.settings-actions-row {
  gap: .5rem;
  margin-top: .75rem;
  display: flex;
}

.settings-btn {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  cursor: pointer;
  background: none;
  height: 2.25rem;
  padding: 0 .75rem;
}

.settings-btn:hover {
  background: var(--hover);
}

.admin-header-root {
  background: var(--background);
}

.admin-header-inner {
  position: relative;
}

.admin-header-tabs {
  justify-content: center;
  gap: 1.25rem;
  padding: .75rem 1rem;
  display: none;
}

.admin-header-tab {
  color: var(--muted-foreground);
  cursor: pointer;
  background: none;
  border-bottom: 2px solid #0000;
  padding: .5rem .25rem;
  font-size: .875rem;
}

.admin-header-tab:hover {
  color: var(--foreground);
}

.admin-header-tab-active {
  color: var(--foreground);
  border-bottom-color: var(--accent);
  font-weight: 500;
}

.admin-header-mobile {
  justify-content: center;
  padding: .6rem 1rem;
  display: flex;
}

.admin-header-mobile-trigger {
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--card);
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  width: 100%;
  max-width: 92vw;
  height: 38px;
  padding: 0 12px;
  display: inline-flex;
}

.admin-header-mobile-label {
  color: var(--foreground);
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: .875rem;
  overflow: hidden;
}

.admin-header-mobile-icon {
  width: 16px;
  height: 16px;
  transition: transform .12s;
}

.admin-header-mobile-icon-open {
  transform: rotate(180deg);
}

.admin-header-mobile-menu {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  z-index: 60;
  width: 100%;
  max-width: 92vw;
  position: absolute;
  top: 48px;
  left: 50%;
  overflow: hidden;
  transform: translateX(-50%);
}

.admin-header-mobile-item {
  text-align: left;
  width: 100%;
  color: var(--foreground);
  cursor: pointer;
  background: none;
  border: 0;
  padding: 10px 12px;
  font-size: .875rem;
}

.admin-header-mobile-item:hover {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .admin-header-mobile-item:hover {
    background: color-mix(in srgb, var(--accent) 10%, transparent);
  }
}

.admin-header-mobile-item-active {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .admin-header-mobile-item-active {
    background: color-mix(in srgb, var(--accent) 16%, transparent);
  }
}

.admin-header-mobile-item-active {
  font-weight: 600;
}

.admin-header-mobile-backdrop {
  z-index: 50;
  background: none;
  position: fixed;
  inset: 0;
}

@media (min-width: 768px) {
  .admin-header-mobile {
    display: none;
  }

  .admin-header-tabs {
    display: flex;
  }
}

.safety-activity-chip-row {
  border: 1px solid var(--border);
  background: var(--card);
  border-radius: var(--radius-sm);
  flex-wrap: wrap;
  gap: .5rem;
  max-height: 10rem;
  padding: .5rem;
  display: flex;
  overflow: auto;
}

.safety-activity-chip {
  border: 1px solid var(--border);
  background: var(--card);
  align-items: center;
  gap: .5rem;
  padding: .35rem .6rem;
  display: inline-flex;
  position: relative;
}

@supports (color: color-mix(in lab, red, red)) {
  .safety-activity-chip {
    background: color-mix(in srgb, var(--card) 92%, var(--accent) 8%);
  }
}

.safety-activity-chip {
  color: var(--foreground);
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  max-width: 100%;
  font-size: .75rem;
  line-height: 1;
}

.safety-activity-chip-text {
  text-overflow: ellipsis;
  overflow: hidden;
}

.safety-activity-chip-remove {
  opacity: 0;
  pointer-events: none;
  width: 1.15rem;
  height: 1.15rem;
  color: var(--foreground);
  background: none;
  border: 0;
  flex: none;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 0;
  transition: opacity .12s, transform .12s, background-color .12s;
  display: inline-flex;
}

.safety-activity-chip:hover .safety-activity-chip-remove, .safety-activity-chip:focus-within .safety-activity-chip-remove {
  opacity: 1;
  pointer-events: auto;
}

.safety-activity-chip-remove:hover {
  background: var(--danger, #ef4444);
}

@supports (color: color-mix(in lab, red, red)) {
  .safety-activity-chip-remove:hover {
    background: color-mix(in srgb, var(--danger, #ef4444) 18%, transparent);
  }
}

.safety-activity-chip-remove:hover {
  transform: scale(1.06);
}

.safety-activity-chip-remove:disabled {
  opacity: 0;
  pointer-events: none;
}

.safety-activity-chip-remove-x {
  font-size: .8rem;
  font-weight: 700;
  line-height: 1;
}

.safety-activity-row {
  grid-template-columns: 2.25rem 1fr;
  align-items: stretch;
  gap: .5rem;
  display: grid;
}

.safety-activity-add-btn {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--card);
  width: 2.25rem;
  height: 100%;
  color: var(--accent);
  justify-content: center;
  align-items: center;
  transition: background-color .12s, border-color .12s, transform .12s;
  display: inline-flex;
}

.safety-activity-add-btn:hover {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .safety-activity-add-btn:hover {
    background: color-mix(in srgb, var(--accent) 10%, var(--card));
  }
}

.safety-activity-add-btn:hover {
  border-color: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .safety-activity-add-btn:hover {
    border-color: color-mix(in srgb, var(--accent) 35%, var(--border));
  }
}

.safety-activity-add-btn:hover {
  transform: translateY(-1px);
}

.safety-activity-add-btn:disabled {
  opacity: .6;
  cursor: not-allowed;
  transform: none;
}

.safety-activity-add-icon {
  width: 1.05rem;
  height: 1.05rem;
}

.safety-activity-row-main {
  text-align: left;
  border: 1px solid var(--border);
  background: var(--card);
  border-radius: var(--radius-sm);
  flex-direction: column;
  gap: .15rem;
  width: 100%;
  padding: .5rem .65rem;
  transition: background-color .12s, border-color .12s;
  display: flex;
}

.safety-activity-row-main:hover {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .safety-activity-row-main:hover {
    background: color-mix(in srgb, var(--accent) 6%, var(--card));
  }
}

.safety-activity-row-main:hover {
  border-color: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .safety-activity-row-main:hover {
    border-color: color-mix(in srgb, var(--accent) 22%, var(--border));
  }
}

.safety-activity-row-main:disabled {
  cursor: default;
}

.safety-activity-chip-row::-webkit-scrollbar {
  width: 10px;
}

.safety-activity-row-main::-webkit-scrollbar {
  width: 10px;
}

.safety-activity-chip-row::-webkit-scrollbar-thumb {
  background: var(--foreground);
}

@supports (color: color-mix(in lab, red, red)) {
  .safety-activity-chip-row::-webkit-scrollbar-thumb {
    background: color-mix(in srgb, var(--foreground) 18%, transparent);
  }
}

.safety-activity-row-main::-webkit-scrollbar-thumb {
  background: var(--foreground);
}

@supports (color: color-mix(in lab, red, red)) {
  .safety-activity-row-main::-webkit-scrollbar-thumb {
    background: color-mix(in srgb, var(--foreground) 18%, transparent);
  }
}

.spt-hero {
  border: 1px solid var(--border);
  background: linear-gradient(to right, var(--accent), var(--card));
  justify-content: space-between;
  align-items: center;
  padding: 14px;
  display: flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .spt-hero {
    background: linear-gradient(to right, color-mix(in srgb, var(--accent) 12%, var(--card)), var(--card));
  }
}

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

.spt-hero-title {
  font-size: 20px;
  font-weight: 600;
}

.spt-hero-meta {
  color: var(--muted-foreground);
  gap: 12px;
  font-size: 12px;
  display: flex;
}

.spt-unsaved {
  color: #eab308;
  font-weight: 600;
}

.spt-progress {
  align-items: center;
  gap: 12px;
  margin: 8px 0 16px;
  display: flex;
}

.spt-progress-bar {
  background: var(--border);
  border-radius: 999px;
  flex: 1;
  height: 8px;
  overflow: hidden;
}

.spt-progress-fill {
  background: var(--accent);
  height: 100%;
  transition: width .2s;
}

.spt-layout {
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: 16px;
  display: grid;
}

.spt-preview {
  height: fit-content;
  position: sticky;
  top: 80px;
}

.spt-preview-card {
  border: 1px solid var(--border);
  background: var(--card);
  border-radius: var(--radius-sm);
  padding: 12px;
}

.spt-preview-section {
  margin-bottom: 12px;
}

.spt-preview-row {
  margin-top: 4px;
  font-size: 13px;
}

.spt-preview-note {
  color: var(--muted-foreground);
  border-top: 1px solid var(--border);
  padding-top: 8px;
  font-size: 11px;
}

.spt-status-dot {
  border-radius: 50%;
  width: 8px;
  height: 8px;
  margin-right: 8px;
  display: inline-block;
}

.spt-status-dot.empty {
  background: #9ca3af;
}

.spt-status-dot.partial {
  background: #f59e0b;
}

.spt-status-dot.done {
  background: #22c55e;
}

.todays-info-card {
  flex-direction: column;
  min-height: 0;
  display: flex;
}

.todays-schedule-list {
  flex-direction: column;
  gap: 8px;
  max-height: 180px;
  margin-top: 10px;
  padding-right: 4px;
  display: flex;
  overflow: auto;
}

.todays-schedule-item {
  border: 1px solid var(--border);
  background: var(--card);
  border-radius: 8px;
  padding: 8px 10px;
}

.todays-schedule-primary {
  color: var(--body);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.15;
}

.todays-schedule-secondary {
  color: var(--muted-foreground);
  margin-top: 2px;
  font-size: 12px;
  line-height: 1.15;
}

.todays-schedule-empty {
  color: var(--muted-foreground);
  font-size: 14px;
}

.scheduler-top-row {
  align-items: flex-start;
  gap: 16px;
  display: flex;
  position: relative;
}

.scheduler-top-calendar {
  flex: none;
}

.scheduler-top-tabs-wrap {
  justify-content: center;
  width: max-content;
  display: flex;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

@media (max-width: 768px) {
  .scheduler-top-row {
    flex-direction: column;
    align-items: stretch;
    position: static;
  }

  .scheduler-top-tabs-wrap {
    justify-content: center;
    width: 100%;
    display: flex;
    position: static;
    transform: none;
  }

  .scheduler-top-row {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }

  .scheduler-inline-calendar {
    justify-content: center;
    width: 100%;
    display: flex;
  }

  .scheduler-inline-calendar .react-datepicker {
    margin: 0 auto;
  }

  .scheduler-top-tabs-wrap {
    justify-content: center;
    width: 100%;
    display: flex;
    position: static;
    top: auto;
    left: auto;
    transform: none;
  }

  .scheduler-top-tabs {
    width: max-content;
  }
}

.safety-page {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.safety-topbar {
  justify-content: flex-end;
  align-items: center;
  display: flex;
}

.safety-topbar-right {
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  display: flex;
}

.safety-card {
  border: 1px solid var(--border);
  background: var(--background);
  border-radius: 14px;
  overflow: hidden;
}

.safety-accordion-trigger {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 14px 16px;
  display: flex;
}

.safety-accordion-trigger:hover {
  background: var(--muted);
}

@supports (color: color-mix(in lab, red, red)) {
  .safety-accordion-trigger:hover {
    background: color-mix(in srgb, var(--muted) 55%, transparent);
  }
}

.safety-card-title {
  font-size: 14px;
  font-weight: 700;
}

.safety-card-body {
  border-top: 1px solid var(--border);
  padding: 14px 16px 16px;
}

.safety-project-grid {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  align-items: start;
  gap: 14px;
  display: grid;
}

@media (max-width: 1024px) {
  .safety-project-grid {
    grid-template-columns: 1fr;
  }
}

.safety-map-shell {
  border: 1px solid var(--border);
  background: var(--muted);
  border-radius: 14px;
  overflow: hidden;
}

.safety-map-height {
  width: 100%;
  height: 340px;
}

@media (max-width: 640px) {
  .safety-map-height {
    height: 260px;
  }
}

.safety-form-grid {
  grid-template-columns: 1fr;
  gap: 10px;
  display: grid;
}

.safety-field {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.safety-field-span {
  margin-top: 4px;
}

.safety-label {
  color: var(--muted-foreground);
  font-size: 12px;
  font-weight: 600;
}

.safety-input, .safety-select, .safety-time, .safety-contact-input, .safety-textarea {
  border: 1px solid var(--border);
  background: var(--background);
  width: 100%;
  color: var(--foreground);
  border-radius: 10px;
  outline: none;
  padding: 10px 12px;
  font-size: 14px;
}

.safety-select {
  appearance: none;
}

.safety-textarea {
  resize: vertical;
  min-height: 110px;
}

.safety-input:focus, .safety-select:focus, .safety-time:focus, .safety-contact-input:focus, .safety-textarea:focus {
  box-shadow: 0 0 0 3px var(--ring);
}

@supports (color: color-mix(in lab, red, red)) {
  .safety-input:focus, .safety-select:focus, .safety-time:focus, .safety-contact-input:focus, .safety-textarea:focus {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--ring) 20%, transparent);
  }
}

.safety-input:focus, .safety-select:focus, .safety-time:focus, .safety-contact-input:focus, .safety-textarea:focus {
  border-color: var(--ring);
}

@supports (color: color-mix(in lab, red, red)) {
  .safety-input:focus, .safety-select:focus, .safety-time:focus, .safety-contact-input:focus, .safety-textarea:focus {
    border-color: color-mix(in srgb, var(--ring) 60%, var(--border));
  }
}

.safety-workday-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  display: grid;
}

@media (max-width: 640px) {
  .safety-workday-grid {
    grid-template-columns: 1fr;
  }
}

.safety-switch {
  color: var(--foreground);
  -webkit-user-select: none;
  user-select: none;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  display: inline-flex;
}

.safety-switch-box {
  width: 16px;
  height: 16px;
}

.safety-actions-row {
  justify-content: flex-end;
  padding-top: 4px;
  display: flex;
}

.safety-subhead {
  color: var(--muted-foreground);
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 600;
}

.safety-row-between {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}

.safety-divider {
  background: var(--border);
  height: 1px;
  margin: 14px 0;
}

.safety-btn-compact {
  padding: 8px 10px;
}

.safety-contact-list {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.safety-contact-row {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 10px;
  display: grid;
}

.safety-contact-fields {
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
  display: grid;
}

@media (max-width: 900px) {
  .safety-contact-fields {
    grid-template-columns: 1fr;
  }
}

.safety-icon-danger {
  border: 1px solid var(--border);
  color: #dc2626;
  background: var(--background);
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  display: inline-flex;
}

.safety-icon-danger:hover {
  background: #dc262614;
  border-color: #dc2626;
}

@supports (color: color-mix(in lab, red, red)) {
  .safety-icon-danger:hover {
    border-color: color-mix(in srgb, #dc2626 25%, var(--border));
  }
}

.safety-sections {
  flex-direction: column;
  display: flex;
}

.safety-section {
  border-top: 1px solid var(--border);
}

.safety-section:first-child {
  border-top: none;
}

.safety-section-trigger {
  text-align: left;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 14px 16px;
  display: flex;
}

.safety-section-trigger:hover {
  background: var(--muted);
}

@supports (color: color-mix(in lab, red, red)) {
  .safety-section-trigger:hover {
    background: color-mix(in srgb, var(--muted) 55%, transparent);
  }
}

.safety-section-title {
  align-items: center;
  gap: 6px;
  width: 100%;
  display: flex;
}

.safety-inline-title {
  flex: auto;
  min-width: 0;
}

.safety-section-body {
  gap: 12px;
  padding: 0 16px 16px;
  display: grid;
}

.safety-bullets {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

.safety-bullet-row {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  display: grid;
}

.safety-bullet-display-btn {
  text-align: left;
  border: 1px solid var(--border);
  background: var(--background);
  width: 100%;
  color: var(--foreground);
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 14px;
}

.safety-bullet-display-btn:hover {
  background: var(--muted);
}

@supports (color: color-mix(in lab, red, red)) {
  .safety-bullet-display-btn:hover {
    background: color-mix(in srgb, var(--muted) 55%, transparent);
  }
}

.safety-modal-header {
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 10px;
  display: flex;
}

.safety-modal-title {
  font-size: 14px;
  font-weight: 700;
}

.safety-modal-hint {
  color: var(--muted-foreground);
  font-size: 12px;
}

.safety-bullet-modal-panel {
  border: 1px solid var(--border);
  background: var(--background);
  border-radius: 14px;
}

.safety-part-trigger {
  all: unset;
}

.safety-part-trigger, .safety-section-trigger {
  text-align: left;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 14px 16px;
  display: flex;
}

.safety-subnode {
  margin-top: 10px;
}

.safety-subnode-row {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}

.safety-subnode-actions {
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
  display: flex;
}

.safety-subnode-children {
  border-left: 2px solid var(--color-border);
  flex-direction: column;
  gap: 10px;
  margin-top: 10px;
  padding-left: 14px;
  display: flex;
}

.safety-subnode-lvl-0 .safety-subnode-children {
  padding-left: 14px;
}

.safety-subnode-lvl-1 .safety-subnode-children {
  padding-left: 18px;
}

.safety-subnode-lvl-2 .safety-subnode-children {
  padding-left: 22px;
}

.safety-subnode-lvl-3 .safety-subnode-children {
  padding-left: 26px;
}

.safety-subnode-lvl-4 .safety-subnode-children {
  padding-left: 30px;
}

.safety-part-title {
  align-items: center;
  gap: 8px;
  width: 100%;
  min-width: 0;
  display: flex;
}

.safety-part-num {
  opacity: .8;
  flex: none;
}

.safety-part-title .safety-inline-title {
  flex: auto;
  min-width: 0;
}

.safety-form-stack {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.activity-range-start, .activity-range-end, .activity-range-middle {
  border-radius: 0 !important;
}

.activity-range-start {
  background: var(--accent) !important;
  border-top-left-radius: 6px !important;
  border-bottom-left-radius: 6px !important;
}

@supports (color: color-mix(in lab, red, red)) {
  .activity-range-start {
    background: color-mix(in srgb, var(--accent) 35%, transparent) !important;
  }
}

.activity-range-end {
  background: var(--accent) !important;
  border-top-right-radius: 6px !important;
  border-bottom-right-radius: 6px !important;
}

@supports (color: color-mix(in lab, red, red)) {
  .activity-range-end {
    background: color-mix(in srgb, var(--accent) 35%, transparent) !important;
  }
}

.activity-range-middle {
  background: var(--accent) !important;
}

@supports (color: color-mix(in lab, red, red)) {
  .activity-range-middle {
    background: color-mix(in srgb, var(--accent) 18%, transparent) !important;
  }
}

.emergency-contacts-subtext {
  opacity: .75;
  margin-top: 2px;
  font-size: 12px;
}

.emergency-finder-clean {
  font-size: 12px;
  line-height: 1.35;
}

.emergency-finder-clean a {
  text-decoration: underline;
}

.emergency-finder-clean ul, .emergency-finder-clean ol {
  margin: 0;
  padding-left: 16px;
}

.emergency-finder-clean > * {
  max-width: 100%;
}

.emergency-finder-clean button {
  border-radius: 8px;
  height: 28px;
  padding: 0 10px;
}

.emergency-finder-clean hr {
  margin: 10px 0;
}

.safety-project-stack {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.safety-map-stack {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

.safety-desc-textarea {
  width: 100%;
  min-height: 420px !important;
}

.safety-facility-address {
  margin-top: 4px;
}

.safety-contact-actions {
  align-items: center;
  gap: 10px;
  margin-top: 8px;
  display: flex;
}

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

.projects-qr-inline-btn {
  background: #fff9;
  border: 1px solid #0000001f;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  display: flex;
}

.dark .projects-qr-inline-btn {
  background: #00000040;
  border-color: #ffffff2e;
}

.projects-qr-inline-btn:hover {
  background: #ffffffd9;
}

.dark .projects-qr-inline-btn:hover {
  background: #00000059;
}

.projects-project-title-row {
  align-items: center;
  gap: 10px;
  display: flex;
}

.projects-qr-inline-btn {
  background: #fff9;
  border: 1px solid #0000001f;
  border-radius: 10px;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 34px;
  height: 34px;
  display: inline-flex;
}

.projects-qr-inline-icon {
  width: 18px;
  height: 18px;
}

.projects-project-cell {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  width: 100%;
  display: flex;
}

.projects-project-main {
  text-align: left;
  flex-direction: column;
  flex: auto;
  align-items: flex-start;
  gap: 0;
  width: 100%;
  min-width: 0;
  display: flex;
}

.projects-qr-slot {
  background: #fff9;
  border: 1px solid #0000001f;
  border-radius: 10px;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  display: inline-flex;
}

.projects-qr-slot-icon {
  width: 24px;
  height: 24px;
}

.emergency-contacts-head {
  border-bottom: 1px solid #00000014;
  grid-template-columns: 1.1fr 1fr 1fr 1fr;
  align-items: end;
  gap: 12px;
  padding: 6px 0 10px;
  display: grid;
}

.emergency-contacts-head > div {
  color: #6b7280;
  font-size: 12px;
  line-height: 1;
}

.emergency-contacts-head .emergency-contacts-phone {
  text-align: right;
}

.emergency-contacts-row {
  grid-template-columns: 1.1fr 1fr 1fr 1fr;
  align-items: center;
  gap: 12px;
  display: grid;
}

.emergency-contacts-row .emergency-contacts-phone {
  text-align: right;
}

.safety-contact-fields--stack {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.safety-contact-row--editor {
  padding-top: 16px;
}

.safety-project-context {
  border-bottom: 1px solid var(--border);
  background: var(--card);
  padding: 12px 16px;
}

.safety-project-context-title {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
}

.safety-project-context-address {
  color: var(--muted-foreground);
  margin-top: 2px;
  font-size: 13px;
}

.safety-project-context {
  z-index: 20;
  z-index: 30;
  background: var(--card);
  position: sticky;
  top: 0;
}

.safety-node {
  margin-left: 0;
}

.safety-node-row {
  justify-content: space-between;
  align-items: center;
  padding: 4px 6px;
  display: flex;
}

.safety-node-left {
  align-items: center;
  gap: 6px;
  display: flex;
}

.safety-caret {
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
}

.safety-caret-placeholder {
  width: 16px;
}

.safety-node-label {
  align-items: center;
  gap: 6px;
  display: flex;
}

.safety-node-number {
  color: #555;
  font-weight: 600;
}

.safety-node-part .safety-node-title-text {
  font-weight: 700;
}

.safety-node-section .safety-node-title-text {
  font-weight: 600;
}

.safety-node-item .safety-node-title-text {
  font-weight: 400;
}

.safety-node-children {
  margin-left: 20px;
}

.safety-node-actions {
  gap: 6px;
  display: flex;
}

.safety-node-actions button {
  font-size: 12px;
}

.safety-inline-title[readonly] {
  cursor: default;
  background-color: #0000;
}

.safety-inline-title--readonly {
  cursor: text;
}

.emergency-contacts-head, .emergency-contacts-row {
  grid-template-columns: 160px 100px 1fr 1fr 160px;
  align-items: center;
  gap: 12px;
  display: grid;
}

@keyframes enter {
  from {
    opacity: var(--tw-enter-opacity, 1);
    transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));
  }
}

@keyframes exit {
  to {
    opacity: var(--tw-exit-opacity, 1);
    transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));
  }
}

@property --tw-border-spacing-x {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-border-spacing-y {
  syntax: "<length>";
  inherits: false;
  initial-value: 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-pan-x {
  syntax: "*";
  inherits: false
}

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

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

@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-space-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-divide-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

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

@property --tw-divide-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@property --tw-content {
  syntax: "*";
  inherits: false;
  initial-value: "";
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
