/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',
    'Noto Color Emoji';
    --font-serif: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',
    monospace;
    --color-teal-600: oklch(60% 0.118 184.704);
    --color-black: #000;
    --spacing: 0.25rem;
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --ease-in: cubic-bezier(0.4, 0, 1, 1);
    --ease-out: cubic-bezier(0, 0, 0.2, 1);
    --animate-spin: spin 1s linear infinite;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji');
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type='button'], [type='reset'], [type='submit']), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden='until-found'])) {
    display: none !important;
  }
}
@layer utilities {
  .diff {
    position: relative;
    display: grid;
    width: 100%;
    overflow: hidden;
    webkit-user-select: none;
    user-select: none;
    direction: ltr;
    container-type: inline-size;
    grid-template-columns: auto 1fr;
    &:focus-visible, &:has(.diff-item-1:focus-visible) {
      outline-style: var(--tw-outline-style);
      outline-width: 2px;
      outline-offset: 1px;
      outline-color: var(--color-base-content);
    }
    &:focus-visible {
      outline-style: var(--tw-outline-style);
      outline-width: 2px;
      outline-offset: 1px;
      outline-color: var(--color-base-content);
      .diff-resizer {
        min-width: 90cqi;
        max-width: 90cqi;
      }
    }
    &:has(.diff-item-2:focus-visible) {
      outline-style: var(--tw-outline-style);
      outline-width: 2px;
      outline-offset: 1px;
      .diff-resizer {
        min-width: 10cqi;
        max-width: 10cqi;
      }
    }
    @supports (-webkit-overflow-scrolling: touch) and (overflow: -webkit-paged-x) {
      &:focus {
        .diff-resizer {
          min-width: 10cqi;
          max-width: 10cqi;
        }
      }
      &:has(.diff-item-1:focus) {
        .diff-resizer {
          min-width: 90cqi;
          max-width: 90cqi;
        }
      }
    }
  }
  .modal {
    pointer-events: none;
    visibility: hidden;
    position: fixed;
    inset: calc(0.25rem * 0);
    margin: calc(0.25rem * 0);
    display: grid;
    height: 100%;
    max-height: none;
    width: 100%;
    max-width: none;
    align-items: center;
    justify-items: center;
    background-color: transparent;
    padding: calc(0.25rem * 0);
    color: inherit;
    overflow-x: hidden;
    transition: translate 0.3s ease-out, visibility 0.3s allow-discrete, background-color 0.3s ease-out, opacity 0.1s ease-out;
    overflow-y: hidden;
    overscroll-behavior: contain;
    z-index: 999;
    &::backdrop {
      display: none;
    }
    &.modal-open, &[open], &:target {
      pointer-events: auto;
      visibility: visible;
      opacity: 100%;
      background-color: oklch(0% 0 0/ 0.4);
      .modal-box {
        translate: 0 0;
        scale: 1;
        opacity: 1;
      }
    }
    @starting-style {
      &.modal-open, &[open], &:target {
        visibility: hidden;
        opacity: 0%;
      }
    }
  }
  .tab {
    position: relative;
    display: inline-flex;
    cursor: pointer;
    appearance: none;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    text-align: center;
    webkit-user-select: none;
    user-select: none;
    &:hover {
      @media (hover: hover) {
        color: var(--color-base-content);
      }
    }
    --tab-p: 1rem;
    --tab-bg: var(--color-base-100);
    --tab-border-color: var(--color-base-300);
    --tab-radius-ss: 0;
    --tab-radius-se: 0;
    --tab-radius-es: 0;
    --tab-radius-ee: 0;
    --tab-order: 0;
    --tab-radius-min: calc(0.75rem - var(--border));
    border-color: #0000;
    order: var(--tab-order);
    height: calc(var(--size-field, 0.25rem) * 10);
    font-size: 0.875rem;
    padding-inline-start: var(--tab-p);
    padding-inline-end: var(--tab-p);
    &:is(input[type="radio"]) {
      min-width: fit-content;
      &:after {
        content: attr(aria-label);
      }
    }
    &:is(label) {
      position: relative;
      input {
        position: absolute;
        inset: calc(0.25rem * 0);
        cursor: pointer;
        appearance: none;
        opacity: 0%;
      }
    }
    &:checked, &:is(label:has(:checked)), &:is(.tab-active, [aria-selected="true"]) {
      & + .tab-content {
        display: block;
        height: 100%;
      }
    }
    &:not(:checked, label:has(:checked), :hover, .tab-active, [aria-selected="true"]) {
      color: var(--color-base-content);
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
      }
    }
    &:not(input):empty {
      flex-grow: 1;
      cursor: default;
    }
    &:focus {
      --tw-outline-style: none;
      outline-style: none;
      @media (forced-colors: active) {
        outline: 2px solid transparent;
        outline-offset: 2px;
      }
    }
    &:focus-visible, &:is(label:has(:checked:focus-visible)) {
      outline: 2px solid currentColor;
      outline-offset: -5px;
    }
    &[disabled] {
      pointer-events: none;
      opacity: 40%;
    }
  }
  .menu {
    display: flex;
    width: fit-content;
    flex-direction: column;
    flex-wrap: wrap;
    padding: calc(0.25rem * 2);
    --menu-active-fg: var(--color-neutral-content);
    --menu-active-bg: var(--color-neutral);
    font-size: 0.875rem;
    :where(li ul) {
      position: relative;
      margin-inline-start: calc(0.25rem * 4);
      padding-inline-start: calc(0.25rem * 2);
      white-space: nowrap;
      &:before {
        position: absolute;
        inset-inline-start: calc(0.25rem * 0);
        top: calc(0.25rem * 3);
        bottom: calc(0.25rem * 3);
        background-color: var(--color-base-content);
        opacity: 10%;
        width: var(--border);
        content: "";
      }
    }
    :where(li > .menu-dropdown:not(.menu-dropdown-show)) {
      display: none;
    }
    :where(li:not(.menu-title) > *:not(ul, details, .menu-title, .btn)), :where(li:not(.menu-title) > details > summary:not(.menu-title)) {
      display: grid;
      grid-auto-flow: column;
      align-content: flex-start;
      align-items: center;
      gap: calc(0.25rem * 2);
      border-radius: var(--radius-field);
      padding-inline: calc(0.25rem * 3);
      padding-block: calc(0.25rem * 1.5);
      text-align: start;
      transition-property: color, background-color, box-shadow;
      transition-duration: 0.2s;
      transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
      grid-auto-columns: minmax(auto, max-content) auto max-content;
      text-wrap: balance;
      user-select: none;
    }
    :where(li > details > summary) {
      --tw-outline-style: none;
      outline-style: none;
      @media (forced-colors: active) {
        outline: 2px solid transparent;
        outline-offset: 2px;
      }
      &::-webkit-details-marker {
        display: none;
      }
    }
    :where(li > details > summary), :where(li > .menu-dropdown-toggle) {
      &:after {
        justify-self: flex-end;
        display: block;
        height: 0.375rem;
        width: 0.375rem;
        rotate: -135deg;
        translate: 0 -1px;
        transition-property: rotate, translate;
        transition-duration: 0.2s;
        content: "";
        transform-origin: 50% 50%;
        box-shadow: 2px 2px inset;
        pointer-events: none;
      }
    }
    :where(li > details[open] > summary):after, :where(li > .menu-dropdown-toggle.menu-dropdown-show):after {
      rotate: 45deg;
      translate: 0 1px;
    }
    :where( li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title), li:not(.menu-title, .disabled) > details > summary:not(.menu-title) ):not(.menu-active, :active, .btn) {
      &.menu-focus, &:focus-visible {
        cursor: pointer;
        background-color: var(--color-base-content);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
        }
        color: var(--color-base-content);
        --tw-outline-style: none;
        outline-style: none;
        @media (forced-colors: active) {
          outline: 2px solid transparent;
          outline-offset: 2px;
        }
      }
    }
    :where( li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title):not(.menu-active, :active, .btn):hover, li:not(.menu-title, .disabled) > details > summary:not(.menu-title):not(.menu-active, :active, .btn):hover ) {
      cursor: pointer;
      background-color: var(--color-base-content);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
      }
      --tw-outline-style: none;
      outline-style: none;
      @media (forced-colors: active) {
        outline: 2px solid transparent;
        outline-offset: 2px;
      }
      box-shadow: 0 1px oklch(0% 0 0 / 0.01) inset, 0 -1px oklch(100% 0 0 / 0.01) inset;
    }
    :where(li:empty) {
      background-color: var(--color-base-content);
      opacity: 10%;
      margin: 0.5rem 1rem;
      height: 1px;
    }
    :where(li) {
      position: relative;
      display: flex;
      flex-shrink: 0;
      flex-direction: column;
      flex-wrap: wrap;
      align-items: stretch;
      .badge {
        justify-self: flex-end;
      }
      & > *:not(ul, .menu-title, details, .btn):active, & > *:not(ul, .menu-title, details, .btn).menu-active, & > details > summary:active {
        --tw-outline-style: none;
        outline-style: none;
        @media (forced-colors: active) {
          outline: 2px solid transparent;
          outline-offset: 2px;
        }
        color: var(--menu-active-fg);
        background-color: var(--menu-active-bg);
        background-size: auto, calc(var(--noise) * 100%);
        background-image: none, var(--fx-noise);
        &:not(&:active) {
          box-shadow: 0 2px calc(var(--depth) * 3px) -2px var(--menu-active-bg);
        }
      }
      &.menu-disabled {
        pointer-events: none;
        color: var(--color-base-content);
        @supports (color: color-mix(in lab, red, red)) {
          color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
        }
      }
    }
    .dropdown:focus-within {
      .menu-dropdown-toggle:after {
        rotate: 45deg;
        translate: 0 1px;
      }
    }
    .dropdown-content {
      margin-top: calc(0.25rem * 2);
      padding: calc(0.25rem * 2);
      &:before {
        display: none;
      }
    }
  }
  .dropdown {
    position: relative;
    display: inline-block;
    position-area: var(--anchor-v, bottom) var(--anchor-h, span-right);
    & > *:not(summary):focus {
      --tw-outline-style: none;
      outline-style: none;
      @media (forced-colors: active) {
        outline: 2px solid transparent;
        outline-offset: 2px;
      }
    }
    .dropdown-content {
      position: absolute;
    }
    &:not(details, .dropdown-open, .dropdown-hover:hover, :focus-within) {
      .dropdown-content {
        display: none;
        transform-origin: top;
        opacity: 0%;
        scale: 95%;
      }
    }
    &[popover], .dropdown-content {
      z-index: 999;
      animation: dropdown 0.2s;
      transition-property: opacity, scale, display;
      transition-behavior: allow-discrete;
      transition-duration: 0.2s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    @starting-style {
      &[popover], .dropdown-content {
        scale: 95%;
        opacity: 0;
      }
    }
    &.dropdown-open, &:not(.dropdown-hover):focus, &:focus-within {
      > [tabindex]:first-child {
        pointer-events: none;
      }
      .dropdown-content {
        opacity: 100%;
      }
    }
    &.dropdown-hover:hover {
      .dropdown-content {
        opacity: 100%;
        scale: 100%;
      }
    }
    &:is(details) {
      summary {
        &::-webkit-details-marker {
          display: none;
        }
      }
    }
    &.dropdown-open, &:focus, &:focus-within {
      .dropdown-content {
        scale: 100%;
      }
    }
    &:where([popover]) {
      background: #0000;
    }
    &[popover] {
      position: fixed;
      color: inherit;
      @supports not (position-area: bottom) {
        margin: auto;
        &.dropdown-open:not(:popover-open) {
          display: none;
          transform-origin: top;
          opacity: 0%;
          scale: 95%;
        }
        &::backdrop {
          background-color: color-mix(in oklab, #000 30%, #0000);
        }
      }
      &:not(.dropdown-open, :popover-open) {
        display: none;
        transform-origin: top;
        opacity: 0%;
        scale: 95%;
      }
    }
  }
  .btn {
    :where(&) {
      width: unset;
    }
    display: inline-flex;
    flex-shrink: 0;
    cursor: pointer;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: calc(0.25rem * 1.5);
    text-align: center;
    vertical-align: middle;
    outline-offset: 2px;
    webkit-user-select: none;
    user-select: none;
    padding-inline: var(--btn-p);
    color: var(--btn-fg);
    --tw-prose-links: var(--btn-fg);
    height: var(--size);
    font-size: var(--fontsize, 0.875rem);
    font-weight: 600;
    outline-color: var(--btn-color, var(--color-base-content));
    transition-property: color, background-color, border-color, box-shadow;
    transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
    transition-duration: 0.2s;
    border-start-start-radius: var(--join-ss, var(--radius-field));
    border-start-end-radius: var(--join-se, var(--radius-field));
    border-end-start-radius: var(--join-es, var(--radius-field));
    border-end-end-radius: var(--join-ee, var(--radius-field));
    background-color: var(--btn-bg);
    background-size: auto, calc(var(--noise) * 100%);
    background-image: none, var(--btn-noise);
    border-width: var(--border);
    border-style: solid;
    border-color: var(--btn-border);
    text-shadow: 0 0.5px oklch(100% 0 0 / calc(var(--depth) * 0.15));
    touch-action: manipulation;
    box-shadow: 0 0.5px 0 0.5px oklch(100% 0 0 / calc(var(--depth) * 6%)) inset, var(--btn-shadow);
    --size: calc(var(--size-field, 0.25rem) * 10);
    --btn-bg: var(--btn-color, var(--color-base-200));
    --btn-fg: var(--color-base-content);
    --btn-p: 1rem;
    --btn-border: var(--btn-bg);
    @supports (color: color-mix(in lab, red, red)) {
      --btn-border: color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%));
    }
    --btn-shadow: 0 3px 2px -2px var(--btn-bg),
    0 4px 3px -2px var(--btn-bg);
    @supports (color: color-mix(in lab, red, red)) {
      --btn-shadow: 0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000),
    0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000);
    }
    --btn-noise: var(--fx-noise);
    .prose & {
      text-decoration-line: none;
    }
    @media (hover: hover) {
      &:hover {
        --btn-bg: var(--btn-color, var(--color-base-200));
        @supports (color: color-mix(in lab, red, red)) {
          --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 7%);
        }
      }
    }
    &:focus-visible {
      outline-width: 2px;
      outline-style: solid;
      isolation: isolate;
    }
    &:active:not(.btn-active) {
      translate: 0 0.5px;
      --btn-bg: var(--btn-color, var(--color-base-200));
      @supports (color: color-mix(in lab, red, red)) {
        --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 5%);
      }
      --btn-border: var(--btn-color, var(--color-base-200));
      @supports (color: color-mix(in lab, red, red)) {
        --btn-border: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 7%);
      }
      --btn-shadow: 0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0);
    }
    &:is(:disabled, [disabled], .btn-disabled) {
      &:not(.btn-link, .btn-ghost) {
        background-color: var(--color-base-content);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
        }
        box-shadow: none;
      }
      pointer-events: none;
      --btn-border: #0000;
      --btn-noise: none;
      --btn-fg: var(--color-base-content);
      @supports (color: color-mix(in lab, red, red)) {
        --btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000);
      }
      @media (hover: hover) {
        &:hover {
          pointer-events: none;
          background-color: var(--color-neutral);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--color-neutral) 20%, transparent);
          }
          --btn-border: #0000;
          --btn-fg: var(--color-base-content);
          @supports (color: color-mix(in lab, red, red)) {
            --btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000);
          }
        }
      }
    }
    &:is(input[type="checkbox"], input[type="radio"]) {
      appearance: none;
      &::after {
        content: attr(aria-label);
      }
    }
    &:where(input:checked:not(.filter .btn)) {
      --btn-color: var(--color-primary);
      --btn-fg: var(--color-primary-content);
      isolation: isolate;
    }
  }
  .visible {
    visibility: visible;
  }
  .list {
    display: flex;
    flex-direction: column;
    font-size: 0.875rem;
    :where(.list-row) {
      --list-grid-cols: minmax(0, auto) 1fr;
      position: relative;
      display: grid;
      grid-auto-flow: column;
      gap: calc(0.25rem * 4);
      border-radius: var(--radius-box);
      padding: calc(0.25rem * 4);
      word-break: break-word;
      grid-template-columns: var(--list-grid-cols);
      &:has(.list-col-grow:nth-child(1)) {
        --list-grid-cols: 1fr;
      }
      &:has(.list-col-grow:nth-child(2)) {
        --list-grid-cols: minmax(0, auto) 1fr;
      }
      &:has(.list-col-grow:nth-child(3)) {
        --list-grid-cols: minmax(0, auto) minmax(0, auto) 1fr;
      }
      &:has(.list-col-grow:nth-child(4)) {
        --list-grid-cols: minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr;
      }
      &:has(.list-col-grow:nth-child(5)) {
        --list-grid-cols: minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr;
      }
      &:has(.list-col-grow:nth-child(6)) {
        --list-grid-cols: minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto)
        minmax(0, auto) 1fr;
      }
      :not(.list-col-wrap) {
        grid-row-start: 1;
      }
    }
    & > :not(:last-child) {
      &.list-row, .list-row {
        &:after {
          content: "";
          border-bottom: var(--border) solid;
          inset-inline: var(--radius-box);
          position: absolute;
          bottom: calc(0.25rem * 0);
          border-color: var(--color-base-content);
          @supports (color: color-mix(in lab, red, red)) {
            border-color: color-mix(in oklab, var(--color-base-content) 5%, transparent);
          }
        }
      }
    }
  }
  .input {
    cursor: text;
    border: var(--border) solid #0000;
    position: relative;
    display: inline-flex;
    flex-shrink: 1;
    appearance: none;
    align-items: center;
    gap: calc(0.25rem * 2);
    background-color: var(--color-base-100);
    padding-inline: calc(0.25rem * 3);
    vertical-align: middle;
    white-space: nowrap;
    width: clamp(3rem, 20rem, 100%);
    height: var(--size);
    font-size: 0.875rem;
    border-start-start-radius: var(--join-ss, var(--radius-field));
    border-start-end-radius: var(--join-se, var(--radius-field));
    border-end-start-radius: var(--join-es, var(--radius-field));
    border-end-end-radius: var(--join-ee, var(--radius-field));
    border-color: var(--input-color);
    box-shadow: 0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
    }
    --size: calc(var(--size-field, 0.25rem) * 10);
    --input-color: var(--color-base-content);
    @supports (color: color-mix(in lab, red, red)) {
      --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);
    }
    &:where(input) {
      display: inline-flex;
    }
    :where(input) {
      display: inline-flex;
      height: 100%;
      width: 100%;
      appearance: none;
      background-color: transparent;
      border: none;
      &:focus, &:focus-within {
        --tw-outline-style: none;
        outline-style: none;
        @media (forced-colors: active) {
          outline: 2px solid transparent;
          outline-offset: 2px;
        }
      }
    }
    :where(input[type="date"]) {
      display: inline-block;
    }
    &:focus, &:focus-within {
      --input-color: var(--color-base-content);
      box-shadow: 0 1px var(--input-color);
      @supports (color: color-mix(in lab, red, red)) {
        box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000);
      }
      outline: 2px solid var(--input-color);
      outline-offset: 2px;
      isolation: isolate;
      z-index: 1;
    }
    &:has(> input[disabled]), &:is(:disabled, [disabled]) {
      cursor: not-allowed;
      border-color: var(--color-base-200);
      background-color: var(--color-base-200);
      color: var(--color-base-content);
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
      }
      &::placeholder {
        color: var(--color-base-content);
        @supports (color: color-mix(in lab, red, red)) {
          color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
        }
      }
      box-shadow: none;
    }
    &:has(> input[disabled]) > input[disabled] {
      cursor: not-allowed;
    }
    &::-webkit-date-and-time-value {
      text-align: inherit;
    }
    &[type="number"] {
      &::-webkit-inner-spin-button {
        margin-block: calc(0.25rem * -3);
        margin-inline-end: calc(0.25rem * -3);
      }
    }
    &::-webkit-calendar-picker-indicator {
      position: absolute;
      inset-inline-end: 0.75em;
    }
  }
  .table {
    font-size: 0.875rem;
    position: relative;
    width: 100%;
    border-radius: var(--radius-box);
    text-align: left;
    &:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
      text-align: right;
    }
    tr.row-hover {
      &, &:nth-child(even) {
        &:hover {
          @media (hover: hover) {
            background-color: var(--color-base-200);
          }
        }
      }
    }
    :where(th, td) {
      padding-inline: calc(0.25rem * 4);
      padding-block: calc(0.25rem * 3);
      vertical-align: middle;
    }
    :where(thead, tfoot) {
      white-space: nowrap;
      color: var(--color-base-content);
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, var(--color-base-content) 60%, transparent);
      }
      font-size: 0.875rem;
      font-weight: 600;
    }
    :where(tfoot) {
      border-top: var(--border) solid var(--color-base-content);
      @supports (color: color-mix(in lab, red, red)) {
        border-top: var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000);
      }
    }
    :where(.table-pin-rows thead tr) {
      position: sticky;
      top: calc(0.25rem * 0);
      z-index: 1;
      background-color: var(--color-base-100);
    }
    :where(.table-pin-rows tfoot tr) {
      position: sticky;
      bottom: calc(0.25rem * 0);
      z-index: 1;
      background-color: var(--color-base-100);
    }
    :where(.table-pin-cols tr th) {
      position: sticky;
      right: calc(0.25rem * 0);
      left: calc(0.25rem * 0);
      background-color: var(--color-base-100);
    }
    :where(thead tr, tbody tr:not(:last-child)) {
      border-bottom: var(--border) solid var(--color-base-content);
      @supports (color: color-mix(in lab, red, red)) {
        border-bottom: var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000);
      }
    }
  }
  .steps {
    display: inline-grid;
    grid-auto-flow: column;
    overflow: hidden;
    overflow-x: auto;
    counter-reset: step;
    grid-auto-columns: 1fr;
    .step {
      display: grid;
      grid-template-columns: repeat(1, minmax(0, 1fr));
      grid-template-columns: auto;
      grid-template-rows: repeat(2, minmax(0, 1fr));
      grid-template-rows: 40px 1fr;
      place-items: center;
      text-align: center;
      min-width: 4rem;
      --step-bg: var(--color-base-300);
      --step-fg: var(--color-base-content);
      &:before {
        top: calc(0.25rem * 0);
        grid-column-start: 1;
        grid-row-start: 1;
        height: calc(0.25rem * 2);
        width: 100%;
        border: 1px solid;
        color: var(--step-bg);
        background-color: var(--step-bg);
        --tw-content: "";
        content: var(--tw-content);
        margin-inline-start: -100%;
      }
      > .step-icon, &:not(:has(.step-icon)):after {
        content: counter(step);
        counter-increment: step;
        z-index: 1;
        color: var(--step-fg);
        background-color: var(--step-bg);
        border: 1px solid var(--step-bg);
        position: relative;
        grid-column-start: 1;
        grid-row-start: 1;
        display: grid;
        height: calc(0.25rem * 8);
        width: calc(0.25rem * 8);
        place-items: center;
        place-self: center;
        border-radius: calc(infinity * 1px);
      }
      &:first-child:before {
        content: none;
      }
      &[data-content]:after {
        content: attr(data-content);
      }
    }
    .step-neutral {
      + .step-neutral:before, &:after, > .step-icon {
        --step-bg: var(--color-neutral);
        --step-fg: var(--color-neutral-content);
      }
    }
    .step-primary {
      + .step-primary:before, &:after, > .step-icon {
        --step-bg: var(--color-primary);
        --step-fg: var(--color-primary-content);
      }
    }
    .step-secondary {
      + .step-secondary:before, &:after, > .step-icon {
        --step-bg: var(--color-secondary);
        --step-fg: var(--color-secondary-content);
      }
    }
    .step-accent {
      + .step-accent:before, &:after, > .step-icon {
        --step-bg: var(--color-accent);
        --step-fg: var(--color-accent-content);
      }
    }
    .step-info {
      + .step-info:before, &:after, > .step-icon {
        --step-bg: var(--color-info);
        --step-fg: var(--color-info-content);
      }
    }
    .step-success {
      + .step-success:before, &:after, > .step-icon {
        --step-bg: var(--color-success);
        --step-fg: var(--color-success-content);
      }
    }
    .step-warning {
      + .step-warning:before, &:after, > .step-icon {
        --step-bg: var(--color-warning);
        --step-fg: var(--color-warning-content);
      }
    }
    .step-error {
      + .step-error:before, &:after, > .step-icon {
        --step-bg: var(--color-error);
        --step-fg: var(--color-error-content);
      }
    }
  }
  .select {
    border: var(--border) solid #0000;
    position: relative;
    display: inline-flex;
    flex-shrink: 1;
    appearance: none;
    align-items: center;
    gap: calc(0.25rem * 1.5);
    background-color: var(--color-base-100);
    padding-inline-start: calc(0.25rem * 4);
    padding-inline-end: calc(0.25rem * 7);
    vertical-align: middle;
    width: clamp(3rem, 20rem, 100%);
    height: var(--size);
    font-size: 0.875rem;
    border-start-start-radius: var(--join-ss, var(--radius-field));
    border-start-end-radius: var(--join-se, var(--radius-field));
    border-end-start-radius: var(--join-es, var(--radius-field));
    border-end-end-radius: var(--join-ee, var(--radius-field));
    background-image: linear-gradient(45deg, #0000 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, #0000 50%);
    background-position: calc(100% - 20px) calc(1px + 50%), calc(100% - 16.1px) calc(1px + 50%);
    background-size: 4px 4px, 4px 4px;
    background-repeat: no-repeat;
    text-overflow: ellipsis;
    box-shadow: 0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
    }
    border-color: var(--input-color);
    --input-color: var(--color-base-content);
    @supports (color: color-mix(in lab, red, red)) {
      --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);
    }
    --size: calc(var(--size-field, 0.25rem) * 10);
    [dir="rtl"] & {
      background-position: calc(0% + 12px) calc(1px + 50%), calc(0% + 16px) calc(1px + 50%);
    }
    select {
      margin-inline-start: calc(0.25rem * -4);
      margin-inline-end: calc(0.25rem * -7);
      width: calc(100% + 2.75rem);
      appearance: none;
      padding-inline-start: calc(0.25rem * 4);
      padding-inline-end: calc(0.25rem * 7);
      height: calc(100% - 2px);
      background: inherit;
      border-radius: inherit;
      border-style: none;
      &:focus, &:focus-within {
        --tw-outline-style: none;
        outline-style: none;
        @media (forced-colors: active) {
          outline: 2px solid transparent;
          outline-offset: 2px;
        }
      }
      &:not(:last-child) {
        margin-inline-end: calc(0.25rem * -5.5);
        background-image: none;
      }
    }
    &:focus, &:focus-within {
      --input-color: var(--color-base-content);
      box-shadow: 0 1px var(--input-color);
      @supports (color: color-mix(in lab, red, red)) {
        box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000);
      }
      outline: 2px solid var(--input-color);
      outline-offset: 2px;
      isolation: isolate;
      z-index: 1;
    }
    &:has(> select[disabled]), &:is(:disabled, [disabled]) {
      cursor: not-allowed;
      border-color: var(--color-base-200);
      background-color: var(--color-base-200);
      color: var(--color-base-content);
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
      }
      &::placeholder {
        color: var(--color-base-content);
        @supports (color: color-mix(in lab, red, red)) {
          color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
        }
      }
    }
    &:has(> select[disabled]) > select[disabled] {
      cursor: not-allowed;
    }
  }
  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
  }
  .checkbox {
    border: var(--border) solid var(--input-color, var(--color-base-content));
    @supports (color: color-mix(in lab, red, red)) {
      border: var(--border) solid var(--input-color, color-mix(in oklab, var(--color-base-content) 20%, #0000));
    }
    position: relative;
    flex-shrink: 0;
    cursor: pointer;
    appearance: none;
    border-radius: var(--radius-selector);
    padding: calc(0.25rem * 1);
    vertical-align: middle;
    color: var(--color-base-content);
    box-shadow: 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 0 #0000 inset, 0 0 #0000;
    transition: background-color 0.2s, box-shadow 0.2s;
    --size: calc(var(--size-selector, 0.25rem) * 6);
    width: var(--size);
    height: var(--size);
    background-size: auto, calc(var(--noise) * 100%);
    background-image: none, var(--fx-noise);
    &:before {
      --tw-content: "";
      content: var(--tw-content);
      display: block;
      width: 100%;
      height: 100%;
      rotate: 45deg;
      background-color: currentColor;
      opacity: 0%;
      transition: clip-path 0.3s, opacity 0.1s, rotate 0.3s, translate 0.3s;
      transition-delay: 0.1s;
      clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 80%, 70% 80%, 70% 100%);
      box-shadow: 0px 3px 0 0px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
      font-size: 1rem;
      line-height: 0.75;
    }
    &:focus-visible {
      outline: 2px solid var(--input-color, currentColor);
      outline-offset: 2px;
    }
    &:checked, &[aria-checked="true"] {
      background-color: var(--input-color, #0000);
      box-shadow: 0 0 #0000 inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1));
      &:before {
        clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 0%, 70% 0%, 70% 100%);
        opacity: 100%;
      }
      @media (forced-colors: active) {
        &:before {
          rotate: 0deg;
          background-color: transparent;
          --tw-content: "✔︎";
          clip-path: none;
        }
      }
      @media print {
        &:before {
          rotate: 0deg;
          background-color: transparent;
          --tw-content: "✔︎";
          clip-path: none;
        }
      }
    }
    &:indeterminate {
      &:before {
        rotate: 0deg;
        opacity: 100%;
        translate: 0 -35%;
        clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 80%, 80% 80%, 80% 100%);
      }
    }
    &:disabled {
      cursor: not-allowed;
      opacity: 20%;
    }
  }
  .radio {
    position: relative;
    flex-shrink: 0;
    cursor: pointer;
    appearance: none;
    border-radius: calc(infinity * 1px);
    padding: calc(0.25rem * 1);
    vertical-align: middle;
    border: var(--border) solid var(--input-color, currentColor);
    @supports (color: color-mix(in lab, red, red)) {
      border: var(--border) solid var(--input-color, color-mix(in srgb, currentColor 20%, #0000));
    }
    box-shadow: 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset;
    --size: calc(var(--size-selector, 0.25rem) * 6);
    width: var(--size);
    height: var(--size);
    color: var(--input-color, currentColor);
    &:before {
      display: block;
      width: 100%;
      height: 100%;
      border-radius: calc(infinity * 1px);
      --tw-content: "";
      content: var(--tw-content);
      background-size: auto, calc(var(--noise) * 100%);
      background-image: none, var(--fx-noise);
    }
    &:focus-visible {
      outline: 2px solid currentColor;
    }
    &:checked, &[aria-checked="true"] {
      animation: radio 0.2s ease-out;
      border-color: currentColor;
      background-color: var(--color-base-100);
      &:before {
        background-color: currentColor;
        box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1));
      }
      @media (forced-colors: active) {
        &:before {
          outline-style: var(--tw-outline-style);
          outline-width: 1px;
          outline-offset: calc(1px * -1);
        }
      }
      @media print {
        &:before {
          outline: 0.25rem solid;
          outline-offset: -1rem;
        }
      }
    }
    &:disabled {
      cursor: not-allowed;
      opacity: 20%;
    }
  }
  .progress {
    position: relative;
    height: calc(0.25rem * 2);
    width: 100%;
    appearance: none;
    overflow: hidden;
    border-radius: var(--radius-box);
    background-color: currentColor;
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, currentColor 20%, transparent);
    }
    color: var(--color-base-content);
    &:indeterminate {
      background-image: repeating-linear-gradient( 90deg, currentColor -1%, currentColor 10%, #0000 10%, #0000 90% );
      background-size: 200%;
      background-position-x: 15%;
      animation: progress 5s ease-in-out infinite;
      @supports (-moz-appearance: none) {
        &::-moz-progress-bar {
          background-color: transparent;
          background-image: repeating-linear-gradient( 90deg, currentColor -1%, currentColor 10%, #0000 10%, #0000 90% );
          background-size: 200%;
          background-position-x: 15%;
          animation: progress 5s ease-in-out infinite;
        }
      }
    }
    @supports (-moz-appearance: none) {
      &::-moz-progress-bar {
        border-radius: var(--radius-box);
        background-color: currentColor;
      }
    }
    @supports (-webkit-appearance: none) {
      &::-webkit-progress-bar {
        border-radius: var(--radius-box);
        background-color: transparent;
      }
      &::-webkit-progress-value {
        border-radius: var(--radius-box);
        background-color: currentColor;
      }
    }
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .sticky {
    position: sticky;
  }
  .textarea {
    border: var(--border) solid #0000;
    min-height: calc(0.25rem * 20);
    flex-shrink: 1;
    appearance: none;
    border-radius: var(--radius-field);
    background-color: var(--color-base-100);
    padding-block: calc(0.25rem * 2);
    vertical-align: middle;
    width: clamp(3rem, 20rem, 100%);
    padding-inline-start: 0.75rem;
    padding-inline-end: 0.75rem;
    font-size: 0.875rem;
    border-color: var(--input-color);
    box-shadow: 0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
    }
    --input-color: var(--color-base-content);
    @supports (color: color-mix(in lab, red, red)) {
      --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);
    }
    textarea {
      appearance: none;
      background-color: transparent;
      border: none;
      &:focus, &:focus-within {
        --tw-outline-style: none;
        outline-style: none;
        @media (forced-colors: active) {
          outline: 2px solid transparent;
          outline-offset: 2px;
        }
      }
    }
    &:focus, &:focus-within {
      --input-color: var(--color-base-content);
      box-shadow: 0 1px var(--input-color);
      @supports (color: color-mix(in lab, red, red)) {
        box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000);
      }
      outline: 2px solid var(--input-color);
      outline-offset: 2px;
      isolation: isolate;
    }
    &:has(> textarea[disabled]), &:is(:disabled, [disabled]) {
      cursor: not-allowed;
      border-color: var(--color-base-200);
      background-color: var(--color-base-200);
      color: var(--color-base-content);
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
      }
      &::placeholder {
        color: var(--color-base-content);
        @supports (color: color-mix(in lab, red, red)) {
          color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
        }
      }
      box-shadow: none;
    }
    &:has(> textarea[disabled]) > textarea[disabled] {
      cursor: not-allowed;
    }
  }
  .hero {
    display: grid;
    width: 100%;
    place-items: center;
    background-size: cover;
    background-position: center;
    & > * {
      grid-column-start: 1;
      grid-row-start: 1;
    }
  }
  .stat-value {
    grid-column-start: 1;
    white-space: nowrap;
    font-size: 2rem;
    font-weight: 800;
  }
  .container {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .label {
    display: inline-flex;
    align-items: center;
    gap: calc(0.25rem * 1.5);
    white-space: nowrap;
    color: currentColor;
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, currentColor 60%, transparent);
    }
    &:has(input) {
      cursor: pointer;
    }
    &:is(.input > *, .select > *) {
      display: flex;
      height: calc(100% - 0.5rem);
      align-items: center;
      padding-inline: calc(0.25rem * 3);
      white-space: nowrap;
      font-size: inherit;
      &:first-child {
        margin-inline-start: calc(0.25rem * -3);
        margin-inline-end: calc(0.25rem * 3);
        border-inline-end: var(--border) solid currentColor;
        @supports (color: color-mix(in lab, red, red)) {
          border-inline-end: var(--border) solid color-mix(in oklab, currentColor 10%, #0000);
        }
      }
      &:last-child {
        margin-inline-start: calc(0.25rem * 3);
        margin-inline-end: calc(0.25rem * -3);
        border-inline-start: var(--border) solid currentColor;
        @supports (color: color-mix(in lab, red, red)) {
          border-inline-start: var(--border) solid color-mix(in oklab, currentColor 10%, #0000);
        }
      }
    }
  }
  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }
  .mt-1\.5 {
    margin-top: calc(var(--spacing) * 1.5);
  }
  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }
  .mb-0 {
    margin-bottom: calc(var(--spacing) * 0);
  }
  .mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }
  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }
  .ml-1 {
    margin-left: calc(var(--spacing) * 1);
  }
  .status {
    display: inline-block;
    aspect-ratio: 1 / 1;
    width: calc(0.25rem * 2);
    height: calc(0.25rem * 2);
    border-radius: var(--radius-selector);
    background-color: var(--color-base-content);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
    }
    background-position: center;
    background-repeat: no-repeat;
    vertical-align: middle;
    color: color-mix(in srgb, #000 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-black) 30%, transparent);
    }
    background-image: radial-gradient( circle at 35% 30%, oklch(1 0 0 / calc(var(--depth) * 0.5)), #0000 );
    box-shadow: 0 2px 3px -1px currentColor;
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 2px 3px -1px color-mix(in oklab, currentColor calc(var(--depth) * 100%), #0000);
    }
  }
  .badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: calc(0.25rem * 2);
    border-radius: var(--radius-selector);
    vertical-align: middle;
    color: var(--badge-fg);
    border: var(--border) solid var(--badge-color, var(--color-base-200));
    font-size: 0.875rem;
    width: fit-content;
    padding-inline: calc(0.25rem * 3 - var(--border));
    background-size: auto, calc(var(--noise) * 100%);
    background-image: none, var(--fx-noise);
    background-color: var(--badge-bg);
    --badge-bg: var(--badge-color, var(--color-base-100));
    --badge-fg: var(--color-base-content);
    --size: calc(var(--size-selector, 0.25rem) * 6);
    height: var(--size);
    &.badge-outline {
      --badge-fg: var(--badge-color);
      --badge-bg: #0000;
      background-image: none;
      border-color: currentColor;
    }
    &.badge-dash {
      --badge-fg: var(--badge-color);
      --badge-bg: #0000;
      background-image: none;
      border-color: currentColor;
      border-style: dashed;
    }
    &.badge-soft {
      color: var(--badge-color, var(--color-base-content));
      background-color: var(--badge-color, var(--color-base-content));
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix( in oklab, var(--badge-color, var(--color-base-content)) 8%, var(--color-base-100) );
      }
      border-color: var(--badge-color, var(--color-base-content));
      @supports (color: color-mix(in lab, red, red)) {
        border-color: color-mix( in oklab, var(--badge-color, var(--color-base-content)) 10%, var(--color-base-100) );
      }
      background-image: none;
    }
  }
  .hero-arrow-down-tray {
    --hero-arrow-down-tray: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%20aria-hidden%3D%22true%22%20data-slot%3D%22icon%22%3E%20%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M3%2016.5v2.25A2.25%202.25%200%200%200%205.25%2021h13.5A2.25%202.25%200%200%200%2021%2018.75V16.5M16.5%2012%2012%2016.5m0%200L7.5%2012m4.5%204.5V3%22%2F%3E%3C%2Fsvg%3E');
    -webkit-mask: var(--hero-arrow-down-tray);
    mask: var(--hero-arrow-down-tray);
    mask-repeat: no-repeat;
    background-color: currentColor;
    vertical-align: middle;
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
  }
  .hero-arrow-left {
    --hero-arrow-left: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%20aria-hidden%3D%22true%22%20data-slot%3D%22icon%22%3E%20%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M10.5%2019.5%203%2012m0%200%207.5-7.5M3%2012h18%22%2F%3E%3C%2Fsvg%3E');
    -webkit-mask: var(--hero-arrow-left);
    mask: var(--hero-arrow-left);
    mask-repeat: no-repeat;
    background-color: currentColor;
    vertical-align: middle;
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
  }
  .hero-arrow-path {
    --hero-arrow-path: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%20aria-hidden%3D%22true%22%20data-slot%3D%22icon%22%3E%20%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M16.023%209.348h4.992v-.001M2.985%2019.644v-4.992m0%200h4.992m-4.993%200%203.181%203.183a8.25%208.25%200%200%200%2013.803-3.7M4.031%209.865a8.25%208.25%200%200%201%2013.803-3.7l3.181%203.182m0-4.991v4.99%22%2F%3E%3C%2Fsvg%3E');
    -webkit-mask: var(--hero-arrow-path);
    mask: var(--hero-arrow-path);
    mask-repeat: no-repeat;
    background-color: currentColor;
    vertical-align: middle;
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
  }
  .hero-arrow-right {
    --hero-arrow-right: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%20aria-hidden%3D%22true%22%20data-slot%3D%22icon%22%3E%20%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M13.5%204.5%2021%2012m0%200-7.5%207.5M21%2012H3%22%2F%3E%3C%2Fsvg%3E');
    -webkit-mask: var(--hero-arrow-right);
    mask: var(--hero-arrow-right);
    mask-repeat: no-repeat;
    background-color: currentColor;
    vertical-align: middle;
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
  }
  .hero-bars-3 {
    --hero-bars-3: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%20aria-hidden%3D%22true%22%20data-slot%3D%22icon%22%3E%20%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M3.75%206.75h16.5M3.75%2012h16.5m-16.5%205.25h16.5%22%2F%3E%3C%2Fsvg%3E');
    -webkit-mask: var(--hero-bars-3);
    mask: var(--hero-bars-3);
    mask-repeat: no-repeat;
    background-color: currentColor;
    vertical-align: middle;
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
  }
  .hero-calendar {
    --hero-calendar: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%20aria-hidden%3D%22true%22%20data-slot%3D%22icon%22%3E%20%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M6.75%203v2.25M17.25%203v2.25M3%2018.75V7.5a2.25%202.25%200%200%201%202.25-2.25h13.5A2.25%202.25%200%200%201%2021%207.5v11.25m-18%200A2.25%202.25%200%200%200%205.25%2021h13.5A2.25%202.25%200%200%200%2021%2018.75m-18%200v-7.5A2.25%202.25%200%200%201%205.25%209h13.5A2.25%202.25%200%200%201%2021%2011.25v7.5%22%2F%3E%3C%2Fsvg%3E');
    -webkit-mask: var(--hero-calendar);
    mask: var(--hero-calendar);
    mask-repeat: no-repeat;
    background-color: currentColor;
    vertical-align: middle;
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
  }
  .hero-calendar-days {
    --hero-calendar-days: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%20aria-hidden%3D%22true%22%20data-slot%3D%22icon%22%3E%20%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M6.75%203v2.25M17.25%203v2.25M3%2018.75V7.5a2.25%202.25%200%200%201%202.25-2.25h13.5A2.25%202.25%200%200%201%2021%207.5v11.25m-18%200A2.25%202.25%200%200%200%205.25%2021h13.5A2.25%202.25%200%200%200%2021%2018.75m-18%200v-7.5A2.25%202.25%200%200%201%205.25%209h13.5A2.25%202.25%200%200%201%2021%2011.25v7.5m-9-6h.008v.008H12v-.008ZM12%2015h.008v.008H12V15Zm0%202.25h.008v.008H12v-.008ZM9.75%2015h.008v.008H9.75V15Zm0%202.25h.008v.008H9.75v-.008ZM7.5%2015h.008v.008H7.5V15Zm0%202.25h.008v.008H7.5v-.008Zm6.75-4.5h.008v.008h-.008v-.008Zm0%202.25h.008v.008h-.008V15Zm0%202.25h.008v.008h-.008v-.008Zm2.25-4.5h.008v.008H16.5v-.008Zm0%202.25h.008v.008H16.5V15Z%22%2F%3E%3C%2Fsvg%3E');
    -webkit-mask: var(--hero-calendar-days);
    mask: var(--hero-calendar-days);
    mask-repeat: no-repeat;
    background-color: currentColor;
    vertical-align: middle;
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
  }
  .hero-chart-bar {
    --hero-chart-bar: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%20aria-hidden%3D%22true%22%20data-slot%3D%22icon%22%3E%20%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M3%2013.125C3%2012.504%203.504%2012%204.125%2012h2.25c.621%200%201.125.504%201.125%201.125v6.75C7.5%2020.496%206.996%2021%206.375%2021h-2.25A1.125%201.125%200%200%201%203%2019.875v-6.75ZM9.75%208.625c0-.621.504-1.125%201.125-1.125h2.25c.621%200%201.125.504%201.125%201.125v11.25c0%20.621-.504%201.125-1.125%201.125h-2.25a1.125%201.125%200%200%201-1.125-1.125V8.625ZM16.5%204.125c0-.621.504-1.125%201.125-1.125h2.25C20.496%203%2021%203.504%2021%204.125v15.75c0%20.621-.504%201.125-1.125%201.125h-2.25a1.125%201.125%200%200%201-1.125-1.125V4.125Z%22%2F%3E%3C%2Fsvg%3E');
    -webkit-mask: var(--hero-chart-bar);
    mask: var(--hero-chart-bar);
    mask-repeat: no-repeat;
    background-color: currentColor;
    vertical-align: middle;
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
  }
  .hero-check {
    --hero-check: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%20aria-hidden%3D%22true%22%20data-slot%3D%22icon%22%3E%20%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22m4.5%2012.75%206%206%209-13.5%22%2F%3E%3C%2Fsvg%3E');
    -webkit-mask: var(--hero-check);
    mask: var(--hero-check);
    mask-repeat: no-repeat;
    background-color: currentColor;
    vertical-align: middle;
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
  }
  .hero-chevron-right {
    --hero-chevron-right: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%20aria-hidden%3D%22true%22%20data-slot%3D%22icon%22%3E%20%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22m8.25%204.5%207.5%207.5-7.5%207.5%22%2F%3E%3C%2Fsvg%3E');
    -webkit-mask: var(--hero-chevron-right);
    mask: var(--hero-chevron-right);
    mask-repeat: no-repeat;
    background-color: currentColor;
    vertical-align: middle;
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
  }
  .hero-clock {
    --hero-clock: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%20aria-hidden%3D%22true%22%20data-slot%3D%22icon%22%3E%20%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M12%206v6h4.5m4.5%200a9%209%200%201%201-18%200%209%209%200%200%201%2018%200Z%22%2F%3E%3C%2Fsvg%3E');
    -webkit-mask: var(--hero-clock);
    mask: var(--hero-clock);
    mask-repeat: no-repeat;
    background-color: currentColor;
    vertical-align: middle;
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
  }
  .hero-cog-6-tooth {
    --hero-cog-6-tooth: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%20aria-hidden%3D%22true%22%20data-slot%3D%22icon%22%3E%20%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M9.594%203.94c.09-.542.56-.94%201.11-.94h2.593c.55%200%201.02.398%201.11.94l.213%201.281c.063.374.313.686.645.87.074.04.147.083.22.127.325.196.72.257%201.075.124l1.217-.456a1.125%201.125%200%200%201%201.37.49l1.296%202.247a1.125%201.125%200%200%201-.26%201.431l-1.003.827c-.293.241-.438.613-.43.992a7.723%207.723%200%200%201%200%20.255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26%201.43l-1.298%202.247a1.125%201.125%200%200%201-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47%206.47%200%200%201-.22.128c-.331.183-.581.495-.644.869l-.213%201.281c-.09.543-.56.94-1.11.94h-2.594c-.55%200-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52%206.52%200%200%201-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125%201.125%200%200%201-1.369-.49l-1.297-2.247a1.125%201.125%200%200%201%20.26-1.431l1.004-.827c.292-.24.437-.613.43-.991a6.932%206.932%200%200%201%200-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125%201.125%200%200%201-.26-1.43l1.297-2.247a1.125%201.125%200%200%201%201.37-.491l1.216.456c.356.133.751.072%201.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.28Z%22%2F%3E%20%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M15%2012a3%203%200%201%201-6%200%203%203%200%200%201%206%200Z%22%2F%3E%3C%2Fsvg%3E');
    -webkit-mask: var(--hero-cog-6-tooth);
    mask: var(--hero-cog-6-tooth);
    mask-repeat: no-repeat;
    background-color: currentColor;
    vertical-align: middle;
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
  }
  .hero-cursor-arrow-rays {
    --hero-cursor-arrow-rays: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%20aria-hidden%3D%22true%22%20data-slot%3D%22icon%22%3E%20%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M15.042%2021.672%2013.684%2016.6m0%200-2.51%202.225.569-9.47%205.227%207.917-3.286-.672ZM12%202.25V4.5m5.834.166-1.591%201.591M20.25%2010.5H18M7.757%2014.743l-1.59%201.59M6%2010.5H3.75m4.007-4.243-1.59-1.59%22%2F%3E%3C%2Fsvg%3E');
    -webkit-mask: var(--hero-cursor-arrow-rays);
    mask: var(--hero-cursor-arrow-rays);
    mask-repeat: no-repeat;
    background-color: currentColor;
    vertical-align: middle;
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
  }
  .hero-document-text {
    --hero-document-text: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%20aria-hidden%3D%22true%22%20data-slot%3D%22icon%22%3E%20%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M19.5%2014.25v-2.625a3.375%203.375%200%200%200-3.375-3.375h-1.5A1.125%201.125%200%200%201%2013.5%207.125v-1.5a3.375%203.375%200%200%200-3.375-3.375H8.25m0%2012.75h7.5m-7.5%203H12M10.5%202.25H5.625c-.621%200-1.125.504-1.125%201.125v17.25c0%20.621.504%201.125%201.125%201.125h12.75c.621%200%201.125-.504%201.125-1.125V11.25a9%209%200%200%200-9-9Z%22%2F%3E%3C%2Fsvg%3E');
    -webkit-mask: var(--hero-document-text);
    mask: var(--hero-document-text);
    mask-repeat: no-repeat;
    background-color: currentColor;
    vertical-align: middle;
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
  }
  .hero-exclamation-circle {
    --hero-exclamation-circle: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%20aria-hidden%3D%22true%22%20data-slot%3D%22icon%22%3E%20%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M12%209v3.75m9-.75a9%209%200%201%201-18%200%209%209%200%200%201%2018%200Zm-9%203.75h.008v.008H12v-.008Z%22%2F%3E%3C%2Fsvg%3E');
    -webkit-mask: var(--hero-exclamation-circle);
    mask: var(--hero-exclamation-circle);
    mask-repeat: no-repeat;
    background-color: currentColor;
    vertical-align: middle;
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
  }
  .hero-information-circle {
    --hero-information-circle: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%20aria-hidden%3D%22true%22%20data-slot%3D%22icon%22%3E%20%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22m11.25%2011.25.041-.02a.75.75%200%200%201%201.063.852l-.708%202.836a.75.75%200%200%200%201.063.853l.041-.021M21%2012a9%209%200%201%201-18%200%209%209%200%200%201%2018%200Zm-9-3.75h.008v.008H12V8.25Z%22%2F%3E%3C%2Fsvg%3E');
    -webkit-mask: var(--hero-information-circle);
    mask: var(--hero-information-circle);
    mask-repeat: no-repeat;
    background-color: currentColor;
    vertical-align: middle;
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
  }
  .hero-pause {
    --hero-pause: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%20aria-hidden%3D%22true%22%20data-slot%3D%22icon%22%3E%20%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M15.75%205.25v13.5m-7.5-13.5v13.5%22%2F%3E%3C%2Fsvg%3E');
    -webkit-mask: var(--hero-pause);
    mask: var(--hero-pause);
    mask-repeat: no-repeat;
    background-color: currentColor;
    vertical-align: middle;
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
  }
  .hero-pencil-square {
    --hero-pencil-square: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%20aria-hidden%3D%22true%22%20data-slot%3D%22icon%22%3E%20%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22m16.862%204.487%201.687-1.688a1.875%201.875%200%201%201%202.652%202.652L10.582%2016.07a4.5%204.5%200%200%201-1.897%201.13L6%2018l.8-2.685a4.5%204.5%200%200%201%201.13-1.897l8.932-8.931Zm0%200L19.5%207.125M18%2014v4.75A2.25%202.25%200%200%201%2015.75%2021H5.25A2.25%202.25%200%200%201%203%2018.75V8.25A2.25%202.25%200%200%201%205.25%206H10%22%2F%3E%3C%2Fsvg%3E');
    -webkit-mask: var(--hero-pencil-square);
    mask: var(--hero-pencil-square);
    mask-repeat: no-repeat;
    background-color: currentColor;
    vertical-align: middle;
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
  }
  .hero-plus {
    --hero-plus: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%20aria-hidden%3D%22true%22%20data-slot%3D%22icon%22%3E%20%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M12%204.5v15m7.5-7.5h-15%22%2F%3E%3C%2Fsvg%3E');
    -webkit-mask: var(--hero-plus);
    mask: var(--hero-plus);
    mask-repeat: no-repeat;
    background-color: currentColor;
    vertical-align: middle;
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
  }
  .hero-shield-check {
    --hero-shield-check: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%20aria-hidden%3D%22true%22%20data-slot%3D%22icon%22%3E%20%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M9%2012.75%2011.25%2015%2015%209.75m-3-7.036A11.959%2011.959%200%200%201%203.598%206%2011.99%2011.99%200%200%200%203%209.749c0%205.592%203.824%2010.29%209%2011.623%205.176-1.332%209-6.03%209-11.622%200-1.31-.21-2.571-.598-3.751h-.152c-3.196%200-6.1-1.248-8.25-3.285Z%22%2F%3E%3C%2Fsvg%3E');
    -webkit-mask: var(--hero-shield-check);
    mask: var(--hero-shield-check);
    mask-repeat: no-repeat;
    background-color: currentColor;
    vertical-align: middle;
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
  }
  .hero-squares-2x2 {
    --hero-squares-2x2: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%20aria-hidden%3D%22true%22%20data-slot%3D%22icon%22%3E%20%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M3.75%206A2.25%202.25%200%200%201%206%203.75h2.25A2.25%202.25%200%200%201%2010.5%206v2.25a2.25%202.25%200%200%201-2.25%202.25H6a2.25%202.25%200%200%201-2.25-2.25V6ZM3.75%2015.75A2.25%202.25%200%200%201%206%2013.5h2.25a2.25%202.25%200%200%201%202.25%202.25V18a2.25%202.25%200%200%201-2.25%202.25H6A2.25%202.25%200%200%201%203.75%2018v-2.25ZM13.5%206a2.25%202.25%200%200%201%202.25-2.25H18A2.25%202.25%200%200%201%2020.25%206v2.25A2.25%202.25%200%200%201%2018%2010.5h-2.25a2.25%202.25%200%200%201-2.25-2.25V6ZM13.5%2015.75a2.25%202.25%200%200%201%202.25-2.25H18a2.25%202.25%200%200%201%202.25%202.25V18A2.25%202.25%200%200%201%2018%2020.25h-2.25A2.25%202.25%200%200%201%2013.5%2018v-2.25Z%22%2F%3E%3C%2Fsvg%3E');
    -webkit-mask: var(--hero-squares-2x2);
    mask: var(--hero-squares-2x2);
    mask-repeat: no-repeat;
    background-color: currentColor;
    vertical-align: middle;
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
  }
  .hero-trash {
    --hero-trash: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%20aria-hidden%3D%22true%22%20data-slot%3D%22icon%22%3E%20%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22m14.74%209-.346%209m-4.788%200L9.26%209m9.968-3.21c.342.052.682.107%201.022.166m-1.022-.165L18.16%2019.673a2.25%202.25%200%200%201-2.244%202.077H8.084a2.25%202.25%200%200%201-2.244-2.077L4.772%205.79m14.456%200a48.108%2048.108%200%200%200-3.478-.397m-12%20.562c.34-.059.68-.114%201.022-.165m0%200a48.11%2048.11%200%200%201%203.478-.397m7.5%200v-.916c0-1.18-.91-2.164-2.09-2.201a51.964%2051.964%200%200%200-3.32%200c-1.18.037-2.09%201.022-2.09%202.201v.916m7.5%200a48.667%2048.667%200%200%200-7.5%200%22%2F%3E%3C%2Fsvg%3E');
    -webkit-mask: var(--hero-trash);
    mask: var(--hero-trash);
    mask-repeat: no-repeat;
    background-color: currentColor;
    vertical-align: middle;
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
  }
  .hero-user-minus {
    --hero-user-minus: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%20aria-hidden%3D%22true%22%20data-slot%3D%22icon%22%3E%20%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M22%2010.5h-6m-2.25-4.125a3.375%203.375%200%201%201-6.75%200%203.375%203.375%200%200%201%206.75%200ZM4%2019.235v-.11a6.375%206.375%200%200%201%2012.75%200v.109A12.318%2012.318%200%200%201%2010.374%2021c-2.331%200-4.512-.645-6.374-1.766Z%22%2F%3E%3C%2Fsvg%3E');
    -webkit-mask: var(--hero-user-minus);
    mask: var(--hero-user-minus);
    mask-repeat: no-repeat;
    background-color: currentColor;
    vertical-align: middle;
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
  }
  .hero-user-plus {
    --hero-user-plus: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%20aria-hidden%3D%22true%22%20data-slot%3D%22icon%22%3E%20%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M18%207.5v3m0%200v3m0-3h3m-3%200h-3m-2.25-4.125a3.375%203.375%200%201%201-6.75%200%203.375%203.375%200%200%201%206.75%200ZM3%2019.235v-.11a6.375%206.375%200%200%201%2012.75%200v.109A12.318%2012.318%200%200%201%209.374%2021c-2.331%200-4.512-.645-6.374-1.766Z%22%2F%3E%3C%2Fsvg%3E');
    -webkit-mask: var(--hero-user-plus);
    mask: var(--hero-user-plus);
    mask-repeat: no-repeat;
    background-color: currentColor;
    vertical-align: middle;
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
  }
  .hero-x-mark {
    --hero-x-mark: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%20aria-hidden%3D%22true%22%20data-slot%3D%22icon%22%3E%20%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M6%2018%2018%206M6%206l12%2012%22%2F%3E%3C%2Fsvg%3E');
    -webkit-mask: var(--hero-x-mark);
    mask: var(--hero-x-mark);
    mask-repeat: no-repeat;
    background-color: currentColor;
    vertical-align: middle;
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
  }
  .tabs {
    display: flex;
    flex-wrap: wrap;
    --tabs-height: auto;
    --tabs-direction: row;
    height: var(--tabs-height);
    flex-direction: var(--tabs-direction);
  }
  .stat {
    display: inline-grid;
    width: 100%;
    column-gap: calc(0.25rem * 4);
    padding-inline: calc(0.25rem * 6);
    padding-block: calc(0.25rem * 4);
    grid-template-columns: repeat(1, 1fr);
    &:not(:last-child) {
      border-inline-end: var(--border) dashed currentColor;
      @supports (color: color-mix(in lab, red, red)) {
        border-inline-end: var(--border) dashed color-mix(in oklab, currentColor 10%, #0000);
      }
      border-block-end: none;
    }
  }
  .alert {
    display: grid;
    align-items: center;
    gap: calc(0.25rem * 4);
    border-radius: var(--radius-box);
    padding-inline: calc(0.25rem * 4);
    padding-block: calc(0.25rem * 3);
    color: var(--color-base-content);
    background-color: var(--alert-color, var(--color-base-200));
    justify-content: start;
    justify-items: start;
    grid-auto-flow: column;
    grid-template-columns: auto;
    text-align: start;
    border: var(--border) solid var(--color-base-200);
    font-size: 0.875rem;
    line-height: 1.25rem;
    background-size: auto, calc(var(--noise) * 100%);
    background-image: none, var(--fx-noise);
    box-shadow: 0 3px 0 -2px oklch(100% 0 0 / calc(var(--depth) * 0.08)) inset, 0 1px #000, 0 4px 3px -2px oklch(0% 0 0 / calc(var(--depth) * 0.08));
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 3px 0 -2px oklch(100% 0 0 / calc(var(--depth) * 0.08)) inset, 0 1px color-mix( in oklab, color-mix(in oklab, #000 20%, var(--alert-color, var(--color-base-200))) calc(var(--depth) * 20%), #0000 ), 0 4px 3px -2px oklch(0% 0 0 / calc(var(--depth) * 0.08));
    }
    &:has(:nth-child(2)) {
      grid-template-columns: auto minmax(auto, 1fr);
    }
    &.alert-outline {
      background-color: transparent;
      color: var(--alert-color);
      box-shadow: none;
      background-image: none;
    }
    &.alert-dash {
      background-color: transparent;
      color: var(--alert-color);
      border-style: dashed;
      box-shadow: none;
      background-image: none;
    }
    &.alert-soft {
      color: var(--alert-color, var(--color-base-content));
      background: var(--alert-color, var(--color-base-content));
      @supports (color: color-mix(in lab, red, red)) {
        background: color-mix( in oklab, var(--alert-color, var(--color-base-content)) 8%, var(--color-base-100) );
      }
      border-color: var(--alert-color, var(--color-base-content));
      @supports (color: color-mix(in lab, red, red)) {
        border-color: color-mix( in oklab, var(--alert-color, var(--color-base-content)) 10%, var(--color-base-100) );
      }
      box-shadow: none;
      background-image: none;
    }
  }
  .fieldset {
    display: grid;
    gap: calc(0.25rem * 1.5);
    padding-block: calc(0.25rem * 1);
    font-size: 0.75rem;
    grid-template-columns: 1fr;
    grid-auto-rows: max-content;
  }
  .join {
    display: inline-flex;
    align-items: stretch;
    --join-ss: 0;
    --join-se: 0;
    --join-es: 0;
    --join-ee: 0;
    :where(.join-item) {
      border-start-start-radius: var(--join-ss, 0);
      border-start-end-radius: var(--join-se, 0);
      border-end-start-radius: var(--join-es, 0);
      border-end-end-radius: var(--join-ee, 0);
      * {
        --join-ss: var(--radius-field);
        --join-se: var(--radius-field);
        --join-es: var(--radius-field);
        --join-ee: var(--radius-field);
      }
    }
    > .join-item:where(:first-child) {
      --join-ss: var(--radius-field);
      --join-se: 0;
      --join-es: var(--radius-field);
      --join-ee: 0;
    }
    :first-child:not(:last-child) {
      :where(.join-item) {
        --join-ss: var(--radius-field);
        --join-se: 0;
        --join-es: var(--radius-field);
        --join-ee: 0;
      }
    }
    > .join-item:where(:last-child) {
      --join-ss: 0;
      --join-se: var(--radius-field);
      --join-es: 0;
      --join-ee: var(--radius-field);
    }
    :last-child:not(:first-child) {
      :where(.join-item) {
        --join-ss: 0;
        --join-se: var(--radius-field);
        --join-es: 0;
        --join-ee: var(--radius-field);
      }
    }
    > .join-item:where(:only-child) {
      --join-ss: var(--radius-field);
      --join-se: var(--radius-field);
      --join-es: var(--radius-field);
      --join-ee: var(--radius-field);
    }
    :only-child {
      :where(.join-item) {
        --join-ss: var(--radius-field);
        --join-se: var(--radius-field);
        --join-es: var(--radius-field);
        --join-ee: var(--radius-field);
      }
    }
  }
  .block {
    display: block;
  }
  .contents {
    display: contents;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .table {
    display: table;
  }
  .size-3 {
    width: calc(var(--spacing) * 3);
    height: calc(var(--spacing) * 3);
  }
  .size-3\.5 {
    width: calc(var(--spacing) * 3.5);
    height: calc(var(--spacing) * 3.5);
  }
  .size-4 {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }
  .size-5 {
    width: calc(var(--spacing) * 5);
    height: calc(var(--spacing) * 5);
  }
  .size-6 {
    width: calc(var(--spacing) * 6);
    height: calc(var(--spacing) * 6);
  }
  .h-2\.5 {
    height: calc(var(--spacing) * 2.5);
  }
  .h-3\.5 {
    height: calc(var(--spacing) * 3.5);
  }
  .w-0 {
    width: calc(var(--spacing) * 0);
  }
  .w-2\.5 {
    width: calc(var(--spacing) * 2.5);
  }
  .w-3\.5 {
    width: calc(var(--spacing) * 3.5);
  }
  .w-full {
    width: 100%;
  }
  .flex-none {
    flex: none;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .translate-y-0 {
    --tw-translate-y: calc(var(--spacing) * 0);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-y-4 {
    --tw-translate-y: calc(var(--spacing) * 4);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .skeleton {
    border-radius: var(--radius-box);
    background-color: var(--color-base-300);
    @media (prefers-reduced-motion: reduce) {
      transition-duration: 15s;
    }
    will-change: background-position;
    animation: skeleton 1.8s ease-in-out infinite;
    background-image: linear-gradient( 105deg, #0000 0% 40%, var(--color-base-100) 50%, #0000 60% 100% );
    background-size: 200% auto;
    background-repeat: no-repeat;
    background-position-x: -50%;
  }
  .link {
    cursor: pointer;
    text-decoration-line: underline;
    &:focus {
      --tw-outline-style: none;
      outline-style: none;
      @media (forced-colors: active) {
        outline: 2px solid transparent;
        outline-offset: 2px;
      }
    }
    &:focus-visible {
      outline: 2px solid currentColor;
      outline-offset: 2px;
    }
  }
  .resize {
    resize: both;
  }
  .items-center {
    align-items: center;
  }
  .justify-between {
    justify-content: space-between;
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .table-zebra {
    tbody {
      tr {
        &:where(:nth-child(even)) {
          background-color: var(--color-base-200);
          :where(.table-pin-cols tr th) {
            background-color: var(--color-base-200);
          }
        }
        &.row-hover {
          &, &:where(:nth-child(even)) {
            &:hover {
              @media (hover: hover) {
                background-color: var(--color-base-300);
              }
            }
          }
        }
      }
    }
  }
  .checkbox-sm {
    padding: 0.1875rem;
    --size: calc(var(--size-selector, 0.25rem) * 5);
  }
  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }
  .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));
  }
  .leading-8 {
    --tw-leading: calc(var(--spacing) * 8);
    line-height: calc(var(--spacing) * 8);
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .text-base-content\/70 {
    color: var(--color-base-content);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-base-content) 70%, transparent);
    }
  }
  .text-error {
    color: var(--color-error);
  }
  .text-teal-600 {
    color: var(--color-teal-600);
  }
  .opacity-0 {
    opacity: 0%;
  }
  .opacity-100 {
    opacity: 100%;
  }
  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }
  .btn-ghost {
    &:not(.btn-active, :hover, :active:focus, :focus-visible) {
      --btn-shadow: "";
      --btn-bg: #0000;
      --btn-border: #0000;
      --btn-noise: none;
      &:not(:disabled, [disabled], .btn-disabled) {
        outline-color: currentColor;
        --btn-fg: currentColor;
      }
    }
  }
  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .duration-200 {
    --tw-duration: 200ms;
    transition-duration: 200ms;
  }
  .duration-300 {
    --tw-duration: 300ms;
    transition-duration: 300ms;
  }
  .ease-in {
    --tw-ease: var(--ease-in);
    transition-timing-function: var(--ease-in);
  }
  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }
  .btn-soft {
    &:not(.btn-active, :hover, :active:focus, :focus-visible, :disabled, [disabled], .btn-disabled) {
      --btn-shadow: "";
      --btn-fg: var(--btn-color, var(--color-base-content));
      --btn-bg: var(--btn-color, var(--color-base-content));
      @supports (color: color-mix(in lab, red, red)) {
        --btn-bg: color-mix(
      in oklab,
      var(--btn-color, var(--color-base-content)) 8%,
      var(--color-base-100)
    );
      }
      --btn-border: var(--btn-color, var(--color-base-content));
      @supports (color: color-mix(in lab, red, red)) {
        --btn-border: color-mix(
      in oklab,
      var(--btn-color, var(--color-base-content)) 10%,
      var(--color-base-100)
    );
      }
      --btn-noise: none;
    }
    @media (hover: none) {
      &:hover:not(.btn-active, :active, :focus-visible, :disabled, [disabled], .btn-disabled) {
        --btn-shadow: "";
        --btn-fg: var(--btn-color, var(--color-base-content));
        --btn-bg: var(--btn-color, var(--color-base-content));
        @supports (color: color-mix(in lab, red, red)) {
          --btn-bg: color-mix(
        in oklab,
        var(--btn-color, var(--color-base-content)) 8%,
        var(--color-base-100)
      );
        }
        --btn-border: var(--btn-color, var(--color-base-content));
        @supports (color: color-mix(in lab, red, red)) {
          --btn-border: color-mix(
        in oklab,
        var(--btn-color, var(--color-base-content)) 10%,
        var(--color-base-100)
      );
        }
        --btn-noise: none;
      }
    }
  }
  .btn-sm {
    --fontsize: 0.75rem;
    --btn-p: 0.75rem;
    --size: calc(var(--size-field, 0.25rem) * 8);
  }
  .btn-xs {
    --fontsize: 0.6875rem;
    --btn-p: 0.5rem;
    --size: calc(var(--size-field, 0.25rem) * 6);
  }
  .badge-neutral {
    --badge-color: var(--color-neutral);
    --badge-fg: var(--color-neutral-content);
  }
  .badge-primary {
    --badge-color: var(--color-primary);
    --badge-fg: var(--color-primary-content);
  }
  .btn-primary {
    --btn-color: var(--color-primary);
    --btn-fg: var(--color-primary-content);
  }
  .btn-secondary {
    --btn-color: var(--color-secondary);
    --btn-fg: var(--color-secondary-content);
  }
  .input-error {
    &, &:focus, &:focus-within {
      --input-color: var(--color-error);
    }
  }
  .select-error {
    &, &:focus, &:focus-within {
      --input-color: var(--color-error);
    }
  }
  .textarea-error {
    &, &:focus, &:focus-within {
      --input-color: var(--color-error);
    }
  }
  .only\:block {
    &:only-child {
      display: block;
    }
  }
  .hover\:cursor-pointer {
    &:hover {
      @media (hover: hover) {
        cursor: pointer;
      }
    }
  }
  .motion-safe\:animate-spin {
    @media (prefers-reduced-motion: no-preference) {
      animation: var(--animate-spin);
    }
  }
  .sm\:translate-y-0 {
    @media (width >= 40rem) {
      --tw-translate-y: calc(var(--spacing) * 0);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .sm\:scale-95 {
    @media (width >= 40rem) {
      --tw-scale-x: 95%;
      --tw-scale-y: 95%;
      --tw-scale-z: 95%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
  .sm\:scale-100 {
    @media (width >= 40rem) {
      --tw-scale-x: 100%;
      --tw-scale-y: 100%;
      --tw-scale-z: 100%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/fonts/Geist-latin-ext-4841e590e2a9e7073776a2e877216dd2.woff2?vsn=d') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/fonts/Geist-latin-a147f99cd533135887083b7ac60d63a6.woff2?vsn=d') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/fonts/GeistMono-latin-ext-3b2fb755bc032ee71aa5e15f2ad38c9e.woff2?vsn=d') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/fonts/GeistMono-latin-86c701a325b5799e6dfc20040fe74004.woff2?vsn=d') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/InstrumentSerif-regular-latin-ext-b160c869d0b2cbc37621701ff7a85cc6.woff2?vsn=d') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/InstrumentSerif-regular-latin-9b8dd1ecf641700bf1caa9d17da6374e.woff2?vsn=d') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/InstrumentSerif-italic-latin-ext-148ffff0cacc7c3437e14fb6e67e685b.woff2?vsn=d') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/InstrumentSerif-italic-latin-bc891bdd08ad55f22a545508466f855b.woff2?vsn=d') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
[data-phx-session], [data-phx-teleported-src] {
  display: contents;
}
:root {
  --paper: #f5f1ea;
  --paper-2: #ece6dc;
  --bg: #f5f1ea;
  --bg-sunken: #ece6dc;
  --surface: #ffffff;
  --surface-2: #faf7f1;
  --line: #e3ddd1;
  --line-strong: #c9c1b1;
  --ink: #1a1814;
  --ink-2: #3e3a32;
  --muted: #84796a;
  --muted-2: #a89e8c;
  --teal: #0f6e63;
  --teal-soft: #e6f0ee;
  --amber: #b97800;
  --amber-soft: #fbf2dc;
  --amber-line: #efd9a5;
  --amber-deep: #6a4400;
  --amber-mid: #927040;
  --rose: #b03b3b;
  --rose-soft: #f7e4e0;
  --green: #4a7a4a;
  --green-soft: #e7eee0;
  --green-line: #c8d8c2;
  --color-primary: #0f6e63;
  --color-primary-hover: #0a5c53;
  --color-primary-light: #e6f0ee;
  --color-danger: #b03b3b;
  --color-danger-light: #f7e4e0;
  --color-success: #4a7a4a;
  --color-warning: #b97800;
  --shadow-card-hover: 0 1px 2px rgba(26,24,20,0.04), 0 8px 24px -12px rgba(26,24,20,0.18);
  --shadow-popover: 0 1px 2px rgba(0,0,0,0.04), 0 12px 32px -8px rgba(31,26,20,0.25);
  --shadow-dialog: 0 1px 2px rgba(0,0,0,0.04), 0 24px 80px -16px rgba(31,26,20,0.4);
  --focus-ring: 0 0 0 3px rgba(15,110,99,0.15);
  --side-bg: #1f1a14;
  --side-bg-2: #2a241c;
  --side-line: #3a3128;
  --side-ink: #f0e7d8;
  --side-muted: #8a7e6c;
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 16px;
  --r-xl: 22px;
  --r-pill: 999px;
  --transition: 150ms ease;
  --fs-xs: 11px;
  --fs-sm: 12px;
  --fs-base: 13px;
  --fs-md: 14px;
  --fs-lg: 16px;
  --white: #ffffff;
  --amber-bright: #e9b961;
  --font-sans: "Geist", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-serif: "Instrument Serif", Georgia, "Times New Roman", serif;
  --font-mono: "Geist Mono", ui-monospace, "Cascadia Code", "Fira Code", monospace;
  --sidebar-width: 248px;
  --filter-bar-sticky-height: calc(25px + 1.2 * var(--fs-base) + 1px);
}
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html, body {
  font-family: var(--font-sans);
  font-size: var(--fs-md);
  color: var(--ink);
  background: var(--bg);
  height: 100%;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
button {
  font-family: inherit;
  cursor: pointer;
  border: none;
  background: none;
  color: inherit;
}
input, select, textarea {
  font-family: inherit;
}
ul {
  list-style: none;
}
a {
  color: inherit;
  text-decoration: none;
}
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: var(--line-strong);
  border-radius: var(--r-pill);
}
::-webkit-scrollbar-thumb:hover {
  background: var(--muted);
}
.public-shell {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
.public-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid var(--line);
}
.public-footer {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1rem 1.5rem;
  border-top: 1px solid var(--line);
  font-size: 0.875rem;
  color: var(--muted);
}
.footer-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
}
.footer-copy {
  margin: 0;
  color: var(--muted);
}
.footer-legal {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
.footer-legal a {
  color: var(--muted);
  text-decoration: none;
}
.footer-legal a:hover {
  color: var(--teal);
}
.public-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-serif);
  font-size: 1.35rem;
  font-weight: 400;
  color: var(--teal);
  text-decoration: none;
}
.public-brand-logo {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
}
.hero-logo {
  width: 64px;
  height: 64px;
  color: var(--teal);
  margin: 0 auto 1.25rem;
  display: block;
}
.public-nav {
  display: flex;
  gap: 1rem;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.public-nav-link {
  color: var(--muted);
  text-decoration: none;
  font-size: 0.9rem;
}
.public-nav-link:hover {
  color: var(--teal);
}
.public-main {
  flex: 1;
  max-width: 960px;
  margin: 0 auto;
  padding: 2rem 1.5rem;
  width: 100%;
}
.locale-switcher {
  display: flex;
  gap: 2px;
  align-items: center;
}
.locale-switcher a {
  padding: 3px 8px;
  border-radius: var(--r-pill);
  font-size: var(--fs-sm);
  font-weight: 500;
  letter-spacing: 0.04em;
  opacity: 0.55;
  transition: opacity 120ms, background 120ms;
}
.locale-switcher a:hover {
  opacity: 1;
}
.locale-switcher a.active {
  opacity: 1;
  font-weight: 600;
  color: var(--teal);
  background: var(--teal-soft);
}
.hero {
  display: block;
  place-items: initial;
  min-height: auto;
  text-align: center;
  padding: 5rem 0 3.5rem;
}
.hero-kicker {
  display: inline-block;
  color: var(--teal);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.7rem;
  font-weight: 700;
  background: var(--teal-soft);
  padding: 3px 12px;
  border-radius: var(--r-pill);
  margin-bottom: 1.25rem;
}
.hero-title {
  font-family: var(--font-serif);
  font-size: 3.75rem;
  display: block;
  color: var(--ink);
  letter-spacing: -0.02em;
  line-height: 1.05;
  margin-bottom: 1rem;
}
.hero-lead {
  max-width: 34rem;
  margin: 0 auto 2rem;
  color: var(--muted);
  line-height: 1.65;
  font-size: 1.0625rem;
}
.hero-actions {
  display: flex;
  gap: 0.75rem;
  justify-content: center;
  flex-wrap: wrap;
}
.features {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  margin-top: 3rem;
  padding-bottom: 2rem;
}
.feature-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  padding: 1.375rem;
  transition: box-shadow 150ms, border-color 150ms;
}
.feature-card:hover {
  box-shadow: var(--shadow-card-hover);
  border-color: var(--teal);
}
.feature-icon {
  width: 36px;
  height: 36px;
  border-radius: var(--r-md);
  background: var(--teal-soft);
  color: var(--teal);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.875rem;
}
.feature-card h2 {
  font-size: 0.9375rem;
  margin-bottom: 0.375rem;
  color: var(--ink);
  font-weight: 600;
}
.feature-card p {
  font-size: 0.875rem;
  color: var(--muted);
  line-height: 1.55;
}
.btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 18px;
  border-radius: var(--r-pill);
  font-size: var(--fs-base);
  font-weight: 500;
  transition: background 120ms, opacity 120ms, border-color 120ms;
  border: 1px solid transparent;
  cursor: pointer;
  white-space: nowrap;
}
.btn-primary {
  background: var(--ink);
  color: var(--white);
  border-color: var(--ink);
}
.btn-primary:hover {
  opacity: 0.85;
}
.btn-secondary {
  background: transparent;
  color: var(--ink-2);
  border-color: var(--line);
}
.btn-secondary:hover {
  background: var(--bg-sunken);
  border-color: var(--line-strong);
}
.btn-teal {
  background: var(--teal);
  color: var(--white);
  border-color: var(--teal);
}
.btn-teal:hover {
  background: var(--color-primary-hover);
}
.btn-danger {
  background: transparent;
  color: var(--rose);
  border-color: var(--line);
}
.btn-danger:hover {
  background: var(--rose-soft);
  border-color: var(--rose);
}
.btn-sm {
  font-size: var(--fs-sm);
  padding: 5px 12px;
}
.btn-ghost {
  background: transparent;
  color: var(--muted);
  border-color: transparent;
}
.btn-ghost:hover {
  background: var(--bg-sunken);
  color: var(--ink);
}
.auth-shell {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem;
}
.auth-card {
  width: 100%;
  max-width: 400px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-xl);
  overflow: hidden;
  box-shadow: var(--shadow-dialog);
}
.auth-card-head {
  padding: 2rem 2rem 1.5rem;
  border-bottom: 1px solid var(--line);
  background: var(--surface-2);
}
.auth-card-title {
  font-family: var(--font-serif);
  font-size: 1.75rem;
  color: var(--ink);
  margin-bottom: 0.25rem;
  letter-spacing: -0.02em;
}
.auth-card-sub {
  font-size: 0.875rem;
  color: var(--muted);
}
.auth-card-body {
  padding: 1.5rem 2rem 2rem;
}
.auth-card-foot {
  padding: 1rem 2rem;
  border-top: 1px solid var(--line);
  background: var(--surface-2);
  font-size: 0.875rem;
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.auth-card-foot a {
  color: var(--teal);
  font-weight: 500;
}
.auth-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--font-serif);
  font-size: 1.1rem;
  color: var(--teal);
  margin-bottom: 2rem;
  text-decoration: none;
}
.auth-brand-logo {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
.auth-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.auth-form .btn-full {
  width: 100%;
  justify-content: center;
  margin-top: 0.25rem;
}
.auth-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 1.5rem 0 1rem;
  color: var(--muted);
  font-size: 0.8125rem;
}
.auth-divider::before, .auth-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--line);
}
.auth-info {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 12px 14px;
  margin-bottom: 1rem;
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  font-size: 0.875rem;
  color: var(--muted);
}
.auth-inline-link {
  color: var(--teal);
  font-weight: 500;
  margin-left: 4px;
}
.auth-toggle-link {
  display: block;
  width: 100%;
  margin-top: 12px;
  padding: 0;
  border: none;
  background: none;
  text-align: center;
  cursor: pointer;
  font: inherit;
}
.auth-shell .auth-card:has(.auth-card-body-wide) {
  max-width: 640px;
}
.auth-nav {
  width: 100%;
  max-width: 420px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 auto 1.25rem;
}
.auth-nav .auth-brand {
  margin-bottom: 0;
}
.auth-nav-end {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.auth-admin-link {
  font-size: 0.85rem;
  color: var(--muted);
  text-decoration: none;
  white-space: nowrap;
}
.auth-admin-link:hover {
  color: var(--teal);
}
.auth-foot {
  display: flex;
  justify-content: center;
  margin-top: 1.5rem;
  font-size: 0.8rem;
}
.start-choices {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.join-email {
  font-family: var(--font-mono);
  font-size: 1rem;
  color: var(--ink);
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  padding: 10px 14px;
  margin-bottom: 0.75rem;
  text-align: center;
}
.btn-full {
  width: 100%;
}
.form-group {
  margin-bottom: 1rem;
}
.form-label {
  display: block;
  font-size: var(--fs-sm);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 6px;
}
.form-input, .form-select, .form-textarea, input[type="email"], input[type="password"], input[type="text"], input[type="time"], input[type="date"], select, textarea {
  width: 100%;
  font-family: inherit;
  font-size: var(--fs-md);
  color: var(--ink);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  padding: 10px 14px;
  line-height: 1.4;
  transition: border-color 120ms, box-shadow 120ms;
}
select, .form-select, .dlg-select, .dlg-body .select, .a-card-body .select, .auth-card-body .select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 2.5rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%238a8078' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 8 4 4 4-4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 1rem 1rem;
  cursor: pointer;
}
.form-input:focus, .form-select:focus, .form-textarea:focus, input[type="email"]:focus, input[type="password"]:focus, input[type="text"]:focus, input[type="date"]:focus, select:focus, textarea:focus {
  outline: none;
  border-color: var(--teal);
  box-shadow: var(--focus-ring);
}
.form-textarea, textarea {
  resize: vertical;
  min-height: 80px;
  line-height: 1.5;
}
.form-error {
  font-size: var(--fs-sm);
  color: var(--rose);
  margin-top: 4px;
}
.form-hint {
  font-size: var(--fs-sm);
  color: var(--muted-2);
  margin-top: 4px;
}
.form-row {
  display: grid;
  gap: 12px;
}
.app-shell {
  display: flex;
  height: 100vh;
  width: 100%;
  overflow: hidden;
}
.sidebar {
  width: var(--sidebar-width);
  background: var(--side-bg);
  color: var(--side-ink);
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--side-line);
  flex-shrink: 0;
}
.sb-head {
  padding: 22px 20px 18px;
  border-bottom: 1px solid var(--side-line);
}
.sb-brand {
  font-family: var(--font-serif);
  font-size: 22px;
  color: var(--white);
  letter-spacing: -0.01em;
  line-height: 1.25;
  word-break: break-word;
}
.sb-sub {
  font-size: var(--fs-sm);
  color: var(--side-muted);
  margin-top: 6px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-weight: 500;
}
.sb-tools {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding: 10px;
  gap: 4px;
  border-bottom: 1px solid var(--side-line);
}
.sb-tool {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 9px 4px;
  border-radius: var(--r-sm);
  color: var(--side-ink);
  font-size: var(--fs-sm);
  opacity: 0.85;
  transition: background 120ms, opacity 120ms;
}
.sb-tool:hover {
  background: var(--side-bg-2);
  opacity: 1;
}
.sb-tool svg {
  width: 15px;
  height: 15px;
}
.sb-nav {
  flex: 1;
  overflow-y: auto;
  padding: 14px 10px;
  scrollbar-width: none;
}
.sb-nav::-webkit-scrollbar {
  display: none;
}
.sb-section {
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--side-muted);
  padding: 6px 10px 8px;
}
.month-list {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.month-row {
  display: grid;
  grid-template-columns: 22px 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 7px 10px;
  border-radius: var(--r-sm);
  color: var(--side-ink);
  font-size: var(--fs-base);
  transition: background 120ms;
  cursor: pointer;
}
.month-row:hover {
  background: var(--side-bg-2);
}
.month-row.active {
  background: var(--bg);
  color: var(--ink);
  font-weight: 600;
}
.month-row.active .mr-num {
  color: var(--teal);
}
.month-row.active .mr-count {
  color: var(--muted);
  background: rgba(0,0,0,0.04);
}
.month-row.past {
  opacity: 0.45;
}
.mr-num {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--side-muted);
  text-align: right;
}
.mr-count {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--side-muted);
  padding: 1px 7px;
  border-radius: var(--r-pill);
  background: rgba(255,255,255,0.04);
}
.month-row.has-issue .mr-count {
  color: var(--amber-bright);
  background: var(--amber-bright);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in oklab, var(--amber-bright) 12%, transparent);
  }
}
.sb-foot {
  padding: 12px 16px;
  border-top: 1px solid var(--side-line);
  color: var(--side-muted);
  font-size: var(--fs-sm);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 6px 0;
  font-family: var(--font-mono);
}
.app-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.app-content {
  flex: 1;
  overflow-y: auto;
  scrollbar-width: thin;
}
.month-page, .year-page, .page-content {
  max-width: 1100px;
  margin: 0 auto;
  padding: 32px 40px 80px;
}
.a-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  overflow: hidden;
  margin-bottom: 20px;
}
.a-card-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 22px;
  border-bottom: 1px solid var(--line);
}
.a-card-title {
  font-size: var(--fs-md);
  font-weight: 600;
  color: var(--ink);
  flex: 1;
}
.a-card-sub {
  font-size: var(--fs-sm);
  color: var(--muted);
  font-family: var(--font-mono);
}
.a-card-body {
  padding: 8px 22px 14px;
}
.a-card-body.tight {
  padding: 0;
}
.a-add-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: var(--r-pill);
  background: var(--ink);
  color: var(--white);
  font-size: var(--fs-sm);
  transition: opacity 120ms;
  white-space: nowrap;
  flex-shrink: 0;
}
.a-add-btn:hover {
  opacity: 0.88;
}
.a-empty {
  padding: 12px 16px;
  margin: 12px 22px;
  font-size: var(--fs-base);
  font-style: italic;
  color: var(--muted);
  background: var(--bg-sunken);
  border-radius: var(--r-sm);
  text-align: center;
}
.a-row.team {
  grid-template-columns: auto 1fr auto;
  gap: 12px;
}
.a-row.team.inactive {
  opacity: 0.72;
}
.a-row-note {
  display: inline-block;
  font-size: var(--fs-xs);
  color: var(--muted);
  background: var(--bg-sunken);
  border-radius: var(--r-sm);
  padding: 2px 8px;
  margin-right: 6px;
}
.badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 9px;
  border-radius: var(--r-pill);
  font-size: var(--fs-sm);
  font-weight: 500;
  white-space: nowrap;
}
.badge-primary {
  background: var(--teal-soft);
  color: var(--teal);
}
.badge-success {
  background: var(--green-soft);
  color: var(--green);
}
.badge-warning {
  background: var(--amber-soft);
  color: var(--amber);
}
.badge-danger {
  background: var(--rose-soft);
  color: var(--rose);
}
.badge-neutral {
  background: var(--bg-sunken);
  color: var(--muted);
}
.ev-card {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4px 16px;
  align-items: start;
  padding: 12px 14px 12px 16px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  transition: border-color 120ms, box-shadow 120ms;
  cursor: pointer;
}
.ev-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  bottom: 12px;
  width: 3px;
  border-radius: var(--r-pill);
  background: var(--teal);
}
.ev-card.warn::before {
  background: var(--amber);
}
.ev-card.danger::before {
  background: var(--rose);
}
.ev-card.ok::before {
  background: var(--green);
}
.ev-card:hover {
  border-color: var(--line-strong);
  box-shadow: var(--shadow-card-hover);
}
.ev-top {
  grid-column: 1 / 2;
  min-width: 0;
}
.ev-loc {
  font-size: 15.5px;
  font-weight: 600;
  color: var(--ink);
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ev-times, .ev-time {
  font-family: var(--font-mono);
  font-size: var(--fs-sm);
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 2px;
}
.chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 9px 3px 6px;
  border-radius: var(--r-pill);
  font-size: var(--fs-sm);
  font-weight: 500;
  color: var(--white);
  border: 1px solid transparent;
  line-height: 1.4;
  letter-spacing: -0.005em;
}
.chip-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255,255,255,0.55);
}
.chip.empty {
  background: transparent;
  color: var(--muted-2);
  border: 1px dashed var(--line-strong);
  padding: 2px 9px;
  font-style: italic;
}
.chip.empty .chip-dot {
  display: none;
}
.crew-strip {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 28px;
  padding: 14px 16px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
}
.crew-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 12px 4px 8px;
  border-radius: var(--r-pill);
  background: var(--bg);
  border: 1px solid var(--line);
  font-size: var(--fs-base);
  color: var(--ink-2);
}
.crew-swatch {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
.app-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(31,26,20,0.45);
  backdrop-filter: blur(2px);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 60px 24px;
  overflow-y: auto;
  z-index: 600;
  animation: fade 180ms ease;
}
@keyframes fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes lift {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes slide-up {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}
.dlg {
  width: 100%;
  max-width: 620px;
  background: var(--surface);
  border-radius: var(--r-xl);
  box-shadow: var(--shadow-dialog);
  overflow: hidden;
  animation: lift 220ms cubic-bezier(.2,.7,.2,1);
}
.dlg-head {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: start;
  padding: 24px 26px 18px;
  border-bottom: 1px solid var(--line);
  background: var(--surface-2);
}
.dlg-kicker {
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 8px;
}
.dlg-date {
  font-family: var(--font-serif);
  font-size: 32px;
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.dlg-close {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--muted);
  transition: background 120ms, color 120ms;
}
.dlg-close:hover {
  background: var(--bg-sunken);
  color: var(--ink);
}
.dlg-body {
  padding: 20px 26px 8px;
}
.dlg-field {
  margin-bottom: 18px;
}
.dlg-label {
  font-size: var(--fs-sm);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 8px;
  display: block;
}
.dlg-input, .dlg-select, .dlg-textarea {
  width: 100%;
  font-family: inherit;
  font-size: var(--fs-md);
  color: var(--ink);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  padding: 10px 14px;
  line-height: 1.4;
  transition: border-color 120ms, box-shadow 120ms;
}
.dlg-input:focus, .dlg-select:focus, .dlg-textarea:focus {
  outline: none;
  border-color: var(--teal);
  box-shadow: var(--focus-ring);
}
.dlg-foot {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 16px 26px;
  background: var(--surface-2);
  border-top: 1px solid var(--line);
}
.dlg-foot-left {
  flex: 1;
  min-width: 0;
}
.dlg-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: var(--fs-base);
  color: var(--muted);
  cursor: pointer;
}
.prep-time-row {
  display: flex;
  gap: 12px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1.5px dashed var(--line);
}
.dlg-presets {
  display: flex;
  gap: 6px;
  margin-bottom: 8px;
  flex-wrap: wrap;
  align-items: flex-start;
}
.btn-dark {
  background: var(--ink);
  color: var(--white);
  border: 1px solid var(--ink);
}
.btn-dark:hover {
  background: var(--ink);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in oklab, var(--ink) 80%, black);
  }
}
.btn-ghost-danger {
  background: none;
  color: var(--rose);
  border: 1px solid transparent;
}
.btn-ghost-danger:hover {
  border-color: var(--rose-soft);
  background: var(--rose-soft);
}
.dlg-body .fieldset, .a-card-body .fieldset {
  margin-bottom: 12px;
}
.dlg-body .label, .a-card-body .label {
  font-size: var(--fs-sm);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 8px;
  display: block;
}
.dlg-body .fieldset .label:has(input[type="checkbox"]), .a-card-body .fieldset .label:has(input[type="checkbox"]) {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 14px;
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  background: var(--surface);
  font-size: var(--fs-base);
  font-weight: 500;
  letter-spacing: 0.02em;
  text-transform: none;
  color: var(--ink-2);
  cursor: pointer;
  transition: border-color 120ms, background 120ms;
  margin-bottom: 0;
}
.dlg-body .fieldset .label:has(input[type="checkbox"]):hover, .a-card-body .fieldset .label:has(input[type="checkbox"]):hover {
  border-color: var(--line-strong);
  background: var(--bg-sunken);
}
.dlg-body .input, .dlg-body .select, .dlg-body .textarea, .a-card-body .input, .a-card-body .select, .a-card-body .textarea, .auth-card-body .input, .auth-card-body .select, .auth-card-body .textarea {
  width: 100%;
  font-family: inherit;
  font-size: var(--fs-md);
  color: var(--ink);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  padding: 10px 14px;
  line-height: 1.4;
  transition: border-color 120ms, box-shadow 120ms;
}
.dlg-body .input:focus, .dlg-body .select:focus, .dlg-body .textarea:focus, .a-card-body .input:focus, .a-card-body .select:focus, .a-card-body .textarea:focus, .auth-card-body .input:focus, .auth-card-body .select:focus, .auth-card-body .textarea:focus {
  outline: none;
  border-color: var(--teal);
  box-shadow: var(--focus-ring);
}
.dlg-body .textarea, .a-card-body .textarea {
  min-height: 88px;
  line-height: 1.5;
}
.dlg-body .fieldset .checkbox, .a-card-body .fieldset .checkbox {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin: 0;
  border-radius: 5px;
  border: 1.5px solid var(--line-strong);
  background: var(--surface);
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  position: relative;
  transition: background 120ms, border-color 120ms;
}
.dlg-body .fieldset .checkbox:checked, .a-card-body .fieldset .checkbox:checked {
  background: var(--teal);
  border-color: var(--teal);
}
.dlg-body .fieldset .checkbox:checked::after, .a-card-body .fieldset .checkbox:checked::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 1px;
  width: 5px;
  height: 10px;
  border: solid var(--white);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.dlg-body .fieldset .checkbox:focus-visible, .a-card-body .fieldset .checkbox:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}
