/*
 * Scoped Tailwind preflight.
 *
 * Tailwind's global preflight is disabled (corePlugins.preflight: false in
 * tailwind.config.js) so it cannot touch the hand-CSS-styled app. This file
 * re-introduces the preflight resets that utility classes depend on, confined
 * to the `.tw-base` opt-in scope. Adapted from Tailwind v3's preflight
 * (node_modules/tailwindcss/lib/css/preflight.css); theme() values are inlined
 * to literals so this file needs no Tailwind processing.
 *
 * The scope is applied with `:where(.tw-base)` rather than `.tw-base`.
 * `:where()` contributes ZERO specificity, so every rule below keeps exactly
 * the specificity it has in Tailwind's native preflight (e.g.
 * `:where(.tw-base) button` is (0,0,1), same as bare `button`). That is what
 * lets utility classes (specificity (0,1,0)) override these resets — a plain
 * `.tw-base button` selector would be (0,1,1) and clobber the utilities it is
 * meant to support. Because the resets now sit strictly below utilities, the
 * cascade no longer depends on CSS import order either.
 *
 * Revisit this file on any Tailwind major-version upgrade.
 */

:where(.tw-base),
:where(.tw-base) *,
:where(.tw-base) *::before,
:where(.tw-base) *::after {
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
  border-color: currentColor;
}

:where(.tw-base) *::before,
:where(.tw-base) *::after {
  --tw-content: '';
}

:where(.tw-base) {
  margin: 0;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  tab-size: 4;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif,
    "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  -webkit-tap-highlight-color: transparent;
}

:where(.tw-base) hr {
  height: 0;
  color: inherit;
  border-top-width: 1px;
}

:where(.tw-base) h1,
:where(.tw-base) h2,
:where(.tw-base) h3,
:where(.tw-base) h4,
:where(.tw-base) h5,
:where(.tw-base) h6 {
  font-size: inherit;
  font-weight: inherit;
}

:where(.tw-base) a {
  color: inherit;
  text-decoration: inherit;
}

:where(.tw-base) b,
:where(.tw-base) strong {
  font-weight: bolder;
}

:where(.tw-base) code,
:where(.tw-base) kbd,
:where(.tw-base) samp,
:where(.tw-base) pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
    "Liberation Mono", "Courier New", monospace;
  font-size: 1em;
}

:where(.tw-base) small {
  font-size: 80%;
}

:where(.tw-base) table {
  text-indent: 0;
  border-color: inherit;
  border-collapse: collapse;
}

:where(.tw-base) button,
:where(.tw-base) input,
:where(.tw-base) optgroup,
:where(.tw-base) select,
:where(.tw-base) textarea {
  font-family: inherit;
  font-feature-settings: inherit;
  font-variation-settings: inherit;
  font-size: 100%;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
}

:where(.tw-base) button,
:where(.tw-base) select {
  text-transform: none;
}

:where(.tw-base) button,
:where(.tw-base) input:where([type='button']),
:where(.tw-base) input:where([type='reset']),
:where(.tw-base) input:where([type='submit']) {
  -webkit-appearance: button;
  background-color: transparent;
  background-image: none;
}

:where(.tw-base) progress {
  vertical-align: baseline;
}

:where(.tw-base) blockquote,
:where(.tw-base) dl,
:where(.tw-base) dd,
:where(.tw-base) figure,
:where(.tw-base) p,
:where(.tw-base) pre {
  margin: 0;
}

:where(.tw-base) fieldset {
  margin: 0;
  padding: 0;
}

:where(.tw-base) legend {
  padding: 0;
}

:where(.tw-base) ol,
:where(.tw-base) ul,
:where(.tw-base) menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

:where(.tw-base) textarea {
  resize: vertical;
}

:where(.tw-base) input::placeholder,
:where(.tw-base) textarea::placeholder {
  opacity: 1;
  color: #9ca3af;
}

:where(.tw-base) button,
:where(.tw-base) [role="button"] {
  cursor: pointer;
}

:where(.tw-base) :disabled {
  cursor: default;
}

:where(.tw-base) img,
:where(.tw-base) svg,
:where(.tw-base) video,
:where(.tw-base) canvas,
:where(.tw-base) audio,
:where(.tw-base) iframe,
:where(.tw-base) embed,
:where(.tw-base) object {
  display: block;
  vertical-align: middle;
}

:where(.tw-base) img,
:where(.tw-base) video {
  max-width: 100%;
  height: auto;
}

:where(.tw-base) [hidden] {
  display: none;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0
}
.pointer-events-none {
    pointer-events: none
}
.pointer-events-auto {
    pointer-events: auto
}
.visible {
    visibility: visible
}
.invisible {
    visibility: hidden
}
.collapse {
    visibility: collapse
}
.static {
    position: static
}
.fixed {
    position: fixed
}
.absolute {
    position: absolute
}
.relative {
    position: relative
}
.sticky {
    position: -webkit-sticky;
    position: sticky
}
.inset-0 {
    inset: 0px
}
.inset-y-0 {
    top: 0px;
    bottom: 0px
}
.-bottom-8 {
    bottom: -2rem
}
.-right-1 {
    right: -0.25rem
}
.-top-1 {
    top: -0.25rem
}
.-top-5 {
    top: -1.25rem
}
.bottom-0 {
    bottom: 0px
}
.bottom-1\.5 {
    bottom: 0.375rem
}
.bottom-10 {
    bottom: 2.5rem
}
.bottom-2 {
    bottom: 0.5rem
}
.bottom-20 {
    bottom: 5rem
}
.bottom-32 {
    bottom: 8rem
}
.bottom-4 {
    bottom: 1rem
}
.bottom-5 {
    bottom: 1.25rem
}
.bottom-full {
    bottom: 100%
}
.left-0 {
    left: 0px
}
.left-1\/2 {
    left: 50%
}
.left-2 {
    left: 0.5rem
}
.left-24 {
    left: 6rem
}
.left-3 {
    left: 0.75rem
}
.left-4 {
    left: 1rem
}
.left-full {
    left: 100%
}
.right-0 {
    right: 0px
}
.right-1 {
    right: 0.25rem
}
.right-2 {
    right: 0.5rem
}
.right-28 {
    right: 7rem
}
.right-3 {
    right: 0.75rem
}
.right-4 {
    right: 1rem
}
.right-5 {
    right: 1.25rem
}
.top-0 {
    top: 0px
}
.top-1 {
    top: 0.25rem
}
.top-1\.5 {
    top: 0.375rem
}
.top-1\/2 {
    top: 50%
}
.top-2 {
    top: 0.5rem
}
.top-3 {
    top: 0.75rem
}
.top-4 {
    top: 1rem
}
.top-5 {
    top: 1.25rem
}
.top-6 {
    top: 1.5rem
}
.top-full {
    top: 100%
}
.z-10 {
    z-index: 10
}
.z-20 {
    z-index: 20
}
.z-30 {
    z-index: 30
}
.z-40 {
    z-index: 40
}
.z-50 {
    z-index: 50
}
.z-\[1000000\] {
    z-index: 1000000
}
.z-\[100\] {
    z-index: 100
}
.z-\[1\] {
    z-index: 1
}
.z-\[60\] {
    z-index: 60
}
.z-\[70\] {
    z-index: 70
}
.z-\[99998\] {
    z-index: 99998
}
.z-\[99999\] {
    z-index: 99999
}
.z-\[9999\] {
    z-index: 9999
}
.col-span-1 {
    grid-column: span 1 / span 1
}
.col-span-2 {
    grid-column: span 2 / span 2
}
.col-span-3 {
    grid-column: span 3 / span 3
}
.col-span-4 {
    grid-column: span 4 / span 4
}
.m-0 {
    margin: 0px
}
.m-1 {
    margin: 0.25rem
}
.m-auto {
    margin: auto
}
.-mx-1 {
    margin-left: -0.25rem;
    margin-right: -0.25rem
}
.-my-1 {
    margin-top: -0.25rem;
    margin-bottom: -0.25rem
}
.mx-0\.5 {
    margin-left: 0.125rem;
    margin-right: 0.125rem
}
.mx-1 {
    margin-left: 0.25rem;
    margin-right: 0.25rem
}
.mx-2 {
    margin-left: 0.5rem;
    margin-right: 0.5rem
}
.mx-4 {
    margin-left: 1rem;
    margin-right: 1rem
}
.mx-6 {
    margin-left: 1.5rem;
    margin-right: 1.5rem
}
.mx-auto {
    margin-left: auto;
    margin-right: auto
}
.my-1 {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem
}
.my-2 {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem
}
.my-3 {
    margin-top: 0.75rem;
    margin-bottom: 0.75rem
}
.my-4 {
    margin-top: 1rem;
    margin-bottom: 1rem
}
.my-6 {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem
}
.my-8 {
    margin-top: 2rem;
    margin-bottom: 2rem
}
.-mb-1 {
    margin-bottom: -0.25rem
}
.-mb-px {
    margin-bottom: -1px
}
.-ml-1 {
    margin-left: -0.25rem
}
.-ml-2 {
    margin-left: -0.5rem
}
.-mr-1 {
    margin-right: -0.25rem
}
.-mt-1 {
    margin-top: -0.25rem
}
.mb-0 {
    margin-bottom: 0px
}
.mb-0\.5 {
    margin-bottom: 0.125rem
}
.mb-1 {
    margin-bottom: 0.25rem
}
.mb-1\.5 {
    margin-bottom: 0.375rem
}
.mb-10 {
    margin-bottom: 2.5rem
}
.mb-12 {
    margin-bottom: 3rem
}
.mb-16 {
    margin-bottom: 4rem
}
.mb-2 {
    margin-bottom: 0.5rem
}
.mb-2\.5 {
    margin-bottom: 0.625rem
}
.mb-3 {
    margin-bottom: 0.75rem
}
.mb-4 {
    margin-bottom: 1rem
}
.mb-44 {
    margin-bottom: 11rem
}
.mb-5 {
    margin-bottom: 1.25rem
}
.mb-6 {
    margin-bottom: 1.5rem
}
.mb-8 {
    margin-bottom: 2rem
}
.ml-1 {
    margin-left: 0.25rem
}
.ml-1\.5 {
    margin-left: 0.375rem
}
.ml-2 {
    margin-left: 0.5rem
}
.ml-3 {
    margin-left: 0.75rem
}
.ml-4 {
    margin-left: 1rem
}
.ml-5 {
    margin-left: 1.25rem
}
.ml-6 {
    margin-left: 1.5rem
}
.ml-8 {
    margin-left: 2rem
}
.ml-auto {
    margin-left: auto
}
.mr-1 {
    margin-right: 0.25rem
}
.mr-1\.5 {
    margin-right: 0.375rem
}
.mr-2 {
    margin-right: 0.5rem
}
.mr-3 {
    margin-right: 0.75rem
}
.mr-4 {
    margin-right: 1rem
}
.mr-6 {
    margin-right: 1.5rem
}
.mr-8 {
    margin-right: 2rem
}
.mt-0 {
    margin-top: 0px
}
.mt-0\.5 {
    margin-top: 0.125rem
}
.mt-1 {
    margin-top: 0.25rem
}
.mt-1\.5 {
    margin-top: 0.375rem
}
.mt-10 {
    margin-top: 2.5rem
}
.mt-12 {
    margin-top: 3rem
}
.mt-2 {
    margin-top: 0.5rem
}
.mt-2\.5 {
    margin-top: 0.625rem
}
.mt-28 {
    margin-top: 7rem
}
.mt-3 {
    margin-top: 0.75rem
}
.mt-4 {
    margin-top: 1rem
}
.mt-5 {
    margin-top: 1.25rem
}
.mt-6 {
    margin-top: 1.5rem
}
.mt-7 {
    margin-top: 1.75rem
}
.mt-8 {
    margin-top: 2rem
}
.mt-\[-16px\] {
    margin-top: -16px
}
.mt-\[2px\] {
    margin-top: 2px
}
.mt-auto {
    margin-top: auto
}
.line-clamp-1 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1
}
.line-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2
}
.block {
    display: block
}
.inline-block {
    display: inline-block
}
.\!inline {
    display: inline !important
}
.inline {
    display: inline
}
.flex {
    display: flex
}
.inline-flex {
    display: inline-flex
}
.table {
    display: table
}
.grid {
    display: grid
}
.contents {
    display: contents
}
.hidden {
    display: none
}
.aspect-\[5\/4\] {
    aspect-ratio: 5/4
}
.h-0 {
    height: 0px
}
.h-0\.5 {
    height: 0.125rem
}
.h-1 {
    height: 0.25rem
}
.h-1\.5 {
    height: 0.375rem
}
.h-10 {
    height: 2.5rem
}
.h-11 {
    height: 2.75rem
}
.h-12 {
    height: 3rem
}
.h-14 {
    height: 3.5rem
}
.h-16 {
    height: 4rem
}
.h-2 {
    height: 0.5rem
}
.h-2\.5 {
    height: 0.625rem
}
.h-20 {
    height: 5rem
}
.h-24 {
    height: 6rem
}
.h-3 {
    height: 0.75rem
}
.h-3\.5 {
    height: 0.875rem
}
.h-4 {
    height: 1rem
}
.h-48 {
    height: 12rem
}
.h-5 {
    height: 1.25rem
}
.h-5\/6 {
    height: 83.333333%
}
.h-6 {
    height: 1.5rem
}
.h-64 {
    height: 16rem
}
.h-7 {
    height: 1.75rem
}
.h-8 {
    height: 2rem
}
.h-9 {
    height: 2.25rem
}
.h-96 {
    height: 24rem
}
.h-\[14px\] {
    height: 14px
}
.h-\[42px\] {
    height: 42px
}
.h-\[60px\] {
    height: 60px
}
.h-\[85vh\] {
    height: 85vh
}
.h-\[calc\(100\%-3\.25rem\)\] {
    height: calc(100% - 3.25rem)
}
.h-\[calc\(100vh-60px\)\] {
    height: calc(100vh - 60px)
}
.h-auto {
    height: auto
}
.h-full {
    height: 100%
}
.h-px {
    height: 1px
}
.h-screen {
    height: 100vh
}
.max-h-0 {
    max-height: 0px
}
.max-h-20 {
    max-height: 5rem
}
.max-h-32 {
    max-height: 8rem
}
.max-h-40 {
    max-height: 10rem
}
.max-h-48 {
    max-height: 12rem
}
.max-h-56 {
    max-height: 14rem
}
.max-h-60 {
    max-height: 15rem
}
.max-h-64 {
    max-height: 16rem
}
.max-h-72 {
    max-height: 18rem
}
.max-h-80 {
    max-height: 20rem
}
.max-h-96 {
    max-height: 24rem
}
.max-h-\[2000px\] {
    max-height: 2000px
}
.max-h-\[300px\] {
    max-height: 300px
}
.max-h-\[40vh\] {
    max-height: 40vh
}
.max-h-\[500px\] {
    max-height: 500px
}
.max-h-\[50vh\] {
    max-height: 50vh
}
.max-h-\[600px\] {
    max-height: 600px
}
.max-h-\[70vh\] {
    max-height: 70vh
}
.max-h-\[80vh\] {
    max-height: 80vh
}
.max-h-\[85vh\] {
    max-height: 85vh
}
.max-h-\[90vh\] {
    max-height: 90vh
}
.max-h-\[calc\(100vh-240px\)\] {
    max-height: calc(100vh - 240px)
}
.max-h-full {
    max-height: 100%
}
.max-h-screen {
    max-height: 100vh
}
.min-h-0 {
    min-height: 0px
}
.min-h-\[240px\] {
    min-height: 240px
}
.min-h-\[280px\] {
    min-height: 280px
}
.min-h-\[3\.25rem\] {
    min-height: 3.25rem
}
.min-h-\[300px\] {
    min-height: 300px
}
.min-h-\[400px\] {
    min-height: 400px
}
.min-h-\[44px\] {
    min-height: 44px
}
.min-h-\[48px\] {
    min-height: 48px
}
.min-h-\[500px\] {
    min-height: 500px
}
.min-h-\[56px\] {
    min-height: 56px
}
.min-h-full {
    min-height: 100%
}
.min-h-screen {
    min-height: 100vh
}
.w-0 {
    width: 0px
}
.w-0\.5 {
    width: 0.125rem
}
.w-1 {
    width: 0.25rem
}
.w-1\/2 {
    width: 50%
}
.w-1\/3 {
    width: 33.333333%
}
.w-1\/4 {
    width: 25%
}
.w-10 {
    width: 2.5rem
}
.w-11 {
    width: 2.75rem
}
.w-11\/12 {
    width: 91.666667%
}
.w-12 {
    width: 3rem
}
.w-14 {
    width: 3.5rem
}
.w-16 {
    width: 4rem
}
.w-2 {
    width: 0.5rem
}
.w-2\.5 {
    width: 0.625rem
}
.w-2\/3 {
    width: 66.666667%
}
.w-20 {
    width: 5rem
}
.w-24 {
    width: 6rem
}
.w-28 {
    width: 7rem
}
.w-3 {
    width: 0.75rem
}
.w-3\.5 {
    width: 0.875rem
}
.w-32 {
    width: 8rem
}
.w-36 {
    width: 9rem
}
.w-4 {
    width: 1rem
}
.w-40 {
    width: 10rem
}
.w-44 {
    width: 11rem
}
.w-48 {
    width: 12rem
}
.w-5 {
    width: 1.25rem
}
.w-56 {
    width: 14rem
}
.w-6 {
    width: 1.5rem
}
.w-64 {
    width: 16rem
}
.w-7 {
    width: 1.75rem
}
.w-72 {
    width: 18rem
}
.w-8 {
    width: 2rem
}
.w-80 {
    width: 20rem
}
.w-9 {
    width: 2.25rem
}
.w-96 {
    width: 24rem
}
.w-\[12\%\] {
    width: 12%
}
.w-\[14px\] {
    width: 14px
}
.w-\[26\%\] {
    width: 26%
}
.w-\[28\%\] {
    width: 28%
}
.w-\[290px\] {
    width: 290px
}
.w-\[320px\] {
    width: 320px
}
.w-\[34\%\] {
    width: 34%
}
.w-\[360px\] {
    width: 360px
}
.w-auto {
    width: auto
}
.w-full {
    width: 100%
}
.w-px {
    width: 1px
}
.min-w-0 {
    min-width: 0px
}
.min-w-2 {
    min-width: 0.5rem
}
.min-w-\[1\.75rem\] {
    min-width: 1.75rem
}
.min-w-\[100px\] {
    min-width: 100px
}
.min-w-\[140px\] {
    min-width: 140px
}
.min-w-\[700px\] {
    min-width: 700px
}
.min-w-\[9\.5rem\] {
    min-width: 9.5rem
}
.min-w-full {
    min-width: 100%
}
.min-w-max {
    min-width: -webkit-max-content;
    min-width: max-content
}
.max-w-2xl {
    max-width: 42rem
}
.max-w-32 {
    max-width: 8rem
}
.max-w-3xl {
    max-width: 48rem
}
.max-w-4xl {
    max-width: 56rem
}
.max-w-5xl {
    max-width: 64rem
}
.max-w-6xl {
    max-width: 72rem
}
.max-w-7xl {
    max-width: 80rem
}
.max-w-\[1200px\] {
    max-width: 1200px
}
.max-w-\[120px\] {
    max-width: 120px
}
.max-w-\[140px\] {
    max-width: 140px
}
.max-w-\[160px\] {
    max-width: 160px
}
.max-w-\[360px\] {
    max-width: 360px
}
.max-w-\[520px\] {
    max-width: 520px
}
.max-w-\[60\%\] {
    max-width: 60%
}
.max-w-\[60px\] {
    max-width: 60px
}
.max-w-\[760px\] {
    max-width: 760px
}
.max-w-\[80vw\] {
    max-width: 80vw
}
.max-w-full {
    max-width: 100%
}
.max-w-lg {
    max-width: 32rem
}
.max-w-md {
    max-width: 28rem
}
.max-w-none {
    max-width: none
}
.max-w-screen-xl {
    max-width: 1280px
}
.max-w-sm {
    max-width: 24rem
}
.max-w-xl {
    max-width: 36rem
}
.max-w-xs {
    max-width: 20rem
}
.flex-1 {
    flex: 1 1
}
.flex-none {
    flex: none
}
.flex-shrink-0 {
    flex-shrink: 0
}
.shrink {
    flex-shrink: 1
}
.shrink-0 {
    flex-shrink: 0
}
.flex-grow {
    flex-grow: 1
}
.grow {
    flex-grow: 1
}
.basis-full {
    flex-basis: 100%
}
.table-fixed {
    table-layout: fixed
}
.origin-top {
    transform-origin: top
}
.-translate-x-1\/2 {
    --tw-translate-x: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.-translate-x-full {
    --tw-translate-x: -100%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.-translate-y-1 {
    --tw-translate-y: -0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.-translate-y-1\/2 {
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.-translate-y-2 {
    --tw-translate-y: -0.5rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.translate-x-0 {
    --tw-translate-x: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.translate-x-0\.5 {
    --tw-translate-x: 0.125rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.translate-x-1 {
    --tw-translate-x: 0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.translate-x-5 {
    --tw-translate-x: 1.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.translate-x-6 {
    --tw-translate-x: 1.5rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.translate-x-\[18px\] {
    --tw-translate-x: 18px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.translate-x-full {
    --tw-translate-x: 100%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.translate-y-0 {
    --tw-translate-y: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.translate-y-1 {
    --tw-translate-y: 0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.translate-y-1\/2 {
    --tw-translate-y: 50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.translate-y-2 {
    --tw-translate-y: 0.5rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.translate-y-4 {
    --tw-translate-y: 1rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.translate-y-8 {
    --tw-translate-y: 2rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.-rotate-6 {
    --tw-rotate: -6deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.rotate-180 {
    --tw-rotate: 180deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.rotate-45 {
    --tw-rotate: 45deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.scale-100 {
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.scale-105 {
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.scale-95 {
    --tw-scale-x: .95;
    --tw-scale-y: .95;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.transform {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
@keyframes bounce {
    0%, 100% {
        transform: translateY(-25%);
        animation-timing-function: cubic-bezier(0.8,0,1,1)
    }
    50% {
        transform: none;
        animation-timing-function: cubic-bezier(0,0,0.2,1)
    }
}
.animate-bounce {
    animation: bounce 1s infinite
}
@keyframes ping {
    75%, 100% {
        transform: scale(2);
        opacity: 0
    }
}
.animate-ping {
    animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite
}
@keyframes pulse {
    50% {
        opacity: .5
    }
}
.animate-pulse {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite
}
@keyframes spin {
    to {
        transform: rotate(360deg)
    }
}
.animate-spin {
    animation: spin 1s linear infinite
}
.cursor-default {
    cursor: default
}
.cursor-grab {
    cursor: grab
}
.cursor-help {
    cursor: help
}
.cursor-not-allowed {
    cursor: not-allowed
}
.cursor-pointer {
    cursor: pointer
}
.touch-manipulation {
    touch-action: manipulation
}
.select-none {
    -webkit-user-select: none;
            user-select: none
}
.resize-none {
    resize: none
}
.resize-y {
    resize: vertical
}
.resize {
    resize: both
}
.scroll-mt-20 {
    scroll-margin-top: 5rem
}
.list-inside {
    list-style-position: inside
}
.list-decimal {
    list-style-type: decimal
}
.list-disc {
    list-style-type: disc
}
.appearance-none {
    -webkit-appearance: none;
            appearance: none
}
.grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr))
}
.grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr))
}
.grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr))
}
.grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr))
}
.grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr))
}
.flex-row {
    flex-direction: row
}
.flex-col {
    flex-direction: column
}
.flex-col-reverse {
    flex-direction: column-reverse
}
.flex-wrap {
    flex-wrap: wrap
}
.flex-nowrap {
    flex-wrap: nowrap
}
.items-start {
    align-items: flex-start
}
.items-end {
    align-items: flex-end
}
.items-center {
    align-items: center
}
.items-baseline {
    align-items: baseline
}
.items-stretch {
    align-items: stretch
}
.justify-start {
    justify-content: flex-start
}
.justify-end {
    justify-content: flex-end
}
.justify-center {
    justify-content: center
}
.justify-between {
    justify-content: space-between
}
.justify-items-center {
    justify-items: center
}
.justify-items-stretch {
    justify-items: stretch
}
.gap-0\.5 {
    gap: 0.125rem
}
.gap-1 {
    gap: 0.25rem
}
.gap-1\.5 {
    gap: 0.375rem
}
.gap-2 {
    gap: 0.5rem
}
.gap-2\.5 {
    gap: 0.625rem
}
.gap-3 {
    gap: 0.75rem
}
.gap-4 {
    gap: 1rem
}
.gap-6 {
    gap: 1.5rem
}
.gap-8 {
    gap: 2rem
}
.gap-x-2 {
    column-gap: 0.5rem
}
.gap-x-4 {
    column-gap: 1rem
}
.gap-x-5 {
    column-gap: 1.25rem
}
.gap-x-6 {
    column-gap: 1.5rem
}
.gap-y-1 {
    row-gap: 0.25rem
}
.gap-y-1\.5 {
    row-gap: 0.375rem
}
.gap-y-2 {
    row-gap: 0.5rem
}
.space-x-1 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(0.25rem * var(--tw-space-x-reverse));
    margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)))
}
.space-x-2 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(0.5rem * var(--tw-space-x-reverse));
    margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)))
}
.space-x-3 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(0.75rem * var(--tw-space-x-reverse));
    margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)))
}
.space-x-4 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(1rem * var(--tw-space-x-reverse));
    margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)))
}
.space-y-0\.5 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.125rem * var(--tw-space-y-reverse))
}
.space-y-1 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.25rem * var(--tw-space-y-reverse))
}
.space-y-1\.5 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.375rem * var(--tw-space-y-reverse))
}
.space-y-10 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2.5rem * var(--tw-space-y-reverse))
}
.space-y-2 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.5rem * var(--tw-space-y-reverse))
}
.space-y-2\.5 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.625rem * var(--tw-space-y-reverse))
}
.space-y-3 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.75rem * var(--tw-space-y-reverse))
}
.space-y-4 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem * var(--tw-space-y-reverse))
}
.space-y-5 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.25rem * var(--tw-space-y-reverse))
}
.space-y-6 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.5rem * var(--tw-space-y-reverse))
}
.space-y-8 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2rem * var(--tw-space-y-reverse))
}
.divide-x > :not([hidden]) ~ :not([hidden]) {
    --tw-divide-x-reverse: 0;
    border-right-width: calc(1px * var(--tw-divide-x-reverse));
    border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)))
}
.divide-y > :not([hidden]) ~ :not([hidden]) {
    --tw-divide-y-reverse: 0;
    border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(1px * var(--tw-divide-y-reverse))
}
.divide-y-2 > :not([hidden]) ~ :not([hidden]) {
    --tw-divide-y-reverse: 0;
    border-top-width: calc(2px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(2px * var(--tw-divide-y-reverse))
}
.divide-dashed > :not([hidden]) ~ :not([hidden]) {
    border-style: dashed
}
.divide-gray-100 > :not([hidden]) ~ :not([hidden]) {
    --tw-divide-opacity: 1;
    border-color: rgb(243 244 246 / 1);
    border-color: rgb(243 244 246 / var(--tw-divide-opacity, 1))
}
.divide-gray-200 > :not([hidden]) ~ :not([hidden]) {
    --tw-divide-opacity: 1;
    border-color: rgb(229 231 235 / 1);
    border-color: rgb(229 231 235 / var(--tw-divide-opacity, 1))
}
.divide-gray-300 > :not([hidden]) ~ :not([hidden]) {
    --tw-divide-opacity: 1;
    border-color: rgb(209 213 219 / 1);
    border-color: rgb(209 213 219 / var(--tw-divide-opacity, 1))
}
.self-start {
    align-self: flex-start
}
.self-end {
    align-self: flex-end
}
.overflow-auto {
    overflow: auto
}
.overflow-hidden {
    overflow: hidden
}
.overflow-visible {
    overflow: visible
}
.overflow-x-auto {
    overflow-x: auto
}
.overflow-y-auto {
    overflow-y: auto
}
.overflow-x-hidden {
    overflow-x: hidden
}
.overflow-x-clip {
    overflow-x: clip
}
.overflow-y-clip {
    overflow-y: clip
}
.overflow-y-scroll {
    overflow-y: scroll
}
.overscroll-contain {
    overscroll-behavior: contain
}
.scroll-smooth {
    scroll-behavior: smooth
}
.truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}
.whitespace-nowrap {
    white-space: nowrap
}
.whitespace-pre-line {
    white-space: pre-line
}
.whitespace-pre-wrap {
    white-space: pre-wrap
}
.text-pretty {
    text-wrap: pretty
}
.break-words {
    overflow-wrap: break-word
}
.break-all {
    word-break: break-all
}
.rounded {
    border-radius: 0.25rem
}
.rounded-2xl {
    border-radius: 1rem
}
.rounded-\[20px\] {
    border-radius: 20px
}
.rounded-full {
    border-radius: 9999px
}
.rounded-lg {
    border-radius: 0.5rem
}
.rounded-md {
    border-radius: 0.375rem
}
.rounded-sm {
    border-radius: 0.125rem
}
.rounded-xl {
    border-radius: 0.75rem
}
.rounded-b-2xl {
    border-bottom-right-radius: 1rem;
    border-bottom-left-radius: 1rem
}
.rounded-b-lg {
    border-bottom-right-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem
}
.rounded-b-xl {
    border-bottom-right-radius: 0.75rem;
    border-bottom-left-radius: 0.75rem
}
.rounded-l-lg {
    border-top-left-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem
}
.rounded-l-xl {
    border-top-left-radius: 0.75rem;
    border-bottom-left-radius: 0.75rem
}
.rounded-r-full {
    border-top-right-radius: 9999px;
    border-bottom-right-radius: 9999px
}
.rounded-r-lg {
    border-top-right-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem
}
.rounded-t-2xl {
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem
}
.rounded-t-lg {
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem
}
.rounded-t-md {
    border-top-left-radius: 0.375rem;
    border-top-right-radius: 0.375rem
}
.border {
    border-width: 1px
}
.border-0 {
    border-width: 0px
}
.border-2 {
    border-width: 2px
}
.border-4 {
    border-width: 4px
}
.border-8 {
    border-width: 8px
}
.border-b {
    border-bottom-width: 1px
}
.border-b-2 {
    border-bottom-width: 2px
}
.border-l {
    border-left-width: 1px
}
.border-l-0 {
    border-left-width: 0px
}
.border-l-2 {
    border-left-width: 2px
}
.border-l-4 {
    border-left-width: 4px
}
.border-r {
    border-right-width: 1px
}
.border-r-0 {
    border-right-width: 0px
}
.border-r-4 {
    border-right-width: 4px
}
.border-t {
    border-top-width: 1px
}
.border-t-2 {
    border-top-width: 2px
}
.border-t-4 {
    border-top-width: 4px
}
.border-solid {
    border-style: solid
}
.border-dashed {
    border-style: dashed
}
.border-none {
    border-style: none
}
.border-\[\#4691F7\] {
    --tw-border-opacity: 1;
    border-color: rgb(70 145 247 / 1);
    border-color: rgb(70 145 247 / var(--tw-border-opacity, 1))
}
.border-amber-100 {
    --tw-border-opacity: 1;
    border-color: rgb(254 243 199 / 1);
    border-color: rgb(254 243 199 / var(--tw-border-opacity, 1))
}
.border-amber-200 {
    --tw-border-opacity: 1;
    border-color: rgb(253 230 138 / 1);
    border-color: rgb(253 230 138 / var(--tw-border-opacity, 1))
}
.border-amber-300 {
    --tw-border-opacity: 1;
    border-color: rgb(252 211 77 / 1);
    border-color: rgb(252 211 77 / var(--tw-border-opacity, 1))
}
.border-amber-400 {
    --tw-border-opacity: 1;
    border-color: rgb(251 191 36 / 1);
    border-color: rgb(251 191 36 / var(--tw-border-opacity, 1))
}
.border-black {
    --tw-border-opacity: 1;
    border-color: rgb(0 0 0 / 1);
    border-color: rgb(0 0 0 / var(--tw-border-opacity, 1))
}
.border-blue-100 {
    --tw-border-opacity: 1;
    border-color: rgb(219 234 254 / 1);
    border-color: rgb(219 234 254 / var(--tw-border-opacity, 1))
}
.border-blue-200 {
    --tw-border-opacity: 1;
    border-color: rgb(191 219 254 / 1);
    border-color: rgb(191 219 254 / var(--tw-border-opacity, 1))
}
.border-blue-300 {
    --tw-border-opacity: 1;
    border-color: rgb(147 197 253 / 1);
    border-color: rgb(147 197 253 / var(--tw-border-opacity, 1))
}
.border-blue-400 {
    --tw-border-opacity: 1;
    border-color: rgb(96 165 250 / 1);
    border-color: rgb(96 165 250 / var(--tw-border-opacity, 1))
}
.border-blue-500 {
    --tw-border-opacity: 1;
    border-color: rgb(59 130 246 / 1);
    border-color: rgb(59 130 246 / var(--tw-border-opacity, 1))
}
.border-blue-600 {
    --tw-border-opacity: 1;
    border-color: rgb(37 99 235 / 1);
    border-color: rgb(37 99 235 / var(--tw-border-opacity, 1))
}
.border-drafty-blue {
    --tw-border-opacity: 1;
    border-color: rgb(59 130 246 / 1);
    border-color: rgb(59 130 246 / var(--tw-border-opacity, 1))
}
.border-drafty-navy {
    --tw-border-opacity: 1;
    border-color: rgb(15 43 87 / 1);
    border-color: rgb(15 43 87 / var(--tw-border-opacity, 1))
}
.border-emerald-100 {
    --tw-border-opacity: 1;
    border-color: rgb(209 250 229 / 1);
    border-color: rgb(209 250 229 / var(--tw-border-opacity, 1))
}
.border-emerald-200 {
    --tw-border-opacity: 1;
    border-color: rgb(167 243 208 / 1);
    border-color: rgb(167 243 208 / var(--tw-border-opacity, 1))
}
.border-emerald-500 {
    --tw-border-opacity: 1;
    border-color: rgb(16 185 129 / 1);
    border-color: rgb(16 185 129 / var(--tw-border-opacity, 1))
}
.border-fg-15 {
    --tw-border-opacity: 1;
    border-color: rgb(229 231 235 / 1);
    border-color: rgb(229 231 235 / var(--tw-border-opacity, 1))
}
.border-gray-100 {
    --tw-border-opacity: 1;
    border-color: rgb(243 244 246 / 1);
    border-color: rgb(243 244 246 / var(--tw-border-opacity, 1))
}
.border-gray-200 {
    --tw-border-opacity: 1;
    border-color: rgb(229 231 235 / 1);
    border-color: rgb(229 231 235 / var(--tw-border-opacity, 1))
}
.border-gray-300 {
    --tw-border-opacity: 1;
    border-color: rgb(209 213 219 / 1);
    border-color: rgb(209 213 219 / var(--tw-border-opacity, 1))
}
.border-gray-400 {
    --tw-border-opacity: 1;
    border-color: rgb(156 163 175 / 1);
    border-color: rgb(156 163 175 / var(--tw-border-opacity, 1))
}
.border-gray-50 {
    --tw-border-opacity: 1;
    border-color: rgb(249 250 251 / 1);
    border-color: rgb(249 250 251 / var(--tw-border-opacity, 1))
}
.border-gray-500 {
    --tw-border-opacity: 1;
    border-color: rgb(107 114 128 / 1);
    border-color: rgb(107 114 128 / var(--tw-border-opacity, 1))
}
.border-gray-600 {
    --tw-border-opacity: 1;
    border-color: rgb(75 85 99 / 1);
    border-color: rgb(75 85 99 / var(--tw-border-opacity, 1))
}
.border-green-100 {
    --tw-border-opacity: 1;
    border-color: rgb(220 252 231 / 1);
    border-color: rgb(220 252 231 / var(--tw-border-opacity, 1))
}
.border-green-200 {
    --tw-border-opacity: 1;
    border-color: rgb(187 247 208 / 1);
    border-color: rgb(187 247 208 / var(--tw-border-opacity, 1))
}
.border-green-300 {
    --tw-border-opacity: 1;
    border-color: rgb(134 239 172 / 1);
    border-color: rgb(134 239 172 / var(--tw-border-opacity, 1))
}
.border-green-400 {
    --tw-border-opacity: 1;
    border-color: rgb(74 222 128 / 1);
    border-color: rgb(74 222 128 / var(--tw-border-opacity, 1))
}
.border-green-500 {
    --tw-border-opacity: 1;
    border-color: rgb(34 197 94 / 1);
    border-color: rgb(34 197 94 / var(--tw-border-opacity, 1))
}
.border-indigo-100 {
    --tw-border-opacity: 1;
    border-color: rgb(224 231 255 / 1);
    border-color: rgb(224 231 255 / var(--tw-border-opacity, 1))
}
.border-indigo-200 {
    --tw-border-opacity: 1;
    border-color: rgb(199 210 254 / 1);
    border-color: rgb(199 210 254 / var(--tw-border-opacity, 1))
}
.border-indigo-300 {
    --tw-border-opacity: 1;
    border-color: rgb(165 180 252 / 1);
    border-color: rgb(165 180 252 / var(--tw-border-opacity, 1))
}
.border-indigo-400 {
    --tw-border-opacity: 1;
    border-color: rgb(129 140 248 / 1);
    border-color: rgb(129 140 248 / var(--tw-border-opacity, 1))
}
.border-indigo-600 {
    --tw-border-opacity: 1;
    border-color: rgb(79 70 229 / 1);
    border-color: rgb(79 70 229 / var(--tw-border-opacity, 1))
}
.border-navy {
    --tw-border-opacity: 1;
    border-color: rgb(15 43 87 / 1);
    border-color: rgb(15 43 87 / var(--tw-border-opacity, 1))
}
.border-navy\/10 {
    border-color: rgb(15 43 87 / 0.1)
}
.border-navy\/15 {
    border-color: rgb(15 43 87 / 0.15)
}
.border-purple-200 {
    --tw-border-opacity: 1;
    border-color: rgb(233 213 255 / 1);
    border-color: rgb(233 213 255 / var(--tw-border-opacity, 1))
}
.border-purple-300 {
    --tw-border-opacity: 1;
    border-color: rgb(216 180 254 / 1);
    border-color: rgb(216 180 254 / var(--tw-border-opacity, 1))
}
.border-red-100 {
    --tw-border-opacity: 1;
    border-color: rgb(254 226 226 / 1);
    border-color: rgb(254 226 226 / var(--tw-border-opacity, 1))
}
.border-red-200 {
    --tw-border-opacity: 1;
    border-color: rgb(254 202 202 / 1);
    border-color: rgb(254 202 202 / var(--tw-border-opacity, 1))
}
.border-red-300 {
    --tw-border-opacity: 1;
    border-color: rgb(252 165 165 / 1);
    border-color: rgb(252 165 165 / var(--tw-border-opacity, 1))
}
.border-red-400 {
    --tw-border-opacity: 1;
    border-color: rgb(248 113 113 / 1);
    border-color: rgb(248 113 113 / var(--tw-border-opacity, 1))
}
.border-red-500 {
    --tw-border-opacity: 1;
    border-color: rgb(239 68 68 / 1);
    border-color: rgb(239 68 68 / var(--tw-border-opacity, 1))
}
.border-rose-300 {
    --tw-border-opacity: 1;
    border-color: rgb(253 164 175 / 1);
    border-color: rgb(253 164 175 / var(--tw-border-opacity, 1))
}
.border-slate-100 {
    --tw-border-opacity: 1;
    border-color: rgb(241 245 249 / 1);
    border-color: rgb(241 245 249 / var(--tw-border-opacity, 1))
}
.border-slate-200 {
    --tw-border-opacity: 1;
    border-color: rgb(226 232 240 / 1);
    border-color: rgb(226 232 240 / var(--tw-border-opacity, 1))
}
.border-slate-200\/80 {
    border-color: rgb(226 232 240 / 0.8)
}
.border-slate-300 {
    --tw-border-opacity: 1;
    border-color: rgb(203 213 225 / 1);
    border-color: rgb(203 213 225 / var(--tw-border-opacity, 1))
}
.border-slate-500 {
    --tw-border-opacity: 1;
    border-color: rgb(100 116 139 / 1);
    border-color: rgb(100 116 139 / var(--tw-border-opacity, 1))
}
.border-transparent {
    border-color: transparent
}
.border-violet-300 {
    --tw-border-opacity: 1;
    border-color: rgb(196 181 253 / 1);
    border-color: rgb(196 181 253 / var(--tw-border-opacity, 1))
}
.border-violet-600 {
    --tw-border-opacity: 1;
    border-color: rgb(124 58 237 / 1);
    border-color: rgb(124 58 237 / var(--tw-border-opacity, 1))
}
.border-violet-700 {
    --tw-border-opacity: 1;
    border-color: rgb(109 40 217 / 1);
    border-color: rgb(109 40 217 / var(--tw-border-opacity, 1))
}
.border-warn-border {
    --tw-border-opacity: 1;
    border-color: rgb(255 179 102 / 1);
    border-color: rgb(255 179 102 / var(--tw-border-opacity, 1))
}
.border-white {
    --tw-border-opacity: 1;
    border-color: rgb(255 255 255 / 1);
    border-color: rgb(255 255 255 / var(--tw-border-opacity, 1))
}
.border-white\/30 {
    border-color: rgb(255 255 255 / 0.3)
}
.border-white\/80 {
    border-color: rgb(255 255 255 / 0.8)
}
.border-yellow-200 {
    --tw-border-opacity: 1;
    border-color: rgb(254 240 138 / 1);
    border-color: rgb(254 240 138 / var(--tw-border-opacity, 1))
}
.border-yellow-300 {
    --tw-border-opacity: 1;
    border-color: rgb(253 224 71 / 1);
    border-color: rgb(253 224 71 / var(--tw-border-opacity, 1))
}
.border-yellow-400 {
    --tw-border-opacity: 1;
    border-color: rgb(250 204 21 / 1);
    border-color: rgb(250 204 21 / var(--tw-border-opacity, 1))
}
.border-yellow-500 {
    --tw-border-opacity: 1;
    border-color: rgb(234 179 8 / 1);
    border-color: rgb(234 179 8 / var(--tw-border-opacity, 1))
}
.border-l-drafty-blue {
    --tw-border-opacity: 1;
    border-left-color: rgb(59 130 246 / 1);
    border-left-color: rgb(59 130 246 / var(--tw-border-opacity, 1))
}
.border-l-drafty-navy {
    --tw-border-opacity: 1;
    border-left-color: rgb(15 43 87 / 1);
    border-left-color: rgb(15 43 87 / var(--tw-border-opacity, 1))
}
.border-l-drafty-navy\/20 {
    border-left-color: rgb(15 43 87 / 0.2)
}
.border-l-red-400 {
    --tw-border-opacity: 1;
    border-left-color: rgb(248 113 113 / 1);
    border-left-color: rgb(248 113 113 / var(--tw-border-opacity, 1))
}
.border-l-success {
    --tw-border-opacity: 1;
    border-left-color: rgb(34 197 94 / 1);
    border-left-color: rgb(34 197 94 / var(--tw-border-opacity, 1))
}
.border-l-transparent {
    border-left-color: transparent
}
.border-l-violet-500 {
    --tw-border-opacity: 1;
    border-left-color: rgb(139 92 246 / 1);
    border-left-color: rgb(139 92 246 / var(--tw-border-opacity, 1))
}
.border-l-warning {
    --tw-border-opacity: 1;
    border-left-color: rgb(245 158 11 / 1);
    border-left-color: rgb(245 158 11 / var(--tw-border-opacity, 1))
}
.border-r-transparent {
    border-right-color: transparent
}
.border-t-gray-800 {
    --tw-border-opacity: 1;
    border-top-color: rgb(31 41 55 / 1);
    border-top-color: rgb(31 41 55 / var(--tw-border-opacity, 1))
}
.border-t-gray-900 {
    --tw-border-opacity: 1;
    border-top-color: rgb(17 24 39 / 1);
    border-top-color: rgb(17 24 39 / var(--tw-border-opacity, 1))
}
.border-t-transparent {
    border-top-color: transparent
}
.border-t-white {
    --tw-border-opacity: 1;
    border-top-color: rgb(255 255 255 / 1);
    border-top-color: rgb(255 255 255 / var(--tw-border-opacity, 1))
}
.border-opacity-80 {
    --tw-border-opacity: 0.8
}
.bg-\[\#0f2b57\] {
    --tw-bg-opacity: 1;
    background-color: rgb(15 43 87 / 1);
    background-color: rgb(15 43 87 / var(--tw-bg-opacity, 1))
}
.bg-\[\#E5F4EE\] {
    --tw-bg-opacity: 1;
    background-color: rgb(229 244 238 / 1);
    background-color: rgb(229 244 238 / var(--tw-bg-opacity, 1))
}
.bg-\[\#f0f4fa\] {
    --tw-bg-opacity: 1;
    background-color: rgb(240 244 250 / 1);
    background-color: rgb(240 244 250 / var(--tw-bg-opacity, 1))
}
.bg-amber-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(254 243 199 / 1);
    background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1))
}
.bg-amber-200 {
    --tw-bg-opacity: 1;
    background-color: rgb(253 230 138 / 1);
    background-color: rgb(253 230 138 / var(--tw-bg-opacity, 1))
}
.bg-amber-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(255 251 235 / 1);
    background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1))
}
.bg-amber-50\/30 {
    background-color: rgb(255 251 235 / 0.3)
}
.bg-amber-50\/50 {
    background-color: rgb(255 251 235 / 0.5)
}
.bg-amber-50\/60 {
    background-color: rgb(255 251 235 / 0.6)
}
.bg-amber-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(245 158 11 / 1);
    background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1))
}
.bg-amber-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(217 119 6 / 1);
    background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1))
}
.bg-black {
    --tw-bg-opacity: 1;
    background-color: rgb(0 0 0 / 1);
    background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1))
}
.bg-black\/10 {
    background-color: rgb(0 0 0 / 0.1)
}
.bg-black\/20 {
    background-color: rgb(0 0 0 / 0.2)
}
.bg-black\/30 {
    background-color: rgb(0 0 0 / 0.3)
}
.bg-black\/40 {
    background-color: rgb(0 0 0 / 0.4)
}
.bg-black\/50 {
    background-color: rgb(0 0 0 / 0.5)
}
.bg-black\/60 {
    background-color: rgb(0 0 0 / 0.6)
}
.bg-blue-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(219 234 254 / 1);
    background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1))
}
.bg-blue-200 {
    --tw-bg-opacity: 1;
    background-color: rgb(191 219 254 / 1);
    background-color: rgb(191 219 254 / var(--tw-bg-opacity, 1))
}
.bg-blue-300 {
    --tw-bg-opacity: 1;
    background-color: rgb(147 197 253 / 1);
    background-color: rgb(147 197 253 / var(--tw-bg-opacity, 1))
}
.bg-blue-400 {
    --tw-bg-opacity: 1;
    background-color: rgb(96 165 250 / 1);
    background-color: rgb(96 165 250 / var(--tw-bg-opacity, 1))
}
.bg-blue-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(239 246 255 / 1);
    background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1))
}
.bg-blue-50\/30 {
    background-color: rgb(239 246 255 / 0.3)
}
.bg-blue-50\/40 {
    background-color: rgb(239 246 255 / 0.4)
}
.bg-blue-50\/50 {
    background-color: rgb(239 246 255 / 0.5)
}
.bg-blue-50\/60 {
    background-color: rgb(239 246 255 / 0.6)
}
.bg-blue-50\/80 {
    background-color: rgb(239 246 255 / 0.8)
}
.bg-blue-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(59 130 246 / 1);
    background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1))
}
.bg-blue-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(37 99 235 / 1);
    background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1))
}
.bg-cyan-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(8 145 178 / 1);
    background-color: rgb(8 145 178 / var(--tw-bg-opacity, 1))
}
.bg-drafty-blue {
    --tw-bg-opacity: 1;
    background-color: rgb(59 130 246 / 1);
    background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1))
}
.bg-drafty-blue\/10 {
    background-color: rgb(59 130 246 / 0.1)
}
.bg-drafty-blue\/5 {
    background-color: rgb(59 130 246 / 0.05)
}
.bg-drafty-navy {
    --tw-bg-opacity: 1;
    background-color: rgb(15 43 87 / 1);
    background-color: rgb(15 43 87 / var(--tw-bg-opacity, 1))
}
.bg-drafty-navy\/10 {
    background-color: rgb(15 43 87 / 0.1)
}
.bg-emerald-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(209 250 229 / 1);
    background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1))
}
.bg-emerald-300 {
    --tw-bg-opacity: 1;
    background-color: rgb(110 231 183 / 1);
    background-color: rgb(110 231 183 / var(--tw-bg-opacity, 1))
}
.bg-emerald-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(236 253 245 / 1);
    background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1))
}
.bg-emerald-50\/40 {
    background-color: rgb(236 253 245 / 0.4)
}
.bg-emerald-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(16 185 129 / 1);
    background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1))
}
.bg-emerald-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(5 150 105 / 1);
    background-color: rgb(5 150 105 / var(--tw-bg-opacity, 1))
}
.bg-fg-15 {
    --tw-bg-opacity: 1;
    background-color: rgb(229 231 235 / 1);
    background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1))
}
.bg-gray-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(243 244 246 / 1);
    background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1))
}
.bg-gray-200 {
    --tw-bg-opacity: 1;
    background-color: rgb(229 231 235 / 1);
    background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1))
}
.bg-gray-300 {
    --tw-bg-opacity: 1;
    background-color: rgb(209 213 219 / 1);
    background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1))
}
.bg-gray-400 {
    --tw-bg-opacity: 1;
    background-color: rgb(156 163 175 / 1);
    background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1))
}
.bg-gray-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(249 250 251 / 1);
    background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1))
}
.bg-gray-50\/40 {
    background-color: rgb(249 250 251 / 0.4)
}
.bg-gray-50\/50 {
    background-color: rgb(249 250 251 / 0.5)
}
.bg-gray-50\/60 {
    background-color: rgb(249 250 251 / 0.6)
}
.bg-gray-50\/80 {
    background-color: rgb(249 250 251 / 0.8)
}
.bg-gray-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(107 114 128 / 1);
    background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1))
}
.bg-gray-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(75 85 99 / 1);
    background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1))
}
.bg-gray-700 {
    --tw-bg-opacity: 1;
    background-color: rgb(55 65 81 / 1);
    background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1))
}
.bg-gray-800 {
    --tw-bg-opacity: 1;
    background-color: rgb(31 41 55 / 1);
    background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1))
}
.bg-gray-900 {
    --tw-bg-opacity: 1;
    background-color: rgb(17 24 39 / 1);
    background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1))
}
.bg-gray-900\/60 {
    background-color: rgb(17 24 39 / 0.6)
}
.bg-green-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(220 252 231 / 1);
    background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1))
}
.bg-green-400 {
    --tw-bg-opacity: 1;
    background-color: rgb(74 222 128 / 1);
    background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1))
}
.bg-green-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(240 253 244 / 1);
    background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1))
}
.bg-green-50\/30 {
    background-color: rgb(240 253 244 / 0.3)
}
.bg-green-50\/50 {
    background-color: rgb(240 253 244 / 0.5)
}
.bg-green-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(34 197 94 / 1);
    background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1))
}
.bg-green-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(22 163 74 / 1);
    background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1))
}
.bg-indigo-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(224 231 255 / 1);
    background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1))
}
.bg-indigo-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(238 242 255 / 1);
    background-color: rgb(238 242 255 / var(--tw-bg-opacity, 1))
}
.bg-indigo-50\/30 {
    background-color: rgb(238 242 255 / 0.3)
}
.bg-indigo-50\/40 {
    background-color: rgb(238 242 255 / 0.4)
}
.bg-indigo-50\/60 {
    background-color: rgb(238 242 255 / 0.6)
}
.bg-indigo-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(99 102 241 / 1);
    background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1))
}
.bg-indigo-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(79 70 229 / 1);
    background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1))
}
.bg-navy\/5 {
    background-color: rgb(15 43 87 / 0.05)
}
.bg-orange-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(255 247 237 / 1);
    background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1))
}
.bg-orange-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(234 88 12 / 1);
    background-color: rgb(234 88 12 / var(--tw-bg-opacity, 1))
}
.bg-purple-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(243 232 255 / 1);
    background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1))
}
.bg-purple-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(250 245 255 / 1);
    background-color: rgb(250 245 255 / var(--tw-bg-opacity, 1))
}
.bg-purple-50\/30 {
    background-color: rgb(250 245 255 / 0.3)
}
.bg-purple-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(168 85 247 / 1);
    background-color: rgb(168 85 247 / var(--tw-bg-opacity, 1))
}
.bg-purple-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(147 51 234 / 1);
    background-color: rgb(147 51 234 / var(--tw-bg-opacity, 1))
}
.bg-red-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(254 226 226 / 1);
    background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1))
}
.bg-red-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(254 242 242 / 1);
    background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1))
}
.bg-red-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(239 68 68 / 1);
    background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1))
}
.bg-red-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(220 38 38 / 1);
    background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1))
}
.bg-rose-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(255 228 230 / 1);
    background-color: rgb(255 228 230 / var(--tw-bg-opacity, 1))
}
.bg-rose-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(255 241 242 / 1);
    background-color: rgb(255 241 242 / var(--tw-bg-opacity, 1))
}
.bg-slate-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(241 245 249 / 1);
    background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1))
}
.bg-slate-200 {
    --tw-bg-opacity: 1;
    background-color: rgb(226 232 240 / 1);
    background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1))
}
.bg-slate-300 {
    --tw-bg-opacity: 1;
    background-color: rgb(203 213 225 / 1);
    background-color: rgb(203 213 225 / var(--tw-bg-opacity, 1))
}
.bg-slate-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(248 250 252 / 1);
    background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1))
}
.bg-slate-50\/60 {
    background-color: rgb(248 250 252 / 0.6)
}
.bg-slate-50\/80 {
    background-color: rgb(248 250 252 / 0.8)
}
.bg-slate-700 {
    --tw-bg-opacity: 1;
    background-color: rgb(51 65 85 / 1);
    background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1))
}
.bg-success {
    --tw-bg-opacity: 1;
    background-color: rgb(34 197 94 / 1);
    background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1))
}
.bg-success\/10 {
    background-color: rgb(34 197 94 / 0.1)
}
.bg-teal-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(204 251 241 / 1);
    background-color: rgb(204 251 241 / var(--tw-bg-opacity, 1))
}
.bg-transparent {
    background-color: transparent
}
.bg-violet-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(237 233 254 / 1);
    background-color: rgb(237 233 254 / var(--tw-bg-opacity, 1))
}
.bg-violet-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(245 243 255 / 1);
    background-color: rgb(245 243 255 / var(--tw-bg-opacity, 1))
}
.bg-violet-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(139 92 246 / 1);
    background-color: rgb(139 92 246 / var(--tw-bg-opacity, 1))
}
.bg-violet-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(124 58 237 / 1);
    background-color: rgb(124 58 237 / var(--tw-bg-opacity, 1))
}
.bg-warn-bg {
    --tw-bg-opacity: 1;
    background-color: rgb(255 243 230 / 1);
    background-color: rgb(255 243 230 / var(--tw-bg-opacity, 1))
}
.bg-warning {
    --tw-bg-opacity: 1;
    background-color: rgb(245 158 11 / 1);
    background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1))
}
.bg-warning\/10 {
    background-color: rgb(245 158 11 / 0.1)
}
.bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / 1);
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1))
}
.bg-white\/20 {
    background-color: rgb(255 255 255 / 0.2)
}
.bg-white\/30 {
    background-color: rgb(255 255 255 / 0.3)
}
.bg-white\/50 {
    background-color: rgb(255 255 255 / 0.5)
}
.bg-white\/60 {
    background-color: rgb(255 255 255 / 0.6)
}
.bg-white\/70 {
    background-color: rgb(255 255 255 / 0.7)
}
.bg-yellow-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(254 249 195 / 1);
    background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1))
}
.bg-yellow-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(254 252 232 / 1);
    background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1))
}
.bg-yellow-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(234 179 8 / 1);
    background-color: rgb(234 179 8 / var(--tw-bg-opacity, 1))
}
.bg-yellow-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(202 138 4 / 1);
    background-color: rgb(202 138 4 / var(--tw-bg-opacity, 1))
}
.bg-opacity-25 {
    --tw-bg-opacity: 0.25
}
.bg-opacity-50 {
    --tw-bg-opacity: 0.5
}
.bg-opacity-70 {
    --tw-bg-opacity: 0.7
}
.bg-opacity-75 {
    --tw-bg-opacity: 0.75
}
.bg-\[radial-gradient\(circle_at_30\%_30\%\2c rgba\(59\2c 130\2c 246\2c 0\.08\)\2c transparent_55\%\)\] {
    background-image: radial-gradient(circle at 30% 30%,rgba(59,130,246,0.08),transparent 55%)
}
.bg-\[radial-gradient\(circle_at_70\%_80\%\2c rgba\(59\2c 130\2c 246\2c 0\.06\)\2c transparent_50\%\)\] {
    background-image: radial-gradient(circle at 70% 80%,rgba(59,130,246,0.06),transparent 50%)
}
.bg-gradient-to-br {
    background-image: linear-gradient(to bottom right, var(--tw-gradient-stops))
}
.bg-gradient-to-r {
    background-image: linear-gradient(to right, var(--tw-gradient-stops))
}
.bg-surface-gradient {
    background-image: linear-gradient(180deg, #ffffff 0%, #fafbfc 100%)
}
.from-amber-100 {
    --tw-gradient-from: #fef3c7 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(254 243 199 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}
.from-amber-50 {
    --tw-gradient-from: #fffbeb var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(255 251 235 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}
.from-amber-500 {
    --tw-gradient-from: #f59e0b var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}
.from-blue-400 {
    --tw-gradient-from: #60a5fa var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(96 165 250 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}
.from-blue-50 {
    --tw-gradient-from: #eff6ff var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}
.from-blue-500 {
    --tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}
.from-blue-600 {
    --tw-gradient-from: #2563eb var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}
.from-gray-200 {
    --tw-gradient-from: #e5e7eb var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(229 231 235 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}
.from-gray-50 {
    --tw-gradient-from: #f9fafb var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(249 250 251 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}
.from-gray-500 {
    --tw-gradient-from: #6b7280 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(107 114 128 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}
.from-green-50 {
    --tw-gradient-from: #f0fdf4 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(240 253 244 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}
.from-red-500 {
    --tw-gradient-from: #ef4444 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}
.from-red-600 {
    --tw-gradient-from: #dc2626 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(220 38 38 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}
.from-slate-50 {
    --tw-gradient-from: #f8fafc var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(248 250 252 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}
.from-slate-500 {
    --tw-gradient-from: #64748b var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(100 116 139 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}
.from-slate-600 {
    --tw-gradient-from: #475569 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(71 85 105 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}
.from-transparent {
    --tw-gradient-from: transparent var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}
.from-violet-50 {
    --tw-gradient-from: #f5f3ff var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(245 243 255 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}
.from-violet-600 {
    --tw-gradient-from: #7c3aed var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(124 58 237 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}
.via-gray-100 {
    --tw-gradient-to: rgb(243 244 246 / 0)  var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), #f3f4f6 var(--tw-gradient-via-position), var(--tw-gradient-to)
}
.via-gray-300 {
    --tw-gradient-to: rgb(209 213 219 / 0)  var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), #d1d5db var(--tw-gradient-via-position), var(--tw-gradient-to)
}
.via-indigo-50 {
    --tw-gradient-to: rgb(238 242 255 / 0)  var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), #eef2ff var(--tw-gradient-via-position), var(--tw-gradient-to)
}
.via-orange-500 {
    --tw-gradient-to: rgb(249 115 22 / 0)  var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), #f97316 var(--tw-gradient-via-position), var(--tw-gradient-to)
}
.via-red-500 {
    --tw-gradient-to: rgb(239 68 68 / 0)  var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), #ef4444 var(--tw-gradient-via-position), var(--tw-gradient-to)
}
.via-white {
    --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), #fff var(--tw-gradient-via-position), var(--tw-gradient-to)
}
.to-amber-50 {
    --tw-gradient-to: #fffbeb var(--tw-gradient-to-position)
}
.to-amber-500 {
    --tw-gradient-to: #f59e0b var(--tw-gradient-to-position)
}
.to-blue-400 {
    --tw-gradient-to: #60a5fa var(--tw-gradient-to-position)
}
.to-blue-50 {
    --tw-gradient-to: #eff6ff var(--tw-gradient-to-position)
}
.to-blue-50\/30 {
    --tw-gradient-to: rgb(239 246 255 / 0.3) var(--tw-gradient-to-position)
}
.to-blue-500 {
    --tw-gradient-to: #3b82f6 var(--tw-gradient-to-position)
}
.to-blue-600 {
    --tw-gradient-to: #2563eb var(--tw-gradient-to-position)
}
.to-blue-700 {
    --tw-gradient-to: #1d4ed8 var(--tw-gradient-to-position)
}
.to-emerald-50 {
    --tw-gradient-to: #ecfdf5 var(--tw-gradient-to-position)
}
.to-gray-100 {
    --tw-gradient-to: #f3f4f6 var(--tw-gradient-to-position)
}
.to-gray-200 {
    --tw-gradient-to: #e5e7eb var(--tw-gradient-to-position)
}
.to-gray-600 {
    --tw-gradient-to: #4b5563 var(--tw-gradient-to-position)
}
.to-indigo-50 {
    --tw-gradient-to: #eef2ff var(--tw-gradient-to-position)
}
.to-indigo-600 {
    --tw-gradient-to: #4f46e5 var(--tw-gradient-to-position)
}
.to-indigo-700 {
    --tw-gradient-to: #4338ca var(--tw-gradient-to-position)
}
.to-orange-500 {
    --tw-gradient-to: #f97316 var(--tw-gradient-to-position)
}
.to-purple-400 {
    --tw-gradient-to: #c084fc var(--tw-gradient-to-position)
}
.to-purple-50 {
    --tw-gradient-to: #faf5ff var(--tw-gradient-to-position)
}
.to-red-500 {
    --tw-gradient-to: #ef4444 var(--tw-gradient-to-position)
}
.to-red-600 {
    --tw-gradient-to: #dc2626 var(--tw-gradient-to-position)
}
.to-slate-600 {
    --tw-gradient-to: #475569 var(--tw-gradient-to-position)
}
.to-slate-700 {
    --tw-gradient-to: #334155 var(--tw-gradient-to-position)
}
.to-transparent {
    --tw-gradient-to: transparent var(--tw-gradient-to-position)
}
.to-yellow-50 {
    --tw-gradient-to: #fefce8 var(--tw-gradient-to-position)
}
.bg-\[length\:8px_8px\] {
    background-size: 8px 8px
}
.bg-clip-text {
    -webkit-background-clip: text;
            background-clip: text
}
.bg-repeat-x {
    background-repeat: repeat-x
}
.object-contain {
    object-fit: contain
}
.p-0 {
    padding: 0px
}
.p-0\.5 {
    padding: 0.125rem
}
.p-1 {
    padding: 0.25rem
}
.p-1\.5 {
    padding: 0.375rem
}
.p-10 {
    padding: 2.5rem
}
.p-12 {
    padding: 3rem
}
.p-2 {
    padding: 0.5rem
}
.p-2\.5 {
    padding: 0.625rem
}
.p-24 {
    padding: 6rem
}
.p-3 {
    padding: 0.75rem
}
.p-3\.5 {
    padding: 0.875rem
}
.p-4 {
    padding: 1rem
}
.p-5 {
    padding: 1.25rem
}
.p-6 {
    padding: 1.5rem
}
.p-8 {
    padding: 2rem
}
.px-0 {
    padding-left: 0px;
    padding-right: 0px
}
.px-1 {
    padding-left: 0.25rem;
    padding-right: 0.25rem
}
.px-1\.5 {
    padding-left: 0.375rem;
    padding-right: 0.375rem
}
.px-12 {
    padding-left: 3rem;
    padding-right: 3rem
}
.px-14 {
    padding-left: 3.5rem;
    padding-right: 3.5rem
}
.px-2 {
    padding-left: 0.5rem;
    padding-right: 0.5rem
}
.px-2\.5 {
    padding-left: 0.625rem;
    padding-right: 0.625rem
}
.px-3 {
    padding-left: 0.75rem;
    padding-right: 0.75rem
}
.px-3\.5 {
    padding-left: 0.875rem;
    padding-right: 0.875rem
}
.px-4 {
    padding-left: 1rem;
    padding-right: 1rem
}
.px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem
}
.px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem
}
.px-8 {
    padding-left: 2rem;
    padding-right: 2rem
}
.px-\[18px\] {
    padding-left: 18px;
    padding-right: 18px
}
.py-0\.5 {
    padding-top: 0.125rem;
    padding-bottom: 0.125rem
}
.py-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem
}
.py-1\.5 {
    padding-top: 0.375rem;
    padding-bottom: 0.375rem
}
.py-10 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem
}
.py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem
}
.py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem
}
.py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem
}
.py-2\.5 {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem
}
.py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem
}
.py-3\.5 {
    padding-top: 0.875rem;
    padding-bottom: 0.875rem
}
.py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem
}
.py-5 {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem
}
.py-6 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem
}
.py-7 {
    padding-top: 1.75rem;
    padding-bottom: 1.75rem
}
.py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem
}
.py-\[10px\] {
    padding-top: 10px;
    padding-bottom: 10px
}
.py-\[2px\] {
    padding-top: 2px;
    padding-bottom: 2px
}
.py-\[9px\] {
    padding-top: 9px;
    padding-bottom: 9px
}
.pb-1 {
    padding-bottom: 0.25rem
}
.pb-12 {
    padding-bottom: 3rem
}
.pb-2 {
    padding-bottom: 0.5rem
}
.pb-20 {
    padding-bottom: 5rem
}
.pb-28 {
    padding-bottom: 7rem
}
.pb-3 {
    padding-bottom: 0.75rem
}
.pb-4 {
    padding-bottom: 1rem
}
.pb-5 {
    padding-bottom: 1.25rem
}
.pb-6 {
    padding-bottom: 1.5rem
}
.pb-8 {
    padding-bottom: 2rem
}
.pl-1 {
    padding-left: 0.25rem
}
.pl-10 {
    padding-left: 2.5rem
}
.pl-12 {
    padding-left: 3rem
}
.pl-2 {
    padding-left: 0.5rem
}
.pl-2\.5 {
    padding-left: 0.625rem
}
.pl-3 {
    padding-left: 0.75rem
}
.pl-4 {
    padding-left: 1rem
}
.pl-48 {
    padding-left: 12rem
}
.pl-5 {
    padding-left: 1.25rem
}
.pl-6 {
    padding-left: 1.5rem
}
.pl-7 {
    padding-left: 1.75rem
}
.pl-8 {
    padding-left: 2rem
}
.pl-9 {
    padding-left: 2.25rem
}
.pr-1 {
    padding-right: 0.25rem
}
.pr-10 {
    padding-right: 2.5rem
}
.pr-2 {
    padding-right: 0.5rem
}
.pr-3 {
    padding-right: 0.75rem
}
.pr-32 {
    padding-right: 8rem
}
.pr-4 {
    padding-right: 1rem
}
.pr-8 {
    padding-right: 2rem
}
.pt-1 {
    padding-top: 0.25rem
}
.pt-1\.5 {
    padding-top: 0.375rem
}
.pt-10 {
    padding-top: 2.5rem
}
.pt-2 {
    padding-top: 0.5rem
}
.pt-3 {
    padding-top: 0.75rem
}
.pt-4 {
    padding-top: 1rem
}
.pt-5 {
    padding-top: 1.25rem
}
.pt-6 {
    padding-top: 1.5rem
}
.text-left {
    text-align: left
}
.text-center {
    text-align: center
}
.text-right {
    text-align: right
}
.text-justify {
    text-align: justify
}
.align-middle {
    vertical-align: middle
}
.align-bottom {
    vertical-align: bottom
}
.font-mono {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace
}
.font-sans {
    font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"
}
.font-serif {
    font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif
}
.text-2xl {
    font-size: 1.5rem;
    line-height: 2rem
}
.text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem
}
.text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem
}
.text-5xl {
    font-size: 3rem;
    line-height: 1
}
.text-\[10px\] {
    font-size: 10px
}
.text-\[11px\] {
    font-size: 11px
}
.text-\[13px\] {
    font-size: 13px
}
.text-\[15px\] {
    font-size: 15px
}
.text-\[2\.025rem\] {
    font-size: 2.025rem
}
.text-\[22px\] {
    font-size: 22px
}
.text-\[28px\] {
    font-size: 28px
}
.text-\[9px\] {
    font-size: 9px
}
.text-base {
    font-size: 1rem;
    line-height: 1.5rem
}
.text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem
}
.text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem
}
.text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem
}
.text-xs {
    font-size: 0.75rem;
    line-height: 1rem
}
.font-bold {
    font-weight: 700
}
.font-medium {
    font-weight: 500
}
.font-normal {
    font-weight: 400
}
.font-semibold {
    font-weight: 600
}
.uppercase {
    text-transform: uppercase
}
.lowercase {
    text-transform: lowercase
}
.capitalize {
    text-transform: capitalize
}
.italic {
    font-style: italic
}
.tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-feature-settings: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
    font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)
}
.leading-5 {
    line-height: 1.25rem
}
.leading-6 {
    line-height: 1.5rem
}
.leading-7 {
    line-height: 1.75rem
}
.leading-\[1\.1\] {
    line-height: 1.1
}
.leading-none {
    line-height: 1
}
.leading-normal {
    line-height: 1.5
}
.leading-relaxed {
    line-height: 1.625
}
.leading-snug {
    line-height: 1.375
}
.leading-tight {
    line-height: 1.25
}
.tracking-\[-0\.01em\] {
    letter-spacing: -0.01em
}
.tracking-tight {
    letter-spacing: -0.025em
}
.tracking-wide {
    letter-spacing: 0.025em
}
.tracking-wider {
    letter-spacing: 0.05em
}
.text-\[\#008250\] {
    --tw-text-opacity: 1;
    color: rgb(0 130 80 / 1);
    color: rgb(0 130 80 / var(--tw-text-opacity, 1))
}
.text-\[\#0A1E3F\] {
    --tw-text-opacity: 1;
    color: rgb(10 30 63 / 1);
    color: rgb(10 30 63 / var(--tw-text-opacity, 1))
}
.text-\[\#0f2b57\] {
    --tw-text-opacity: 1;
    color: rgb(15 43 87 / 1);
    color: rgb(15 43 87 / var(--tw-text-opacity, 1))
}
.text-\[\#1C57B6\] {
    --tw-text-opacity: 1;
    color: rgb(28 87 182 / 1);
    color: rgb(28 87 182 / var(--tw-text-opacity, 1))
}
.text-\[\#4691F7\] {
    --tw-text-opacity: 1;
    color: rgb(70 145 247 / 1);
    color: rgb(70 145 247 / var(--tw-text-opacity, 1))
}
.text-\[\#4F4F4F\] {
    --tw-text-opacity: 1;
    color: rgb(79 79 79 / 1);
    color: rgb(79 79 79 / var(--tw-text-opacity, 1))
}
.text-\[\#6E6E6E\] {
    --tw-text-opacity: 1;
    color: rgb(110 110 110 / 1);
    color: rgb(110 110 110 / var(--tw-text-opacity, 1))
}
.text-amber-100 {
    --tw-text-opacity: 1;
    color: rgb(254 243 199 / 1);
    color: rgb(254 243 199 / var(--tw-text-opacity, 1))
}
.text-amber-300 {
    --tw-text-opacity: 1;
    color: rgb(252 211 77 / 1);
    color: rgb(252 211 77 / var(--tw-text-opacity, 1))
}
.text-amber-500 {
    --tw-text-opacity: 1;
    color: rgb(245 158 11 / 1);
    color: rgb(245 158 11 / var(--tw-text-opacity, 1))
}
.text-amber-600 {
    --tw-text-opacity: 1;
    color: rgb(217 119 6 / 1);
    color: rgb(217 119 6 / var(--tw-text-opacity, 1))
}
.text-amber-700 {
    --tw-text-opacity: 1;
    color: rgb(180 83 9 / 1);
    color: rgb(180 83 9 / var(--tw-text-opacity, 1))
}
.text-amber-800 {
    --tw-text-opacity: 1;
    color: rgb(146 64 14 / 1);
    color: rgb(146 64 14 / var(--tw-text-opacity, 1))
}
.text-amber-800\/80 {
    color: rgb(146 64 14 / 0.8)
}
.text-amber-900 {
    --tw-text-opacity: 1;
    color: rgb(120 53 15 / 1);
    color: rgb(120 53 15 / var(--tw-text-opacity, 1))
}
.text-amber-900\/80 {
    color: rgb(120 53 15 / 0.8)
}
.text-black {
    --tw-text-opacity: 1;
    color: rgb(0 0 0 / 1);
    color: rgb(0 0 0 / var(--tw-text-opacity, 1))
}
.text-blue-100 {
    --tw-text-opacity: 1;
    color: rgb(219 234 254 / 1);
    color: rgb(219 234 254 / var(--tw-text-opacity, 1))
}
.text-blue-200 {
    --tw-text-opacity: 1;
    color: rgb(191 219 254 / 1);
    color: rgb(191 219 254 / var(--tw-text-opacity, 1))
}
.text-blue-400 {
    --tw-text-opacity: 1;
    color: rgb(96 165 250 / 1);
    color: rgb(96 165 250 / var(--tw-text-opacity, 1))
}
.text-blue-500 {
    --tw-text-opacity: 1;
    color: rgb(59 130 246 / 1);
    color: rgb(59 130 246 / var(--tw-text-opacity, 1))
}
.text-blue-500\/50 {
    color: rgb(59 130 246 / 0.5)
}
.text-blue-600 {
    --tw-text-opacity: 1;
    color: rgb(37 99 235 / 1);
    color: rgb(37 99 235 / var(--tw-text-opacity, 1))
}
.text-blue-700 {
    --tw-text-opacity: 1;
    color: rgb(29 78 216 / 1);
    color: rgb(29 78 216 / var(--tw-text-opacity, 1))
}
.text-blue-800 {
    --tw-text-opacity: 1;
    color: rgb(30 64 175 / 1);
    color: rgb(30 64 175 / var(--tw-text-opacity, 1))
}
.text-blue-900 {
    --tw-text-opacity: 1;
    color: rgb(30 58 138 / 1);
    color: rgb(30 58 138 / var(--tw-text-opacity, 1))
}
.text-cyan-600 {
    --tw-text-opacity: 1;
    color: rgb(8 145 178 / 1);
    color: rgb(8 145 178 / var(--tw-text-opacity, 1))
}
.text-drafty-blue {
    --tw-text-opacity: 1;
    color: rgb(59 130 246 / 1);
    color: rgb(59 130 246 / var(--tw-text-opacity, 1))
}
.text-drafty-navy {
    --tw-text-opacity: 1;
    color: rgb(15 43 87 / 1);
    color: rgb(15 43 87 / var(--tw-text-opacity, 1))
}
.text-emerald-500 {
    --tw-text-opacity: 1;
    color: rgb(16 185 129 / 1);
    color: rgb(16 185 129 / var(--tw-text-opacity, 1))
}
.text-emerald-600 {
    --tw-text-opacity: 1;
    color: rgb(5 150 105 / 1);
    color: rgb(5 150 105 / var(--tw-text-opacity, 1))
}
.text-emerald-700 {
    --tw-text-opacity: 1;
    color: rgb(4 120 87 / 1);
    color: rgb(4 120 87 / var(--tw-text-opacity, 1))
}
.text-emerald-800 {
    --tw-text-opacity: 1;
    color: rgb(6 95 70 / 1);
    color: rgb(6 95 70 / var(--tw-text-opacity, 1))
}
.text-emerald-900 {
    --tw-text-opacity: 1;
    color: rgb(6 78 59 / 1);
    color: rgb(6 78 59 / var(--tw-text-opacity, 1))
}
.text-fg-1 {
    --tw-text-opacity: 1;
    color: rgb(26 26 26 / 1);
    color: rgb(26 26 26 / var(--tw-text-opacity, 1))
}
.text-fg-3 {
    --tw-text-opacity: 1;
    color: rgb(55 65 81 / 1);
    color: rgb(55 65 81 / var(--tw-text-opacity, 1))
}
.text-fg-5 {
    --tw-text-opacity: 1;
    color: rgb(74 85 104 / 1);
    color: rgb(74 85 104 / var(--tw-text-opacity, 1))
}
.text-fg-7 {
    --tw-text-opacity: 1;
    color: rgb(107 114 128 / 1);
    color: rgb(107 114 128 / var(--tw-text-opacity, 1))
}
.text-gray-100 {
    --tw-text-opacity: 1;
    color: rgb(243 244 246 / 1);
    color: rgb(243 244 246 / var(--tw-text-opacity, 1))
}
.text-gray-200 {
    --tw-text-opacity: 1;
    color: rgb(229 231 235 / 1);
    color: rgb(229 231 235 / var(--tw-text-opacity, 1))
}
.text-gray-300 {
    --tw-text-opacity: 1;
    color: rgb(209 213 219 / 1);
    color: rgb(209 213 219 / var(--tw-text-opacity, 1))
}
.text-gray-400 {
    --tw-text-opacity: 1;
    color: rgb(156 163 175 / 1);
    color: rgb(156 163 175 / var(--tw-text-opacity, 1))
}
.text-gray-500 {
    --tw-text-opacity: 1;
    color: rgb(107 114 128 / 1);
    color: rgb(107 114 128 / var(--tw-text-opacity, 1))
}
.text-gray-600 {
    --tw-text-opacity: 1;
    color: rgb(75 85 99 / 1);
    color: rgb(75 85 99 / var(--tw-text-opacity, 1))
}
.text-gray-700 {
    --tw-text-opacity: 1;
    color: rgb(55 65 81 / 1);
    color: rgb(55 65 81 / var(--tw-text-opacity, 1))
}
.text-gray-800 {
    --tw-text-opacity: 1;
    color: rgb(31 41 55 / 1);
    color: rgb(31 41 55 / var(--tw-text-opacity, 1))
}
.text-gray-900 {
    --tw-text-opacity: 1;
    color: rgb(17 24 39 / 1);
    color: rgb(17 24 39 / var(--tw-text-opacity, 1))
}
.text-green-500 {
    --tw-text-opacity: 1;
    color: rgb(34 197 94 / 1);
    color: rgb(34 197 94 / var(--tw-text-opacity, 1))
}
.text-green-600 {
    --tw-text-opacity: 1;
    color: rgb(22 163 74 / 1);
    color: rgb(22 163 74 / var(--tw-text-opacity, 1))
}
.text-green-700 {
    --tw-text-opacity: 1;
    color: rgb(21 128 61 / 1);
    color: rgb(21 128 61 / var(--tw-text-opacity, 1))
}
.text-green-800 {
    --tw-text-opacity: 1;
    color: rgb(22 101 52 / 1);
    color: rgb(22 101 52 / var(--tw-text-opacity, 1))
}
.text-green-900 {
    --tw-text-opacity: 1;
    color: rgb(20 83 45 / 1);
    color: rgb(20 83 45 / var(--tw-text-opacity, 1))
}
.text-indigo-200 {
    --tw-text-opacity: 1;
    color: rgb(199 210 254 / 1);
    color: rgb(199 210 254 / var(--tw-text-opacity, 1))
}
.text-indigo-400 {
    --tw-text-opacity: 1;
    color: rgb(129 140 248 / 1);
    color: rgb(129 140 248 / var(--tw-text-opacity, 1))
}
.text-indigo-500 {
    --tw-text-opacity: 1;
    color: rgb(99 102 241 / 1);
    color: rgb(99 102 241 / var(--tw-text-opacity, 1))
}
.text-indigo-600 {
    --tw-text-opacity: 1;
    color: rgb(79 70 229 / 1);
    color: rgb(79 70 229 / var(--tw-text-opacity, 1))
}
.text-indigo-700 {
    --tw-text-opacity: 1;
    color: rgb(67 56 202 / 1);
    color: rgb(67 56 202 / var(--tw-text-opacity, 1))
}
.text-indigo-800 {
    --tw-text-opacity: 1;
    color: rgb(55 48 163 / 1);
    color: rgb(55 48 163 / var(--tw-text-opacity, 1))
}
.text-indigo-900 {
    --tw-text-opacity: 1;
    color: rgb(49 46 129 / 1);
    color: rgb(49 46 129 / var(--tw-text-opacity, 1))
}
.text-navy {
    --tw-text-opacity: 1;
    color: rgb(15 43 87 / 1);
    color: rgb(15 43 87 / var(--tw-text-opacity, 1))
}
.text-orange-600 {
    --tw-text-opacity: 1;
    color: rgb(234 88 12 / 1);
    color: rgb(234 88 12 / var(--tw-text-opacity, 1))
}
.text-orange-700 {
    --tw-text-opacity: 1;
    color: rgb(194 65 12 / 1);
    color: rgb(194 65 12 / var(--tw-text-opacity, 1))
}
.text-purple-500 {
    --tw-text-opacity: 1;
    color: rgb(168 85 247 / 1);
    color: rgb(168 85 247 / var(--tw-text-opacity, 1))
}
.text-purple-600 {
    --tw-text-opacity: 1;
    color: rgb(147 51 234 / 1);
    color: rgb(147 51 234 / var(--tw-text-opacity, 1))
}
.text-purple-700 {
    --tw-text-opacity: 1;
    color: rgb(126 34 206 / 1);
    color: rgb(126 34 206 / var(--tw-text-opacity, 1))
}
.text-purple-800 {
    --tw-text-opacity: 1;
    color: rgb(107 33 168 / 1);
    color: rgb(107 33 168 / var(--tw-text-opacity, 1))
}
.text-red-400 {
    --tw-text-opacity: 1;
    color: rgb(248 113 113 / 1);
    color: rgb(248 113 113 / var(--tw-text-opacity, 1))
}
.text-red-500 {
    --tw-text-opacity: 1;
    color: rgb(239 68 68 / 1);
    color: rgb(239 68 68 / var(--tw-text-opacity, 1))
}
.text-red-600 {
    --tw-text-opacity: 1;
    color: rgb(220 38 38 / 1);
    color: rgb(220 38 38 / var(--tw-text-opacity, 1))
}
.text-red-700 {
    --tw-text-opacity: 1;
    color: rgb(185 28 28 / 1);
    color: rgb(185 28 28 / var(--tw-text-opacity, 1))
}
.text-red-700\/75 {
    color: rgb(185 28 28 / 0.75)
}
.text-red-800 {
    --tw-text-opacity: 1;
    color: rgb(153 27 27 / 1);
    color: rgb(153 27 27 / var(--tw-text-opacity, 1))
}
.text-red-900 {
    --tw-text-opacity: 1;
    color: rgb(127 29 29 / 1);
    color: rgb(127 29 29 / var(--tw-text-opacity, 1))
}
.text-rose-800 {
    --tw-text-opacity: 1;
    color: rgb(159 18 57 / 1);
    color: rgb(159 18 57 / var(--tw-text-opacity, 1))
}
.text-rose-900 {
    --tw-text-opacity: 1;
    color: rgb(136 19 55 / 1);
    color: rgb(136 19 55 / var(--tw-text-opacity, 1))
}
.text-slate-400 {
    --tw-text-opacity: 1;
    color: rgb(148 163 184 / 1);
    color: rgb(148 163 184 / var(--tw-text-opacity, 1))
}
.text-slate-500 {
    --tw-text-opacity: 1;
    color: rgb(100 116 139 / 1);
    color: rgb(100 116 139 / var(--tw-text-opacity, 1))
}
.text-slate-600 {
    --tw-text-opacity: 1;
    color: rgb(71 85 105 / 1);
    color: rgb(71 85 105 / var(--tw-text-opacity, 1))
}
.text-slate-700 {
    --tw-text-opacity: 1;
    color: rgb(51 65 85 / 1);
    color: rgb(51 65 85 / var(--tw-text-opacity, 1))
}
.text-slate-800 {
    --tw-text-opacity: 1;
    color: rgb(30 41 59 / 1);
    color: rgb(30 41 59 / var(--tw-text-opacity, 1))
}
.text-slate-900 {
    --tw-text-opacity: 1;
    color: rgb(15 23 42 / 1);
    color: rgb(15 23 42 / var(--tw-text-opacity, 1))
}
.text-success {
    --tw-text-opacity: 1;
    color: rgb(34 197 94 / 1);
    color: rgb(34 197 94 / var(--tw-text-opacity, 1))
}
.text-teal-800 {
    --tw-text-opacity: 1;
    color: rgb(17 94 89 / 1);
    color: rgb(17 94 89 / var(--tw-text-opacity, 1))
}
.text-transparent {
    color: transparent
}
.text-violet-600 {
    --tw-text-opacity: 1;
    color: rgb(124 58 237 / 1);
    color: rgb(124 58 237 / var(--tw-text-opacity, 1))
}
.text-violet-700 {
    --tw-text-opacity: 1;
    color: rgb(109 40 217 / 1);
    color: rgb(109 40 217 / var(--tw-text-opacity, 1))
}
.text-violet-800 {
    --tw-text-opacity: 1;
    color: rgb(91 33 182 / 1);
    color: rgb(91 33 182 / var(--tw-text-opacity, 1))
}
.text-warn-text {
    --tw-text-opacity: 1;
    color: rgb(102 51 0 / 1);
    color: rgb(102 51 0 / var(--tw-text-opacity, 1))
}
.text-warning {
    --tw-text-opacity: 1;
    color: rgb(245 158 11 / 1);
    color: rgb(245 158 11 / var(--tw-text-opacity, 1))
}
.text-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / 1);
    color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}