.flash-group {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 900;
  display: flex;
  flex-direction: column;
  gap: 8px;
  pointer-events: none;
}
.flash-group .flash {
  pointer-events: auto;
}
.flash {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 240px;
  max-width: min(420px, calc(100vw - 48px));
  padding: 12px 14px 12px 12px;
  border-radius: var(--r-md);
  background: var(--ink);
  color: var(--white);
  font-size: var(--fs-base);
  line-height: 1.4;
  box-shadow: 0 4px 16px rgba(0,0,0,0.2);
  animation: lift 200ms ease;
  transition: opacity 280ms ease, transform 280ms ease;
}
.flash-hiding {
  opacity: 0;
  transform: translateY(8px);
}
.flash-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
  background: rgba(255,255,255,0.85);
  box-shadow: 0 0 0 3px rgba(255,255,255,0.15);
}
.flash-body {
  flex: 1;
  min-width: 0;
}
.flash-title {
  font-weight: 600;
  margin-bottom: 2px;
}
.flash-msg {
  margin: 0;
}
.flash-error {
  background: var(--rose);
}
.flash-error .flash-dot {
  background: var(--white);
  box-shadow: 0 0 0 3px rgba(255,255,255,0.2);
}
.flash-close {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  line-height: 1;
  opacity: 0.65;
  cursor: pointer;
  transition: opacity 120ms, background 120ms;
}
.flash-close:hover {
  opacity: 1;
  background: rgba(255,255,255,0.12);
}
.empty-state {
  padding: 24px;
  text-align: center;
  border: 1px dashed var(--line);
  border-radius: var(--r-md);
  color: var(--muted);
  font-size: var(--fs-base);
  font-style: italic;
}
.date-row {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 18px;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
  align-items: start;
}
.date-row:last-child {
  border-bottom: none;
}
.date-marker {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-top: 2px;
}
.dm-day {
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 2px;
}
.dm-num {
  font-family: var(--font-serif);
  font-size: 34px;
  line-height: 1;
  color: var(--ink);
  letter-spacing: -0.02em;
}
.date-row.today .dm-num {
  color: var(--teal);
}
.date-row.today .dm-day {
  color: var(--teal);
}
.row-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.add-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  border-radius: var(--r-md);
  border: 1px dashed var(--line-strong);
  color: var(--muted);
  font-size: var(--fs-base);
  background: transparent;
  transition: border-color 120ms, color 120ms, background 120ms;
  align-self: flex-start;
}
.add-btn:hover {
  border-color: var(--teal);
  color: var(--teal);
  background: var(--teal-soft);
}
.page-hero {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 32px;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 28px;
}
.page-kicker {
  font-size: var(--fs-sm);
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 12px;
}
.page-title {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: 86px;
  line-height: 0.92;
  letter-spacing: -0.025em;
  color: var(--ink);
}
.a-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 12px 22px;
  border-top: 1px solid var(--line);
}
.a-row:first-child {
  border-top: none;
}
.a-row-name {
  font-size: var(--fs-md);
  font-weight: 500;
  color: var(--ink);
}
.a-row-sub {
  font-size: var(--fs-sm);
  color: var(--muted);
  margin-top: 1px;
  font-family: var(--font-mono);
}
.a-row-actions {
  display: flex;
  align-items: center;
  gap: 4px;
}
.a-row-btn {
  padding: 5px 11px;
  border-radius: var(--r-sm);
  font-size: var(--fs-sm);
  color: var(--muted);
  transition: background 120ms, color 120ms;
}
.a-row-btn:hover {
  background: var(--bg-sunken);
  color: var(--ink);
}
.a-row-btn.danger {
  color: var(--rose);
}
.a-row-btn.danger:hover {
  background: var(--rose-soft);
}
.legal-page {
  max-width: 44rem;
  line-height: 1.7;
}
.legal-address {
  font-style: normal;
  white-space: pre-line;
  color: var(--ink-2);
  margin-bottom: 1rem;
}
.legal-operator-name {
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 0.25rem;
}
.legal-placeholder {
  font-style: italic;
}
.legal-intro {
  color: var(--ink-2);
  margin-bottom: 1.5rem;
}
.legal-note {
  font-size: 0.9rem;
  color: var(--muted);
  margin-top: 2rem;
}
.legal-list {
  color: var(--ink-2);
  margin: 0 0 1rem 1.25rem;
  padding: 0;
}
.legal-list li {
  margin-bottom: 0.35rem;
}
.admin-legal-hint {
  margin-bottom: 1rem;
}
.legal-page h1 {
  font-family: var(--font-serif);
  font-size: 2.5rem;
  margin-bottom: 1.5rem;
  color: var(--ink);
  letter-spacing: -0.02em;
}
.legal-page h2 {
  font-size: 1rem;
  font-weight: 600;
  margin: 2rem 0 0.5rem;
  color: var(--ink);
}
.legal-page p {
  color: var(--ink-2);
  margin-bottom: 1rem;
}
.legal-page a {
  color: var(--teal);
  text-decoration: underline;
}
.mobile-topbar, .drawer-backdrop, .app-drawer-toggle {
  display: none;
}
.month-hero {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 32px;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 28px;
}
.month-kicker {
  font-size: var(--fs-sm);
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.month-kicker .pill {
  padding: 3px 10px;
  border-radius: var(--r-pill);
  background: var(--surface);
  border: 1px solid var(--line);
  letter-spacing: 0.04em;
  font-size: var(--fs-xs);
  color: var(--ink-2);
  white-space: nowrap;
  font-family: var(--font-mono);
}
.month-title {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: 86px;
  line-height: 0.92;
  letter-spacing: -0.025em;
  color: var(--ink);
  display: flex;
  align-items: baseline;
  gap: 18px;
}
.month-title .year {
  font-style: italic;
  color: var(--muted);
  font-size: 56px;
}
.month-nav {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 16px;
}
.mn-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: var(--r-pill);
  border: 1px solid var(--line);
  background: var(--surface);
  font-size: var(--fs-base);
  color: var(--ink-2);
  transition: background 120ms, border-color 120ms;
  min-height: 44px;
}
.mn-btn:hover {
  background: var(--bg-sunken);
  border-color: var(--line-strong);
}
.month-stats {
  display: grid;
  grid-template-columns: repeat(4, auto);
  gap: 22px;
  text-align: right;
}
.month-hero-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}
.month-add-btn {
  min-height: auto;
  margin-left: auto;
}
.date-field-row {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.date-end-toggle {
  align-self: flex-start;
  margin-top: -4px;
}
.stat-num {
  font-family: var(--font-serif);
  font-size: 2.25rem;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.stat-num.warn {
  color: var(--amber);
}
.stat-num-sub {
  font-size: 1.25rem;
  color: var(--muted-2);
  margin-left: 2px;
  font-family: var(--font-serif);
}
.stat-label {
  font-size: var(--fs-sm);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--muted);
  margin-top: 6px;
  font-weight: 500;
  white-space: nowrap;
}
.columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}
.col-head {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding: 0 4px 14px;
  margin-bottom: 14px;
  border-bottom: 1px solid var(--line);
}
.col-title {
  font-size: var(--fs-base);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink);
  flex-shrink: 0;
}
.col-add {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: var(--r-pill);
  font-size: var(--fs-sm);
  color: var(--muted);
  transition: color 120ms, background 120ms;
  margin-left: auto;
  min-height: 44px;
}
.col-add:hover {
  background: var(--bg-sunken);
  color: var(--teal);
}
.date-kw {
  font-size: var(--fs-xs);
  color: var(--muted);
  font-family: var(--font-mono);
  margin-top: 4px;
}
.date-range {
  font-size: 0.55em;
  color: var(--muted);
  margin-left: 2px;
}
.ev-meter {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  margin-left: 8px;
  flex-shrink: 0;
  padding-top: 2px;
}
.meter-text {
  font-family: var(--font-mono);
  font-size: var(--fs-sm);
  font-weight: 600;
}
.meter-text.ok {
  color: var(--green);
}
.meter-text.warn {
  color: var(--amber);
}
.meter-text.danger {
  color: var(--rose);
}
.meter-pips {
  display: flex;
  gap: 4px;
}
.meter-pip {
  width: 14px;
  height: 4px;
  border-radius: var(--r-pill);
  background: var(--bg-sunken);
}
.meter-pip.filled, .meter-pip.filled.ok {
  background: var(--green);
}
.meter-pip.filled.warn {
  background: var(--amber);
}
.meter-pip.filled.danger {
  background: var(--rose);
}
.ev-bottom {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.ev-comment {
  grid-column: 1 / -1;
  margin-top: 8px;
  padding: 8px 12px;
  background: var(--surface-2);
  border-left: 2px solid var(--line-strong);
  border-radius: 0 var(--r-sm) var(--r-sm) 0;
  font-size: var(--fs-base);
  color: var(--ink-2);
}
.closed-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: var(--amber-soft);
  border: 1px solid var(--amber-line);
  border-radius: var(--r-md);
  cursor: pointer;
  transition: background 120ms;
}
.closed-card:hover {
  background: var(--amber-line);
}
.closed-icon {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--amber);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-weight: 700;
}
.closed-main {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.closed-title {
  font-size: var(--fs-base);
  font-weight: 600;
  color: var(--amber-deep);
}
.closed-reason {
  font-size: var(--fs-sm);
  color: var(--amber-mid);
  margin-top: 0;
}
.date-row.closed .date-marker {
  opacity: 0.6;
}
.filter-bar {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  padding: 12px 40px;
  border-bottom: 1px solid var(--line);
  background: var(--bg);
}
.filter-bar.is-sticky {
  position: sticky;
  top: 0;
  z-index: 20;
  box-shadow: 0 -4px 0 4px var(--bg);
}
.filter-summary {
  margin-left: auto;
  font-size: var(--fs-sm);
  color: var(--muted);
  font-family: var(--font-mono);
}
.filter-summary strong {
  color: var(--ink);
  font-weight: 600;
}
.filter-bar.active {
  background: linear-gradient(to bottom, var(--teal), var(--bg));
  @supports (color: color-mix(in lab, red, red)) {
    background: linear-gradient(to bottom, color-mix(in oklab, var(--teal) 6%, transparent), var(--bg));
  }
  border-bottom-color: var(--teal-soft);
}
.filter-label {
  font-size: var(--fs-xs);
  letter-spacing: 0.12em;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--muted);
}
.filter-chips {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.filter-chip {
  display: inline-flex;
  align-items: center;
  border-radius: var(--r-pill);
  border: 1px solid var(--line);
  background: var(--surface);
  cursor: pointer;
  transition: border-color 120ms, background 120ms, color 120ms;
  gap: 6px;
  padding: 5px 12px 5px 9px;
  font-size: var(--fs-base);
  line-height: 1.2;
  color: var(--ink-2);
  white-space: nowrap;
}
.filter-chip.on .fc-dot {
  background: rgba(255,255,255,0.65);
}
.filter-chip .fc-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--chip-color, var(--muted-2));
  flex-shrink: 0;
}
.filter-chip.on {
  background: var(--chip-color, var(--ink));
  border-color: transparent;
  color: var(--white);
  font-weight: 500;
}
.filter-chip.all.on {
  background: var(--ink);
}
.filter-chip:hover:not(.on) {
  border-color: var(--line-strong);
}
.chip.empty.qa-trigger {
  cursor: pointer;
  transition: color 120ms, border-color 120ms, background 120ms;
}
.chip.empty.qa-trigger:hover {
  color: var(--teal);
  border-color: var(--teal);
  background: var(--teal-soft);
  border-style: solid;
  font-style: normal;
}
.chip.chip-unassign {
  cursor: pointer;
  transition: opacity 120ms;
}
.chip.chip-unassign:hover {
  opacity: 0.6;
  text-decoration: line-through;
}
.chip.chip-open {
  cursor: pointer;
  transition: filter 120ms;
}
.chip.chip-open:hover {
  filter: brightness(0.85);
}
.ev-card.hl-open {
  background: linear-gradient(135deg, var(--surface) 60%, var(--amber-soft));
}
.year-hero {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 32px;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 28px;
}
.year-title {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: 86px;
  line-height: 0.92;
  letter-spacing: -0.025em;
  color: var(--ink);
  display: flex;
  align-items: baseline;
  gap: 18px;
}
.year-num {
  font-style: italic;
  color: var(--muted);
  font-size: 56px;
}
.year-stats {
  display: grid;
  grid-template-columns: repeat(4, auto);
  gap: 22px;
  text-align: right;
}
.year-month-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.year-month-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  padding: 14px 16px;
}
.year-month-card.current {
  border-color: var(--teal);
  box-shadow: var(--shadow-card-hover);
}
.year-month-card.past {
  opacity: 0.65;
}
.ym-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
.ym-title {
  font-weight: 600;
  color: var(--ink);
}
.ym-count {
  font-family: var(--font-mono);
  font-size: var(--fs-sm);
  padding: 2px 8px;
  border-radius: var(--r-pill);
  background: var(--bg-sunken);
}
.ym-count.warn {
  color: var(--amber);
  background: var(--amber-soft);
}
.ym-events {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.yr-row-link {
  display: grid;
  grid-template-columns: auto auto 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 8px 10px;
  border-radius: var(--r-sm);
  font-size: var(--fs-base);
  color: var(--ink-2);
  transition: background 120ms;
}
.yr-row-link:hover {
  background: var(--bg-sunken);
}
.yr-row-link.closed {
  opacity: 0.7;
  font-style: italic;
}
.yr-dow {
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}
.yr-date {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  color: var(--ink);
}
.yr-loc {
  font-weight: 500;
  color: var(--ink);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.yr-staff {
  font-family: var(--font-mono);
  font-size: var(--fs-sm);
  color: var(--muted);
}
.empty-state.tight {
  padding: 12px;
  margin: 0;
  font-size: var(--fs-sm);
}
.person-stat-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 22px;
  border-top: 1px solid var(--line);
}
.person-stat-row:first-child {
  border-top: none;
}
.person-stat-name {
  min-width: 120px;
  font-weight: 500;
}
.person-stat-bar-wrap {
  flex: 1;
  height: 8px;
  border-radius: var(--r-pill);
  background: var(--bg-sunken);
  overflow: hidden;
}
.person-stat-bar {
  height: 100%;
  border-radius: var(--r-pill);
}
.person-stat-nums {
  min-width: 140px;
  text-align: right;
  font-size: var(--fs-base);
}
.person-stat-sub {
  display: block;
  font-size: var(--fs-xs);
  color: var(--muted);
  font-family: var(--font-mono);
}
.activity-log {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  overflow: hidden;
  background: var(--surface);
  padding: 0 16px 8px;
}
.ev-core {
  color: var(--ink);
  font-weight: 600;
}
.ev-core span {
  color: var(--muted);
  font-weight: 400;
  margin: 0 1px;
}
.ev-edge {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  color: var(--muted-2);
  font-size: var(--fs-xs);
}
.ev-edge-icon {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}
.chip-colored {
  background: var(--chip-bg);
  border-color: var(--chip-bg);
  color: var(--white);
}
.stat-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 36px;
}
.stat-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  padding: 18px 20px;
}
.stat-card-kicker {
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 8px;
}
.stat-card-num {
  font-family: var(--font-serif);
  font-size: 56px;
  line-height: 0.92;
  letter-spacing: -0.025em;
  color: var(--ink);
}
.stat-card-num.ok {
  color: var(--teal);
}
.stat-card-num.warn {
  color: var(--amber);
}
.stat-card-num.danger {
  color: var(--rose);
}
.stat-card-sub {
  font-size: var(--fs-sm);
  color: var(--muted);
  margin-top: 10px;
}
.stat-section {
  font-size: var(--fs-base);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink);
  margin: 0 0 14px;
}
.month-chips {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}
.month-chip {
  padding: 5px 13px;
  border-radius: var(--r-pill);
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--ink-2);
  font-size: var(--fs-sm);
  transition: border-color 120ms, background 120ms, color 120ms;
  cursor: pointer;
}
.month-chip:hover:not(.on) {
  border-color: var(--line-strong);
  color: var(--ink);
}
.month-chip.on {
  background: var(--teal);
  border-color: var(--teal);
  color: var(--white);
  font-weight: 500;
}
.chart-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  padding: 20px 22px;
}
.chart-legend {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 18px;
  font-size: var(--fs-sm);
  color: var(--muted);
}
.legend-swatch {
  width: 12px;
  height: 8px;
  border-radius: 2px;
  margin-right: 6px;
  vertical-align: 1px;
  display: inline-block;
}
.legend-swatch-wke {
  background: var(--teal);
  opacity: 0.45;
}
.legend-swatch.prep-swatch {
  background: var(--teal);
  opacity: 0.2;
}
.person-row {
  display: grid;
  grid-template-columns: 90px 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 10px 0;
  border-top: 1px solid var(--line);
}
.person-row:first-of-type {
  border-top: none;
}
.person-name-chip {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: var(--r-pill);
  color: var(--white);
  font-size: var(--fs-base);
  font-weight: 500;
  justify-self: start;
}
.person-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  flex-shrink: 0;
  align-self: center;
}
.form-readonly {
  font-size: var(--fs-md);
  color: var(--ink);
  padding: 8px 0 4px;
  margin: 0;
}
.person-row.inactive .person-name-chip {
  opacity: 0.35;
}
.bar-track {
  display: flex;
  height: 10px;
  background: var(--bg-sunken);
  border-radius: var(--r-pill);
  overflow: hidden;
}
.bar-seg {
  height: 100%;
  transition: width 300ms ease;
}
.bar-seg.wke {
  opacity: 0.45;
}
.bar-seg.prep {
  opacity: 0.2;
}
.person-row-nums {
  display: flex;
  flex-direction: column;
  gap: 2px;
  text-align: right;
  font-size: var(--fs-base);
  min-width: 90px;
}
.person-row-nums .sub {
  font-size: var(--fs-xs);
  color: var(--muted);
  font-weight: 400;
}
.person-hero {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 32px;
  padding-bottom: 26px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 36px;
}
.person-hero-text {
  min-width: 0;
  padding-bottom: 4px;
}
.person-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: var(--fs-sm);
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 10px;
}
.pk-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.person-name-row {
  margin-bottom: 18px;
}
.person-name {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: 60px;
  line-height: 0.95;
  letter-spacing: -0.02em;
}
.person-next {
  display: inline-flex;
  align-items: stretch;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  overflow: hidden;
  max-width: 100%;
}
.person-next.none {
  padding: 12px 16px;
  font-size: var(--fs-base);
  color: var(--muted);
  border-style: dashed;
  background: transparent;
}
.person-next .pn-date {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  background: var(--teal-soft);
  color: var(--teal);
  border-right: 1px solid var(--line);
  min-width: 72px;
  gap: 3px;
}
.pn-date-dow {
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.pn-date-day {
  font-family: var(--font-serif);
  font-size: 28px;
  line-height: 1;
}
.pn-date-mon {
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.pn-body {
  padding: 10px 14px;
  min-width: 0;
}
.pn-label {
  font-size: var(--fs-xs);
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.pn-main {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: baseline;
  margin-top: 4px;
}
.pn-loc {
  font-weight: 600;
  color: var(--ink);
}
.pn-time {
  font-family: var(--font-mono);
  font-size: var(--fs-sm);
  color: var(--muted);
}
.person-stats {
  display: grid;
  grid-template-columns: repeat(4, auto);
  gap: 22px;
  text-align: right;
}
.stat-num-unit {
  font-size: 0.5em;
  color: var(--muted);
  margin-left: 2px;
}
.act-entry:last-child {
  border-bottom: none;
}
.act-time {
  font-size: var(--fs-xs);
  font-family: var(--font-mono);
  color: var(--muted);
  padding-top: 2px;
}
.act-icon {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.act-icon.assign, .act-icon.create, .act-icon.edit, .act-icon.reopen {
  background: var(--teal-soft);
  color: var(--teal);
}
.act-icon.unassign, .act-icon.delete {
  background: var(--rose-soft);
  color: var(--rose);
}
.act-icon.close {
  background: var(--amber-soft);
  color: var(--amber);
}
.act-icon.note {
  background: var(--bg-sunken);
  color: var(--muted);
}
.act-body {
  min-width: 0;
}
.act-text {
  font-size: var(--fs-base);
  color: var(--ink-2);
  line-height: 1.5;
}
.act-detail {
  display: block;
  margin-top: 4px;
  padding: 7px 11px;
  background: var(--surface-2);
  border-left: 2px solid var(--line-strong);
  font-size: var(--fs-sm);
}
.act-detail-note {
  font-style: italic;
}
.act-reason {
  color: var(--muted);
}
.form-row-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.form-row-3 {
  grid-template-columns: 1fr 1fr 1fr;
}
.form-select-narrow {
  max-width: 160px;
}
.form-input-narrow {
  max-width: 200px;
}
.dlg-foot-delete {
  margin-left: auto;
}
.empty-state-spaced {
  margin-bottom: 1.5rem;
}
.a-card-narrow {
  max-width: 520px;
}
.a-card-body-padded {
  padding: 1rem 1.375rem;
}
.a-card-danger {
  border-color: var(--rose-soft);
}
.a-row-main {
  display: flex;
  align-items: center;
  gap: 10px;
}
.form-hint-spaced {
  margin: 1rem 0 0.5rem;
}
.form-hint-bottom {
  margin-bottom: 0.75rem;
}
.team-switch-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 0;
  gap: 12px;
}
.error-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  background: var(--paper);
  padding: 24px;
}
.error-card {
  max-width: 420px;
  text-align: center;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  padding: 2rem;
}
.error-kicker {
  font-size: 0.875rem;
  color: var(--muted);
  letter-spacing: 0.08em;
}
.admin-page {
  max-width: 960px;
  margin: 0 auto;
  padding: 2rem 1rem 4rem;
}
.admin-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}
.admin-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 36px;
}
.admin-stat-grid .stat-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 88px;
}
.admin-stat-grid .stat-label {
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0;
  line-height: 1.3;
  white-space: normal;
}
.admin-stat-grid .stat-value {
  font-family: var(--font-serif);
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.admin-table-wrap {
  overflow-x: auto;
}
.admin-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}
.admin-table th, .admin-table td {
  padding: 8px 10px;
  border-bottom: 1px solid var(--line);
  text-align: left;
}
.blocked-list {
  list-style: none;
  padding: 0;
  margin: 1rem 0 0;
}
.blocked-list li {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 0;
}
.import-actions {
  margin-top: 0.75rem;
}
.dashboard-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.page-content-narrow {
  max-width: 640px;
}
.plan-year-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}
.plan-year-row:last-of-type {
  border-bottom: none;
}
.plan-year-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}
.add-year-form {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}
.add-year-section {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}
.add-year-section .fieldset {
  margin-bottom: 0;
  max-width: 12rem;
}
.add-year-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.add-year-form .fieldset {
  margin-bottom: 0;
  flex: 1;
  min-width: 140px;
}
.sb-foot-link {
  opacity: 0.75;
  font-size: 0.8125rem;
}
.sb-foot-link:hover {
  opacity: 1;
}
.mobile-brand-link {
  text-decoration: none;
  color: inherit;
}
.chip-muted {
  display: inline-block;
  margin-left: 6px;
  font-size: 0.6875rem;
  padding: 2px 6px;
  border-radius: var(--r-pill);
  background: var(--paper-2);
  color: var(--muted);
}
.onboard-actions {
  display: flex;
  gap: 12px;
}
.onboard-actions-top {
  margin-top: 14px;
}
.onboard-preset-box {
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  padding: 12px;
  margin-bottom: 8px;
}
.onboard-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.onboard-grid-2-mt {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 12px;
}
.onboard-hint-spaced {
  margin-bottom: 14px;
}
.onboard-btn-spaced {
  margin-bottom: 14px;
}
.onboard-checkbox-label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  font-size: var(--fs-base);
  color: var(--muted);
}
.print-page {
  padding: 1.5rem;
}
.print-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}
.print-header {
  margin-bottom: 1.5rem;
}
.print-sub {
  color: var(--muted);
}
.print-month {
  margin-bottom: 2rem;
  page-break-inside: avoid;
}
.print-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
}
.print-table th, .print-table td {
  border: 1px solid var(--line);
  padding: 6px 8px;
  text-align: left;
}
@media print {
  .sidebar, .drawer-backdrop, .mobile-topbar, .no-print, .flash-group {
    display: none !important;
  }
  .app-main {
    margin: 0 !important;
    padding: 0 !important;
  }
  .print-page {
    padding: 0;
  }
}
.dlg-date {
  display: flex;
  flex-direction: column;
}
.dlg-date .weekday {
  color: var(--muted);
  font-size: 18px;
  margin-bottom: 2px;
  font-family: var(--font-sans);
  font-weight: 500;
}
.dlg-presets {
  display: flex;
  gap: 6px;
  margin-bottom: 8px;
  flex-wrap: wrap;
  align-items: flex-start;
}
.preset {
  padding: 5px 12px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: var(--surface);
  font-size: var(--fs-base);
  color: var(--ink-2);
  transition: border-color 120ms, background 120ms, color 120ms;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
}
.preset:hover {
  border-color: var(--teal);
  color: var(--teal);
}
.preset.on {
  border-color: var(--teal);
  background: var(--teal-soft);
  color: var(--teal);
  font-weight: 600;
}
.preset .preset-time {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  opacity: 0.65;
  white-space: nowrap;
}
.prep-time-row {
  display: flex;
  gap: 12px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1.5px dashed var(--line);
}
.prep-time-field {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.prep-time-label {
  font-size: var(--fs-sm);
  color: var(--muted-2);
  font-weight: 500;
}
.team-head {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.stepper {
  display: inline-flex;
  align-items: center;
  background: var(--bg-sunken);
  border-radius: var(--r-pill);
  padding: 2px;
}
.stepper button {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ink-2);
  font-size: 16px;
  transition: background 120ms;
}
.stepper button:hover {
  background: var(--surface);
}
.stepper .stp-num {
  min-width: 28px;
  text-align: center;
  font-family: var(--font-mono);
  font-size: var(--fs-md);
  font-weight: 600;
  color: var(--ink);
}
.team-summary {
  font-size: var(--fs-base);
  color: var(--muted);
  white-space: nowrap;
}
.team-summary strong {
  color: var(--ink);
  font-weight: 600;
}
.team-summary.ok strong {
  color: var(--green);
}
.team-summary.warn strong {
  color: var(--amber);
}
.staff-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.staff-pick {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 14px 6px 9px;
  border-radius: var(--r-pill);
  border: 1px solid var(--line);
  background: var(--surface);
  font-size: var(--fs-base);
  color: var(--ink-2);
  transition: all 120ms;
  cursor: pointer;
  user-select: none;
}
.staff-pick:hover {
  border-color: var(--line-strong);
}
.staff-pick .sp-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--muted-2);
}
.staff-pick.on {
  color: var(--white);
  border-color: transparent;
  font-weight: 500;
}
.staff-pick.on .sp-dot {
  background: rgba(255,255,255,0.7);
}
.staff-pick.disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.dlg-closed-banner {
  margin: 14px 0;
  padding: 14px 16px;
  background: var(--amber-soft);
  border: 1px solid var(--amber-line);
  border-radius: var(--r-md);
  display: flex;
  align-items: center;
  gap: 12px;
}
.color-picker {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.invite-row {
  display: flex;
  gap: 8px;
  align-items: center;
}
.invite-row .invite-email-input {
  flex: 1;
  min-width: 0;
}
.role-picker {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  padding: 4px;
  background: var(--bg-sunken);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
}
.role-picker-btn {
  font-family: inherit;
  font-size: var(--fs-md);
  font-weight: 500;
  color: var(--muted);
  background: transparent;
  border: 1px solid transparent;
  border-radius: calc(var(--r-md) - 3px);
  padding: 10px 14px;
  cursor: pointer;
  transition: background 120ms, color 120ms, border-color 120ms, box-shadow 120ms;
}
.role-picker-btn:hover:not(.on) {
  color: var(--ink-2);
  background: rgba(255, 255, 255, 0.55);
}
.role-picker-btn.on {
  background: var(--surface);
  color: var(--teal);
  border-color: var(--teal);
  box-shadow: 0 1px 4px rgba(15, 110, 99, 0.14);
  font-weight: 600;
}
.role-picker-btn:focus-visible {
  outline: none;
  border-color: var(--teal);
  box-shadow: var(--focus-ring);
}
.color-swatch {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid transparent;
  cursor: pointer;
  transition: transform 120ms, opacity 120ms;
}
.color-swatch:hover {
  transform: scale(1.08);
}
.color-swatch.on {
  border-color: var(--ink);
  box-shadow: 0 0 0 2px var(--surface), 0 0 0 4px var(--ink);
}
.color-swatch.used {
  opacity: 0.4;
}
.loc-ac-wrap {
  position: relative;
  z-index: 2;
}
#event-fields {
  overflow: visible;
}
.loc-ac-drop {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 30;
  background: var(--surface);
  border: 1px solid var(--line-strong);
  border-radius: var(--r-md);
  box-shadow: var(--shadow-popover);
  max-height: 200px;
  overflow-y: auto;
  margin-top: 4px;
}
.loc-ac-item {
  padding: 8px 12px;
  font-size: var(--fs-md);
  color: var(--ink);
  cursor: pointer;
  transition: background 120ms;
}
.loc-ac-item:hover {
  background: var(--bg-sunken);
}
.toggle-switch {
  position: relative;
  width: 40px;
  height: 22px;
  flex-shrink: 0;
}
.toggle-switch input {
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute;
}
.toggle-track {
  position: absolute;
  inset: 0;
  background: var(--line-strong);
  border-radius: var(--r-pill);
  transition: background 120ms;
  cursor: pointer;
}
.toggle-track::after {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  left: 3px;
  top: 3px;
  background: var(--white);
  border-radius: 50%;
  transition: transform 120ms;
}
.toggle-switch input:checked + .toggle-track {
  background: var(--green);
}
.toggle-switch input:checked + .toggle-track::after {
  transform: translateX(18px);
}
.qa-backdrop {
  position: fixed;
  inset: 0;
  z-index: 749;
}
.qa-pop {
  position: fixed;
  z-index: 750;
  background: var(--surface);
  border: 1px solid var(--line-strong);
  border-radius: var(--r-md);
  box-shadow: var(--shadow-popover);
  padding: 6px;
  min-width: 200px;
  animation: lift 140ms ease;
}
.qa-pop-head {
  font-size: var(--fs-xs);
  color: var(--muted);
  padding: 6px 10px 4px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 600;
}
.qa-item {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 6px 10px;
  border-radius: var(--r-sm);
  font-size: var(--fs-base);
  color: var(--ink);
  transition: background 120ms;
  cursor: pointer;
  text-align: left;
  width: 100%;
}
.qa-item:hover {
  background: var(--bg-sunken);
}
.qa-item.assigned {
  color: var(--muted-2);
}
.qa-item.assigned .qa-name {
  text-decoration: line-through;
}
.qa-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  flex-shrink: 0;
}
.qa-mark {
  margin-left: auto;
  color: var(--muted-2);
  font-size: var(--fs-xs);
}
.year-month {
  margin-bottom: 14px;
  scroll-margin-top: calc(var(--filter-bar-sticky-height) + 48px);
}
.year-month-head {
  position: sticky;
  top: var(--filter-bar-sticky-height);
  z-index: 10;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: baseline;
  gap: 18px;
  margin-left: -36px;
  margin-right: -36px;
  padding: 8px 40px 12px;
  background: var(--bg);
  border-bottom: 1px solid var(--line);
  margin-bottom: 6px;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 -1px 0 0 var(--bg);
}
.year-month-head:hover .ym-name {
  color: var(--teal);
}
.year-month-head:hover .ym-chev {
  color: var(--teal);
  transform: translateX(2px);
}
.ym-chev {
  color: var(--muted-2);
  transition: color 120ms, transform 120ms;
  align-self: center;
}
.ym-num {
  font-family: var(--font-mono);
  font-size: var(--fs-base);
  color: var(--muted-2);
  letter-spacing: 0.04em;
}
.ym-name {
  font-family: var(--font-serif);
  font-size: 38px;
  transition: color 120ms;
}
.ym-head-mid {
  display: flex;
  align-items: baseline;
  gap: 14px;
  flex-wrap: wrap;
}
.ym-meta {
  font-size: var(--fs-sm);
  color: var(--muted);
  font-family: var(--font-mono);
  display: flex;
  gap: 14px;
}
.ym-meta .pip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.ym-meta .pip-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--muted-2);
}
.ym-meta .pip.ok {
  color: var(--green);
}
.ym-meta .pip.ok .pip-dot {
  background: var(--green);
}
.ym-meta .pip.warn {
  color: var(--amber);
}
.ym-meta .pip.warn .pip-dot {
  background: var(--amber);
}
.year-month.current .ym-name {
  color: var(--teal);
}
.year-month.past {
  opacity: 0.55;
}
.year-month.past:hover {
  opacity: 1;
}
.yr-row {
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
  align-items: start;
}
.yr-row:last-child {
  border-bottom: none;
}
.yr-row.dim {
  opacity: 0.35;
}
.yr-marker {
  display: flex;
  flex-direction: column;
  padding-top: 2px;
}
.yr-row.weekend .yr-dow {
  color: var(--amber);
}
.yr-row.today .yr-num {
  color: var(--teal);
}
.yr-row.today .yr-dow {
  color: var(--teal);
}
.yr-row.closed .yr-num, .yr-row.closed .yr-dow {
  color: var(--muted-2);
}
.yr-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.yr-event {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 6px 18px;
  padding: 10px 14px;
  border-radius: var(--r-md);
  border: 1px solid var(--line);
  background: var(--surface);
  cursor: pointer;
  transition: box-shadow 120ms, border-color 120ms;
}
.yr-event:hover {
  box-shadow: var(--shadow-card-hover);
  border-color: var(--line-strong);
}
.yr-event.dim {
  opacity: 0.35;
}
.yr-event.closed {
  background: var(--amber-soft);
  border-color: var(--amber-line);
}
.yr-event-main {
  min-width: 0;
}
.yr-event-loc {
  font-weight: 600;
  color: var(--ink);
  font-size: var(--fs-md);
}
.yr-event-times {
  font-family: var(--font-mono);
  font-size: var(--fs-sm);
  color: var(--muted);
  margin-top: 2px;
}
.yr-event-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 6px;
}
.yr-event-comment {
  font-size: var(--fs-sm);
  color: var(--muted);
  font-style: italic;
  margin-top: 4px;
}
.yr-event-meter {
  display: flex;
  align-items: center;
  gap: 8px;
  align-self: start;
  grid-column: 2;
  grid-row: 1;
}
.yr-num {
  font-family: var(--font-mono);
  font-size: 22px;
  font-weight: 600;
  color: var(--ink);
  line-height: 1;
}
.yr-event-detail {
  display: none;
  grid-column: 1 / -1;
  padding-top: 10px;
  border-top: 1px solid var(--line);
  margin-top: 6px;
  font-size: var(--fs-sm);
  color: var(--muted);
}
.yr-event.expanded {
  align-items: start;
}
.yr-event.expanded .yr-event-detail {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.yr-event-detail-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.yr-event-detail-meta {
  font-size: var(--fs-sm);
  font-family: var(--font-mono);
  color: var(--muted);
}
.yr-event-edit-btn {
  margin-left: auto;
  padding: 4px 12px;
  border-radius: 6px;
  border: 1px solid var(--line);
  background: var(--surface);
  font-size: var(--fs-sm);
  color: var(--ink);
  cursor: pointer;
  transition: background 120ms, border-color 120ms;
  white-space: nowrap;
}
.yr-event-edit-btn:hover {
  background: var(--teal);
  color: var(--white);
  border-color: var(--teal);
}
.yr-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 9px 3px 6px;
  border-radius: var(--r-pill);
  font-size: var(--fs-sm);
  font-weight: 500;
  color: var(--white);
  line-height: 1.4;
}
.yr-chip .yr-chip-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255,255,255,0.55);
  flex-shrink: 0;
}
.yr-chip.empty {
  background: transparent;
  color: var(--muted-2);
  border: 1px dashed var(--line-strong);
  font-weight: 400;
  padding: 2px 9px;
  font-style: italic;
}
.yr-closed {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  font-size: var(--fs-base);
  color: var(--amber-deep);
  background: var(--amber-soft);
  border: 1px solid var(--amber-line);
  border-radius: var(--r-md);
}
.yr-closed-ic {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--amber);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.ym-empty {
  padding: 16px 4px;
  color: var(--muted);
  font-size: var(--fs-base);
  font-style: italic;
  border-bottom: 1px solid var(--line);
}
.yr-no-match {
  padding: 16px 4px;
  text-align: center;
  color: var(--muted);
  font-size: var(--fs-base);
  font-style: italic;
  border-bottom: 1px solid var(--line);
}
.yr-no-match.global {
  padding: 56px 24px;
  font-size: var(--fs-md);
  border-bottom: none;
}
.yr-no-match.global .big {
  font-family: var(--font-serif);
  font-size: 36px;
  margin-bottom: 8px;
  font-style: italic;
  color: var(--muted);
}
.we-tag {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--amber);
  background: var(--amber-soft);
  padding: 2px 6px;
  border-radius: 4px;
  margin-left: 6px;
}
.act-day {
  margin-bottom: 24px;
}
.act-day:last-child {
  margin-bottom: 8px;
}
.act-day-head {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 10px;
  padding: 16px 0 8px;
  border-bottom: 1px solid var(--line);
}
.act-day:first-child .act-day-head {
  padding-top: 12px;
}
.act-day-head.today .act-day-kicker {
  color: var(--teal);
}
.act-day-kicker {
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
}
.act-day-sub {
  font-size: var(--fs-base);
  color: var(--muted-2);
}
.act-day-count {
  margin-left: auto;
  font-family: var(--font-mono);
  font-size: var(--fs-sm);
  color: var(--muted);
}
.act-entry {
  display: grid;
  grid-template-columns: 52px 24px 1fr;
  gap: 12px;
  padding: 10px 0;
  align-items: start;
  border-bottom: 1px solid var(--line);
}
.act-entry:last-child {
  border-bottom: none;
}
.act-target-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 1px 8px;
  border-radius: var(--r-pill);
  border: 1px solid var(--line);
  background: var(--surface);
  font-size: var(--fs-sm);
  color: var(--ink-2);
  text-decoration: none;
  transition: background 120ms, border-color 120ms;
}
.act-target-pill:hover {
  border-color: var(--teal);
  background: var(--teal-soft);
  color: var(--teal);
}
.act-filter-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 12px;
}
.act-filter-pill {
  padding: 4px 12px;
  border-radius: var(--r-pill);
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--ink-2);
  font-size: var(--fs-sm);
  cursor: pointer;
}
.act-filter-pill:hover {
  border-color: var(--line-strong);
  color: var(--ink);
}
.act-filter-pill.on {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--white);
  font-weight: 500;
}
.act-meta-bar {
  font-size: var(--fs-sm);
  color: var(--muted);
  margin-bottom: 16px;
}
.act-meta-bar strong {
  color: var(--ink);
}
.act-person-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 1px 9px 1px 7px;
  border-radius: var(--r-pill);
  font-size: var(--fs-sm);
  font-weight: 500;
  color: var(--white);
  margin: 0 1px;
  vertical-align: 1px;
  white-space: nowrap;
}
.act-person-chip .pc-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  flex-shrink: 0;
  background: rgba(255,255,255,0.55);
}
.act-from {
  text-decoration: line-through;
  color: var(--rose);
  opacity: .85;
}
.act-to {
  color: var(--green);
}
.export-tabs {
  display: flex;
  gap: 4px;
  padding: 0 26px;
  border-bottom: 1px solid var(--line);
  background: var(--surface-2);
}
.export-tab {
  padding: 12px 16px;
  font-size: var(--fs-base);
  font-weight: 500;
  color: var(--muted);
  border-bottom: 2px solid transparent;
  cursor: pointer;
  transition: color 120ms, border-color 120ms;
}
.export-tab.on {
  color: var(--teal);
  border-bottom-color: var(--teal);
}
.export-tab:hover:not(.on) {
  color: var(--ink-2);
}
.export-body {
  padding: 20px 26px;
}
.export-chip-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 8px 0 16px;
}
.export-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px 5px 9px;
  border-radius: var(--r-pill);
  border: 1px solid var(--line);
  background: var(--surface);
  font-size: var(--fs-base);
  cursor: pointer;
  transition: all 120ms;
}
.export-chip.on {
  background: var(--chip-color, var(--ink));
  border-color: transparent;
  color: var(--white);
  font-weight: 500;
}
.export-month-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin: 12px 0;
}
.export-month-btn {
  padding: 10px 8px;
  border-radius: var(--r-md);
  border: 1px solid var(--line);
  background: var(--surface);
  text-align: center;
  font-size: var(--fs-sm);
  cursor: pointer;
  transition: all 120ms;
}
.export-month-btn.on {
  border-color: var(--teal);
  background: var(--teal-soft);
  color: var(--teal);
  font-weight: 600;
}
.export-month-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.export-presets {
  display: flex;
  gap: 6px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.export-check {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 10px 0;
  cursor: pointer;
}
.export-dlg {
  max-width: 520px;
}
.print-comment {
  font-size: var(--fs-xs);
  color: var(--muted);
  margin-top: 4px;
}
.copy-year-section {
  margin-top: 12px;
}
.copy-year-fields {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 10px;
}
.admin-row {
  grid-template-columns: 22px 1fr auto !important;
}
@media (max-width: 768px) {
  .app-shell {
    flex-direction: column;
    height: 100dvh;
  }
  .sidebar {
    display: flex;
    position: fixed;
    inset: 0 auto 0 0;
    width: var(--sidebar-width);
    max-width: 85vw;
    transform: translateX(-100%);
    transition: transform 220ms ease;
    z-index: 800;
  }
  .app-shell.nav-open .sidebar {
    transform: translateX(0);
  }
  .drawer-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    opacity: 0;
    pointer-events: none;
    transition: opacity 220ms ease;
    z-index: 799;
  }
  .app-shell.nav-open .drawer-backdrop {
    opacity: 1;
    pointer-events: auto;
  }
  .app-main {
    min-height: 0;
  }
  .mobile-topbar {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--line);
    background: var(--surface);
  }
  .app-drawer-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: -10px;
    flex-shrink: 0;
    color: var(--ink);
    border-radius: var(--r-sm);
  }
  .app-drawer-toggle:hover {
    background: var(--surface-2);
  }
  .mobile-brand {
    font-family: var(--font-serif);
    font-size: 1.1rem;
    color: var(--ink);
  }
  .app-content {
    overflow-x: clip;
  }
  .month-page, .year-page, .page-content {
    padding: 20px 16px 24px;
  }
  .columns {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .col-weekday, .col-weekend {
    display: contents;
  }
  .col-head {
    display: none;
  }
  .col-weekday .empty-state, .col-weekend .empty-state {
    display: none;
  }
  .month-hero {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-bottom: 20px;
  }
  .month-hero-right {
    align-items: flex-start;
  }
  .month-add-btn {
    align-self: flex-start;
    margin-left: 0;
  }
  .date-row {
    padding: 10px 0;
  }
  .month-title {
    font-size: 3.5rem;
  }
  .month-title .year {
    font-size: 2rem;
  }
  .month-stats {
    grid-template-columns: repeat(4, 1fr);
    text-align: left;
    gap: 10px;
  }
  .month-stats .stat-num {
    font-size: 1.75rem;
  }
  .month-stats .stat-label {
    font-size: var(--fs-xs);
    letter-spacing: 0.04em;
  }
  .filter-bar {
    padding: 12px 16px;
  }
  .filter-chips {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    max-width: 100%;
    -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 20px), transparent);
    mask-image: linear-gradient(to right, #000 calc(100% - 20px), transparent);
  }
  .filter-chips::-webkit-scrollbar {
    display: none;
  }
  .filter-summary {
    width: 100%;
    margin-left: 0;
    margin-top: 4px;
  }
  .year-hero {
    grid-template-columns: 1fr;
  }
  .year-title {
    font-size: 2.5rem;
  }
  .year-stats {
    grid-template-columns: repeat(2, 1fr);
    text-align: left;
  }
  .year-month-grid {
    grid-template-columns: 1fr;
  }
  .year-month-head {
    margin-left: 0;
    margin-right: 0;
    padding: 8px 16px 12px;
  }
  .ym-name {
    font-size: 28px;
  }
  .export-month-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .stat-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .admin-stat-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .person-hero {
    grid-template-columns: 1fr;
  }
  .person-name {
    font-size: 40px;
  }
  .person-stats {
    grid-template-columns: repeat(2, 1fr);
    text-align: left;
  }
  .person-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .qa-backdrop {
    background: rgba(0,0,0,0.25);
  }
  .qa-pop {
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    min-width: unset;
    max-width: none;
    width: 100%;
    border-radius: var(--r-xl) var(--r-xl) 0 0;
    border-bottom: none;
    max-height: 70vh;
    overflow-y: auto;
    padding: 16px 8px 24px;
    animation: slide-up 200ms ease;
  }
  .yr-event {
    grid-template-columns: 1fr;
  }
  .yr-event-meter {
    align-self: start;
  }
  .a-row {
    gap: 8px;
  }
  .a-row.team {
    grid-template-columns: 1fr;
  }
  .a-row-main {
    flex-wrap: wrap;
    min-width: 0;
  }
  .a-row-actions {
    align-self: flex-start;
    flex-wrap: wrap;
    justify-content: flex-end;
  }
  .page-hero {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .page-title {
    font-size: 64px;
  }
  .form-row-2, .form-row-3, .role-picker {
    grid-template-columns: 1fr;
  }
  .ev-card {
    grid-template-columns: 1fr;
  }
  .ev-meter {
    grid-column: 1;
    grid-row: auto;
    align-items: flex-start;
    flex-direction: row;
    gap: 8px;
    margin-left: 0;
    padding-top: 4px;
  }
  .app-modal-backdrop {
    padding: 0;
  }
  .dlg {
    max-width: none;
    max-height: 100dvh;
    border-radius: 0;
    display: flex;
    flex-direction: column;
  }
  .dlg > form {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
  }
  .dlg-head, .dlg-foot, .export-tabs {
    flex-shrink: 0;
  }
  .dlg-body, .export-body {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
  }
  .assign-sheet {
    border-radius: var(--r-xl) var(--r-xl) 0 0;
  }
  .dlg-foot {
    flex-wrap: wrap;
    row-gap: 10px;
  }
  .dlg-foot-left {
    flex: 1 1 100%;
  }
  .dlg-foot .btn {
    flex: 1;
    justify-content: center;
  }
  .dlg-close {
    width: 44px;
    height: 44px;
    font-size: 22px;
    margin: -6px -10px 0 0;
  }
  .act-entry {
    grid-template-columns: 44px 22px 1fr;
    gap: 8px;
    padding: 12px 0;
  }
  .act-day-head {
    padding: 14px 0 8px;
    gap: 8px;
  }
  .month-page, .year-page, .page-content {
    overflow-x: clip;
  }
}
@media (min-width: 769px) {
  .mobile-topbar, .drawer-backdrop, .app-drawer-toggle {
    display: none;
  }
}
@media (max-width: 640px) {
  .hero {
    padding: 3rem 0 2rem;
  }
  .hero-title {
    font-size: 2.5rem;
  }
  .hero-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .hero-actions .btn {
    min-height: 44px;
    justify-content: center;
  }
  .auth-card-head, .auth-card-body {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}
@layer base {
  :root:has( .modal-open, .modal[open], .modal:target, .modal-toggle:checked, .drawer:not([class*="drawer-open"]) > .drawer-toggle:checked ) {
    overflow: hidden;
  }
}
@layer base {
  :root, [data-theme] {
    background-color: var(--root-bg, var(--color-base-100));
    color: var(--color-base-content);
  }
}
@layer base {
  :root {
    scrollbar-color: currentColor #0000;
    @supports (color: color-mix(in lab, red, red)) {
      scrollbar-color: color-mix(in oklch, currentColor 35%, #0000) #0000;
    }
  }
}
@layer base {
  @property --radialprogress {
    syntax: "<percentage>";
    inherits: true;
    initial-value: 0%;
  }
}
@layer base {
  :where( :root:has( .modal-open, .modal[open], .modal:target, .modal-toggle:checked, .drawer:not(.drawer-open) > .drawer-toggle:checked ) ) {
    scrollbar-gutter: stable;
    background-image: linear-gradient(var(--color-base-100), var(--color-base-100));
    --root-bg: var(--color-base-100);
    @supports (color: color-mix(in lab, red, red)) {
      --root-bg: color-mix(in srgb, var(--color-base-100), oklch(0% 0 0) 40%);
    }
  }
  :where(.modal[open], .modal-open, .modal-toggle:checked + .modal):not(.modal-start, .modal-end) {
    scrollbar-gutter: stable;
  }
}
@layer base {
  :root {
    --fx-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E");
  }
  .chat {
    --mask-chat: url("data:image/svg+xml,%3csvg width='13' height='13' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='M0 11.5004C0 13.0004 2 13.0004 2 13.0004H12H13V0.00036329L12.5 0C12.5 0 11.977 2.09572 11.8581 2.50033C11.6075 3.35237 10.9149 4.22374 9 5.50036C6 7.50036 0 10.0004 0 11.5004Z'/%3e%3c/svg%3e");
  }
}
@keyframes dropdown {
  0% {
    opacity: 0;
  }
}
@keyframes progress {
  50% {
    background-position-x: -115%;
  }
}
@keyframes toast {
  0% {
    scale: 0.9;
    opacity: 0;
  }
  100% {
    scale: 1;
    opacity: 1;
  }
}
@keyframes rating {
  0%, 40% {
    scale: 1.1;
    filter: brightness(1.05) contrast(1.05);
  }
}
@keyframes radio {
  0% {
    padding: 5px;
  }
  50% {
    padding: 3px;
  }
}
@keyframes skeleton {
  0% {
    background-position: 150%;
  }
  100% {
    background-position: -50%;
  }
}
@layer base {
  :where(:root),:root:has(input.theme-controller[value=ep]:checked),[data-theme="ep"] {
    color-scheme: light;
    --color-base-100: #f5f1ea;
    --color-base-200: #ece6dc;
    --color-base-300: #e3ddd1;
    --color-base-content: #1a1814;
    --color-primary: #0f6e63;
    --color-primary-content: #ffffff;
    --color-secondary: #84796a;
    --color-secondary-content: #ffffff;
    --color-accent: #b97800;
    --color-accent-content: #ffffff;
    --color-neutral: #3e3a32;
    --color-neutral-content: #ffffff;
    --color-info: #0f6e63;
    --color-info-content: #ffffff;
    --color-success: #4a7a4a;
    --color-success-content: #ffffff;
    --color-warning: #b97800;
    --color-warning-content: #ffffff;
    --color-error: #b03b3b;
    --color-error-content: #ffffff;
    --radius-selector: 0.375rem;
    --radius-field: 0.625rem;
    --radius-box: 1rem;
    --border: 1px;
    --depth: 0;
    --noise: 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-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@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;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-outline-style: solid;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
    }
  }
}