.text-white\/80 {
    color: rgb(255 255 255 / 0.8)
}
.text-yellow-300 {
    --tw-text-opacity: 1;
    color: rgb(253 224 71 / 1);
    color: rgb(253 224 71 / var(--tw-text-opacity, 1))
}
.text-yellow-400 {
    --tw-text-opacity: 1;
    color: rgb(250 204 21 / 1);
    color: rgb(250 204 21 / var(--tw-text-opacity, 1))
}
.text-yellow-500 {
    --tw-text-opacity: 1;
    color: rgb(234 179 8 / 1);
    color: rgb(234 179 8 / var(--tw-text-opacity, 1))
}
.text-yellow-600 {
    --tw-text-opacity: 1;
    color: rgb(202 138 4 / 1);
    color: rgb(202 138 4 / var(--tw-text-opacity, 1))
}
.text-yellow-700 {
    --tw-text-opacity: 1;
    color: rgb(161 98 7 / 1);
    color: rgb(161 98 7 / var(--tw-text-opacity, 1))
}
.text-yellow-800 {
    --tw-text-opacity: 1;
    color: rgb(133 77 14 / 1);
    color: rgb(133 77 14 / var(--tw-text-opacity, 1))
}
.underline {
    -webkit-text-decoration-line: underline;
            text-decoration-line: underline
}
.line-through {
    -webkit-text-decoration-line: line-through;
            text-decoration-line: line-through
}
.no-underline {
    -webkit-text-decoration-line: none;
            text-decoration-line: none
}
.decoration-amber-400 {
    -webkit-text-decoration-color: #fbbf24;
            text-decoration-color: #fbbf24
}
.decoration-red-400 {
    -webkit-text-decoration-color: #f87171;
            text-decoration-color: #f87171
}
.decoration-dotted {
    -webkit-text-decoration-style: dotted;
            text-decoration-style: dotted
}
.underline-offset-2 {
    text-underline-offset: 2px
}
.placeholder-gray-400::placeholder {
    --tw-placeholder-opacity: 1;
    color: rgb(156 163 175 / 1);
    color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1))
}
.placeholder-gray-600::placeholder {
    --tw-placeholder-opacity: 1;
    color: rgb(75 85 99 / 1);
    color: rgb(75 85 99 / var(--tw-placeholder-opacity, 1))
}
.opacity-0 {
    opacity: 0
}
.opacity-10 {
    opacity: 0.1
}
.opacity-100 {
    opacity: 1
}
.opacity-20 {
    opacity: 0.2
}
.opacity-25 {
    opacity: 0.25
}
.opacity-40 {
    opacity: 0.4
}
.opacity-50 {
    opacity: 0.5
}
.opacity-60 {
    opacity: 0.6
}
.opacity-75 {
    opacity: 0.75
}
.opacity-80 {
    opacity: 0.8
}
.opacity-90 {
    opacity: 0.9
}
.shadow {
    --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
    box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.shadow-2xl {
    --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
    box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.shadow-\[-4px_0_8px_-4px_rgba\(0\2c 0\2c 0\2c 0\.08\)\] {
    --tw-shadow: -4px 0 8px -4px rgba(0,0,0,0.08);
    --tw-shadow-colored: -4px 0 8px -4px var(--tw-shadow-color);
    box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.shadow-\[2px_2px_4px_rgba\(0\2c 0\2c 0\2c 0\.2\)\2c _-1px_-1px_2px_rgba\(255\2c 255\2c 255\2c 0\.3\)\] {
    --tw-shadow: 2px 2px 4px rgba(0,0,0,0.2), -1px -1px 2px rgba(255,255,255,0.3);
    --tw-shadow-colored: 2px 2px 4px var(--tw-shadow-color), -1px -1px 2px var(--tw-shadow-color);
    box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.shadow-button {
    --tw-shadow: 0 4px 8px rgba(0,0,0,0.15);
    --tw-shadow-colored: 0 4px 8px var(--tw-shadow-color);
    box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.shadow-card {
    --tw-shadow: 0 1px 2px rgba(15,23,42,0.04), 0 1px 1px rgba(15,23,42,0.03);
    --tw-shadow-colored: 0 1px 2px var(--tw-shadow-color), 0 1px 1px var(--tw-shadow-color);
    box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.shadow-card-hover {
    --tw-shadow: 0 6px 16px -8px rgba(15,23,42,0.12), 0 2px 4px rgba(15,23,42,0.05);
    --tw-shadow-colored: 0 6px 16px -8px var(--tw-shadow-color), 0 2px 4px var(--tw-shadow-color);
    box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.shadow-elevated {
    --tw-shadow: 0 12px 32px -12px rgba(15,23,42,0.18), 0 4px 8px rgba(15,23,42,0.06);
    --tw-shadow-colored: 0 12px 32px -12px var(--tw-shadow-color), 0 4px 8px var(--tw-shadow-color);
    box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.shadow-inner {
    --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);
    box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.shadow-inset-ring {
    --tw-shadow: inset 0 0 0 1px rgba(15,23,42,0.08);
    --tw-shadow-colored: inset 0 0 0 1px var(--tw-shadow-color);
    box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.shadow-lg {
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.shadow-md {
    --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
    box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.shadow-none {
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.shadow-sm {
    --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.shadow-xl {
    --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
    box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.outline-none {
    outline: 2px solid transparent;
    outline-offset: 2px
}
.outline {
    outline-style: solid
}
.ring {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}
.ring-0 {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}
.ring-1 {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}
.ring-2 {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}
.ring-4 {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}
.ring-inset {
    --tw-ring-inset: inset
}
.ring-black\/5 {
    --tw-ring-color: rgb(0 0 0 / 0.05)
}
.ring-blue-100 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(219 234 254 / var(--tw-ring-opacity, 1))
}
.ring-blue-200 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(191 219 254 / var(--tw-ring-opacity, 1))
}
.ring-blue-500 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))
}
.ring-blue-600 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(37 99 235 / var(--tw-ring-opacity, 1))
}
.ring-blue-700 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(29 78 216 / var(--tw-ring-opacity, 1))
}
.ring-blue-700\/20 {
    --tw-ring-color: rgb(29 78 216 / 0.2)
}
.ring-drafty-blue\/20 {
    --tw-ring-color: rgb(59 130 246 / 0.2)
}
.ring-emerald-100 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(209 250 229 / var(--tw-ring-opacity, 1))
}
.ring-emerald-200 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(167 243 208 / var(--tw-ring-opacity, 1))
}
.ring-indigo-200 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(199 210 254 / var(--tw-ring-opacity, 1))
}
.ring-purple-200 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(233 213 255 / var(--tw-ring-opacity, 1))
}
.ring-red-400 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1))
}
.ring-slate-100 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(241 245 249 / var(--tw-ring-opacity, 1))
}
.ring-slate-200\/70 {
    --tw-ring-color: rgb(226 232 240 / 0.7)
}
.ring-slate-300 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(203 213 225 / var(--tw-ring-opacity, 1))
}
.ring-violet-200 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(221 214 254 / var(--tw-ring-opacity, 1))
}
.ring-white\/40 {
    --tw-ring-color: rgb(255 255 255 / 0.4)
}
.ring-white\/70 {
    --tw-ring-color: rgb(255 255 255 / 0.7)
}
.ring-offset-2 {
    --tw-ring-offset-width: 2px
}
.blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}
.blur-3xl {
    --tw-blur: blur(64px);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}
.blur-xl {
    --tw-blur: blur(24px);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}
.drop-shadow {
    --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}
.drop-shadow-\[0_1\.2px_1\.2px_rgba\(0\2c 0\2c 0\2c 0\.3\)\] {
    --tw-drop-shadow: drop-shadow(0 1.2px 1.2px rgba(0,0,0,0.3));
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}
.drop-shadow-sm {
    --tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / 0.05));
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}
.filter {
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}
.backdrop-blur-sm {
    --tw-backdrop-blur: blur(4px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)
}
.transition {
    transition-property: color, background-color, border-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-text-decoration-color, -webkit-backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
}
.transition-\[width\] {
    transition-property: width;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
}
.transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
}
.transition-colors {
    transition-property: color, background-color, border-color, fill, stroke, -webkit-text-decoration-color;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
}
.transition-opacity {
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
}
.transition-shadow {
    transition-property: box-shadow;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
}
.transition-transform {
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
}
.duration-100 {
    transition-duration: 100ms
}
.duration-1000 {
    transition-duration: 1000ms
}
.duration-150 {
    transition-duration: 150ms
}
.duration-200 {
    transition-duration: 200ms
}
.duration-300 {
    transition-duration: 300ms
}
.duration-500 {
    transition-duration: 500ms
}
.duration-75 {
    transition-duration: 75ms
}
.ease-in {
    transition-timing-function: cubic-bezier(0.4, 0, 1, 1)
}
.ease-in-out {
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1)
}
.ease-lift {
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1)
}
.ease-linear {
    transition-timing-function: linear
}
.ease-out {
    transition-timing-function: cubic-bezier(0, 0, 0.2, 1)
}
.will-change-transform {
    will-change: transform
}
.lift-hover {
    transition-property: transform, box-shadow;
    transition-duration: 200ms;
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform
}
.lift-hover:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px -8px rgba(15,23,42,0.12), 0 2px 4px rgba(15,23,42,0.05)
}
.lift-hover:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px -8px rgba(15,23,42,0.12), 0 2px 4px rgba(15,23,42,0.05)
}
.placeholder\:text-gray-400::placeholder {
    --tw-text-opacity: 1;
    color: rgb(156 163 175 / 1);
    color: rgb(156 163 175 / var(--tw-text-opacity, 1))
}
.first\:mt-0:first-child {
    margin-top: 0px
}
.last\:mb-0:last-child {
    margin-bottom: 0px
}
.last\:border-0:last-child {
    border-width: 0px
}
.last\:border-b-0:last-child {
    border-bottom-width: 0px
}
.focus-within\:border-blue-500:focus-within {
    --tw-border-opacity: 1;
    border-color: rgb(59 130 246 / 1);
    border-color: rgb(59 130 246 / var(--tw-border-opacity, 1))
}
.focus-within\:text-gray-800:focus-within {
    --tw-text-opacity: 1;
    color: rgb(31 41 55 / 1);
    color: rgb(31 41 55 / var(--tw-text-opacity, 1))
}
.focus-within\:outline-none:focus-within {
    outline: 2px solid transparent;
    outline-offset: 2px
}
.focus-within\:ring-4:focus-within {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}
.focus-within\:ring-blue-100:focus-within {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(219 234 254 / var(--tw-ring-opacity, 1))
}
.focus-within\:ring-emerald-100:focus-within {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(209 250 229 / var(--tw-ring-opacity, 1))
}
.hover\:relative:hover {
    position: relative
}
.hover\:-translate-y-0\.5:hover {
    --tw-translate-y: -0.125rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.hover\:-translate-y-2:hover {
    --tw-translate-y: -0.5rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.hover\:scale-105:hover {
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.hover\:scale-\[1\.02\]:hover {
    --tw-scale-x: 1.02;
    --tw-scale-y: 1.02;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.hover\:border-amber-300:hover {
    --tw-border-opacity: 1;
    border-color: rgb(252 211 77 / 1);
    border-color: rgb(252 211 77 / var(--tw-border-opacity, 1))
}
.hover\:border-amber-400:hover {
    --tw-border-opacity: 1;
    border-color: rgb(251 191 36 / 1);
    border-color: rgb(251 191 36 / var(--tw-border-opacity, 1))
}
.hover\:border-blue-300:hover {
    --tw-border-opacity: 1;
    border-color: rgb(147 197 253 / 1);
    border-color: rgb(147 197 253 / var(--tw-border-opacity, 1))
}
.hover\:border-blue-400:hover {
    --tw-border-opacity: 1;
    border-color: rgb(96 165 250 / 1);
    border-color: rgb(96 165 250 / var(--tw-border-opacity, 1))
}
.hover\:border-blue-500:hover {
    --tw-border-opacity: 1;
    border-color: rgb(59 130 246 / 1);
    border-color: rgb(59 130 246 / var(--tw-border-opacity, 1))
}
.hover\:border-drafty-blue:hover {
    --tw-border-opacity: 1;
    border-color: rgb(59 130 246 / 1);
    border-color: rgb(59 130 246 / var(--tw-border-opacity, 1))
}
.hover\:border-gray-200:hover {
    --tw-border-opacity: 1;
    border-color: rgb(229 231 235 / 1);
    border-color: rgb(229 231 235 / var(--tw-border-opacity, 1))
}
.hover\:border-gray-300:hover {
    --tw-border-opacity: 1;
    border-color: rgb(209 213 219 / 1);
    border-color: rgb(209 213 219 / var(--tw-border-opacity, 1))
}
.hover\:border-gray-400:hover {
    --tw-border-opacity: 1;
    border-color: rgb(156 163 175 / 1);
    border-color: rgb(156 163 175 / var(--tw-border-opacity, 1))
}
.hover\:border-green-300:hover {
    --tw-border-opacity: 1;
    border-color: rgb(134 239 172 / 1);
    border-color: rgb(134 239 172 / var(--tw-border-opacity, 1))
}
.hover\:border-green-400:hover {
    --tw-border-opacity: 1;
    border-color: rgb(74 222 128 / 1);
    border-color: rgb(74 222 128 / var(--tw-border-opacity, 1))
}
.hover\:border-indigo-200:hover {
    --tw-border-opacity: 1;
    border-color: rgb(199 210 254 / 1);
    border-color: rgb(199 210 254 / var(--tw-border-opacity, 1))
}
.hover\:border-red-300:hover {
    --tw-border-opacity: 1;
    border-color: rgb(252 165 165 / 1);
    border-color: rgb(252 165 165 / var(--tw-border-opacity, 1))
}
.hover\:border-slate-300:hover {
    --tw-border-opacity: 1;
    border-color: rgb(203 213 225 / 1);
    border-color: rgb(203 213 225 / var(--tw-border-opacity, 1))
}
.hover\:bg-\[\#f0f4fa\]:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(240 244 250 / 1);
    background-color: rgb(240 244 250 / var(--tw-bg-opacity, 1))
}
.hover\:bg-amber-100:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(254 243 199 / 1);
    background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1))
}
.hover\:bg-amber-100\/50:hover {
    background-color: rgb(254 243 199 / 0.5)
}
.hover\:bg-amber-50:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(255 251 235 / 1);
    background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1))
}
.hover\:bg-amber-700:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(180 83 9 / 1);
    background-color: rgb(180 83 9 / var(--tw-bg-opacity, 1))
}
.hover\:bg-blue-100:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(219 234 254 / 1);
    background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1))
}
.hover\:bg-blue-200:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(191 219 254 / 1);
    background-color: rgb(191 219 254 / var(--tw-bg-opacity, 1))
}
.hover\:bg-blue-50:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(239 246 255 / 1);
    background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1))
}
.hover\:bg-blue-50\/30:hover {
    background-color: rgb(239 246 255 / 0.3)
}
.hover\:bg-blue-50\/50:hover {
    background-color: rgb(239 246 255 / 0.5)
}
.hover\:bg-blue-500:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(59 130 246 / 1);
    background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1))
}
.hover\:bg-blue-600:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(37 99 235 / 1);
    background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1))
}
.hover\:bg-blue-700:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(29 78 216 / 1);
    background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1))
}
.hover\:bg-drafty-blue-hover:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(37 99 235 / 1);
    background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1))
}
.hover\:bg-drafty-blue\/5:hover {
    background-color: rgb(59 130 246 / 0.05)
}
.hover\:bg-drafty-blue\/90:hover {
    background-color: rgb(59 130 246 / 0.9)
}
.hover\:bg-emerald-100:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(209 250 229 / 1);
    background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1))
}
.hover\:bg-fg-15:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(229 231 235 / 1);
    background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1))
}
.hover\:bg-gray-100:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(243 244 246 / 1);
    background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1))
}
.hover\:bg-gray-200:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(229 231 235 / 1);
    background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1))
}
.hover\:bg-gray-300:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(209 213 219 / 1);
    background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1))
}
.hover\:bg-gray-50:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(249 250 251 / 1);
    background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1))
}
.hover\:bg-gray-50\/80:hover {
    background-color: rgb(249 250 251 / 0.8)
}
.hover\:bg-green-100:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(220 252 231 / 1);
    background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1))
}
.hover\:bg-green-200:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(187 247 208 / 1);
    background-color: rgb(187 247 208 / var(--tw-bg-opacity, 1))
}
.hover\:bg-green-50:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(240 253 244 / 1);
    background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1))
}
.hover\:bg-green-700:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(21 128 61 / 1);
    background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1))
}
.hover\:bg-indigo-100:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(224 231 255 / 1);
    background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1))
}
.hover\:bg-indigo-200:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(199 210 254 / 1);
    background-color: rgb(199 210 254 / var(--tw-bg-opacity, 1))
}
.hover\:bg-indigo-50:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(238 242 255 / 1);
    background-color: rgb(238 242 255 / var(--tw-bg-opacity, 1))
}
.hover\:bg-indigo-700:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(67 56 202 / 1);
    background-color: rgb(67 56 202 / var(--tw-bg-opacity, 1))
}
.hover\:bg-navy\/5:hover {
    background-color: rgb(15 43 87 / 0.05)
}
.hover\:bg-orange-100:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(255 237 213 / 1);
    background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1))
}
.hover\:bg-orange-50:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(255 247 237 / 1);
    background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1))
}
.hover\:bg-purple-100:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(243 232 255 / 1);
    background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1))
}
.hover\:bg-purple-50:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(250 245 255 / 1);
    background-color: rgb(250 245 255 / var(--tw-bg-opacity, 1))
}
.hover\:bg-purple-700:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(126 34 206 / 1);
    background-color: rgb(126 34 206 / var(--tw-bg-opacity, 1))
}
.hover\:bg-red-100:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(254 226 226 / 1);
    background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1))
}
.hover\:bg-red-200:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(254 202 202 / 1);
    background-color: rgb(254 202 202 / var(--tw-bg-opacity, 1))
}
.hover\:bg-red-50:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(254 242 242 / 1);
    background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1))
}
.hover\:bg-red-600:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(220 38 38 / 1);
    background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1))
}
.hover\:bg-red-700:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(185 28 28 / 1);
    background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1))
}
.hover\:bg-slate-200:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(226 232 240 / 1);
    background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1))
}
.hover\:bg-slate-800:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(30 41 59 / 1);
    background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1))
}
.hover\:bg-violet-50:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(245 243 255 / 1);
    background-color: rgb(245 243 255 / var(--tw-bg-opacity, 1))
}
.hover\:bg-white:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / 1);
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1))
}
.hover\:bg-white\/20:hover {
    background-color: rgb(255 255 255 / 0.2)
}
.hover\:bg-yellow-100:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(254 249 195 / 1);
    background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1))
}
.hover\:bg-yellow-700:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(161 98 7 / 1);
    background-color: rgb(161 98 7 / var(--tw-bg-opacity, 1))
}
.hover\:from-amber-600:hover {
    --tw-gradient-from: #d97706 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(217 119 6 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}
.hover\:from-blue-100:hover {
    --tw-gradient-from: #dbeafe var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(219 234 254 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}
.hover\:from-blue-700:hover {
    --tw-gradient-from: #1d4ed8 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(29 78 216 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}
.hover\:from-gray-600:hover {
    --tw-gradient-from: #4b5563 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(75 85 99 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}
.hover\:from-violet-100:hover {
    --tw-gradient-from: #ede9fe var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(237 233 254 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}
.hover\:to-amber-100:hover {
    --tw-gradient-to: #fef3c7 var(--tw-gradient-to-position)
}
.hover\:to-blue-800:hover {
    --tw-gradient-to: #1e40af var(--tw-gradient-to-position)
}
.hover\:to-gray-700:hover {
    --tw-gradient-to: #374151 var(--tw-gradient-to-position)
}
.hover\:to-indigo-100:hover {
    --tw-gradient-to: #e0e7ff var(--tw-gradient-to-position)
}
.hover\:to-indigo-700:hover {
    --tw-gradient-to: #4338ca var(--tw-gradient-to-position)
}
.hover\:to-orange-600:hover {
    --tw-gradient-to: #ea580c var(--tw-gradient-to-position)
}
.hover\:text-\[\#0A1E3F\]:hover {
    --tw-text-opacity: 1;
    color: rgb(10 30 63 / 1);
    color: rgb(10 30 63 / var(--tw-text-opacity, 1))
}
.hover\:text-\[\#143F85\]:hover {
    --tw-text-opacity: 1;
    color: rgb(20 63 133 / 1);
    color: rgb(20 63 133 / var(--tw-text-opacity, 1))
}
.hover\:text-black:hover {
    --tw-text-opacity: 1;
    color: rgb(0 0 0 / 1);
    color: rgb(0 0 0 / var(--tw-text-opacity, 1))
}
.hover\:text-blue-500:hover {
    --tw-text-opacity: 1;
    color: rgb(59 130 246 / 1);
    color: rgb(59 130 246 / var(--tw-text-opacity, 1))
}
.hover\:text-blue-600:hover {
    --tw-text-opacity: 1;
    color: rgb(37 99 235 / 1);
    color: rgb(37 99 235 / var(--tw-text-opacity, 1))
}
.hover\:text-blue-700:hover {
    --tw-text-opacity: 1;
    color: rgb(29 78 216 / 1);
    color: rgb(29 78 216 / var(--tw-text-opacity, 1))
}
.hover\:text-blue-800:hover {
    --tw-text-opacity: 1;
    color: rgb(30 64 175 / 1);
    color: rgb(30 64 175 / var(--tw-text-opacity, 1))
}
.hover\:text-blue-900:hover {
    --tw-text-opacity: 1;
    color: rgb(30 58 138 / 1);
    color: rgb(30 58 138 / var(--tw-text-opacity, 1))
}
.hover\:text-fg-1:hover {
    --tw-text-opacity: 1;
    color: rgb(26 26 26 / 1);
    color: rgb(26 26 26 / var(--tw-text-opacity, 1))
}
.hover\:text-gray-500:hover {
    --tw-text-opacity: 1;
    color: rgb(107 114 128 / 1);
    color: rgb(107 114 128 / var(--tw-text-opacity, 1))
}
.hover\:text-gray-600:hover {
    --tw-text-opacity: 1;
    color: rgb(75 85 99 / 1);
    color: rgb(75 85 99 / var(--tw-text-opacity, 1))
}
.hover\:text-gray-700:hover {
    --tw-text-opacity: 1;
    color: rgb(55 65 81 / 1);
    color: rgb(55 65 81 / var(--tw-text-opacity, 1))
}
.hover\:text-gray-800:hover {
    --tw-text-opacity: 1;
    color: rgb(31 41 55 / 1);
    color: rgb(31 41 55 / var(--tw-text-opacity, 1))
}
.hover\:text-gray-900:hover {
    --tw-text-opacity: 1;
    color: rgb(17 24 39 / 1);
    color: rgb(17 24 39 / var(--tw-text-opacity, 1))
}
.hover\:text-green-600:hover {
    --tw-text-opacity: 1;
    color: rgb(22 163 74 / 1);
    color: rgb(22 163 74 / var(--tw-text-opacity, 1))
}
.hover\:text-green-800:hover {
    --tw-text-opacity: 1;
    color: rgb(22 101 52 / 1);
    color: rgb(22 101 52 / var(--tw-text-opacity, 1))
}
.hover\:text-green-900:hover {
    --tw-text-opacity: 1;
    color: rgb(20 83 45 / 1);
    color: rgb(20 83 45 / var(--tw-text-opacity, 1))
}
.hover\:text-indigo-500:hover {
    --tw-text-opacity: 1;
    color: rgb(99 102 241 / 1);
    color: rgb(99 102 241 / var(--tw-text-opacity, 1))
}
.hover\:text-indigo-700:hover {
    --tw-text-opacity: 1;
    color: rgb(67 56 202 / 1);
    color: rgb(67 56 202 / var(--tw-text-opacity, 1))
}
.hover\:text-indigo-800:hover {
    --tw-text-opacity: 1;
    color: rgb(55 48 163 / 1);
    color: rgb(55 48 163 / var(--tw-text-opacity, 1))
}
.hover\:text-indigo-900:hover {
    --tw-text-opacity: 1;
    color: rgb(49 46 129 / 1);
    color: rgb(49 46 129 / var(--tw-text-opacity, 1))
}
.hover\:text-red-500:hover {
    --tw-text-opacity: 1;
    color: rgb(239 68 68 / 1);
    color: rgb(239 68 68 / var(--tw-text-opacity, 1))
}
.hover\:text-red-600:hover {
    --tw-text-opacity: 1;
    color: rgb(220 38 38 / 1);
    color: rgb(220 38 38 / var(--tw-text-opacity, 1))
}
.hover\:text-red-700:hover {
    --tw-text-opacity: 1;
    color: rgb(185 28 28 / 1);
    color: rgb(185 28 28 / var(--tw-text-opacity, 1))
}
.hover\:text-red-800:hover {
    --tw-text-opacity: 1;
    color: rgb(153 27 27 / 1);
    color: rgb(153 27 27 / var(--tw-text-opacity, 1))
}
.hover\:text-slate-700:hover {
    --tw-text-opacity: 1;
    color: rgb(51 65 85 / 1);
    color: rgb(51 65 85 / var(--tw-text-opacity, 1))
}
.hover\:text-white:hover {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / 1);
    color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}
.hover\:underline:hover {
    -webkit-text-decoration-line: underline;
            text-decoration-line: underline
}
.hover\:no-underline:hover {
    -webkit-text-decoration-line: none;
            text-decoration-line: none
}
.hover\:decoration-amber-700:hover {
    -webkit-text-decoration-color: #b45309;
            text-decoration-color: #b45309
}
.hover\:opacity-100:hover {
    opacity: 1
}
.hover\:opacity-80:hover {
    opacity: 0.8
}
.hover\:opacity-90:hover {
    opacity: 0.9
}
.hover\:shadow:hover {
    --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
    box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.hover\:shadow-2xl:hover {
    --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
    box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.hover\:shadow-card-hover:hover {
    --tw-shadow: 0 6px 16px -8px rgba(15,23,42,0.12), 0 2px 4px rgba(15,23,42,0.05);
    --tw-shadow-colored: 0 6px 16px -8px var(--tw-shadow-color), 0 2px 4px var(--tw-shadow-color);
    box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.hover\:shadow-lg:hover {
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.hover\:shadow-md:hover {
    --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
    box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.hover\:shadow-sm:hover {
    --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.hover\:shadow-xl:hover {
    --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
    box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.hover\:ring-violet-400:hover {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(167 139 250 / var(--tw-ring-opacity, 1))
}
.hover\:drop-shadow-\[0_2px_2px_rgba\(0\2c 0\2c 0\2c 0\.4\)\]:hover {
    --tw-drop-shadow: drop-shadow(0 2px 2px rgba(0,0,0,0.4));
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}
.focus\:border-amber-500:focus {
    --tw-border-opacity: 1;
    border-color: rgb(245 158 11 / 1);
    border-color: rgb(245 158 11 / var(--tw-border-opacity, 1))
}
.focus\:border-blue-300:focus {
    --tw-border-opacity: 1;
    border-color: rgb(147 197 253 / 1);
    border-color: rgb(147 197 253 / var(--tw-border-opacity, 1))
}
.focus\:border-blue-500:focus {
    --tw-border-opacity: 1;
    border-color: rgb(59 130 246 / 1);
    border-color: rgb(59 130 246 / var(--tw-border-opacity, 1))
}
.focus\:border-blue-600:focus {
    --tw-border-opacity: 1;
    border-color: rgb(37 99 235 / 1);
    border-color: rgb(37 99 235 / var(--tw-border-opacity, 1))
}
.focus\:border-drafty-blue:focus {
    --tw-border-opacity: 1;
    border-color: rgb(59 130 246 / 1);
    border-color: rgb(59 130 246 / var(--tw-border-opacity, 1))
}
.focus\:border-gray-400:focus {
    --tw-border-opacity: 1;
    border-color: rgb(156 163 175 / 1);
    border-color: rgb(156 163 175 / var(--tw-border-opacity, 1))
}
.focus\:border-indigo-500:focus {
    --tw-border-opacity: 1;
    border-color: rgb(99 102 241 / 1);
    border-color: rgb(99 102 241 / var(--tw-border-opacity, 1))
}
.focus\:border-purple-500:focus {
    --tw-border-opacity: 1;
    border-color: rgb(168 85 247 / 1);
    border-color: rgb(168 85 247 / var(--tw-border-opacity, 1))
}
.focus\:border-transparent:focus {
    border-color: transparent
}
.focus\:text-gray-600:focus {
    --tw-text-opacity: 1;
    color: rgb(75 85 99 / 1);
    color: rgb(75 85 99 / var(--tw-text-opacity, 1))
}
.focus\:text-red-500:focus {
    --tw-text-opacity: 1;
    color: rgb(239 68 68 / 1);
    color: rgb(239 68 68 / var(--tw-text-opacity, 1))
}
.focus\:shadow-2xl:focus {
    --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
    box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.focus\:outline-none:focus {
    outline: 2px solid transparent;
    outline-offset: 2px
}
.focus\:ring:focus {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}
.focus\:ring-0:focus {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}
.focus\:ring-1:focus {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}
.focus\:ring-2:focus {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}
.focus\:ring-4:focus {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}
.focus\:ring-amber-500:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(245 158 11 / var(--tw-ring-opacity, 1))
}
.focus\:ring-blue-100:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(219 234 254 / var(--tw-ring-opacity, 1))
}
.focus\:ring-blue-300:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(147 197 253 / var(--tw-ring-opacity, 1))
}
.focus\:ring-blue-500:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))
}
.focus\:ring-blue-500\/20:focus {
    --tw-ring-color: rgb(59 130 246 / 0.2)
}
.focus\:ring-blue-600:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(37 99 235 / var(--tw-ring-opacity, 1))
}
.focus\:ring-cyan-500:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(6 182 212 / var(--tw-ring-opacity, 1))
}
.focus\:ring-emerald-100:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(209 250 229 / var(--tw-ring-opacity, 1))
}
.focus\:ring-emerald-500:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(16 185 129 / var(--tw-ring-opacity, 1))
}
.focus\:ring-gray-300:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity, 1))
}
.focus\:ring-gray-400:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(156 163 175 / var(--tw-ring-opacity, 1))
}
.focus\:ring-gray-500:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity, 1))
}
.focus\:ring-indigo-200:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(199 210 254 / var(--tw-ring-opacity, 1))
}
.focus\:ring-indigo-400:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(129 140 248 / var(--tw-ring-opacity, 1))
}
.focus\:ring-indigo-500:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity, 1))
}
.focus\:ring-orange-500:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(249 115 22 / var(--tw-ring-opacity, 1))
}
.focus\:ring-purple-500:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(168 85 247 / var(--tw-ring-opacity, 1))
}
.focus\:ring-red-100:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(254 226 226 / var(--tw-ring-opacity, 1))
}
.focus\:ring-red-500:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1))
}
.focus\:ring-slate-500:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(100 116 139 / var(--tw-ring-opacity, 1))
}
.focus\:ring-offset-0:focus {
    --tw-ring-offset-width: 0px
}
.focus\:ring-offset-1:focus {
    --tw-ring-offset-width: 1px
}
.focus\:ring-offset-2:focus {
    --tw-ring-offset-width: 2px
}
.focus\:ring-offset-white:focus {
    --tw-ring-offset-color: #fff
}
.focus-visible\:text-blue-600:focus-visible {
    --tw-text-opacity: 1;
    color: rgb(37 99 235 / 1);
    color: rgb(37 99 235 / var(--tw-text-opacity, 1))
}
.focus-visible\:outline:focus-visible {
    outline-style: solid
}
.focus-visible\:outline-2:focus-visible {
    outline-width: 2px
}
.focus-visible\:outline-offset-2:focus-visible {
    outline-offset: 2px
}
.focus-visible\:outline-blue-500:focus-visible {
    outline-color: #3b82f6
}
.focus-visible\:outline-emerald-500:focus-visible {
    outline-color: #10b981
}
.focus-visible\:outline-red-500:focus-visible {
    outline-color: #ef4444
}
.focus-visible\:ring-2:focus-visible {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}
.focus-visible\:ring-drafty-blue\/40:focus-visible {
    --tw-ring-color: rgb(59 130 246 / 0.4)
}
.active\:scale-95:active {
    --tw-scale-x: .95;
    --tw-scale-y: .95;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.active\:scale-\[0\.99\]:active {
    --tw-scale-x: 0.99;
    --tw-scale-y: 0.99;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.active\:bg-blue-800:active {
    --tw-bg-opacity: 1;
    background-color: rgb(30 64 175 / 1);
    background-color: rgb(30 64 175 / var(--tw-bg-opacity, 1))
}
.active\:bg-gray-100:active {
    --tw-bg-opacity: 1;
    background-color: rgb(243 244 246 / 1);
    background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1))
}
.active\:shadow-\[inset_2px_2px_4px_rgba\(0\2c 0\2c 0\2c 0\.2\)\2c _inset_-1px_-1px_2px_rgba\(255\2c 255\2c 255\2c 0\.3\)\]:active {
    --tw-shadow: inset 2px 2px 4px rgba(0,0,0,0.2), inset -1px -1px 2px rgba(255,255,255,0.3);
    --tw-shadow-colored: inset 2px 2px 4px var(--tw-shadow-color), inset -1px -1px 2px var(--tw-shadow-color);
    box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.active\:shadow-inner:active {
    --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);
    box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed
}
.disabled\:cursor-wait:disabled {
    cursor: wait
}
.disabled\:bg-gray-300:disabled {
    --tw-bg-opacity: 1;
    background-color: rgb(209 213 219 / 1);
    background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1))
}
.disabled\:bg-gray-400:disabled {
    --tw-bg-opacity: 1;
    background-color: rgb(156 163 175 / 1);
    background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1))
}
.disabled\:bg-gray-50:disabled {
    --tw-bg-opacity: 1;
    background-color: rgb(249 250 251 / 1);
    background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1))
}
.disabled\:text-gray-300:disabled {
    --tw-text-opacity: 1;
    color: rgb(209 213 219 / 1);
    color: rgb(209 213 219 / var(--tw-text-opacity, 1))
}
.disabled\:text-gray-600:disabled {
    --tw-text-opacity: 1;
    color: rgb(75 85 99 / 1);
    color: rgb(75 85 99 / var(--tw-text-opacity, 1))
}
.disabled\:opacity-30:disabled {
    opacity: 0.3
}
.disabled\:opacity-40:disabled {
    opacity: 0.4
}
.disabled\:opacity-50:disabled {
    opacity: 0.5
}
.disabled\:opacity-60:disabled {
    opacity: 0.6
}
.group:focus-within .group-focus-within\:opacity-100 {
    opacity: 1
}
.group:hover .group-hover\:translate-x-0\.5 {
    --tw-translate-x: 0.125rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.group:hover .group-hover\:translate-x-1 {
    --tw-translate-x: 0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.group:hover .group-hover\:scale-105 {
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.group:hover .group-hover\:scale-110 {
    --tw-scale-x: 1.1;
    --tw-scale-y: 1.1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.group:hover .group-hover\:border-slate-400 {
    --tw-border-opacity: 1;
    border-color: rgb(148 163 184 / 1);
    border-color: rgb(148 163 184 / var(--tw-border-opacity, 1))
}
.group:hover .group-hover\:border-slate-600 {
    --tw-border-opacity: 1;
    border-color: rgb(71 85 105 / 1);
    border-color: rgb(71 85 105 / var(--tw-border-opacity, 1))
}
.group:hover .group-hover\:bg-gray-300 {
    --tw-bg-opacity: 1;
    background-color: rgb(209 213 219 / 1);
    background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1))
}
.group:hover .group-hover\:bg-gray-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(249 250 251 / 1);
    background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1))
}
.group:hover .group-hover\:bg-indigo-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(224 231 255 / 1);
    background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1))
}
.group:hover .group-hover\:bg-slate-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(248 250 252 / 1);
    background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1))
}
.group:hover .group-hover\:text-amber-700 {
    --tw-text-opacity: 1;
    color: rgb(180 83 9 / 1);
    color: rgb(180 83 9 / var(--tw-text-opacity, 1))
}
.group:hover .group-hover\:text-amber-800 {
    --tw-text-opacity: 1;
    color: rgb(146 64 14 / 1);
    color: rgb(146 64 14 / var(--tw-text-opacity, 1))
}
.group:hover .group-hover\:text-blue-600 {
    --tw-text-opacity: 1;
    color: rgb(37 99 235 / 1);
    color: rgb(37 99 235 / var(--tw-text-opacity, 1))
}
.group:hover .group-hover\:text-blue-700 {
    --tw-text-opacity: 1;
    color: rgb(29 78 216 / 1);
    color: rgb(29 78 216 / var(--tw-text-opacity, 1))
}
.group:hover .group-hover\:text-gray-900 {
    --tw-text-opacity: 1;
    color: rgb(17 24 39 / 1);
    color: rgb(17 24 39 / var(--tw-text-opacity, 1))
}
.group:hover .group-hover\:text-indigo-800 {
    --tw-text-opacity: 1;
    color: rgb(55 48 163 / 1);
    color: rgb(55 48 163 / var(--tw-text-opacity, 1))
}
.group:hover .group-hover\:text-slate-600 {
    --tw-text-opacity: 1;
    color: rgb(71 85 105 / 1);
    color: rgb(71 85 105 / var(--tw-text-opacity, 1))
}
.group:hover .group-hover\:text-slate-700 {
    --tw-text-opacity: 1;
    color: rgb(51 65 85 / 1);
    color: rgb(51 65 85 / var(--tw-text-opacity, 1))
}
.group:hover .group-hover\:opacity-100 {
    opacity: 1
}
.group:hover .group-hover\:shadow-lg {
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.group:hover .group-hover\:shadow-md {
    --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
    box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.group[aria-current="page"] .group-aria-\[current\=page\]\:text-blue-700 {
    --tw-text-opacity: 1;
    color: rgb(29 78 216 / 1);
    color: rgb(29 78 216 / var(--tw-text-opacity, 1))
}
@media (min-width: 640px) {
    .sm\:col-span-2 {
        grid-column: span 2 / span 2
    }
    .sm\:mx-0 {
        margin-left: 0px;
        margin-right: 0px
    }
    .sm\:mx-4 {
        margin-left: 1rem;
        margin-right: 1rem
    }
    .sm\:mx-9 {
        margin-left: 2.25rem;
        margin-right: 2.25rem
    }
    .sm\:my-8 {
        margin-top: 2rem;
        margin-bottom: 2rem
    }
    .sm\:mb-3 {
        margin-bottom: 0.75rem
    }
    .sm\:mb-6 {
        margin-bottom: 1.5rem
    }
    .sm\:mb-7 {
        margin-bottom: 1.75rem
    }
    .sm\:mb-8 {
        margin-bottom: 2rem
    }
    .sm\:ml-0 {
        margin-left: 0px
    }
    .sm\:ml-3 {
        margin-left: 0.75rem
    }
    .sm\:ml-4 {
        margin-left: 1rem
    }
    .sm\:ml-auto {
        margin-left: auto
    }
    .sm\:mr-10 {
        margin-right: 2.5rem
    }
    .sm\:mr-2 {
        margin-right: 0.5rem
    }
    .sm\:mt-0 {
        margin-top: 0px
    }
    .sm\:mt-0\.5 {
        margin-top: 0.125rem
    }
    .sm\:mt-1\.5 {
        margin-top: 0.375rem
    }
    .sm\:mt-10 {
        margin-top: 2.5rem
    }
    .sm\:mt-12 {
        margin-top: 3rem
    }
    .sm\:mt-4 {
        margin-top: 1rem
    }
    .sm\:mt-5 {
        margin-top: 1.25rem
    }
    .sm\:mt-6 {
        margin-top: 1.5rem
    }
    .sm\:block {
        display: block
    }
    .sm\:inline-block {
        display: inline-block
    }
    .sm\:inline {
        display: inline
    }
    .sm\:flex {
        display: flex
    }
    .sm\:inline-flex {
        display: inline-flex
    }
    .sm\:grid {
        display: grid
    }
    .sm\:hidden {
        display: none
    }
    .sm\:h-10 {
        height: 2.5rem
    }
    .sm\:h-12 {
        height: 3rem
    }
    .sm\:h-20 {
        height: 5rem
    }
    .sm\:h-5 {
        height: 1.25rem
    }
    .sm\:h-6 {
        height: 1.5rem
    }
    .sm\:h-7 {
        height: 1.75rem
    }
    .sm\:h-8 {
        height: 2rem
    }
    .sm\:h-screen {
        height: 100vh
    }
    .sm\:max-h-none {
        max-height: none
    }
    .sm\:min-h-0 {
        min-height: 0px
    }
    .sm\:min-h-\[400px\] {
        min-height: 400px
    }
    .sm\:w-10 {
        width: 2.5rem
    }
    .sm\:w-11\/12 {
        width: 91.666667%
    }
    .sm\:w-12 {
        width: 3rem
    }
    .sm\:w-20 {
        width: 5rem
    }
    .sm\:w-32 {
        width: 8rem
    }
    .sm\:w-4\/6 {
        width: 66.666667%
    }
    .sm\:w-48 {
        width: 12rem
    }
    .sm\:w-5 {
        width: 1.25rem
    }
    .sm\:w-6 {
        width: 1.5rem
    }
    .sm\:w-7 {
        width: 1.75rem
    }
    .sm\:w-8 {
        width: 2rem
    }
    .sm\:w-\[280px\] {
        width: 280px
    }
    .sm\:w-auto {
        width: auto
    }
    .sm\:w-full {
        width: 100%
    }
    .sm\:max-w-full {
        max-width: 100%
    }
    .sm\:max-w-lg {
        max-width: 32rem
    }
    .sm\:max-w-sm {
        max-width: 24rem
    }
    .sm\:flex-none {
        flex: none
    }
    .sm\:basis-auto {
        flex-basis: auto
    }
    .sm\:scroll-mt-24 {
        scroll-margin-top: 6rem
    }
    .sm\:grid-cols-12 {
        grid-template-columns: repeat(12, minmax(0, 1fr))
    }
    .sm\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
    .sm\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }
    .sm\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr))
    }
    .sm\:grid-cols-8 {
        grid-template-columns: repeat(8, minmax(0, 1fr))
    }
    .sm\:flex-row {
        flex-direction: row
    }
    .sm\:flex-row-reverse {
        flex-direction: row-reverse
    }
    .sm\:flex-wrap {
        flex-wrap: wrap
    }
    .sm\:items-start {
        align-items: flex-start
    }
    .sm\:items-center {
        align-items: center
    }
    .sm\:justify-start {
        justify-content: flex-start
    }
    .sm\:justify-end {
        justify-content: flex-end
    }
    .sm\:justify-between {
        justify-content: space-between
    }
    .sm\:gap-0 {
        gap: 0px
    }
    .sm\:gap-1\.5 {
        gap: 0.375rem
    }
    .sm\:gap-2\.5 {
        gap: 0.625rem
    }
    .sm\:gap-3 {
        gap: 0.75rem
    }
    .sm\:gap-4 {
        gap: 1rem
    }
    .sm\:gap-5 {
        gap: 1.25rem
    }
    .sm\:gap-6 {
        gap: 1.5rem
    }
    .sm\:gap-x-4 {
        column-gap: 1rem
    }
    .sm\:space-x-4 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-x-reverse: 0;
        margin-right: calc(1rem * var(--tw-space-x-reverse));
        margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)))
    }
    .sm\:space-x-6 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-x-reverse: 0;
        margin-right: calc(1.5rem * var(--tw-space-x-reverse));
        margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))
    }
    .sm\:space-y-0 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-y-reverse: 0;
        margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(0px * var(--tw-space-y-reverse))
    }
    .sm\:space-y-2\.5 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-y-reverse: 0;
        margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(0.625rem * var(--tw-space-y-reverse))
    }
    .sm\:space-y-3\.5 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-y-reverse: 0;
        margin-top: calc(0.875rem * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(0.875rem * var(--tw-space-y-reverse))
    }
    .sm\:space-y-4 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-y-reverse: 0;
        margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(1rem * var(--tw-space-y-reverse))
    }
    .sm\:space-y-5 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-y-reverse: 0;
        margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(1.25rem * var(--tw-space-y-reverse))
    }
    .sm\:space-y-6 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-y-reverse: 0;
        margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(1.5rem * var(--tw-space-y-reverse))
    }
    .sm\:self-auto {
        align-self: auto
    }
    .sm\:overflow-visible {
        overflow: visible
    }
    .sm\:whitespace-nowrap {
        white-space: nowrap
    }
    .sm\:rounded-2xl {
        border-radius: 1rem
    }
    .sm\:rounded-lg {
        border-radius: 0.5rem
    }
    .sm\:p-0 {
        padding: 0px
    }
    .sm\:p-10 {
        padding: 2.5rem
    }
    .sm\:p-3 {
        padding: 0.75rem
    }
    .sm\:p-4 {
        padding: 1rem
    }
    .sm\:p-5 {
        padding: 1.25rem
    }
    .sm\:p-6 {
        padding: 1.5rem
    }
    .sm\:p-7 {
        padding: 1.75rem
    }
    .sm\:p-8 {
        padding: 2rem
    }
    .sm\:px-10 {
        padding-left: 2.5rem;
        padding-right: 2.5rem
    }
    .sm\:px-3 {
        padding-left: 0.75rem;
        padding-right: 0.75rem
    }
    .sm\:px-4 {
        padding-left: 1rem;
        padding-right: 1rem
    }
    .sm\:px-5 {
        padding-left: 1.25rem;
        padding-right: 1.25rem
    }
    .sm\:px-6 {
        padding-left: 1.5rem;
        padding-right: 1.5rem
    }
    .sm\:px-7 {
        padding-left: 1.75rem;
        padding-right: 1.75rem
    }
    .sm\:px-8 {
        padding-left: 2rem;
        padding-right: 2rem
    }
    .sm\:px-9 {
        padding-left: 2.25rem;
        padding-right: 2.25rem
    }
    .sm\:py-1\.5 {
        padding-top: 0.375rem;
        padding-bottom: 0.375rem
    }
    .sm\:py-10 {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem
    }
    .sm\:py-2 {
        padding-top: 0.5rem;
        padding-bottom: 0.5rem
    }
    .sm\:py-2\.5 {
        padding-top: 0.625rem;
        padding-bottom: 0.625rem
    }
    .sm\:py-3 {
        padding-top: 0.75rem;
        padding-bottom: 0.75rem
    }
    .sm\:py-3\.5 {
        padding-top: 0.875rem;
        padding-bottom: 0.875rem
    }
    .sm\:py-4 {
        padding-top: 1rem;
        padding-bottom: 1rem
    }
    .sm\:py-5 {
        padding-top: 1.25rem;
        padding-bottom: 1.25rem
    }
    .sm\:py-6 {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem
    }
    .sm\:py-8 {
        padding-top: 2rem;
        padding-bottom: 2rem
    }
    .sm\:pb-4 {
        padding-bottom: 1rem
    }
    .sm\:pb-5 {
        padding-bottom: 1.25rem
    }
    .sm\:pb-6 {
        padding-bottom: 1.5rem
    }
    .sm\:pb-8 {
        padding-bottom: 2rem
    }
    .sm\:pl-5 {
        padding-left: 1.25rem
    }
    .sm\:pt-6 {
        padding-top: 1.5rem
    }
    .sm\:text-left {
        text-align: left
    }
    .sm\:align-middle {
        vertical-align: middle
    }
    .sm\:text-2xl {
        font-size: 1.5rem;
        line-height: 2rem
    }
    .sm\:text-3xl {
        font-size: 1.875rem;
        line-height: 2.25rem
    }
    .sm\:text-4xl {
        font-size: 2.25rem;
        line-height: 2.5rem
    }
    .sm\:text-\[26px\] {
        font-size: 26px
    }
    .sm\:text-base {
        font-size: 1rem;
        line-height: 1.5rem
    }
    .sm\:text-lg {
        font-size: 1.125rem;
        line-height: 1.75rem
    }
    .sm\:text-sm {
        font-size: 0.875rem;
        line-height: 1.25rem
    }
    .sm\:text-xl {
        font-size: 1.25rem;
        line-height: 1.75rem
    }
    .sm\:text-xs {
        font-size: 0.75rem;
        line-height: 1rem
    }
    .sm\:tracking-wider {
        letter-spacing: 0.05em
    }
    .sm\:opacity-60 {
        opacity: 0.6
    }
    .group:hover .sm\:group-hover\:opacity-100 {
        opacity: 1
    }
}
@media (min-width: 768px) {
    .md\:static {
        position: static
    }
    .md\:sticky {
        position: -webkit-sticky;
        position: sticky
    }
    .md\:bottom-24 {
        bottom: 6rem
    }
    .md\:left-72 {
        left: 18rem
    }
    .md\:right-5 {
        right: 1.25rem
    }
    .md\:top-6 {
        top: 1.5rem
    }
    .md\:col-span-1 {
        grid-column: span 1 / span 1
    }
    .md\:mx-0 {
        margin-left: 0px;
        margin-right: 0px
    }
    .md\:mb-0 {
        margin-bottom: 0px
    }
    .md\:mb-10 {
        margin-bottom: 2.5rem
    }
    .md\:mb-14 {
        margin-bottom: 3.5rem
    }
    .md\:mb-5 {
        margin-bottom: 1.25rem
    }
    .md\:mb-6 {
        margin-bottom: 1.5rem
    }
    .md\:mb-8 {
        margin-bottom: 2rem
    }
    .md\:ml-24 {
        margin-left: 6rem
    }
    .md\:mr-20 {
        margin-right: 5rem
    }
    .md\:mt-12 {
        margin-top: 3rem
    }
    .md\:mt-32 {
        margin-top: 8rem
    }
    .md\:block {
        display: block
    }
    .md\:inline-block {
        display: inline-block
    }
    .md\:flex {
        display: flex
    }
    .md\:inline-flex {
        display: inline-flex
    }
    .md\:grid {
        display: grid
    }
    .md\:hidden {
        display: none
    }
    .md\:h-12 {
        height: 3rem
    }
    .md\:h-5 {
        height: 1.25rem
    }
    .md\:h-6 {
        height: 1.5rem
    }
    .md\:h-7 {
        height: 1.75rem
    }
    .md\:h-auto {
        height: auto
    }
    .md\:w-12 {
        width: 3rem
    }
    .md\:w-3\/4 {
        width: 75%
    }
    .md\:w-3\/5 {
        width: 60%
    }
    .md\:w-4\/5 {
        width: 80%
    }
    .md\:w-5 {
        width: 1.25rem
    }
    .md\:w-56 {
        width: 14rem
    }
    .md\:w-6 {
        width: 1.5rem
    }
    .md\:w-7 {
        width: 1.75rem
    }
    .md\:w-auto {
        width: auto
    }
    .md\:w-full {
        width: 100%
    }
    .md\:max-w-\[200px\] {
        max-width: 200px
    }
    .md\:max-w-md {
        max-width: 28rem
    }
    .md\:max-w-sm {
        max-width: 24rem
    }
    .md\:grid-cols-1 {
        grid-template-columns: repeat(1, minmax(0, 1fr))
    }
    .md\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
    .md\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }
    .md\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr))
    }
    .md\:flex-row {
        flex-direction: row
    }
    .md\:flex-col {
        flex-direction: column
    }
    .md\:gap-2 {
        gap: 0.5rem
    }
    .md\:gap-3 {
        gap: 0.75rem
    }
    .md\:gap-6 {
        gap: 1.5rem
    }
    .md\:gap-8 {
        gap: 2rem
    }
    .md\:overflow-visible {
        overflow: visible
    }
    .md\:bg-transparent {
        background-color: transparent
    }
    .md\:p-4 {
        padding: 1rem
    }
    .md\:p-8 {
        padding: 2rem
    }
    .md\:px-0 {
        padding-left: 0px;
        padding-right: 0px
    }
    .md\:px-4 {
        padding-left: 1rem;
        padding-right: 1rem
    }
    .md\:px-5 {
        padding-left: 1.25rem;
        padding-right: 1.25rem
    }
    .md\:px-6 {
        padding-left: 1.5rem;
        padding-right: 1.5rem
    }
    .md\:px-8 {
        padding-left: 2rem;
        padding-right: 2rem
    }
    .md\:py-16 {
        padding-top: 4rem;
        padding-bottom: 4rem
    }
    .md\:py-3 {
        padding-top: 0.75rem;
        padding-bottom: 0.75rem
    }
    .md\:py-7 {
        padding-top: 1.75rem;
        padding-bottom: 1.75rem
    }
    .md\:py-8 {
        padding-top: 2rem;
        padding-bottom: 2rem
    }
    .md\:pr-12 {
        padding-right: 3rem
    }
    .md\:text-2xl {
        font-size: 1.5rem;
        line-height: 2rem
    }
    .md\:text-3xl {
        font-size: 1.875rem;
        line-height: 2.25rem
    }
    .md\:text-4xl {
        font-size: 2.25rem;
        line-height: 2.5rem
    }
    .md\:text-5xl {
        font-size: 3rem;
        line-height: 1
    }
    .md\:text-\[10px\] {
        font-size: 10px
    }
    .md\:text-base {
        font-size: 1rem;
        line-height: 1.5rem
    }
    .md\:text-lg {
        font-size: 1.125rem;
        line-height: 1.75rem
    }
    .md\:text-sm {
        font-size: 0.875rem;
        line-height: 1.25rem
    }
    .md\:text-xl {
        font-size: 1.25rem;
        line-height: 1.75rem
    }
    .md\:shadow-none {
        --tw-shadow: 0 0 #0000;
        --tw-shadow-colored: 0 0 #0000;
        box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
    }
}
@media (min-width: 1024px) {
    .lg\:sticky {
        position: -webkit-sticky;
        position: sticky
    }
    .lg\:bottom-56 {
        bottom: 14rem
    }
    .lg\:top-28 {
        top: 7rem
    }
    .lg\:col-span-1 {
        grid-column: span 1 / span 1
    }
    .lg\:col-span-2 {
        grid-column: span 2 / span 2
    }
    .lg\:col-span-3 {
        grid-column: span 3 / span 3
    }
    .lg\:mx-9 {
        margin-left: 2.25rem;
        margin-right: 2.25rem
    }
    .lg\:mb-1 {
        margin-bottom: 0.25rem
    }
    .lg\:mb-2 {
        margin-bottom: 0.5rem
    }
    .lg\:block {
        display: block
    }
    .lg\:inline {
        display: inline
    }
    .lg\:flex {
        display: flex
    }
    .lg\:grid {
        display: grid
    }
    .lg\:hidden {
        display: none
    }
    .lg\:h-5 {
        height: 1.25rem
    }
    .lg\:h-9 {
        height: 2.25rem
    }
    .lg\:w-1\/2 {
        width: 50%
    }
    .lg\:w-3\/4 {
        width: 75%
    }
    .lg\:w-5 {
        width: 1.25rem
    }
    .lg\:w-9 {
        width: 2.25rem
    }
    .lg\:max-w-\[160px\] {
        max-width: 160px
    }
    .lg\:max-w-\[180px\] {
        max-width: 180px
    }
    .lg\:max-w-xl {
        max-width: 36rem
    }
    .lg\:max-w-xs {
        max-width: 20rem
    }
    .lg\:grid-cols-12 {
        grid-template-columns: repeat(12, minmax(0, 1fr))
    }
    .lg\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
    .lg\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }
    .lg\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr))
    }
    .lg\:grid-cols-5 {
        grid-template-columns: repeat(5, minmax(0, 1fr))
    }
    .lg\:flex-row {
        flex-direction: row
    }
    .lg\:items-start {
        align-items: flex-start
    }
    .lg\:justify-end {
        justify-content: flex-end
    }
    .lg\:justify-between {
        justify-content: space-between
    }
    .lg\:space-x-1 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-x-reverse: 0;
        margin-right: calc(0.25rem * var(--tw-space-x-reverse));
        margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)))
    }
    .lg\:p-10 {
        padding: 2.5rem
    }
    .lg\:p-6 {
        padding: 1.5rem
    }
    .lg\:px-10 {
        padding-left: 2.5rem;
        padding-right: 2.5rem
    }
    .lg\:px-3 {
        padding-left: 0.75rem;
        padding-right: 0.75rem
    }
    .lg\:px-6 {
        padding-left: 1.5rem;
        padding-right: 1.5rem
    }
    .lg\:px-8 {
        padding-left: 2rem;
        padding-right: 2rem
    }
    .lg\:py-12 {
        padding-top: 3rem;
        padding-bottom: 3rem
    }
    .lg\:py-4 {
        padding-top: 1rem;
        padding-bottom: 1rem
    }
    .lg\:text-left {
        text-align: left
    }
    .lg\:text-2xl {
        font-size: 1.5rem;
        line-height: 2rem
    }
    .lg\:text-4xl {
        font-size: 2.25rem;
        line-height: 2.5rem
    }
    .lg\:text-\[12px\] {
        font-size: 12px
    }
    .lg\:text-lg {
        font-size: 1.125rem;
        line-height: 1.75rem
    }
    .lg\:text-sm {
        font-size: 0.875rem;
        line-height: 1.25rem
    }
    .lg\:text-xs {
        font-size: 0.75rem;
        line-height: 1rem
    }
}
@media (min-width: 1280px) {
    .xl\:ml-28 {
        margin-left: 7rem
    }
    .xl\:flex {
        display: flex
    }
    .xl\:w-1\/3 {
        width: 33.333333%
    }
    .xl\:max-w-\[180px\] {
        max-width: 180px
    }
    .xl\:max-w-\[200px\] {
        max-width: 200px
    }
    .xl\:grid-cols-12 {
        grid-template-columns: repeat(12, minmax(0, 1fr))
    }
    .xl\:gap-12 {
        gap: 3rem
    }
    .xl\:px-16 {
        padding-left: 4rem;
        padding-right: 4rem
    }
    .xl\:px-4 {
        padding-left: 1rem;
        padding-right: 1rem
    }
    .xl\:text-5xl {
        font-size: 3rem;
        line-height: 1
    }
    .xl\:text-xl {
        font-size: 1.25rem;
        line-height: 1.75rem
    }
}
@media (min-width: 1536px) {
    .\32xl\:mx-8 {
        margin-left: 2rem;
        margin-right: 2rem
    }
    .\32xl\:max-w-screen-2xl {
        max-width: 1536px
    }
    .\32xl\:text-2xl {
        font-size: 1.5rem;
        line-height: 2rem
    }
}
@media print {
    .print\:hidden {
        display: none
    }
}
.\[\&\>div\>div\]\:\!w-full>div>div {
    width: 100% !important
}
.\[\&\>div\]\:\!w-full>div {
    width: 100% !important
}
.\[\&_a\]\:text-indigo-600 a {
    --tw-text-opacity: 1;
    color: rgb(79 70 229 / 1);
    color: rgb(79 70 229 / var(--tw-text-opacity, 1))
}
.\[\&_code\]\:text-sm code {
    font-size: 0.875rem;
    line-height: 1.25rem
}
.\[\&_p\]\:leading-snug p {
    line-height: 1.375
}
.\[\&_pre\]\:rounded pre {
    border-radius: 0.25rem
}
.\[\&_pre\]\:bg-gray-100 pre {
    --tw-bg-opacity: 1;
    background-color: rgb(243 244 246 / 1);
    background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1))
}
.\[\&_pre\]\:bg-white\/15 pre {
    background-color: rgb(255 255 255 / 0.15)
}
.\[\&_pre\]\:text-xs pre {
    font-size: 0.75rem;
    line-height: 1rem
}

:root {
  /* Spacing scale */

  --spacing-xs: 0.5rem;

  --spacing-sm: 0.75rem;

  --spacing-md: 1rem;

  --spacing-lg: 0.5rem;

  --spacing-xl: 0.5rem;

  /* Container widths */

  --container-max-mobile: 100%;

  --container-max-tablet: 90%;

  --container-max-desktop: 80%;

  --container-max-large: 70%;

  --container-max-xl: 60%;
}

/* Typography & Colors */

.title_header {
  color: #0c15c0 !important;
}

.logo-style {
  max-width: 10rem !important;
}

.title_login {
  height: 58px !important;
}

.text_color_drafty {
  --tw-text-opacity: 1;

  color: rgba(9, 26, 52, var(--tw-text-opacity));
}

.bg_color_drafty {
  --tw-bg-opacity: 1;

  background-color: rgba(220, 231, 249, var(--tw-bg-opacity));
}

/* Hide scrollbars */

.hide-scrollbar::-webkit-scrollbar {
  display: none;
}

.hide-scrollbar {
  scrollbar-width: none;

  -ms-overflow-style: none;
}

/* Base layout container - centered with max-width scaling */

.mainContainer {
  display: flex;

  width: 100%;

  margin: 0 auto;

  position: relative;

  padding: 0 1rem;

  padding: 0 var(--spacing-md);

  max-width: 100%;

  max-width: var(--container-max-mobile);
}

/* Sidebar */

.sideBarContent {
  width: 80px;

  min-width: 80px;

  background-color: #f8f9fa;

  position: fixed;

  top: 0;

  left: 0;

  height: 100vh;

  z-index: 10;
}

.sideBarComponentStyle {
  height: 100%;

  background-color: #f8f9fa;
}

/* Main content area */

.mainContent {
  flex: 1 1;

  padding: 1rem;

  padding: var(--spacing-md);

  margin-left: 95px;

  padding-left: 0.5rem;

  padding-left: var(--spacing-lg);
}

/* Inner dashboard content container */

.dashboard-content {
  margin: 0 auto;

  max-width: 1200px;

  padding: 0 0.75rem;

  padding: 0 var(--spacing-sm);
}

/* Hover underline animation */

.underline-animation {
  position: relative;

  transition: color 0.3s ease-in-out;
}

.underline-animation::after {
  content: "";

  position: absolute;

  left: 0;

  bottom: 0;

  width: 0;

  height: 2px;

  background-color: currentColor;

  transition: width 0.3s ease-in-out;
}

.underline-animation:hover::after {
  width: 100%;
}

/* Draft styles */

/* .viewAllDraftStyle {

  height: 90%;

} */

/*
.viewNoOrLessDraft {

  height: auto;

} */

@keyframes smooth-up-bounce {
  0%,
  100% {
    transform: translateY(0);

    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
  }

  50% {
    transform: translateY(-5px);

    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
  }
}

@keyframes smooth-down-bounce {
  0%,
  100% {
    transform: translateY(0);

    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
  }

  50% {
    transform: translateY(5px);

    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
  }
}

/* Scrollbar styling */

::-webkit-scrollbar {
  width: 12px;
}

::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.5);

  border-radius: 10px;
}

::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.1);
}

/* Smooth scrolling */

.scroll-smooth {
  scroll-behavior: smooth;
}

/* Modal adjustments */

/* .clientCreationModal {
  height: 90%;
} */

/* High z-index chat widget adjustments when modal is open */
html.modal-open #hubspot-messages-iframe-container,
html.modal-open #hubspot-messages-iframe-container.widget-align-right {
  z-index: 2147483646 !important;
  position: fixed !important;
}

/* Borders and smaller components */

.border-navy {
  border: 2px solid #000079;

  padding: 2px;

  display: inline-block;
}

.draftTypeinAllDraft {
  text-align: center;

  padding-left: 0rem;
}

.draftInputsinAllDraft {
  text-align: center;

  margin-left: 0px;

  padding-right: 15px;
}

.downloadDraftinAllDraft {
  margin-left: 2.5rem;
}

.dateCreatedinAllDraft {
  margin-left: 1.5rem;
}

.clientDraftType {
  font-size: small;
}

/* Responsive typography and spacing */

@media (min-width: 1440px) {
  .draftTypeinAllDraft {
    padding-right: 1rem;
  }

  .clientDraftType {
    font-size: large;
  }
}

/* Mobile: base is mobile-first */

/* Tablet (768px+) */

@media (min-width: 768px) {
  .sideBarContent {
    width: 100px;

    min-width: 100px;
  }

  .mainContent {
    margin-left: 200px;

    padding: 0.5rem;

    padding: var(--spacing-lg);

    width: 90%;

    width: var(--container-max-tablet);
  }
}

/* Desktop (1024px+) */

@media (min-width: 1024px) {
  .sideBarContent {
    width: 200px;

    min-width: 200px;
  }

  .mainContent {
    margin-left: 220px;

    width: calc(100% - 240px);

    padding: 1rem;

    padding: var(--spacing-md);
  }
}

/* Large Desktop (1440px+) */

@media (min-width: 1440px) {
  .mainContainer {
    max-width: 100%;

    padding: 0 1rem;

    padding: 0 var(--spacing-md);
  }

  .mainContent {
    margin-left: 220px;

    width: calc(100% - 240px);

    padding: 0.5rem;

    padding: var(--spacing-lg);
  }
}

/* Extra Large Screens (1920px+) - fill space more fully */

@media (min-width: 1920px) {
  .mainContainer {
    max-width: 1800px;

    padding: 0 0.5rem;

    padding: 0 var(--spacing-lg);
  }

  .mainContent {
    margin-left: 240px;

    width: calc(100% - 260px);

    padding: 0.5rem;

    padding: var(--spacing-lg);
  }

  /* .clientCreationModal {
    height: auto;
  } */
}

/* Very large screens (2560px+) */

@media (min-width: 2560px) {
  body {
    zoom: 1.25;

    -moz-transform: scale(1.25);

    -moz-transform-origin: 0 0;
  }

  .mainContainer {
    max-width: 1800px;

    padding: 0 0.5rem;

    padding: 0 var(--spacing-xl);

    justify-content: flex-start;
  }

  .mainContent {
    width: 50%;

    margin-left: 300px;
  }

  .content-wrapper {
    padding: 0.5rem;
    padding: var(--spacing-xl);
  }

  .dashboardContainer {
    max-width: 100%;

    margin: 0 auto;
  }
}

/* Ultra-wide (3440px+) */

@media (min-width: 3440px) {
  body {
    zoom: 1.35;

    -moz-transform: scale(1.35);

    -moz-transform-origin: 0 0;
  }
}

/* 4K screens (3840px+) */

@media (min-width: 3840px) {
  body {
    zoom: 1.5;

    -moz-transform: scale(1.5);

    -moz-transform-origin: 0 0;
  }
}

/* Additional responsive tweaks */

@media (min-width: 768px) and (max-width: 1540px) {
  .sideBarContent {
    width: 200px;

    min-width: 200px;
  }

  .mainContent {
    margin-left: 220px;

    width: calc(100% - 240px);

    padding: 1rem;

    padding: var(--spacing-md);
  }
}

@media (min-width: 1541px) and (max-width: 1919px) {
  .sideBarContent {
    width: 10%;
  }
}

/* Ultra-wide (4001px+) just as a fallback */

@media (min-width: 4001px) and (max-width: 5000px) {
  .sideBarContent {
    width: 200px;

    min-width: 200px;
  }
}

/* Chargebee modal adjustments for large screens */

@media (min-width: 1537px) and (max-width: 2560px) {
  .chargebeeModal {
    width: 40%;
  }
}

/* Special cases for preview details */

@media (min-width: 768px) and (max-width: 1300px) {
  .previewDetail {
    width: 37%;

    line-height: 0.6rem;

    margin-top: 2px;

    font-size: x-small;
  }
}

/* Smaller fonts for certain elements on small screens */

@media (max-width: 1022px) {
  .unlimitedSpan {
    font-size: 7px;
  }
}

/* Hide unlimitedSpan for larger screens */

@media (min-width: 1023px) {
  .unlimitedSpan {
    display: none;
  }
}

/* Base styles */

html,
body {
  /* `clip` does the same job as `hidden` (no horizontal scrollbar,
   * overflow content is hidden) but does NOT establish a scroll
   * container, so descendants like the AppShell sidebar can use
   * `position: sticky` against the viewport. Switching from `hidden`
   * to `clip` was the fix for the sidebar scrolling away with the
   * page (rail must stay glued to the side of the window). */
  overflow-x: clip;

  width: 100%;

  position: relative;
}

/* Header and Navigation Styles */

.header {
  display: flex;

  align-items: center;

  justify-content: space-between;

  padding: 0 2rem;

  height: 70px;

  background: white;

  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);

  position: -webkit-sticky;

  position: sticky;

  top: 0;

  z-index: 20;

  width: 100%;
}

.header-left {
  display: flex;

  align-items: center;
}

.logo {
  height: 40px;
}

.logo img {
  height: 100%;

  width: auto;
}

.header-right {
  display: flex;

  align-items: center;

  gap: 1rem;
}

.nav-container {
  display: flex;

  align-items: center;

  gap: 1.5rem;
}

.nav-link {
  display: flex;

  align-items: center;

  gap: 0.5rem;

  color: #4b5563;

  text-decoration: none;

  font-size: 0.875rem;

  font-weight: 500;

  padding: 0.5rem 1rem;

  border-radius: 9999px;

  transition: all 0.2s;
}

.nav-link:hover {
  color: #1f2937;

  background: #f3f4f6;
}

.nav-link.active {
  color: #1f2937;

  background: #f3f4f6;
}

.nav-link svg {
  width: 1.25rem;

  height: 1.25rem;
}

/* Mobile menu button - hidden by default */

.mobile-menu-button {
  display: none;

  padding: 0.5rem;

  background: transparent;

  border: none;

  cursor: pointer;

  color: #4b5563;
}

.mobile-menu-button svg {
  width: 24px;

  height: 24px;
}

/* Mobile styles */

@media (max-width: 768px) {
  .header {
    padding: 0 1rem;

    position: fixed;

    left: 0;

    right: 0;
  }

  .nav-container {
    display: none;
  }

  .mobile-menu-button {
    display: block;
  }

  .mobile-menu {
    display: flex;

    flex-direction: column;

    position: fixed;

    top: 70px;

    left: 0;

    right: 0;

    background: white;

    padding: 1rem;

    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);

    z-index: 1000;
  }

  .mobile-menu .nav-link {
    padding: 0.75rem 1rem;

    width: 100%;
  }

  /* Fix sidebar and content scrolling */

  .sideBarContent {
    position: fixed;

    z-index: 1001;
  }

  .mainContent {
    margin-top: 70px;

    padding-left: 1rem;

    padding-right: 1rem;

    width: 100%;

    overflow-x: hidden;
  }

  .dashboard-container {
    padding: 1rem;

    width: 100%;

    overflow-x: hidden;
  }
}

/* Desktop styles */

@media (min-width: 769px) {
  .mobile-menu-button {
    display: none;
  }

  .nav-container {
    display: flex;
  }

  .mobile-menu {
    display: none;
  }
}

/* Dashboard Styles */

.dashboard-container {
  max-width: 1200px;

  margin: 0 auto;
}

.dashboard-header {
  text-align: center;

  margin-bottom: 2rem;
}

.dashboard-title {
  font-size: 2.5rem;

  font-weight: 700;

  color: #1a1a1a;

  margin-bottom: 0.5rem;
}

.dashboard-subtitle {
  font-size: 1.1rem;

  color: #666;
}

.tools-grid {
  display: grid;

  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));

  grid-gap: 1.5rem;

  gap: 1.5rem;

  margin-bottom: 2rem;
}

.tool-card {
  background: white;

  border-radius: 12px;

  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);

  transition: transform 0.2s, box-shadow 0.2s;

  overflow: hidden;

  text-decoration: none;

  color: inherit;
}

.tool-card:hover {
  transform: translateY(-2px);

  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.tool-card-content {
  padding: 1rem;

  display: flex;

  gap: 1rem;

  align-items: flex-start;
}

.tool-icon {
  background: #f5f5f5;

  padding: 0.75rem;

  border-radius: 8px;

  display: flex;

  align-items: center;

  justify-content: center;
}

.tool-info {
  flex: 1 1;
}

.tool-title {
  font-size: 1.25rem;

  font-weight: 600;

  margin-bottom: 0.5rem;

  color: #1a1a1a;
}

.tool-description {
  font-size: 0.95rem;

  color: #666;

  margin-bottom: 1rem;

  line-height: 1.4;
}

.tool-badges {
  display: flex;

  gap: 0.5rem;

  flex-wrap: wrap;
}

.badge {
  padding: 0.25rem 0.75rem;

  border-radius: 999px;

  font-size: 0.8rem;

  font-weight: 500;

  transition: transform 0.2s, box-shadow 0.2s;
}

.badge.premium {
  background: linear-gradient(135deg, #6366f1, #8b5cf6);

  color: white;

  box-shadow: 0 2px 4px rgba(99, 102, 241, 0.2);
}

.badge.premium:hover {
  transform: translateY(-1px);

  box-shadow: 0 4px 6px rgba(99, 102, 241, 0.3);
}

.badge.new {
  background: #22c55e;

  color: white;

  box-shadow: 0 2px 4px rgba(34, 197, 94, 0.2);
}

.badge.new:hover {
  transform: translateY(-1px);

  box-shadow: 0 4px 6px rgba(34, 197, 94, 0.3);
}

.badge.unlimited {
  background: #f59e0b;

  color: white;

  box-shadow: 0 2px 4px rgba(245, 158, 11, 0.2);
}

.badge.unlimited:hover {
  transform: translateY(-1px);

  box-shadow: 0 4px 6px rgba(245, 158, 11, 0.3);
}

.tools-note {
  text-align: center;

  color: #666;

  margin: 2rem 0;

  font-size: 0.95rem;
}

.subscription-text {
  max-width: 800px;

  margin: 0 auto;

  text-align: center;
}

.subscription-text p {
  margin-bottom: 1rem;
}

.subscription-note {
  font-size: 0.9rem;

  color: #666;
}

/* Page header styling */

.page-header {
  display: flex;

  align-items: center;

  gap: 0.75rem;

  margin-bottom: 1.5rem;
}

.header-icon {
  width: 3rem;

  /* height: 3rem; */

  color: rgb(15, 43, 87);

  filter: drop-shadow(3px 5px 5px rgba(0, 0, 0, 0.25));
}

.header-content h1 {
  font-size: 2rem;

  font-weight: 600;

  color: rgb(15, 43, 87);

  margin-bottom: 0.25rem;
}

.header-content p {
  color: rgb(107, 114, 128);

  font-size: 1rem;
}

/* Base styles */
body {
  margin: 0;
  padding: 0;
  background-color: white;
  position: relative;
}

body::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(/static/media/draftyai-background.d2ee98a0ff54229a31ee.jpeg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0.2;
  z-index: -1;
  pointer-events: none;
}

/* Common Header Card Styles */
.page-header {
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(15, 43, 87, 0.1);
  border-radius: 12px;
  padding: 1.25rem 1.5rem;
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  transition: all 0.2s ease;
}

.new-page-header {
  margin: auto 0;
  padding: 0.5rem 1.5rem;
  min-height: 80px;
  display: flex;
  align-items: center;
  gap: 1rem;
  transition: all 0.2s ease;
  /* border-radius: 12px; */
  border: 1px solid rgba(15, 43, 87, 0.1);
}

.page-header .header-icon {
  color: #0f2b57;
  flex-shrink: 0;
}

.page-header .header-content {
  flex: 1 1;
}

.page-header h1 {
  font-size: 1.25rem;
  font-weight: 600;
  color: #0f2b57;
  margin: 0;
}

.page-header p {
  font-size: 0.875rem;
  color: #4a5568;
  margin: 0.25rem 0 0 0;
}

/* Warning Message Styles */
.warning-message {
  background: #fff3e6;
  border: 1px solid #ffb366;
  border-radius: 8px;
  padding: 1rem 1.25rem;
  margin: 1rem 0;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

.warning-message .warning-icon {
  color: #e65c00;
  flex-shrink: 0;
  margin-top: 0.125rem;
}

.warning-message p {
  color: #663300;
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.5;
}

.warning-message a {
  color: #0f2b57;
  text-decoration: none;
  font-weight: 500;
}

.warning-message a:hover {
  text-decoration: underline;
}

/* Tool Cards */
.tool-card {
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(15, 43, 87, 0.1);
  border-radius: 12px;
  padding: 1.25rem;
  transition: all 0.2s ease;
  cursor: pointer;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  text-decoration: none;
}

.tool-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(15, 43, 87, 0.08);
}

.tool-card .tool-icon {
  color: #0f2b57;
  background: rgba(15, 43, 87, 0.05);
  padding: 0.75rem;
  border-radius: 8px;
  flex-shrink: 0;
}

.tool-card .tool-content {
  flex: 1 1;
}

.tool-card h3 {
  color: #0f2b57;
  font-size: 1rem;
  font-weight: 600;
  margin: 0 0 0.25rem 0;
}

.tool-card p {
  color: #4a5568;
  font-size: 0.875rem;
  margin: 0;
  line-height: 1.5;
}

/* Client List */
.client-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

/* Dark blue header section */
.section-header {
  background: #0f2b57;
  color: white;
  border-radius: 12px;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}

.section-header h2 {
  font-size: 1.25rem;
  font-weight: 500;
  margin: 0;
}

.section-header p {
  font-size: 0.875rem;
  margin: 0.5rem 0 0 0;
  opacity: 0.8;
}

/* Client List Item */
.client-item {
  background: white;
  border: 1px solid rgba(15, 43, 87, 0.1);
  border-radius: 12px;
  padding: 1rem 1.25rem;
  margin-bottom: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: all 0.2s ease;
}

.client-item:hover {
  border-color: rgba(15, 43, 87, 0.2);
  transform: translateX(2px);
}

.client-info {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.client-avatar {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: rgba(15, 43, 87, 0.05);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #0f2b57;
  font-weight: 500;
}

.client-details {
  display: flex;
  flex-direction: column;
}

.client-name {
  font-weight: 500;
  color: #0f2b57;
}

.sample-client-tag {
  display: inline-flex;
  align-items: center;
  background: rgba(15, 43, 87, 0.05);
  color: #0f2b57;
  font-size: 0.75rem;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  margin-top: 0.25rem;
}

.client-actions {
  display: flex;
  gap: 0.75rem;
}

.client-action-button {
  padding: 0.5rem;
  color: #64748b;
  border-radius: 6px;
  transition: all 0.2s ease;
}

.client-action-button:hover {
  color: #0f2b57;
  background: rgba(15, 43, 87, 0.05);
}

.disabled-content {
  opacity: 0.5;
  pointer-events: none;
  cursor: not-allowed;
  position: relative;
}

.disabled-content::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.1);
  pointer-events: none;
}

/* Action Buttons */
.action-button {
  /* The default color for all buttons should be #3b82f6 as of 01/01/2024 */
  background: #3b82f6;
  color: white;
  border: none;
  border-radius: 8px;
  padding: 0.75rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  transition: all 0.2s ease;
}

.action-button:hover {
  /* The default color for all buttons should be #3b82f6 as of 01/01/2024 */
  background: #3b82f6;
  transform: translateY(-1px);
}

.action-button .button-icon {
  width: 1.25rem;
  height: 1.25rem;
}

/* Sample Client Label - subtle styling */
.sample-client-label {
  background-color: transparent;
  color: #4a6fa5;
  border: 1px solid #a8c0dc;
  border-radius: 9999px;
  padding: 0.15rem 0.5rem;
  font-size: 0.7rem;
  font-weight: 500;
  margin-left: 0.5rem;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}

/* Modern Dashboard Header Styles */
.dashboard-header {
  padding: 1.5rem 2rem;
  margin-bottom: 2rem;
  background: transparent;
  border: none;
}

.dashboard-header h1 {
  font-size: 2rem;
  font-weight: 600;
  color: #1a1a1a;
  margin: 0;
  padding: 0;
}

.dashboard-header p {
  font-size: 1rem;
  color: #666;
  margin: 0.5rem 0 0 0;
  padding: 0;
}

/* Remove any box or card styles from the dashboard header section */
[role="banner"],
.bg_color_drafty {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Tooltip styles */
.tooltip {
  position: relative;
  display: inline-block;
  cursor: pointer;
}

.tooltip .tooltiptext {
  visibility: hidden;
  min-width: 120px;
  background-color: #1C3D5A;
  color: white;
  text-align: center;
  padding: 6px 10px;
  border-radius: 4px;
  font-size: 0.875rem;
  white-space: nowrap;
  
  /* Position the tooltip below */
  position: absolute;
  z-index: 1000;
  top: 125%;
  left: 50%;
  transform: translateX(-50%);
  
  /* Fade in animation */
  opacity: 0;
  transition: opacity 0.15s ease-in-out;
  
  /* Add shadow */
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* Arrow */
.tooltip .tooltiptext::after {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: transparent transparent #1C3D5A transparent;
}

/* Show the tooltip text when you mouse over the tooltip container */
.tooltip:hover .tooltiptext {
  visibility: visible;
  opacity: 1;
}

/* Scrollbar Styles */
/* Webkit browsers */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #555;
}

/* Firefox */
* {
  scrollbar-width: thin;
  scrollbar-color: #888 #f1f1f1;
}

/* For horizontal scrollbars specifically */
.overflow-x-auto {
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: #888 #f1f1f1;
}

.overflow-x-auto::-webkit-scrollbar {
  height: 8px;
}

.overflow-x-auto::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 4px;
}

.overflow-x-auto::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 4px;
}

.overflow-x-auto::-webkit-scrollbar-thumb:hover {
  background: #555;
}

/* Custom animations */
@keyframes bounce-slow {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}

.animate-bounce-slow {
  animation: bounce-slow 3s ease-in-out infinite;
}

/* Ensure Quill toolbar and sticky elements stay below modals */
.ql-toolbar.ql-snow,
#toolbar.ql-toolbar,
div[id="toolbar"] {
  z-index: 10 !important;
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 0 !important;
}

/* Ensure sticky elements on revision page stay below modals */
.sticky.top-0 {
  z-index: 10 !important;
}

/**
 * DraftyAI Design System — unified brand layer (2026-05).
 *
 * One source of truth for the brand: a confident legal-navy anchor, a
 * refined primary accent, a harmonized secondary accent for the 2nd CTA,
 * a restrained elevation + radius scale, and a small motion system for
 * tasteful micro-interactions.
 *
 * WHY hand-written CSS (not Tailwind utilities):
 *   The app loads Tailwind 2.2 from a CDN AND a local Tailwind 3 build.
 *   Arbitrary/newer utilities can silently no-op when the local JIT does
 *   not see a literal class (string interpolation) and the CDN TW2 lacks
 *   it. That class-miss has caused real bugs (disappearing buttons,
 *   invisible card backgrounds). This layer sidesteps that entirely:
 *   plain CSS with real selectors + CSS custom properties always applies.
 *
 * LOAD ORDER: imported in App.js after global.css, so it is the last
 * stylesheet injected and wins specificity ties over both the CDN TW2
 * and the local TW3 utilities. New `.ds-*` / `.hero-tile*` classnames
 * don't collide with existing utilities; the previously-undefined
 * `.ui-card` / `.ui-input` classes are finally given a real definition.
 *
 * Motion is transform/opacity-only and fully disabled under
 * prefers-reduced-motion. No glassmorphism, no neon — premium and quiet.
 */

:root {
  /* ---- Brand anchor (deep legal navy / ink) ---- */
  --ds-ink:            #0B1F3A; /* headings / strongest text */
  --ds-navy:           #0F2B57; /* brand anchor (existing drafty-navy) */
  --ds-navy-700:       #11365f;
  --ds-navy-tint:      #EAF0FA; /* faint navy wash */

  /* ---- Primary accent — CTA #1 "Add matter" (confident blue) ---- */
  --ds-primary:        #2563EB;
  --ds-primary-strong: #1D4ED8;
  --ds-primary-ink:    #1E3A8A;
  --ds-primary-tint:   #EEF4FF;
  --ds-primary-tint-2: #DCE7F9;
  --ds-primary-ring:   rgba(37, 99, 235, 0.30);

  /* ---- Secondary accent — CTA #2 "Add client" (harmonized indigo) ---- */
  --ds-accent:         #5B50E0;
  --ds-accent-strong:  #4B40D6;
  --ds-accent-ink:     #3F37B0;
  --ds-accent-tint:    #EFEDFD;
  --ds-accent-tint-2:  #E1DEFB;
  --ds-accent-ring:    rgba(91, 80, 224, 0.28);

  /* ---- Tertiary / neutral — "Continue last matter" (soft, recede) ---- */
  --ds-neutral-ink:    #334155;
  --ds-neutral-tint:   #F1F4F9;
  --ds-neutral-chip:   #E8EDF5;

  /* ---- Status ---- */
  --ds-success:        #059669;
  --ds-success-tint:   #ECFDF5;
  --ds-warning:        #D97706;
  --ds-danger:         #DC2626;

  /* ---- Surfaces, borders, text ---- */
  --ds-surface:        #FFFFFF;
  --ds-surface-2:      #FAFBFD;
  --ds-border:         rgba(15, 43, 87, 0.10);
  --ds-border-strong:  rgba(15, 43, 87, 0.18);
  --ds-text:           #1F2937;
  --ds-text-muted:     #64748B;

  /* ---- Elevation scale (soft, low-contrast) ---- */
  --ds-shadow-sm:   0 1px 2px rgba(15, 23, 42, 0.05), 0 1px 1px rgba(15, 23, 42, 0.03);
  --ds-shadow-card: 0 1px 2px rgba(15, 23, 42, 0.05), 0 1px 1px rgba(15, 23, 42, 0.03);
  --ds-shadow-hover: 0 10px 24px -12px rgba(15, 23, 42, 0.18), 0 3px 6px rgba(15, 23, 42, 0.06);
  --ds-shadow-elevated: 0 16px 40px -16px rgba(15, 23, 42, 0.22), 0 5px 10px rgba(15, 23, 42, 0.07);

  /* ---- Radii ---- */
  --ds-radius-sm:  8px;
  --ds-radius-md:  12px;
  --ds-radius-lg:  16px;
  --ds-radius-pill: 9999px;

  /* ---- Motion ---- */
  --ds-ease-spring: cubic-bezier(0.16, 1, 0.3, 1);
  --ds-ease-out:    cubic-bezier(0.33, 1, 0.68, 1);
  --ds-dur-fast: 140ms;
  --ds-dur:      200ms;
  --ds-dur-slow: 320ms;
}

/* ===================================================================
   PRIMITIVE: Card surface (.ui-card was previously an undefined no-op
   referenced across Recent Activity, Clients, AllDrafts, CaseAnalysis).
   Radius is intentionally NOT set here so the existing rounded-* utility
   on the element keeps control of corner geometry.
   =================================================================== */
.ui-card {
  background-color: #FFFFFF;
  background-color: var(--ds-surface);
  border: 1px solid rgba(15, 43, 87, 0.10);
  border: 1px solid var(--ds-border);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05), 0 1px 1px rgba(15, 23, 42, 0.03);
  box-shadow: var(--ds-shadow-card);
}

/* ===================================================================
   PRIMITIVE: Text input (.ui-input was also an undefined no-op).
   =================================================================== */
.ui-input {
  background-color: #FFFFFF;
  background-color: var(--ds-surface);
  border: 1px solid rgba(15, 43, 87, 0.18);
  border: 1px solid var(--ds-border-strong);
  border-radius: 8px;
  border-radius: var(--ds-radius-sm);
  color: #1F2937;
  color: var(--ds-text);
  transition: border-color 200ms cubic-bezier(0.33, 1, 0.68, 1),
    box-shadow 200ms cubic-bezier(0.33, 1, 0.68, 1);
  transition: border-color var(--ds-dur) var(--ds-ease-out),
    box-shadow var(--ds-dur) var(--ds-ease-out);
}
.ui-input::placeholder { color: #9aa6b6; }
.ui-input:hover { border-color: rgba(15, 43, 87, 0.18); border-color: var(--ds-border-strong); }
.ui-input:focus,
.ui-input:focus-visible {
  outline: none;
  border-color: #2563EB;
  border-color: var(--ds-primary);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.30);
  box-shadow: 0 0 0 3px var(--ds-primary-ring);
}

/* ===================================================================
   PRIMITIVE: Pill buttons (.ds-btn + variants).
   Brand language is the rounded "pill". Apply the variant for color.
   Sizing/padding stays on the element (utilities) so callers control it.
   =================================================================== */
.ds-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 9999px;
  border-radius: var(--ds-radius-pill);
  font-weight: 600;
  line-height: 1.1;
  cursor: pointer;
  border: 1px solid transparent;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 200ms cubic-bezier(0.33, 1, 0.68, 1),
    border-color 200ms cubic-bezier(0.33, 1, 0.68, 1),
    color 200ms cubic-bezier(0.33, 1, 0.68, 1),
    box-shadow 200ms cubic-bezier(0.33, 1, 0.68, 1),
    transform 200ms cubic-bezier(0.16, 1, 0.3, 1);
  transition: background-color var(--ds-dur) var(--ds-ease-out),
    border-color var(--ds-dur) var(--ds-ease-out),
    color var(--ds-dur) var(--ds-ease-out),
    box-shadow var(--ds-dur) var(--ds-ease-out),
    transform var(--ds-dur) var(--ds-ease-spring);
  will-change: transform;
}
.ds-btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.30);
  box-shadow: 0 0 0 3px var(--ds-primary-ring);
}
.ds-btn:active { transform: translateY(0) scale(0.985); }
.ds-btn:disabled,
.ds-btn[aria-disabled="true"] {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

/* Primary — confident brand blue */
.ds-btn--primary {
  background-color: #2563EB;
  background-color: var(--ds-primary);
  color: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05), 0 1px 1px rgba(15, 23, 42, 0.03);
  box-shadow: var(--ds-shadow-sm);
}
.ds-btn--primary:hover {
  background-color: #1D4ED8;
  background-color: var(--ds-primary-strong);
  box-shadow: 0 10px 24px -12px rgba(15, 23, 42, 0.18), 0 3px 6px rgba(15, 23, 42, 0.06);
  box-shadow: var(--ds-shadow-hover);
  transform: translateY(-1px);
}
.ds-btn--primary:focus-visible { box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.30); box-shadow: 0 0 0 3px var(--ds-primary-ring); }

/* Secondary — harmonized indigo (2nd accent) */
.ds-btn--secondary {
  background-color: #5B50E0;
  background-color: var(--ds-accent);
  color: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05), 0 1px 1px rgba(15, 23, 42, 0.03);
  box-shadow: var(--ds-shadow-sm);
}
.ds-btn--secondary:hover {
  background-color: #4B40D6;
  background-color: var(--ds-accent-strong);
  box-shadow: 0 10px 24px -12px rgba(15, 23, 42, 0.18), 0 3px 6px rgba(15, 23, 42, 0.06);
  box-shadow: var(--ds-shadow-hover);
  transform: translateY(-1px);
}
.ds-btn--secondary:focus-visible { box-shadow: 0 0 0 3px rgba(91, 80, 224, 0.28); box-shadow: 0 0 0 3px var(--ds-accent-ring); }

/* Outline — quiet white pill with navy text */
.ds-btn--outline {
  background-color: #FFFFFF;
  background-color: var(--ds-surface);
  color: #0F2B57;
  color: var(--ds-navy);
  border-color: rgba(15, 43, 87, 0.18);
  border-color: var(--ds-border-strong);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05), 0 1px 1px rgba(15, 23, 42, 0.03);
  box-shadow: var(--ds-shadow-sm);
}
.ds-btn--outline:hover {
  border-color: #2563EB;
  border-color: var(--ds-primary);
  color: #1D4ED8;
  color: var(--ds-primary-strong);
  background-color: #EEF4FF;
  background-color: var(--ds-primary-tint);
  transform: translateY(-1px);
}

/* Ghost — chromeless */
.ds-btn--ghost {
  background-color: transparent;
  color: #0F2B57;
  color: var(--ds-navy);
}
.ds-btn--ghost:hover { background-color: #F1F4F9; background-color: var(--ds-neutral-tint); }

/* ===================================================================
   MOTION UTILITY: lift on hover/focus for interactive cards.
   (Mirrors the existing tailwind `.lift-hover` so both spellings agree.)
   =================================================================== */
.ds-lift {
  transition: transform 200ms cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 200ms cubic-bezier(0.16, 1, 0.3, 1),
    border-color 200ms cubic-bezier(0.33, 1, 0.68, 1);
  transition: transform var(--ds-dur) var(--ds-ease-spring),
    box-shadow var(--ds-dur) var(--ds-ease-spring),
    border-color var(--ds-dur) var(--ds-ease-out);
  will-change: transform;
}
.ds-lift:hover,
.ds-lift:focus-visible { transform: translateY(-2px); }

/* Focus ring for interactive cards/links — reliable box-shadow (not the
   Tailwind `ring` utility, which can class-miss under the CDN TW2 +
   local TW3 setup this file exists to work around). */
.ds-focus-ring:focus-visible {
  outline: none;
  box-shadow: 0 10px 24px -12px rgba(15, 23, 42, 0.18), 0 3px 6px rgba(15, 23, 42, 0.06), 0 0 0 3px rgba(37, 99, 235, 0.30);
  box-shadow: var(--ds-shadow-hover), 0 0 0 3px var(--ds-primary-ring);
  border-color: #2563EB;
  border-color: var(--ds-primary);
}

/* ===================================================================
   DASHBOARD HERO TILES — "Add matter", "Add client", "Continue".
   Subtle, on-brand: soft tinted surface + confident accent ring/border
   + filled accent icon chip, instead of loud saturated fills. Two
   distinct accent colors; the neutral "continue" tile recedes.
   =================================================================== */
.hero-tile {
  position: relative;
  display: block;
  width: 100%;
  text-align: left;
  border-radius: 16px;
  border-radius: var(--ds-radius-lg);
  padding: 1.25rem;
  background-color: #FFFFFF;
  background-color: var(--ds-surface);
  border: 1px solid rgba(15, 43, 87, 0.10);
  border: 1px solid var(--ds-border);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05), 0 1px 1px rgba(15, 23, 42, 0.03);
  box-shadow: var(--ds-shadow-card);
  cursor: pointer;
  overflow: hidden;
  transition: transform 200ms cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 200ms cubic-bezier(0.16, 1, 0.3, 1),
    border-color 200ms cubic-bezier(0.33, 1, 0.68, 1);
  transition: transform var(--ds-dur) var(--ds-ease-spring),
    box-shadow var(--ds-dur) var(--ds-ease-spring),
    border-color var(--ds-dur) var(--ds-ease-out);
  will-change: transform;
}
.hero-tile:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px -12px rgba(15, 23, 42, 0.18), 0 3px 6px rgba(15, 23, 42, 0.06);
  box-shadow: var(--ds-shadow-hover);
}
.hero-tile:focus-visible {
  outline: none;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px -12px rgba(15, 23, 42, 0.18), 0 3px 6px rgba(15, 23, 42, 0.06), 0 0 0 3px rgba(37, 99, 235, 0.30);
  box-shadow: var(--ds-shadow-hover), 0 0 0 3px var(--ds-primary-ring);
}

/* Primary CTA — blue family */
.hero-tile--primary {
  background-image: linear-gradient(160deg, #ffffff 0%, #EEF4FF 100%);
  background-image: linear-gradient(160deg, #ffffff 0%, var(--ds-primary-tint) 100%);
  border-color: rgba(37, 99, 235, 0.30);
  border-color: var(--ds-primary-ring);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05), 0 1px 1px rgba(15, 23, 42, 0.03), inset 0 0 0 1px rgba(37, 99, 235, 0.06);
  box-shadow: var(--ds-shadow-card), inset 0 0 0 1px rgba(37, 99, 235, 0.06);
}
.hero-tile--primary:hover { border-color: #2563EB; border-color: var(--ds-primary); }
.hero-tile--primary:focus-visible { box-shadow: 0 10px 24px -12px rgba(15, 23, 42, 0.18), 0 3px 6px rgba(15, 23, 42, 0.06), 0 0 0 3px rgba(37, 99, 235, 0.30); box-shadow: var(--ds-shadow-hover), 0 0 0 3px var(--ds-primary-ring); }

/* Secondary CTA — indigo family */
.hero-tile--secondary {
  background-image: linear-gradient(160deg, #ffffff 0%, #EFEDFD 100%);
  background-image: linear-gradient(160deg, #ffffff 0%, var(--ds-accent-tint) 100%);
  border-color: rgba(91, 80, 224, 0.28);
  border-color: var(--ds-accent-ring);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05), 0 1px 1px rgba(15, 23, 42, 0.03), inset 0 0 0 1px rgba(91, 80, 224, 0.06);
  box-shadow: var(--ds-shadow-card), inset 0 0 0 1px rgba(91, 80, 224, 0.06);
}
.hero-tile--secondary:hover { border-color: #5B50E0; border-color: var(--ds-accent); }
.hero-tile--secondary:focus-visible { box-shadow: 0 10px 24px -12px rgba(15, 23, 42, 0.18), 0 3px 6px rgba(15, 23, 42, 0.06), 0 0 0 3px rgba(91, 80, 224, 0.28); box-shadow: var(--ds-shadow-hover), 0 0 0 3px var(--ds-accent-ring); }

/* Neutral tile — softest, recedes */
.hero-tile--neutral {
  background-image: linear-gradient(160deg, #ffffff 0%, #FAFBFD 100%);
  background-image: linear-gradient(160deg, #ffffff 0%, var(--ds-surface-2) 100%);
  border-color: rgba(15, 43, 87, 0.10);
  border-color: var(--ds-border);
}
.hero-tile--neutral:hover { border-color: rgba(15, 43, 87, 0.18); border-color: var(--ds-border-strong); }

/* Confident "sheen" — a slow, single-pass light sweep on hover that
   signals primary-ness without being gaudy. Disabled in reduced-motion. */
.hero-tile--primary::after,
.hero-tile--secondary::after {
  content: "";
  position: absolute;
  top: 0;
  left: -60%;
  width: 40%;
  height: 100%;
  background: linear-gradient(
    100deg,
    transparent 0%,
    rgba(255, 255, 255, 0.55) 50%,
    transparent 100%
  );
  transform: skewX(-18deg);
  opacity: 0;
  pointer-events: none;
  transition: opacity 200ms cubic-bezier(0.33, 1, 0.68, 1);
  transition: opacity var(--ds-dur) var(--ds-ease-out);
}
.hero-tile--primary:hover::after,
.hero-tile--secondary:hover::after {
  opacity: 1;
  animation: ds-sheen 0.9s cubic-bezier(0.33, 1, 0.68, 1) 1;
  animation: ds-sheen 0.9s var(--ds-ease-out) 1;
}
@keyframes ds-sheen {
  0%   { left: -60%; opacity: 0.0; }
  20%  { opacity: 1; }
  100% { left: 130%; opacity: 0; }
}

/* Icon chip */
.hero-tile__chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 12px;
  border-radius: var(--ds-radius-md);
  color: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05), 0 1px 1px rgba(15, 23, 42, 0.03);
  box-shadow: var(--ds-shadow-sm);
  transition: transform 200ms cubic-bezier(0.16, 1, 0.3, 1);
  transition: transform var(--ds-dur) var(--ds-ease-spring);
}
.hero-tile:hover .hero-tile__chip { transform: scale(1.06); }
.hero-tile--primary .hero-tile__chip   { background-color: #2563EB; background-color: var(--ds-primary); }
.hero-tile--secondary .hero-tile__chip { background-color: #5B50E0; background-color: var(--ds-accent); }
.hero-tile--neutral .hero-tile__chip   {
  background-color: #E8EDF5;
  background-color: var(--ds-neutral-chip);
  color: #0F2B57;
  color: var(--ds-navy);
  box-shadow: none;
}

.hero-tile__title {
  font-size: 1rem;
  font-weight: 600;
  color: #0B1F3A;
  color: var(--ds-ink);
}
.hero-tile__desc {
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: #64748B;
  color: var(--ds-text-muted);
}
.hero-tile__sub {
  margin-top: 0.5rem;
  font-size: 0.75rem;
  color: #64748B;
  color: var(--ds-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Flex row layout — arrow sits in-flow (no absolute overlap on narrow screens). */
.hero-tile__inner {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}
.hero-tile__body {
  min-width: 0;
  flex: 1 1;
}

.hero-tile__arrow {
  flex-shrink: 0;
  align-self: center;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: 0.125rem;
  color: #64748B;
  color: var(--ds-text-muted);
  transition: transform 200ms cubic-bezier(0.16, 1, 0.3, 1),
    color 200ms cubic-bezier(0.33, 1, 0.68, 1);
  transition: transform var(--ds-dur) var(--ds-ease-spring),
    color var(--ds-dur) var(--ds-ease-out);
}
.hero-tile:hover .hero-tile__arrow { transform: translateX(3px); }
.hero-tile--primary:hover .hero-tile__arrow   { color: #1D4ED8; color: var(--ds-primary-strong); }
.hero-tile--secondary:hover .hero-tile__arrow { color: #4B40D6; color: var(--ds-accent-strong); }
.hero-tile--neutral:hover .hero-tile__arrow   { color: #0F2B57; color: var(--ds-navy); }

/* ===================================================================
   MOBILE / TOUCH — min 44px targets, readable type, no horizontal
   scroll traps. Uses plain CSS media queries (safe vs TW2 CDN).
   =================================================================== */
.ds-touch-target {
  min-height: 44px;
  min-width: 44px;
}

/* Pill / chip actions in tables and lists */
.ds-touch-pill {
  min-height: 44px;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Last Activity draft-type pill — fixed width so the Recent Activity column stays even */
.ds-activity-pill {
  box-sizing: border-box;
  width: 9.5rem;
  min-width: 9.5rem;
  max-width: 9.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  padding: 0.375rem 0.5rem;
  border-radius: 9999px;
  border-radius: var(--ds-radius-pill);
  border: 1px solid #DCE7F9;
  border: 1px solid var(--ds-primary-tint-2);
  background-color: #EEF4FF;
  background-color: var(--ds-primary-tint);
  color: #1E3A8A;
  color: var(--ds-primary-ink);
  font-size: 0.75rem;
  line-height: 1rem;
  transition: background-color 200ms cubic-bezier(0.33, 1, 0.68, 1),
    border-color 200ms cubic-bezier(0.33, 1, 0.68, 1);
  transition: background-color var(--ds-dur) var(--ds-ease-out),
    border-color var(--ds-dur) var(--ds-ease-out);
}
.ds-activity-pill:hover:not(:disabled) {
  background-color: #DCE7F9;
  background-color: var(--ds-primary-tint-2);
  border-color: rgba(37, 99, 235, 0.35);
}
.ds-activity-pill:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.30);
  box-shadow: 0 0 0 3px var(--ds-primary-ring);
}
.ds-activity-pill--disabled {
  background-color: #f3f4f6;
  border-color: #e5e7eb;
  color: #9ca3af;
  cursor: not-allowed;
}
.ds-activity-pill__icon {
  flex-shrink: 0;
  width: 0.75rem;
  height: 0.75rem;
}
.ds-activity-pill__label {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: left;
}

/* Horizontally scrollable pill/filter row on narrow viewports */
.ds-scroll-x {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

/* Modal shell: fits viewport, scrolls internally */
.ds-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 1rem;
  padding-top: max(1rem, env(safe-area-inset-top, 0px));
  padding-bottom: max(1rem, env(safe-area-inset-bottom, 0px));
  background-color: rgba(17, 24, 39, 0.5);
  overflow-y: auto;
}
.ds-modal-panel {
  width: 100%;
  max-width: 42rem;
  max-height: calc(100vh - 2rem);
  max-height: calc(100dvh - 2rem);
  overflow-y: auto;
  background-color: #FFFFFF;
  background-color: var(--ds-surface);
  border-radius: 16px;
  border-radius: var(--ds-radius-lg);
  box-shadow: 0 16px 40px -16px rgba(15, 23, 42, 0.22), 0 5px 10px rgba(15, 23, 42, 0.07);
  box-shadow: var(--ds-shadow-elevated);
}

/* Sticky wizard footer (Draft Anything, multi-step flows) */
.ds-wizard-footer {
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  z-index: 20;
  margin-top: 1.5rem;
  padding: 0.75rem 0;
  padding-bottom: max(0.75rem, env(safe-area-inset-bottom, 0px));
  background: linear-gradient(
    to top,
    #ffffff 70%,
    rgba(255, 255, 255, 0.95) 90%,
    transparent
  );
  border-top: 1px solid rgba(15, 43, 87, 0.10);
  border-top: 1px solid var(--ds-border);
}

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

@media (max-width: 639px) {
  .hero-tile {
    min-height: 44px;
    padding: 1rem;
  }
  .hero-tile__chip {
    width: 2.75rem;
    height: 2.75rem;
    min-width: 2.75rem;
    min-height: 2.75rem;
  }
  .hero-tile__title {
    font-size: 0.9375rem;
    line-height: 1.35;
  }
  .hero-tile__desc {
    font-size: 0.8125rem;
    line-height: 1.45;
  }
  .hero-tile__sub {
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: initial;
  }

  .ui-input {
    min-height: 44px;
    font-size: 16px; /* prevents iOS focus zoom */
  }

  .ds-btn {
    min-height: 44px;
  }
}

/* ===================================================================
   REDUCED MOTION — honor the OS preference. Keep color/opacity, drop
   movement + the sheen animation.
   =================================================================== */
@media (prefers-reduced-motion: reduce) {
  .ds-btn,
  .ds-lift,
  .hero-tile,
  .hero-tile__chip,
  .hero-tile__arrow,
  .ui-input {
    transition-duration: 0.01ms !important;
  }
  .ds-btn:hover,
  .ds-btn:active,
  .ds-lift:hover,
  .hero-tile:hover,
  .hero-tile:focus-visible,
  .hero-tile:hover .hero-tile__chip,
  .hero-tile:hover .hero-tile__arrow {
    transform: none !important;
  }
  .hero-tile--primary:hover::after,
  .hero-tile--secondary:hover::after {
    animation: none !important;
    opacity: 0 !important;
  }
}

@property --glow-alpha-a {
    syntax: '<number>';
    inherits: false;
    initial-value: 0.55;
}
@property --glow-alpha-b {
    syntax: '<number>';
    inherits: false;
    initial-value: 0.25;
}
@property --glow-blur-a {
    syntax: '<length>';
    inherits: false;
    initial-value: 0.5px;
}
@property --glow-blur-b {
    syntax: '<length>';
    inherits: false;
    initial-value: 2px;
}

@keyframes drafty-pricing-attention {
    0%   { transform: scale(1); }
    35%  { transform: scale(1.08); }
    100% { transform: scale(1); }
}

@keyframes drafty-glow-alpha-a {
    0%, 100% { --glow-alpha-a: 0.55; }
    50%      { --glow-alpha-a: 0.95; }
}
@keyframes drafty-glow-alpha-b {
    0%, 100% { --glow-alpha-b: 0.25; }
    50%      { --glow-alpha-b: 0.55; }
}
@keyframes drafty-glow-blur-a {
    0%, 100% { --glow-blur-a: 0.5px; }
    50%      { --glow-blur-a: 1.5px; }
}
@keyframes drafty-glow-blur-b {
    0%, 100% { --glow-blur-b: 2px; }
    50%      { --glow-blur-b: 5px; }
}

.drafty-pricing-attention {
    transform-origin: center;
    will-change: transform;
    animation: drafty-pricing-attention 1100ms cubic-bezier(0.45, 0.05, 0.55, 0.95) 0ms 1 backwards;
    animation: drafty-pricing-attention 1100ms cubic-bezier(0.45, 0.05, 0.55, 0.95) var(--wave-delay, 0ms) 1 backwards;
}

/*
 * Edge glow via stacked drop-shadows — follows each control's alpha shape
 * (pill outline, button border, range thumb/track) in Chrome and Safari.
 */
.magic-edge-glow {
    filter:
        drop-shadow(0 0 var(--glow-blur-a) rgba(24, 119, 242, var(--glow-alpha-a)))
        drop-shadow(0 0 var(--glow-blur-b) rgba(24, 119, 242, var(--glow-alpha-b)));
    animation:
        drafty-glow-alpha-a 2.7s ease-in-out infinite,
        drafty-glow-alpha-b 4.1s ease-in-out infinite,
        drafty-glow-blur-a  3.3s ease-in-out infinite,
        drafty-glow-blur-b  5.7s ease-in-out infinite;
    animation-delay: 0s;
    animation-delay: var(--glow-delay, 0s);
    will-change: filter;
}

.magic-edge-glow--soft {
    --glow-alpha-a: 0.38;
    --glow-alpha-b: 0.16;
    --glow-blur-a: 0.4px;
    --glow-blur-b: 1.5px;
}

.drafty-pricing-attention.magic-edge-glow {
    animation:
        drafty-pricing-attention 1100ms cubic-bezier(0.45, 0.05, 0.55, 0.95) 1 backwards,
        drafty-glow-alpha-a 2.7s ease-in-out infinite,
        drafty-glow-alpha-b 4.1s ease-in-out infinite,
        drafty-glow-blur-a  3.3s ease-in-out infinite,
        drafty-glow-blur-b  5.7s ease-in-out infinite;
    animation-delay:
        0ms,
        0s,
        0s,
        0s,
        0s;
    animation-delay:
        var(--wave-delay, 0ms),
        var(--glow-delay, 0s),
        var(--glow-delay, 0s),
        var(--glow-delay, 0s),
        var(--glow-delay, 0s);
}

@media (prefers-reduced-motion: reduce) {
    .drafty-pricing-attention,
    .drafty-pricing-attention.magic-edge-glow {
        animation: none;
    }
    .magic-edge-glow {
        animation: none;
        filter: none;
    }
}

/* Touch-friendly range slider — 44px vertical hit area, larger thumb on mobile */
.calculator-range {
    -webkit-appearance: none;
    appearance: none;
    height: 2.75rem;
    min-height: 44px;
    margin: 0;
    padding: 0;
    background: transparent;
    cursor: pointer;
}

.calculator-range:focus {
    outline: none;
}

.calculator-range:focus-visible {
    outline: 2px solid #4691F7;
    outline-offset: 2px;
    border-radius: 9999px;
}

.calculator-range::-webkit-slider-runnable-track {
    height: 6px;
    border-radius: 9999px;
    background: #e5e7eb;
}

.calculator-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 1.75rem;
    height: 1.75rem;
    margin-top: calc((6px - 1.75rem) / 2);
    border: 2px solid #4691F7;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(10, 30, 63, 0.12);
}

.calculator-range::-moz-range-track {
    height: 6px;
    border-radius: 9999px;
    background: #e5e7eb;
    border: none;
}

.calculator-range::-moz-range-thumb {
    width: 1.75rem;
    height: 1.75rem;
    border: 2px solid #4691F7;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(10, 30, 63, 0.12);
}

@media (min-width: 640px) {
    .calculator-range {
        height: 2rem;
        min-height: 32px;
    }

    .calculator-range::-webkit-slider-thumb {
        width: 1.25rem;
        height: 1.25rem;
        margin-top: calc((6px - 1.25rem) / 2);
    }

    .calculator-range::-moz-range-thumb {
        width: 1.25rem;
        height: 1.25rem;
    }
}

/*
 * Price summary — plain CSS so CRA Tailwind JIT cannot strip arbitrary
 * hex/bg utilities from the linked @draftyai/pricing-calculator package.
 */
.calculator-price-summary {
    margin-top: 1rem;
    min-width: 0;
    border-radius: 0.75rem;
    background-color: #f0f4fa;
    padding: 0.75rem;
}

@media (min-width: 640px) {
    .calculator-price-summary {
        margin-top: 1.25rem;
        padding: 1rem;
    }
}

@media (min-width: 1024px) {
    .calculator-price-summary {
        padding: 1.25rem;
    }
}

.calculator-price-label {
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #4691f7;
}

@media (min-width: 640px) {
    .calculator-price-label {
        font-size: 0.75rem;
    }
}

.calculator-price-amount {
    font-size: 2.025rem;
    font-weight: 700;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
    color: #0a1e3f;
    line-height: 1.15;
}

.support-chat-container {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 2147483645;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.support-chat-fab {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #1e40af;
  color: white;
  border: none;
  cursor: pointer;
  font-size: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: all 0.2s ease;
}

.support-chat-fab:hover {
  background: #1d4ed8;
  transform: scale(1.05);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}

.support-chat-fab-open {
  background: #6b7280;
}

.support-chat-fab-open:hover {
  background: #4b5563;
}

/* =============================================================================
   PANEL — default and expanded states
   ============================================================================= */

.support-chat-panel {
  position: absolute;
  bottom: 72px;
  right: 0;
  width: 380px;
  max-height: 560px;
  background: white;
  border-radius: 12px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
  display: flex;
  flex-direction: column;
  overflow: visible;
  animation: support-chat-slide-up 0.2s ease-out;
  transition: width 0.25s ease, max-height 0.25s ease;
}

.support-chat-panel--expanded {
  width: 600px;
  max-height: 720px;
}

@keyframes support-chat-slide-up {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* =============================================================================
   HEADER
   ============================================================================= */

.support-chat-header {
  background: #1e40af;
  color: white;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  border-radius: 12px 12px 0 0;
}

.support-chat-header-left {
  display: flex;
  align-items: center;
  gap: 10px;
}

.support-chat-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 16px;
}

.support-chat-avatar-img {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(255, 255, 255, 0.3);
}

.support-chat-title {
  font-weight: 600;
  font-size: 15px;
}

.support-chat-subtitle {
  font-size: 12px;
  opacity: 0.8;
}

.support-chat-header-actions {
  display: flex;
  gap: 4px;
}

.support-chat-header-btn {
  background: none;
  border: none;
  color: white;
  cursor: pointer;
  font-size: 18px;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  opacity: 0.8;
  position: relative;
}

.support-chat-header-btn:hover {
  opacity: 1;
  background: rgba(255, 255, 255, 0.15);
}

.support-chat-expand-btn svg {
  display: block;
}

/* Styled tooltip for header buttons */
.support-chat-header-btn[title]:hover::after {
  content: attr(title);
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  white-space: nowrap;
  background: #1f2937;
  color: #f9fafb;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 500;
  pointer-events: none;
  z-index: 10;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}

/* Tooltip for action buttons in footer — positioned to the right so they
   don't get clipped by the panel's left edge or overflow:hidden. */
.support-chat-attach-btn[title]:hover::after {
  content: attr(title);
  position: absolute;
  bottom: calc(100% + 6px);
  left: 0;
  white-space: nowrap;
  background: #1f2937;
  color: #f9fafb;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 500;
  pointer-events: none;
  z-index: 10;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}

.support-chat-send-btn[title]:hover::after {
  content: attr(title);
  position: absolute;
  bottom: calc(100% + 6px);
  right: 0;
  white-space: nowrap;
  background: #1f2937;
  color: #f9fafb;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 500;
  pointer-events: none;
  z-index: 10;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}

.support-chat-ticket-banner {
  background: #eff6ff;
  color: #1e40af;
  padding: 6px 16px;
  font-size: 12px;
  font-weight: 500;
  border-bottom: 1px solid #dbeafe;
  flex-shrink: 0;
}

/* =============================================================================
   MESSAGES
   ============================================================================= */

.support-chat-messages {
  flex: 1 1;
  overflow-y: auto;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 0;
}

.support-chat-message {
  max-width: 85%;
  animation: support-chat-fade-in 0.2s ease;
}

@keyframes support-chat-fade-in {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

.support-chat-message-user {
  align-self: flex-end;
}

.support-chat-message-assistant {
  align-self: flex-start;
}

.support-chat-message-content {
  padding: 10px 14px;
  border-radius: 12px;
  font-size: 14px;
  line-height: 1.5;
  white-space: pre-wrap;
  word-wrap: break-word;
}

.support-chat-message-user .support-chat-message-content {
  background: #1e40af;
  color: white;
  border-bottom-right-radius: 4px;
}

.support-chat-message-assistant .support-chat-message-content {
  background: #f3f4f6;
  color: #1f2937;
  border-bottom-left-radius: 4px;
  white-space: normal;
}

/* Markdown typography inside assistant bubbles */
.support-chat-message-assistant .support-chat-message-content p {
  margin: 0 0 0.5em;
}
.support-chat-message-assistant .support-chat-message-content p:last-child {
  margin-bottom: 0;
}
.support-chat-message-assistant .support-chat-message-content strong {
  font-weight: 600;
}
.support-chat-message-assistant .support-chat-message-content em {
  font-style: italic;
}
.support-chat-message-assistant .support-chat-message-content ul,
.support-chat-message-assistant .support-chat-message-content ol {
  margin: 0.4em 0;
  padding-left: 1.4em;
}
.support-chat-message-assistant .support-chat-message-content li {
  margin-bottom: 0.2em;
}
.support-chat-message-assistant .support-chat-message-content a {
  color: #2563eb;
  text-decoration: underline;
}
.support-chat-message-assistant .support-chat-message-content code {
  background: #e5e7eb;
  padding: 1px 4px;
  border-radius: 3px;
  font-size: 0.9em;
}
.support-chat-message-assistant .support-chat-message-content pre {
  background: #1f2937;
  color: #e5e7eb;
  padding: 8px 12px;
  border-radius: 6px;
  overflow-x: auto;
  margin: 0.5em 0;
  font-size: 0.85em;
}
.support-chat-message-assistant .support-chat-message-content pre code {
  background: none;
  padding: 0;
  color: inherit;
}
.support-chat-message-assistant .support-chat-message-content h1,
.support-chat-message-assistant .support-chat-message-content h2,
.support-chat-message-assistant .support-chat-message-content h3 {
  font-weight: 600;
  margin: 0.6em 0 0.3em;
}
.support-chat-message-assistant .support-chat-message-content h1 { font-size: 1.15em; }
.support-chat-message-assistant .support-chat-message-content h2 { font-size: 1.05em; }
.support-chat-message-assistant .support-chat-message-content h3 { font-size: 1em; }
.support-chat-message-assistant .support-chat-message-content blockquote {
  border-left: 3px solid #9ca3af;
  margin: 0.4em 0;
  padding: 2px 10px;
  color: #6b7280;
}

/* Human agent label */
.support-chat-human-label {
  font-size: 0.7em;
  font-weight: 600;
  color: #059669;
  margin-bottom: 2px;
  letter-spacing: 0.02em;
}

/* =============================================================================
   IMAGE ATTACHMENTS IN MESSAGES
   ============================================================================= */

.support-chat-message-images {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}

.support-chat-msg-img {
  max-width: 180px;
  max-height: 120px;
  border-radius: 8px;
  object-fit: cover;
  border: 1px solid rgba(0,0,0,0.1);
  cursor: pointer;
  transition: opacity 0.15s;
}

.support-chat-msg-img:hover {
  opacity: 0.8;
}

/* =============================================================================
   UPLOAD INDICATOR
   ============================================================================= */

.support-chat-upload-indicator {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  font-size: 12px;
  color: #1e40af;
  background: #eff6ff;
  border-radius: 6px;
  margin-bottom: 6px;
}

.support-chat-upload-spinner {
  width: 14px;
  height: 14px;
  border: 2px solid #bfdbfe;
  border-top-color: #1e40af;
  border-radius: 50%;
  animation: support-chat-spin 0.6s linear infinite;
  flex-shrink: 0;
}

@keyframes support-chat-spin {
  to { transform: rotate(360deg); }
}

/* =============================================================================
   PENDING IMAGE PREVIEWS
   ============================================================================= */

.support-chat-pending-images {
  display: flex;
  gap: 6px;
  padding: 6px 0;
  overflow-x: auto;
}

.support-chat-pending-img-wrap {
  position: relative;
  flex-shrink: 0;
}

.support-chat-pending-img {
  width: 56px;
  height: 56px;
  border-radius: 6px;
  object-fit: cover;
  border: 1px solid #e5e7eb;
}

.support-chat-pending-img-remove {
  position: absolute;
  top: -4px;
  right: -4px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #ef4444;
  color: white;
  border: none;
  font-size: 12px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* =============================================================================
   SOURCES, TYPING, ERROR
   ============================================================================= */

.support-chat-sources {
  margin-top: 6px;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
}

.support-chat-sources-label {
  font-size: 11px;
  color: #6b7280;
}

.support-chat-source-tag {
  font-size: 11px;
  background: #e5e7eb;
  color: #374151;
  padding: 2px 8px;
  border-radius: 10px;
}

.support-chat-typing {
  display: flex;
  gap: 4px;
  padding: 10px 14px;
  background: #f3f4f6;
  border-radius: 12px;
  border-bottom-left-radius: 4px;
}

.support-chat-typing span {
  width: 6px;
  height: 6px;
  background: #9ca3af;
  border-radius: 50%;
  animation: support-chat-bounce 1.2s infinite;
}

.support-chat-typing span:nth-child(2) { animation-delay: 0.2s; }
.support-chat-typing span:nth-child(3) { animation-delay: 0.4s; }

@keyframes support-chat-bounce {
  0%, 60%, 100% { transform: translateY(0); }
  30% { transform: translateY(-6px); }
}

.support-chat-error {
  background: #fef2f2;
  color: #b91c1c;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 13px;
}

/* =============================================================================
   FOOTER / INPUT AREA
   ============================================================================= */

.support-chat-footer {
  border-top: 1px solid #e5e7eb;
  padding: 8px 12px 12px;
  flex-shrink: 0;
  background: white;
  border-radius: 0 0 12px 12px;
}

.support-chat-human-btn {
  display: block;
  width: 100%;
  padding: 6px;
  margin-bottom: 8px;
  background: none;
  border: 1px dashed #d1d5db;
  border-radius: 6px;
  color: #6b7280;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.support-chat-human-btn:hover:not(:disabled) {
  border-color: #1e40af;
  color: #1e40af;
  background: #eff6ff;
}

.support-chat-human-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.support-chat-input-row {
  display: flex;
  gap: 6px;
  align-items: flex-end;
}

.support-chat-attach-actions {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex-shrink: 0;
}

.support-chat-attach-btn {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  cursor: pointer;
  font-size: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s;
  position: relative;
}

.support-chat-attach-btn:hover:not(:disabled) {
  background: #e5e7eb;
  border-color: #d1d5db;
}

.support-chat-attach-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.support-chat-input {
  flex: 1 1;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 8px 12px;
  font-size: 14px;
  resize: none;
  max-height: 80px;
  font-family: inherit;
  outline: none;
  transition: border-color 0.15s;
}

.support-chat-input:focus {
  border-color: #1e40af;
}

.support-chat-send-btn {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: #1e40af;
  color: white;
  border: none;
  cursor: pointer;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.15s;
  position: relative;
}

.support-chat-send-btn:hover:not(:disabled) {
  background: #1d4ed8;
}

.support-chat-send-btn:disabled {
  background: #9ca3af;
  cursor: not-allowed;
}

/* =============================================================================
   CHAT HISTORY
   ============================================================================= */

.support-chat-history {
  flex: 1 1;
  overflow-y: auto;
  padding: 12px;
  min-height: 0;
  background: white;
  border-radius: 0 0 12px 12px;
}

.support-chat-history-title {
  font-size: 13px;
  font-weight: 600;
  color: #374151;
  margin-bottom: 8px;
  padding: 0 4px;
}

.support-chat-history-empty {
  text-align: center;
  color: #9ca3af;
  font-size: 13px;
  padding: 40px 0;
}

.support-chat-history-item {
  display: block;
  width: 100%;
  text-align: left;
  padding: 10px 12px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: white;
  cursor: pointer;
  margin-bottom: 6px;
  transition: all 0.15s;
}

.support-chat-history-item:hover {
  border-color: #1e40af;
  background: #eff6ff;
}

.support-chat-history-item-header {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 500;
  color: #1f2937;
}

.support-chat-history-date {
  margin-left: auto;
  font-size: 11px;
  color: #9ca3af;
  font-weight: 400;
}

.support-chat-history-item-meta {
  font-size: 11px;
  color: #6b7280;
  margin-top: 4px;
}

.support-chat-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

.support-chat-status-dot.active { background: #22c55e; }
.support-chat-status-dot.resolved { background: #6b7280; }
.support-chat-status-dot.escalated { background: #f59e0b; }

/* =============================================================================
   RESPONSIVE
   ============================================================================= */

@media (max-width: 480px) {
  .support-chat-panel {
    width: calc(100vw - 32px);
    max-height: calc(100vh - 120px);
    right: -8px;
  }
  .support-chat-panel--expanded {
    width: calc(100vw - 32px);
  }
}

@media (min-width: 481px) and (max-width: 680px) {
  .support-chat-panel--expanded {
    width: calc(100vw - 80px);
  }
}

