/* [next]/internal/font/google/inter_881cffc2.module.css [app-client] (css) */
@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/5476f68d60460930-s.0wxq9webf.ew4.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/2bbe8d2671613f1f-s.p.067x_6k0k23tk.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/5476f68d60460930-s.0wxq9webf.ew4.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/2bbe8d2671613f1f-s.p.067x_6k0k23tk.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/5476f68d60460930-s.0wxq9webf.ew4.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/2bbe8d2671613f1f-s.p.067x_6k0k23tk.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/5476f68d60460930-s.0wxq9webf.ew4.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/2bbe8d2671613f1f-s.p.067x_6k0k23tk.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter Fallback;
  src: local(Arial);
  ascent-override: 90.44%;
  descent-override: 22.52%;
  line-gap-override: 0.0%;
  size-adjust: 107.12%;
}

.inter_881cffc2-module__WoVViq__className {
  font-family: Inter, Inter Fallback;
  font-style: normal;
}

.inter_881cffc2-module__WoVViq__variable {
  --font-inter: "Inter", "Inter Fallback";
}

/* [next]/internal/font/google/be_vietnam_pro_761bb309.module.css [app-client] (css) */
@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/53e45098eac42afb-s.p.0l2qk94b1u89y.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/85ea1b3aadcead52-s.01rdcbu-77uoy.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/3c285486269019b7-s.p.0sn2213rkw2e_.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/625a092f804baad3-s.p.0mrp_qm_8jqq_.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/6afabefbb32d7517-s.05-22z7vt.jl1.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/a4f4f75ad654963f-s.p.0h6jagi-ln9qy.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/a3bcb02a0e9e5d11-s.p.0p40-daftjh_g.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/b35fd19aef91b293-s.07en.a1_ufzzv.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/8f46d218c8f79e34-s.p.0xhl7b6zs4.~j.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/8ffc259da9d23054-s.p.0b_.2~bprftx..woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/9e486ba39c38fb8a-s.0qxf2_hlpbci0.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/6f42e0a3b0519c4d-s.p.0czffigx~77c..woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Be Vietnam Pro Fallback;
  src: local(Arial);
  ascent-override: 90.61%;
  descent-override: 24.01%;
  line-gap-override: 0.0%;
  size-adjust: 110.36%;
}

.be_vietnam_pro_761bb309-module__s-ZC6G__className {
  font-family: Be Vietnam Pro, Be Vietnam Pro Fallback;
  font-style: normal;
}

.be_vietnam_pro_761bb309-module__s-ZC6G__variable {
  --font-be-vietnam-pro: "Be Vietnam Pro", "Be Vietnam Pro Fallback";
}

/* [project]/apps/web/src/app/globals.css [app-client] (css) */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-divide-y-reverse: 0;
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: var(--font-inter), var(--font-be-vietnam-pro), ui-sans-serif, system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    --color-red-200: #ffcaca;
    --color-red-300: #ffa3a3;
    --color-red-400: #ff6568;
    --color-red-800: #9f0712;
    --color-red-900: #82181a;
    --color-orange-200: #ffd7a8;
    --color-orange-300: #ffb96d;
    --color-orange-800: #9f2d00;
    --color-amber-50: #fffbeb;
    --color-amber-100: #fef3c6;
    --color-amber-200: #fee685;
    --color-amber-300: #ffd236;
    --color-amber-400: #fcbb00;
    --color-amber-500: #f99c00;
    --color-amber-600: #dd7400;
    --color-amber-700: #b75000;
    --color-amber-800: #953d00;
    --color-amber-900: #7b3306;
    --color-amber-950: #461901;
    --color-yellow-100: #fef9c2;
    --color-yellow-200: #fff085;
    --color-yellow-300: #ffe02a;
    --color-yellow-700: #a36100;
    --color-yellow-800: #874b00;
    --color-green-200: #b9f8cf;
    --color-green-300: #7bf1a8;
    --color-green-400: #05df72;
    --color-green-800: #016630;
    --color-green-900: #0d542b;
    --color-emerald-50: #ecfdf5;
    --color-emerald-100: #d0fae5;
    --color-emerald-200: #a4f4cf;
    --color-emerald-300: #5ee9b5;
    --color-emerald-400: #00d294;
    --color-emerald-500: #00bb7f;
    --color-emerald-600: #009767;
    --color-emerald-700: #007956;
    --color-emerald-800: #005f46;
    --color-teal-100: #cbfbf1;
    --color-teal-700: #00776e;
    --color-cyan-300: #53eafd;
    --color-cyan-600: #0092b5;
    --color-sky-100: #dff2fe;
    --color-sky-200: #b8e6fe;
    --color-sky-400: #00bcfe;
    --color-sky-800: #005986;
    --color-blue-200: #bedbff;
    --color-blue-300: #90c5ff;
    --color-blue-400: #54a2ff;
    --color-blue-500: #3080ff;
    --color-blue-900: #1c398e;
    --color-indigo-100: #e0e7ff;
    --color-indigo-200: #c7d2ff;
    --color-indigo-400: #7d87ff;
    --color-indigo-800: #372aac;
    --color-purple-50: #faf5ff;
    --color-purple-100: #f3e8ff;
    --color-purple-200: #e9d5ff;
    --color-purple-400: #c07eff;
    --color-purple-500: #ac4bff;
    --color-purple-600: #9810fa;
    --color-purple-700: #8200da;
    --color-purple-800: #6e11b0;
    --color-rose-50: #fff1f2;
    --color-rose-100: #ffe4e6;
    --color-rose-200: #ffccd3;
    --color-rose-300: #ffa2ae;
    --color-rose-400: #ff667f;
    --color-rose-500: #ff2357;
    --color-rose-600: #e70044;
    --color-rose-700: #c20039;
    --color-rose-800: #a30037;
    --color-slate-950: #020618;
    --color-gray-950: #030712;
    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --breakpoint-lg: 64rem;
    --breakpoint-2xl: 96rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-4xl: 56rem;
    --container-5xl: 64rem;
    --container-6xl: 72rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-5xl: 3rem;
    --text-5xl--line-height: 1;
    --text-8xl: 6rem;
    --text-8xl--line-height: 1;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-black: 900;
    --tracking-tight: -.025em;
    --tracking-wide: .025em;
    --tracking-wider: .05em;
    --tracking-widest: .1em;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-relaxed: 1.625;
    --radius-sm: 6px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-2xl: 24px;
    --radius-3xl: 1.5rem;
    --shadow-xs: var(--shadow-xs);
    --shadow-sm: var(--shadow-sm);
    --shadow-md: var(--shadow-md);
    --shadow-lg: var(--shadow-lg);
    --shadow-xl: var(--shadow-xl);
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --animate-spin: spin 1s linear infinite;
    --animate-ping: ping 1s cubic-bezier(0, 0, .2, 1) infinite;
    --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
    --blur-sm: 8px;
    --aspect-video: 16 / 9;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-inter), var(--font-be-vietnam-pro), ui-sans-serif, system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    --default-mono-font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    --radius-pill: 999px;
    --shadow-focus: var(--shadow-focus);
  }

  @supports (color: lab(0% 0 0)) {
    :root, :host {
      --color-red-200: lab(86.017% 19.8815 7.75869);
      --color-red-300: lab(76.5514% 36.422 15.5335);
      --color-red-400: lab(63.7053% 60.745 31.3109);
      --color-red-800: lab(33.7174% 55.8993 41.0293);
      --color-red-900: lab(28.5139% 44.5539 29.0463);
      --color-orange-200: lab(88.4871% 9.94918 28.8378);
      --color-orange-300: lab(80.8059% 21.7313 50.4455);
      --color-orange-800: lab(37.1566% 46.6433 50.5562);
      --color-amber-50: lab(98.6252% -.635922 8.42309);
      --color-amber-100: lab(95.916% -1.21653 23.111);
      --color-amber-200: lab(91.7203% -.505269 49.9084);
      --color-amber-300: lab(86.4156% 6.13147 78.3961);
      --color-amber-400: lab(80.1641% 16.6016 99.2089);
      --color-amber-500: lab(72.7183% 31.8672 97.9407);
      --color-amber-600: lab(60.3514% 40.5624 87.1228);
      --color-amber-700: lab(47.2709% 42.9082 69.2966);
      --color-amber-800: lab(37.8822% 37.1699 52.2718);
      --color-amber-900: lab(31.2288% 30.2627 40.0378);
      --color-amber-950: lab(15.8111% 20.9107 23.3752);
      --color-yellow-100: lab(97.3564% -4.51407 27.344);
      --color-yellow-200: lab(94.3433% -5.00429 52.9663);
      --color-yellow-300: lab(89.7033% -.480294 84.4917);
      --color-yellow-700: lab(47.8202% 25.2426 66.5015);
      --color-yellow-800: lab(38.7484% 23.5833 51.4916);
      --color-green-200: lab(92.4222% -26.4702 12.9427);
      --color-green-300: lab(86.9953% -47.2691 25.0054);
      --color-green-400: lab(78.503% -64.9265 39.7492);
      --color-green-800: lab(37.4616% -36.7971 22.9692);
      --color-green-900: lab(30.797% -29.6927 17.382);
      --color-emerald-50: lab(97.8462% -6.94966 1.85487);
      --color-emerald-100: lab(94.9004% -17.0769 5.63836);
      --color-emerald-200: lab(90.2247% -31.039 9.47084);
      --color-emerald-300: lab(83.9203% -48.7124 13.8849);
      --color-emerald-400: lab(75.0771% -60.7313 19.4147);
      --color-emerald-500: lab(66.9756% -58.27 19.5419);
      --color-emerald-600: lab(55.0481% -49.9246 15.93);
      --color-emerald-700: lab(44.4871% -41.0396 11.0361);
      --color-emerald-800: lab(35.3675% -33.1188 8.04002);
      --color-teal-100: lab(95.1845% -17.4212 -.425422);
      --color-teal-700: lab(44.4134% -33.1436 -4.22149);
      --color-cyan-300: lab(85.3886% -36.7636 -21.5716);
      --color-cyan-600: lab(55.1767% -26.7496 -30.5139);
      --color-sky-100: lab(94.3709% -4.56053 -8.23453);
      --color-sky-200: lab(88.6983% -11.3978 -16.8488);
      --color-sky-400: lab(70.687% -23.6078 -45.9483);
      --color-sky-800: lab(35.164% -9.57692 -34.4068);
      --color-blue-200: lab(86.15% -4.04379 -21.0797);
      --color-blue-300: lab(77.5052% -6.4629 -36.42);
      --color-blue-400: lab(65.0361% -1.42065 -56.9802);
      --color-blue-500: lab(54.1736% 13.3369 -74.6839);
      --color-blue-900: lab(26.1542% 15.7545 -51.5504);
      --color-indigo-100: lab(91.6577% 1.04591 -12.7199);
      --color-indigo-200: lab(84.4329% 3.18977 -23.9688);
      --color-indigo-400: lab(59.866% 22.4834 -64.4485);
      --color-indigo-800: lab(26.6645% 37.9804 -68.6402);
      --color-purple-50: lab(97.1627% 2.99937 -4.13398);
      --color-purple-100: lab(93.3333% 6.97437 -9.83434);
      --color-purple-200: lab(87.8405% 13.4282 -18.7159);
      --color-purple-400: lab(63.6946% 47.6127 -59.2066);
      --color-purple-500: lab(52.0183% 66.11 -78.2316);
      --color-purple-600: lab(43.0295% 75.21 -86.5669);
      --color-purple-700: lab(36.1758% 69.8525 -80.0381);
      --color-purple-800: lab(30.6017% 56.7637 -64.4751);
      --color-rose-50: lab(96.2369% 4.94155 1.28011);
      --color-rose-100: lab(92.8221% 9.86832 2.60075);
      --color-rose-200: lab(86.806% 19.1909 4.07754);
      --color-rose-300: lab(76.6339% 38.3549 9.68835);
      --color-rose-400: lab(64.4125% 63.0291 19.2068);
      --color-rose-500: lab(56.101% 79.4328 31.4532);
      --color-rose-600: lab(49.1882% 81.577 36.0311);
      --color-rose-700: lab(41.1651% 71.6251 30.3087);
      --color-rose-800: lab(34.6481% 60.802 20.1957);
      --color-slate-950: lab(1.76974% 1.32743 -9.28855);
      --color-gray-950: lab(1.90334% .278696 -5.48866);
    }
  }
}

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

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

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

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

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

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

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

  b, strong {
    font-weight: bolder;
  }

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

  small {
    font-size: 80%;
  }

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

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

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

  :-moz-focusring {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

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

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

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

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

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

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

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

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

  ::placeholder {
    opacity: 1;
  }

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

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

  textarea {
    resize: vertical;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

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

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

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

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

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

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

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

@layer components;

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

  .collapse {
    visibility: collapse;
  }

  .invisible {
    visibility: hidden;
  }

  .visible {
    visibility: visible;
  }

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

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .sticky {
    position: sticky;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .left-\[13px\] {
    left: 13px;
  }

  .isolate {
    isolation: isolate;
  }

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

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

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

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

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

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

  .container {
    width: 100%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .block {
    display: block;
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

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

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

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

  .table {
    display: table;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .h-full {
    height: 100%;
  }

  .h-px {
    height: 1px;
  }

  .h-screen {
    height: 100vh;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .w-1\/3 {
    width: 33.3333%;
  }

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

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

  .w-2\/3 {
    width: 66.6667%;
  }

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

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

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

  .w-4\/5 {
    width: 80%;
  }

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

  .w-5\/6 {
    width: 83.3333%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .w-\[calc\(100vw-2rem\)\] {
    width: calc(100vw - 2rem);
  }

  .w-auto {
    width: auto;
  }

  .w-fit {
    width: fit-content;
  }

  .w-full {
    width: 100%;
  }

  .w-px {
    width: 1px;
  }

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

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

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

  .\!max-w-\[540px\] {
    max-width: 540px !important;
  }

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

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

  .\!max-w-screen-2xl {
    max-width: var(--breakpoint-2xl) !important;
  }

  .\!max-w-screen-lg {
    max-width: var(--breakpoint-lg) !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .max-w-\[calc\(100vw-16px\)\] {
    max-width: calc(100vw - 16px);
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .flex-1 {
    flex: 1;
  }

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

  .shrink {
    flex-shrink: 1;
  }

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

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

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

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

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

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

  .rotate-180 {
    rotate: 180deg;
  }

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

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

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

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

  .cursor-default {
    cursor: default;
  }

  .cursor-grab {
    cursor: grab;
  }

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

  .cursor-pointer {
    cursor: pointer;
  }

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

  .resize {
    resize: both;
  }

  .resize-none {
    resize: none;
  }

  .resize-y {
    resize: vertical;
  }

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

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

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

  .\[grid-template-columns\:repeat\(auto-fill\,minmax\(220px\,1fr\)\)\] {
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  }

  .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-\[2fr_1fr\] {
    grid-template-columns: 2fr 1fr;
  }

  .grid-cols-\[180px_1fr\] {
    grid-template-columns: 180px 1fr;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  :where(.divide-gray-100 > :not(:last-child)) {
    border-color: var(--slate-100);
  }

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

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

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

  .overflow-auto {
    overflow: auto;
  }

  .overflow-hidden {
    overflow: hidden;
  }

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

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

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

  .rounded-2xl {
    border-radius: 24px;
  }

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

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

  .rounded-lg {
    border-radius: 12px;
  }

  .rounded-md {
    border-radius: 8px;
  }

  .rounded-sm {
    border-radius: 6px;
  }

  .rounded-xl {
    border-radius: 16px;
  }

  .rounded-t-md {
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
  }

  .rounded-tl-sm {
    border-top-left-radius: 6px;
  }

  .rounded-tr-sm {
    border-top-right-radius: 6px;
  }

  .rounded-br-sm {
    border-bottom-right-radius: 6px;
  }

  .rounded-bl-sm {
    border-bottom-left-radius: 6px;
  }

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

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

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

  .border-\[1\.5px\] {
    border-style: var(--tw-border-style);
    border-width: 1.5px;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .border-amber-100 {
    border-color: var(--color-amber-100);
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .border-brand-100 {
    border-color: var(--brand-100);
  }

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

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

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

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

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

  .border-brand-700\/40 {
    border-color: var(--brand-700);
  }

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

  .border-cyan-400\/30 {
    border-color: var(--cyan-400);
  }

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

  .border-cyan-400\/40 {
    border-color: var(--cyan-400);
  }

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

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

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

  .border-danger-100 {
    border-color: var(--danger-100);
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .border-white\/10 {
    border-color: #ffffff1a;
  }

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

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

  .border-l-amber-400 {
    border-left-color: var(--color-amber-400);
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .bg-amber-50\/40 {
    background-color: #fffbeb66;
  }

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

  .bg-amber-50\/60 {
    background-color: #fffbeb99;
  }

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

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

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

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

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

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

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

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

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

  .bg-black\/55 {
    background-color: #0000008c;
  }

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

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

  .bg-blue-50\/30 {
    background-color: var(--info-100);
  }

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

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

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

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

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

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

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

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

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

  .bg-brand-50\/40 {
    background-color: var(--brand-50);
  }

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

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

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

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

  .bg-brand-700\/10 {
    background-color: var(--brand-700);
  }

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

  .bg-cyan-500\/10 {
    background-color: var(--cyan-500);
  }

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

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

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

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

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

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

  .bg-emerald-50\/60 {
    background-color: #ecfdf599;
  }

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

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

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

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

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

  .bg-gray-50\/50 {
    background-color: var(--slate-50);
  }

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

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

  .bg-gray-200 {
    background-color: var(--slate-200);
  }

  .bg-gray-300 {
    background-color: var(--slate-300);
  }

  .bg-gray-900 {
    background-color: var(--slate-900);
  }

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

  .bg-green-50 {
    background-color: var(--success-100);
  }

  .bg-green-50\/30 {
    background-color: var(--success-100);
  }

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

  .bg-green-50\/40 {
    background-color: var(--success-100);
  }

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

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

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

  .bg-green-500, .bg-green-600 {
    background-color: var(--success-500);
  }

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

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

  .bg-inherit {
    background-color: inherit;
  }

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

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

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

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

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

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

  .bg-red-50 {
    background-color: var(--danger-100);
  }

  .bg-red-50\/40 {
    background-color: var(--danger-100);
  }

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

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

  .bg-red-600 {
    background-color: var(--danger-500);
  }

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

  .bg-rose-50\/40 {
    background-color: #fff1f266;
  }

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

  .bg-rose-50\/60 {
    background-color: #fff1f299;
  }

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

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

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

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

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

  .bg-slate-50\/40 {
    background-color: var(--slate-50);
  }

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

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

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

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

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

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

  .bg-slate-100\/80 {
    background-color: var(--slate-100);
  }

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

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

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

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

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

  .bg-slate-900\/80 {
    background-color: var(--slate-900);
  }

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

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

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

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

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

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

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

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

  .bg-surface-muted\/40 {
    background-color: var(--surface-muted);
  }

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

  .bg-surface-muted\/50 {
    background-color: var(--surface-muted);
  }

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

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

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

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

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

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

  .bg-warning-100\/40 {
    background-color: var(--warning-100);
  }

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

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

  .bg-white\/5 {
    background-color: #ffffff0d;
  }

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

  .bg-white\/10 {
    background-color: #ffffff1a;
  }

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

  .bg-white\/60 {
    background-color: #fff9;
  }

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

  .bg-white\/95 {
    background-color: #fffffff2;
  }

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

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

  .bg-gradient-to-b {
    --tw-gradient-position: to bottom in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .bg-gradient-to-br {
    --tw-gradient-position: to bottom right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .bg-gradient-to-r {
    --tw-gradient-position: to right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .from-\[var\(--brand-500\)\] {
    --tw-gradient-from: var(--brand-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-accent-100 {
    --tw-gradient-from: var(--accent-100);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-brand-50 {
    --tw-gradient-from: var(--brand-50);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-brand-700 {
    --tw-gradient-from: var(--brand-700);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-emerald-50 {
    --tw-gradient-from: var(--color-emerald-50);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-\[var\(--brand-700\)\] {
    --tw-gradient-to: var(--brand-700);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-brand-100 {
    --tw-gradient-to: var(--brand-100);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-brand-600 {
    --tw-gradient-to: var(--brand-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-emerald-100 {
    --tw-gradient-to: var(--color-emerald-100);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-surface-card {
    --tw-gradient-to: var(--surface-card);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .bg-cover {
    background-size: cover;
  }

  .bg-center {
    background-position: center;
  }

  .bg-no-repeat {
    background-repeat: no-repeat;
  }

  .object-contain {
    object-fit: contain;
  }

  .object-cover {
    object-fit: cover;
  }

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

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

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

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

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

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

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

  .p-5 {
    padding: calc(var(--spacing) * 5);
  }

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

  .p-7 {
    padding: calc(var(--spacing) * 7);
  }

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

  .p-10 {
    padding: calc(var(--spacing) * 10);
  }

  .p-12 {
    padding: calc(var(--spacing) * 12);
  }

  .p-16 {
    padding: calc(var(--spacing) * 16);
  }

  .p-24 {
    padding: calc(var(--spacing) * 24);
  }

  .px-1 {
    padding-inline: calc(var(--spacing) * 1);
  }

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

  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }

  .px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }

  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }

  .px-3\.5 {
    padding-inline: calc(var(--spacing) * 3.5);
  }

  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }

  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }

  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }

  .px-7 {
    padding-inline: calc(var(--spacing) * 7);
  }

  .px-12 {
    padding-inline: calc(var(--spacing) * 12);
  }

  .py-0\.5 {
    padding-block: calc(var(--spacing) * .5);
  }

  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }

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

  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }

  .py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }

  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }

  .py-3\.5 {
    padding-block: calc(var(--spacing) * 3.5);
  }

  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }

  .py-5 {
    padding-block: calc(var(--spacing) * 5);
  }

  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }

  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }

  .py-9 {
    padding-block: calc(var(--spacing) * 9);
  }

  .py-10 {
    padding-block: calc(var(--spacing) * 10);
  }

  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }

  .py-16 {
    padding-block: calc(var(--spacing) * 16);
  }

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

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

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

  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }

  .pt-3\.5 {
    padding-top: calc(var(--spacing) * 3.5);
  }

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

  .pt-5 {
    padding-top: calc(var(--spacing) * 5);
  }

  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }

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

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

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

  .pb-2\.5 {
    padding-bottom: calc(var(--spacing) * 2.5);
  }

  .pb-3 {
    padding-bottom: calc(var(--spacing) * 3);
  }

  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }

  .pb-6 {
    padding-bottom: calc(var(--spacing) * 6);
  }

  .pb-8 {
    padding-bottom: calc(var(--spacing) * 8);
  }

  .pb-12 {
    padding-bottom: calc(var(--spacing) * 12);
  }

  .pb-16 {
    padding-bottom: calc(var(--spacing) * 16);
  }

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

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

  .pl-5 {
    padding-left: calc(var(--spacing) * 5);
  }

  .pl-6 {
    padding-left: calc(var(--spacing) * 6);
  }

  .pl-8 {
    padding-left: calc(var(--spacing) * 8);
  }

  .pl-9 {
    padding-left: calc(var(--spacing) * 9);
  }

  .pl-10 {
    padding-left: calc(var(--spacing) * 10);
  }

  .pl-14 {
    padding-left: calc(var(--spacing) * 14);
  }

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

  .text-left {
    text-align: left;
  }

  .text-right {
    text-align: right;
  }

  .align-bottom {
    vertical-align: bottom;
  }

  .align-middle {
    vertical-align: middle;
  }

  .align-top {
    vertical-align: top;
  }

  .font-mono {
    font-family: JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  }

  .font-sans {
    font-family: var(--font-inter), var(--font-be-vietnam-pro), ui-sans-serif, system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  }

  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }

  .text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }

  .text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }

  .text-5xl {
    font-size: var(--text-5xl);
    line-height: var(--tw-leading, var(--text-5xl--line-height));
  }

  .text-8xl {
    font-size: var(--text-8xl);
    line-height: var(--tw-leading, var(--text-8xl--line-height));
  }

  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }

  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }

  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }

  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .text-\[0\.7em\] {
    font-size: .7em;
  }

  .text-\[0\.8em\] {
    font-size: .8em;
  }

  .text-\[0\.65em\] {
    font-size: .65em;
  }

  .text-\[0\.85em\] {
    font-size: .85em;
  }

  .text-\[9px\] {
    font-size: 9px;
  }

  .text-\[10\.5px\] {
    font-size: 10.5px;
  }

  .text-\[10px\] {
    font-size: 10px;
  }

  .text-\[11\.5px\] {
    font-size: 11.5px;
  }

  .text-\[11px\] {
    font-size: 11px;
  }

  .text-\[12\.5px\] {
    font-size: 12.5px;
  }

  .text-\[12px\] {
    font-size: 12px;
  }

  .text-\[13\.5px\] {
    font-size: 13.5px;
  }

  .text-\[13px\] {
    font-size: 13px;
  }

  .text-\[14px\] {
    font-size: 14px;
  }

  .text-\[15px\] {
    font-size: 15px;
  }

  .text-\[22px\] {
    font-size: 22px;
  }

  .leading-\[1\.3\] {
    --tw-leading: 1.3;
    line-height: 1.3;
  }

  .leading-\[1\.4\] {
    --tw-leading: 1.4;
    line-height: 1.4;
  }

  .leading-\[18px\] {
    --tw-leading: 18px;
    line-height: 18px;
  }

  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }

  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }

  .leading-snug {
    --tw-leading: var(--leading-snug);
    line-height: var(--leading-snug);
  }

  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }

  .font-black {
    --tw-font-weight: var(--font-weight-black);
    font-weight: var(--font-weight-black);
  }

  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }

  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }

  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }

  .tracking-\[0\.02em\] {
    --tw-tracking: .02em;
    letter-spacing: .02em;
  }

  .tracking-\[0\.04em\] {
    --tw-tracking: .04em;
    letter-spacing: .04em;
  }

  .tracking-\[0\.06em\] {
    --tw-tracking: .06em;
    letter-spacing: .06em;
  }

  .tracking-\[0\.08em\] {
    --tw-tracking: .08em;
    letter-spacing: .08em;
  }

  .tracking-\[0\.12em\] {
    --tw-tracking: .12em;
    letter-spacing: .12em;
  }

  .tracking-\[0\.14em\] {
    --tw-tracking: .14em;
    letter-spacing: .14em;
  }

  .tracking-\[0\.16em\] {
    --tw-tracking: .16em;
    letter-spacing: .16em;
  }

  .tracking-\[0\.18em\] {
    --tw-tracking: .18em;
    letter-spacing: .18em;
  }

  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }

  .tracking-wide {
    --tw-tracking: var(--tracking-wide);
    letter-spacing: var(--tracking-wide);
  }

  .tracking-wider {
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
  }

  .tracking-widest {
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
  }

  .\[overflow-wrap\:anywhere\] {
    overflow-wrap: anywhere;
  }

  .break-words {
    overflow-wrap: break-word;
  }

  .break-all {
    word-break: break-all;
  }

  .text-ellipsis {
    text-overflow: ellipsis;
  }

  .whitespace-nowrap {
    white-space: nowrap;
  }

  .whitespace-pre-wrap {
    white-space: pre-wrap;
  }

  .text-\[var\(--brand-700\)\] {
    color: var(--brand-700);
  }

  .text-\[var\(--danger-600\)\] {
    color: var(--danger-600);
  }

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

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

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

  .text-accent-500 {
    color: var(--accent-500);
  }

  .text-accent-600 {
    color: var(--accent-600);
  }

  .text-accent-700 {
    color: var(--accent-700);
  }

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

  .text-amber-600 {
    color: var(--color-amber-600);
  }

  .text-amber-700 {
    color: var(--color-amber-700);
  }

  .text-amber-800 {
    color: var(--color-amber-800);
  }

  .text-amber-900 {
    color: var(--color-amber-900);
  }

  .text-blue-400 {
    color: var(--color-blue-400);
  }

  .text-blue-500 {
    color: var(--color-blue-500);
  }

  .text-blue-600 {
    color: var(--info-500);
  }

  .text-blue-700, .text-blue-800 {
    color: var(--info-700);
  }

  .text-blue-900 {
    color: var(--color-blue-900);
  }

  .text-brand-600 {
    color: var(--brand-600);
  }

  .text-brand-700 {
    color: var(--brand-700);
  }

  .text-brand-900 {
    color: var(--brand-900);
  }

  .text-cyan-300 {
    color: var(--color-cyan-300);
  }

  .text-cyan-400 {
    color: var(--cyan-400);
  }

  .text-danger-500 {
    color: var(--danger-500);
  }

  .text-danger-700 {
    color: var(--danger-700);
  }

  .text-emerald-400 {
    color: var(--color-emerald-400);
  }

  .text-emerald-600 {
    color: var(--color-emerald-600);
  }

  .text-emerald-700 {
    color: var(--color-emerald-700);
  }

  .text-emerald-800 {
    color: var(--color-emerald-800);
  }

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

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

  .text-gray-500 {
    color: var(--slate-500);
  }

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

  .text-gray-700 {
    color: var(--slate-700);
  }

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

  .text-gray-900 {
    color: var(--slate-900);
  }

  .text-green-400 {
    color: var(--color-green-400);
  }

  .text-green-500, .text-green-600 {
    color: var(--success-500);
  }

  .text-green-700 {
    color: var(--success-700);
  }

  .text-green-900 {
    color: var(--color-green-900);
  }

  .text-indigo-800 {
    color: var(--color-indigo-800);
  }

  .text-info-700 {
    color: var(--info-700);
  }

  .text-orange-500 {
    color: var(--accent-500);
  }

  .text-orange-700 {
    color: var(--warning-700);
  }

  .text-orange-800 {
    color: var(--color-orange-800);
  }

  .text-purple-400 {
    color: var(--color-purple-400);
  }

  .text-purple-500 {
    color: var(--color-purple-500);
  }

  .text-purple-600 {
    color: var(--color-purple-600);
  }

  .text-purple-700 {
    color: var(--color-purple-700);
  }

  .text-red-400 {
    color: var(--color-red-400);
  }

  .text-red-500, .text-red-600 {
    color: var(--danger-500);
  }

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

  .text-red-800 {
    color: var(--color-red-800);
  }

  .text-red-900 {
    color: var(--color-red-900);
  }

  .text-rose-500 {
    color: var(--color-rose-500);
  }

  .text-rose-600 {
    color: var(--color-rose-600);
  }

  .text-rose-700 {
    color: var(--color-rose-700);
  }

  .text-rose-800 {
    color: var(--color-rose-800);
  }

  .text-sky-800 {
    color: var(--color-sky-800);
  }

  .text-slate-300 {
    color: var(--slate-300);
  }

  .text-slate-400 {
    color: var(--slate-400);
  }

  .text-slate-500 {
    color: var(--slate-500);
  }

  .text-slate-600 {
    color: var(--slate-600);
  }

  .text-slate-700 {
    color: var(--slate-700);
  }

  .text-slate-800 {
    color: var(--slate-800);
  }

  .text-slate-900 {
    color: var(--slate-900);
  }

  .text-success-500 {
    color: var(--success-500);
  }

  .text-success-700 {
    color: var(--success-700);
  }

  .text-teal-700 {
    color: var(--color-teal-700);
  }

  .text-text-inverse {
    color: var(--text-inverse);
  }

  .text-text-muted {
    color: var(--text-muted);
  }

  .text-text-primary {
    color: var(--text-primary);
  }

  .text-text-secondary {
    color: var(--text-secondary);
  }

  .text-warning-700 {
    color: var(--warning-700);
  }

  .text-white {
    color: var(--color-white);
  }

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

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

  .text-white\/40 {
    color: #fff6;
  }

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

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

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

  .text-white\/60 {
    color: #fff9;
  }

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

  .text-white\/80 {
    color: #fffc;
  }

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

  .text-white\/90 {
    color: #ffffffe6;
  }

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

  .text-yellow-700 {
    color: var(--color-yellow-700);
  }

  .text-yellow-800 {
    color: var(--color-yellow-800);
  }

  .capitalize {
    text-transform: capitalize;
  }

  .lowercase {
    text-transform: lowercase;
  }

  .uppercase {
    text-transform: uppercase;
  }

  .italic {
    font-style: italic;
  }

  .tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .line-through {
    text-decoration-line: line-through;
  }

  .no-underline {
    text-decoration-line: none;
  }

  .underline {
    text-decoration-line: underline;
  }

  .underline-offset-2 {
    text-underline-offset: 2px;
  }

  .accent-blue-600 {
    accent-color: var(--info-500);
  }

  .accent-brand-600 {
    accent-color: var(--brand-600);
  }

  .accent-brand-700 {
    accent-color: var(--brand-700);
  }

  .opacity-0 {
    opacity: 0;
  }

  .opacity-30 {
    opacity: .3;
  }

  .opacity-40 {
    opacity: .4;
  }

  .opacity-50 {
    opacity: .5;
  }

  .opacity-60 {
    opacity: .6;
  }

  .opacity-70 {
    opacity: .7;
  }

  .opacity-75 {
    opacity: .75;
  }

  .opacity-90 {
    opacity: .9;
  }

  .opacity-100 {
    opacity: 1;
  }

  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-focus {
    --tw-shadow: var(--shadow-focus);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-inner {
    --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, #0000000d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-lg {
    --tw-shadow: var(--shadow-lg);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-md {
    --tw-shadow: var(--shadow-md);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-none {
    --tw-shadow: 0 0 #0000;
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-sm {
    --tw-shadow: var(--shadow-sm);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-xl {
    --tw-shadow: var(--shadow-xl);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring-0 {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring-1 {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring-2 {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring-4 {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-cyan-500\/10 {
    --tw-shadow-color: var(--cyan-500);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-cyan-500\/10 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--cyan-500) 10%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .ring-amber-200 {
    --tw-ring-color: var(--color-amber-200);
  }

  .ring-amber-400 {
    --tw-ring-color: var(--color-amber-400);
  }

  .ring-blue-600 {
    --tw-ring-color: var(--info-500);
  }

  .ring-brand-700\/15 {
    --tw-ring-color: var(--brand-700);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-brand-700\/15 {
      --tw-ring-color: color-mix(in oklab, var(--brand-700) 15%, transparent);
    }
  }

  .ring-brand-700\/30 {
    --tw-ring-color: var(--brand-700);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-brand-700\/30 {
      --tw-ring-color: color-mix(in oklab, var(--brand-700) 30%, transparent);
    }
  }

  .ring-cyan-400\/40 {
    --tw-ring-color: var(--cyan-400);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-cyan-400\/40 {
      --tw-ring-color: color-mix(in oklab, var(--cyan-400) 40%, transparent);
    }
  }

  .ring-emerald-200 {
    --tw-ring-color: var(--color-emerald-200);
  }

  .ring-emerald-400 {
    --tw-ring-color: var(--color-emerald-400);
  }

  .ring-gray-200 {
    --tw-ring-color: var(--slate-200);
  }

  .ring-indigo-200 {
    --tw-ring-color: var(--color-indigo-200);
  }

  .ring-indigo-400 {
    --tw-ring-color: var(--color-indigo-400);
  }

  .ring-rose-200 {
    --tw-ring-color: var(--color-rose-200);
  }

  .ring-rose-400 {
    --tw-ring-color: var(--color-rose-400);
  }

  .ring-sky-200 {
    --tw-ring-color: var(--color-sky-200);
  }

  .ring-sky-400 {
    --tw-ring-color: var(--color-sky-400);
  }

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

  .ring-slate-400 {
    --tw-ring-color: var(--slate-400);
  }

  .ring-transparent {
    --tw-ring-color: transparent;
  }

  .ring-white {
    --tw-ring-color: var(--color-white);
  }

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

  .ring-offset-2 {
    --tw-ring-offset-width: 2px;
    --tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  }

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

  .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, );
  }

  .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(var(--blur-sm));
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-opacity {
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-shadow {
    transition-property: box-shadow;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .duration-150 {
    --tw-duration: .15s;
    transition-duration: .15s;
  }

  .duration-200 {
    --tw-duration: .2s;
    transition-duration: .2s;
  }

  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }

  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }

  .outline-none {
    --tw-outline-style: none;
    outline-style: none;
  }

  .select-all {
    -webkit-user-select: all;
    user-select: all;
  }

  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }

  @media (hover: hover) {
    .group-hover\:translate-x-0\.5:is(:where(.group):hover *) {
      --tw-translate-x: calc(var(--spacing) * .5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }

  @media (hover: hover) {
    .group-hover\:text-slate-600:is(:where(.group):hover *) {
      color: var(--slate-600);
    }
  }

  @media (hover: hover) {
    .group-hover\:opacity-100:is(:where(.group):hover *) {
      opacity: 1;
    }
  }

  .group-data-\[checked\=true\]\:bg-slate-900:is(:where(.group)[data-checked="true"] *) {
    background-color: var(--slate-900);
  }

  .group-data-\[checked\=true\]\:text-white:is(:where(.group)[data-checked="true"] *) {
    color: var(--color-white);
  }

  .placeholder\:text-gray-400::placeholder {
    color: var(--slate-400);
  }

  .first\:border-t-0:first-child {
    border-top-style: var(--tw-border-style);
    border-top-width: 0;
  }

  .first\:pt-0:first-child {
    padding-top: calc(var(--spacing) * 0);
  }

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

  .last\:border-b-0:last-child {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 0;
  }

  .odd\:bg-gray-50\/40:nth-child(odd) {
    background-color: var(--slate-50);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .odd\:bg-gray-50\/40:nth-child(odd) {
      background-color: color-mix(in oklab, var(--slate-50) 40%, transparent);
    }
  }

  .even\:bg-white:nth-child(2n) {
    background-color: var(--color-white);
  }

  @media (hover: hover) {
    .hover\:scale-110:hover {
      --tw-scale-x: 110%;
      --tw-scale-y: 110%;
      --tw-scale-z: 110%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }

  @media (hover: hover) {
    .hover\:border-\[var\(--brand-400\)\]:hover {
      border-color: var(--brand-400);
    }
  }

  @media (hover: hover) {
    .hover\:border-amber-400:hover {
      border-color: var(--color-amber-400);
    }
  }

  @media (hover: hover) {
    .hover\:border-blue-300:hover {
      border-color: var(--color-blue-300);
    }
  }

  @media (hover: hover) {
    .hover\:border-blue-400:hover {
      border-color: var(--color-blue-400);
    }
  }

  @media (hover: hover) {
    .hover\:border-border-default:hover {
      border-color: var(--border-default);
    }
  }

  @media (hover: hover) {
    .hover\:border-border-focus:hover {
      border-color: var(--border-focus);
    }
  }

  @media (hover: hover) {
    .hover\:border-border-subtle:hover {
      border-color: var(--border-subtle);
    }
  }

  @media (hover: hover) {
    .hover\:border-brand-300:hover {
      border-color: var(--brand-300);
    }
  }

  @media (hover: hover) {
    .hover\:border-brand-400:hover {
      border-color: var(--brand-400);
    }
  }

  @media (hover: hover) {
    .hover\:border-brand-500:hover {
      border-color: var(--brand-500);
    }
  }

  @media (hover: hover) {
    .hover\:border-brand-700:hover {
      border-color: var(--brand-700);
    }
  }

  @media (hover: hover) {
    .hover\:border-gray-200:hover {
      border-color: var(--slate-200);
    }
  }

  @media (hover: hover) {
    .hover\:border-slate-300:hover {
      border-color: var(--slate-300);
    }
  }

  @media (hover: hover) {
    .hover\:border-slate-400:hover {
      border-color: var(--slate-400);
    }
  }

  @media (hover: hover) {
    .hover\:bg-\[var\(--brand-50\)\]:hover {
      background-color: var(--brand-50);
    }
  }

  @media (hover: hover) {
    .hover\:bg-\[var\(--slate-50\,\#f8fafc\)\]:hover {
      background-color: var(--slate-50, #f8fafc);
    }
  }

  @media (hover: hover) {
    .hover\:bg-\[var\(--slate-100\)\]:hover {
      background-color: var(--slate-100);
    }
  }

  @media (hover: hover) {
    .hover\:bg-accent-600:hover {
      background-color: var(--accent-600);
    }
  }

  @media (hover: hover) {
    .hover\:bg-amber-50:hover {
      background-color: var(--color-amber-50);
    }
  }

  @media (hover: hover) {
    .hover\:bg-amber-100:hover {
      background-color: var(--color-amber-100);
    }
  }

  @media (hover: hover) {
    .hover\:bg-amber-500:hover {
      background-color: var(--color-amber-500);
    }
  }

  @media (hover: hover) {
    .hover\:bg-amber-700:hover {
      background-color: var(--color-amber-700);
    }
  }

  @media (hover: hover) {
    .hover\:bg-black\/75:hover {
      background-color: #000000bf;
    }

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

  @media (hover: hover) {
    .hover\:bg-blue-50:hover {
      background-color: var(--info-100);
    }
  }

  @media (hover: hover) {
    .hover\:bg-blue-50\/50:hover {
      background-color: var(--info-100);
    }

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

  @media (hover: hover) {
    .hover\:bg-blue-100:hover {
      background-color: var(--info-100);
    }
  }

  @media (hover: hover) {
    .hover\:bg-blue-800:hover {
      background-color: var(--info-700);
    }
  }

  @media (hover: hover) {
    .hover\:bg-brand-50:hover {
      background-color: var(--brand-50);
    }
  }

  @media (hover: hover) {
    .hover\:bg-brand-50\/50:hover {
      background-color: var(--brand-50);
    }

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

  @media (hover: hover) {
    .hover\:bg-brand-800:hover {
      background-color: var(--brand-800);
    }
  }

  @media (hover: hover) {
    .hover\:bg-brand-800\/90:hover {
      background-color: var(--brand-800);
    }

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

  @media (hover: hover) {
    .hover\:bg-brand-900:hover {
      background-color: var(--brand-900);
    }
  }

  @media (hover: hover) {
    .hover\:bg-emerald-50:hover {
      background-color: var(--color-emerald-50);
    }
  }

  @media (hover: hover) {
    .hover\:bg-emerald-700:hover {
      background-color: var(--color-emerald-700);
    }
  }

  @media (hover: hover) {
    .hover\:bg-gray-50:hover {
      background-color: var(--slate-50);
    }
  }

  @media (hover: hover) {
    .hover\:bg-gray-200:hover {
      background-color: var(--slate-200);
    }
  }

  @media (hover: hover) {
    .hover\:bg-green-50:hover {
      background-color: var(--success-100);
    }
  }

  @media (hover: hover) {
    .hover\:bg-green-100:hover {
      background-color: var(--success-100);
    }
  }

  @media (hover: hover) {
    .hover\:bg-green-700:hover {
      background-color: var(--success-700);
    }
  }

  @media (hover: hover) {
    .hover\:bg-purple-700:hover {
      background-color: var(--color-purple-700);
    }
  }

  @media (hover: hover) {
    .hover\:bg-purple-800:hover {
      background-color: var(--color-purple-800);
    }
  }

  @media (hover: hover) {
    .hover\:bg-red-50:hover {
      background-color: var(--danger-100);
    }
  }

  @media (hover: hover) {
    .hover\:bg-red-700:hover {
      background-color: var(--danger-700);
    }
  }

  @media (hover: hover) {
    .hover\:bg-rose-50:hover {
      background-color: var(--color-rose-50);
    }
  }

  @media (hover: hover) {
    .hover\:bg-rose-100:hover {
      background-color: var(--color-rose-100);
    }
  }

  @media (hover: hover) {
    .hover\:bg-rose-700:hover {
      background-color: var(--color-rose-700);
    }
  }

  @media (hover: hover) {
    .hover\:bg-slate-50:hover {
      background-color: var(--slate-50);
    }
  }

  @media (hover: hover) {
    .hover\:bg-slate-50\/70:hover {
      background-color: var(--slate-50);
    }

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

  @media (hover: hover) {
    .hover\:bg-slate-100:hover {
      background-color: var(--slate-100);
    }
  }

  @media (hover: hover) {
    .hover\:bg-surface-card:hover {
      background-color: var(--surface-card);
    }
  }

  @media (hover: hover) {
    .hover\:bg-surface-muted:hover {
      background-color: var(--surface-muted);
    }
  }

  @media (hover: hover) {
    .hover\:bg-surface-muted\/30:hover {
      background-color: var(--surface-muted);
    }

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

  @media (hover: hover) {
    .hover\:bg-surface-muted\/40:hover {
      background-color: var(--surface-muted);
    }

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

  @media (hover: hover) {
    .hover\:bg-white:hover {
      background-color: var(--color-white);
    }
  }

  @media (hover: hover) {
    .hover\:bg-white\/10:hover {
      background-color: #ffffff1a;
    }

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

  @media (hover: hover) {
    .hover\:text-amber-700:hover {
      color: var(--color-amber-700);
    }
  }

  @media (hover: hover) {
    .hover\:text-amber-950:hover {
      color: var(--color-amber-950);
    }
  }

  @media (hover: hover) {
    .hover\:text-blue-800:hover {
      color: var(--info-700);
    }
  }

  @media (hover: hover) {
    .hover\:text-brand-700:hover {
      color: var(--brand-700);
    }
  }

  @media (hover: hover) {
    .hover\:text-danger-500:hover {
      color: var(--danger-500);
    }
  }

  @media (hover: hover) {
    .hover\:text-danger-700:hover {
      color: var(--danger-700);
    }
  }

  @media (hover: hover) {
    .hover\:text-emerald-600:hover {
      color: var(--color-emerald-600);
    }
  }

  @media (hover: hover) {
    .hover\:text-gray-300:hover {
      color: var(--slate-300);
    }
  }

  @media (hover: hover) {
    .hover\:text-gray-600:hover {
      color: var(--slate-600);
    }
  }

  @media (hover: hover) {
    .hover\:text-gray-700:hover {
      color: var(--slate-700);
    }
  }

  @media (hover: hover) {
    .hover\:text-green-800:hover {
      color: var(--color-green-800);
    }
  }

  @media (hover: hover) {
    .hover\:text-red-700:hover {
      color: var(--danger-700);
    }
  }

  @media (hover: hover) {
    .hover\:text-red-900:hover {
      color: var(--color-red-900);
    }
  }

  @media (hover: hover) {
    .hover\:text-rose-600:hover {
      color: var(--color-rose-600);
    }
  }

  @media (hover: hover) {
    .hover\:text-slate-500:hover {
      color: var(--slate-500);
    }
  }

  @media (hover: hover) {
    .hover\:text-slate-900:hover {
      color: var(--slate-900);
    }
  }

  @media (hover: hover) {
    .hover\:text-text-primary:hover {
      color: var(--text-primary);
    }
  }

  @media (hover: hover) {
    .hover\:text-white\/70:hover {
      color: #ffffffb3;
    }

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

  @media (hover: hover) {
    .hover\:no-underline:hover {
      text-decoration-line: none;
    }
  }

  @media (hover: hover) {
    .hover\:underline:hover {
      text-decoration-line: underline;
    }
  }

  @media (hover: hover) {
    .hover\:opacity-70:hover {
      opacity: .7;
    }
  }

  @media (hover: hover) {
    .hover\:opacity-80:hover {
      opacity: .8;
    }
  }

  @media (hover: hover) {
    .hover\:shadow-md:hover {
      --tw-shadow: var(--shadow-md);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }

  @media (hover: hover) {
    .hover\:shadow-sm:hover {
      --tw-shadow: var(--shadow-sm);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }

  .focus\:border-amber-400:focus {
    border-color: var(--color-amber-400);
  }

  .focus\:border-border-default:focus {
    border-color: var(--border-default);
  }

  .focus\:bg-\[var\(--slate-50\,\#f8fafc\)\]:focus {
    background-color: var(--slate-50, #f8fafc);
  }

  .focus\:bg-\[var\(--slate-100\)\]:focus {
    background-color: var(--slate-100);
  }

  .focus\:bg-white\/10:focus {
    background-color: #ffffff1a;
  }

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

  .focus\:ring-2:focus {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus\:ring-\[var\(--brand-400\)\]:focus {
    --tw-ring-color: var(--brand-400);
  }

  .focus\:ring-blue-500:focus {
    --tw-ring-color: var(--color-blue-500);
  }

  .focus\:ring-brand-500:focus {
    --tw-ring-color: var(--brand-500);
  }

  .focus\:ring-slate-900:focus {
    --tw-ring-color: var(--slate-900);
  }

  .focus\:outline-none:focus {
    --tw-outline-style: none;
    outline-style: none;
  }

  .focus-visible\:ring-0:focus-visible {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus-visible\:ring-2:focus-visible {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus-visible\:ring-blue-500:focus-visible {
    --tw-ring-color: var(--color-blue-500);
  }

  .focus-visible\:ring-brand-500:focus-visible {
    --tw-ring-color: var(--brand-500);
  }

  .focus-visible\:outline:focus-visible {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .focus-visible\:outline-2:focus-visible {
    outline-style: var(--tw-outline-style);
    outline-width: 2px;
  }

  .focus-visible\:outline-offset-2:focus-visible {
    outline-offset: 2px;
  }

  .focus-visible\:outline-amber-600:focus-visible {
    outline-color: var(--color-amber-600);
  }

  .focus-visible\:outline-none:focus-visible {
    --tw-outline-style: none;
    outline-style: none;
  }

  .active\:bg-blue-900:active {
    background-color: var(--color-blue-900);
  }

  .active\:bg-brand-900:active {
    background-color: var(--brand-900);
  }

  @media (hover: hover) {
    .enabled\:hover\:underline:enabled:hover {
      text-decoration-line: underline;
    }
  }

  .disabled\:cursor-default:disabled {
    cursor: default;
  }

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

  .disabled\:opacity-40:disabled {
    opacity: .4;
  }

  .disabled\:opacity-50:disabled {
    opacity: .5;
  }

  .disabled\:opacity-60:disabled {
    opacity: .6;
  }

  .has-\[\:checked\]\:border-blue-200:has(:checked) {
    border-color: var(--color-blue-200);
  }

  .has-\[\:checked\]\:bg-blue-50\/60:has(:checked) {
    background-color: var(--info-100);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .has-\[\:checked\]\:bg-blue-50\/60:has(:checked) {
      background-color: color-mix(in oklab, var(--info-100) 60%, transparent);
    }
  }

  .has-\[\:checked\]\:text-blue-900:has(:checked) {
    color: var(--color-blue-900);
  }

  .data-\[active\=true\]\:bg-amber-50[data-active="true"] {
    background-color: var(--color-amber-50);
  }

  .data-\[checked\=true\]\:border-slate-900[data-checked="true"] {
    border-color: var(--slate-900);
  }

  .data-\[checked\=true\]\:bg-slate-50[data-checked="true"] {
    background-color: var(--slate-50);
  }

  .data-\[warn\=true\]\:text-amber-600[data-warn="true"] {
    color: var(--color-amber-600);
  }

  @media (prefers-reduced-motion: no-preference) {
    .motion-safe\:animate-ping {
      animation: var(--animate-ping);
    }
  }

  @media (min-width: 40rem) {
    .sm\:col-span-1 {
      grid-column: span 1 / span 1;
    }
  }

  @media (min-width: 40rem) {
    .sm\:col-span-2 {
      grid-column: span 2 / span 2;
    }
  }

  @media (min-width: 40rem) {
    .sm\:block {
      display: block;
    }
  }

  @media (min-width: 40rem) {
    .sm\:w-64 {
      width: calc(var(--spacing) * 64);
    }
  }

  @media (min-width: 40rem) {
    .sm\:w-auto {
      width: auto;
    }
  }

  @media (min-width: 40rem) {
    .sm\:flex-initial {
      flex: 0 auto;
    }
  }

  @media (min-width: 40rem) {
    .sm\:flex-shrink-0 {
      flex-shrink: 0;
    }
  }

  @media (min-width: 40rem) {
    .sm\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (min-width: 40rem) {
    .sm\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }

  @media (min-width: 40rem) {
    .sm\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }

  @media (min-width: 40rem) {
    .sm\:flex-row {
      flex-direction: row;
    }
  }

  @media (min-width: 40rem) {
    .sm\:items-center {
      align-items: center;
    }
  }

  @media (min-width: 40rem) {
    .sm\:justify-center {
      justify-content: center;
    }
  }

  @media (min-width: 40rem) {
    .sm\:gap-4 {
      gap: calc(var(--spacing) * 4);
    }
  }

  @media (min-width: 40rem) {
    .sm\:self-stretch {
      align-self: stretch;
    }
  }

  @media (min-width: 40rem) {
    .sm\:p-5 {
      padding: calc(var(--spacing) * 5);
    }
  }

  @media (min-width: 40rem) {
    .sm\:p-6 {
      padding: calc(var(--spacing) * 6);
    }
  }

  @media (min-width: 40rem) {
    .sm\:px-6 {
      padding-inline: calc(var(--spacing) * 6);
    }
  }

  @media (min-width: 40rem) {
    .sm\:text-3xl {
      font-size: var(--text-3xl);
      line-height: var(--tw-leading, var(--text-3xl--line-height));
    }
  }

  @media (min-width: 40rem) {
    .sm\:text-base {
      font-size: var(--text-base);
      line-height: var(--tw-leading, var(--text-base--line-height));
    }
  }

  @media (min-width: 48rem) {
    .md\:relative {
      position: relative;
    }
  }

  @media (min-width: 48rem) {
    .md\:bottom-auto {
      bottom: auto;
    }
  }

  @media (min-width: 48rem) {
    .md\:mx-6 {
      margin-inline: calc(var(--spacing) * 6);
    }
  }

  @media (min-width: 48rem) {
    .md\:aspect-\[16\/6\] {
      aspect-ratio: 16 / 6;
    }
  }

  @media (min-width: 48rem) {
    .md\:max-h-\[360px\] {
      max-height: 360px;
    }
  }

  @media (min-width: 48rem) {
    .md\:min-w-\[200px\] {
      min-width: 200px;
    }
  }

  @media (min-width: 48rem) {
    .md\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (min-width: 48rem) {
    .md\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }

  @media (min-width: 48rem) {
    .md\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }

  @media (min-width: 48rem) {
    .md\:grid-cols-6 {
      grid-template-columns: repeat(6, minmax(0, 1fr));
    }
  }

  @media (min-width: 48rem) {
    .md\:grid-cols-\[1fr_auto\] {
      grid-template-columns: 1fr auto;
    }
  }

  @media (min-width: 48rem) {
    .md\:grid-cols-\[180px_1fr_auto\] {
      grid-template-columns: 180px 1fr auto;
    }
  }

  @media (min-width: 48rem) {
    .md\:grid-cols-\[260px_1fr\] {
      grid-template-columns: 260px 1fr;
    }
  }

  @media (min-width: 48rem) {
    .md\:grid-cols-\[minmax\(0\,2fr\)_minmax\(0\,1fr\)\] {
      grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    }
  }

  @media (min-width: 48rem) {
    .md\:items-start {
      align-items: flex-start;
    }
  }

  @media (min-width: 48rem) {
    .md\:gap-8 {
      gap: calc(var(--spacing) * 8);
    }
  }

  @media (min-width: 48rem) {
    .md\:rounded-b-2xl {
      border-bottom-right-radius: 24px;
      border-bottom-left-radius: 24px;
    }
  }

  @media (min-width: 48rem) {
    .md\:border-t {
      border-top-style: var(--tw-border-style);
      border-top-width: 1px;
    }
  }

  @media (min-width: 48rem) {
    .md\:p-5 {
      padding: calc(var(--spacing) * 5);
    }
  }

  @media (min-width: 48rem) {
    .md\:p-6 {
      padding: calc(var(--spacing) * 6);
    }
  }

  @media (min-width: 48rem) {
    .md\:p-8 {
      padding: calc(var(--spacing) * 8);
    }
  }

  @media (min-width: 48rem) {
    .md\:px-6 {
      padding-inline: calc(var(--spacing) * 6);
    }
  }

  @media (min-width: 48rem) {
    .md\:text-2xl {
      font-size: var(--text-2xl);
      line-height: var(--tw-leading, var(--text-2xl--line-height));
    }
  }

  @media (min-width: 48rem) {
    .md\:text-\[26px\] {
      font-size: 26px;
    }
  }

  @media (min-width: 48rem) {
    .md\:shadow-none {
      --tw-shadow: 0 0 #0000;
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }

  @media (min-width: 64rem) {
    .lg\:sticky {
      position: sticky;
    }
  }

  @media (min-width: 64rem) {
    .lg\:top-24 {
      top: calc(var(--spacing) * 24);
    }
  }

  @media (min-width: 64rem) {
    .lg\:max-w-\[280px\] {
      max-width: 280px;
    }
  }

  @media (min-width: 64rem) {
    .lg\:max-w-\[320px\] {
      max-width: 320px;
    }
  }

  @media (min-width: 64rem) {
    .lg\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (min-width: 64rem) {
    .lg\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }

  @media (min-width: 64rem) {
    .lg\:grid-cols-\[1fr_320px\] {
      grid-template-columns: 1fr 320px;
    }
  }

  @media (min-width: 64rem) {
    .lg\:grid-cols-\[minmax\(0\,1fr\)_280px\] {
      grid-template-columns: minmax(0, 1fr) 280px;
    }
  }

  @media (min-width: 64rem) {
    .lg\:grid-cols-\[minmax\(0\,1fr\)_320px\] {
      grid-template-columns: minmax(0, 1fr) 320px;
    }
  }
}

:root {
  --brand-50: #e6ebf8;
  --brand-100: #cdd8f3;
  --brand-200: #b5c6ee;
  --brand-300: #789ae4;
  --brand-400: #3e6cd7;
  --brand-500: #0236c8;
  --brand-600: #012a9e;
  --brand-700: #001d76;
  --brand-800: #001453;
  --brand-900: #000b33;
  --brand-950: #00051b;
  --accent-50: #e1fafd;
  --accent-100: #c9f0fc;
  --accent-200: #a7e2fb;
  --accent-300: #83d4f9;
  --accent-400: #5ac6f7;
  --accent-500: #12b7f4;
  --accent-600: #00aaf1;
  --accent-700: #0095ec;
  --kv-cyan-light: #78ddf6;
  --kv-magenta: #c03fc6;
  --kv-violet: #5739ae;
  --kv-orange: #ea8040;
  --cyan-100: #cffafe;
  --cyan-400: #22d3ee;
  --cyan-500: #06b6d4;
  --slate-50: #f5f7fc;
  --slate-100: #e5e9f6;
  --slate-200: #e5e9f6;
  --slate-300: #c8d0e4;
  --slate-400: #a1aac2;
  --slate-500: #7c85a1;
  --slate-600: #4a5170;
  --slate-700: #353c59;
  --slate-800: #212844;
  --slate-900: #0f1530;
  --success-100: #d6f3e2;
  --success-500: #00a856;
  --success-700: #00733b;
  --warning-100: #fef3c7;
  --warning-500: #f59e0b;
  --warning-700: #b45309;
  --danger-100: #f8d7d7;
  --danger-500: #b20000;
  --danger-700: #7a0000;
  --info-100: #dbeafe;
  --info-500: #0e60a8;
  --info-700: #08416e;
  --chart-1: #0236c8;
  --chart-2: #12b7f4;
  --chart-3: #00a856;
  --chart-4: #b20000;
  --chart-5: #c03fc6;
  --chart-6: #5739ae;
  --rating-level-1: var(--danger-500);
  --rating-level-2: #f97316;
  --rating-level-3: var(--warning-500);
  --rating-level-4: #84cc16;
  --rating-level-5: var(--success-500);
  --surface-page: var(--slate-50);
  --surface-card: #fff;
  --surface-muted: var(--slate-100);
  --surface-inverse: var(--brand-800);
  --surface-hero: var(--brand-900);
  --surface-overlay: #0f1530a6;
  --surface-overlay-deep: #0f1530d1;
  --text-primary: var(--slate-900);
  --text-heading: var(--brand-700);
  --text-secondary: var(--slate-600);
  --text-muted: var(--slate-400);
  --text-inverse: #fff;
  --text-inverse-muted: #ffffffb8;
  --text-link: var(--brand-600);
  --text-accent: var(--brand-500);
  --border-subtle: var(--slate-200);
  --border-default: var(--slate-300);
  --border-strong: var(--slate-400);
  --border-focus: var(--info-500);
  --border-inverse: #ffffff24;
  --intent-primary: var(--brand-500);
  --intent-primary-hover: var(--brand-700);
  --intent-primary-active: var(--brand-800);
  --intent-primary-fg: #fff;
  --intent-accent: var(--accent-500);
  --intent-accent-hover: var(--accent-600);
  --intent-accent-fg: var(--brand-700);
  --intent-neutral: var(--slate-100);
  --intent-neutral-hover: var(--slate-200);
  --intent-neutral-fg: var(--slate-800);
  --status-success-bg: var(--success-100);
  --status-success-fg: var(--success-700);
  --status-warning-bg: var(--warning-100);
  --status-warning-fg: var(--warning-700);
  --status-danger-bg: var(--danger-100);
  --status-danger-fg: var(--danger-700);
  --status-info-bg: var(--info-100);
  --status-info-fg: var(--info-700);
  --font-sans: "Inter", "Be Vietnam Pro", ui-sans-serif, system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --font-serif: "Merriweather", Georgia, "Times New Roman", serif;
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --font-display: "Dancing Script", "Inter", ui-sans-serif;
  --fs-xs: .75rem;
  --fs-sm: .875rem;
  --fs-base: 1rem;
  --fs-lg: 1.125rem;
  --fs-xl: 1.25rem;
  --fs-2xl: 1.5rem;
  --fs-3xl: 1.875rem;
  --fs-4xl: 2.25rem;
  --fs-5xl: 3rem;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --lh-tight: 1.2;
  --lh-snug: 1.35;
  --lh-normal: 1.5;
  --lh-relaxed: 1.65;
  --ls-tight: -.02em;
  --ls-normal: 0;
  --ls-wide: .04em;
  --space-0: 0;
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-2xl: 24px;
  --radius-pill: 999px;
  --shadow-xs: 0 1px 2px #0f15300a;
  --shadow-sm: 0 1px 3px #0f15300f, 0 1px 2px #0f15300a;
  --shadow-md: 0 4px 6px -1px #0f153014, 0 2px 4px -2px #0f15300a;
  --shadow-lg: 0 10px 15px -3px #0f15301a, 0 4px 6px -4px #0f15300d;
  --shadow-xl: 0 20px 25px -5px #0f15301f, 0 8px 10px -6px #0f15300f;
  --shadow-focus: 0 0 0 3px #0236c824;
  --z-base: 0;
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-fixed: 300;
  --z-modal-backdrop: 400;
  --z-modal: 500;
  --z-popover: 600;
  --z-tooltip: 700;
  --duration-fast: .12s;
  --duration-base: .18s;
  --duration-slow: .24s;
  --ease-standard: cubic-bezier(.2, .8, .2, 1);
  --ease-emphasized: cubic-bezier(.3, .7, .2, 1.2);
  --sidebar-width: 240px;
  --sidebar-width-sm: 72px;
  --topbar-height: 64px;
  --header-height-public: 120px;
  --header-height-sticky: 70px;
  --container-max: 1320px;
  --container-wide: 1440px;
  --content-max-prose: 68ch;
  --breakpoint-mobile: 549px;
  --density-row-h: 44px;
  --density-row-h-compact: 32px;
  --density-input-h: 38px;
  --density-input-h-compact: 30px;
  --tone-brand-bg: var(--brand-100);
  --tone-brand-fg: var(--brand-700);
  --tone-brand-line: var(--brand-500);
  --tone-accent-bg: var(--accent-100);
  --tone-accent-fg: var(--brand-700);
  --tone-accent-line: var(--accent-500);
  --tone-success-bg: var(--success-100);
  --tone-success-fg: var(--success-700);
  --tone-success-line: var(--success-500);
  --tone-warning-bg: var(--warning-100);
  --tone-warning-fg: var(--warning-700);
  --tone-warning-line: var(--warning-500);
  --tone-danger-bg: var(--danger-100);
  --tone-danger-fg: var(--danger-700);
  --tone-danger-line: var(--danger-500);
  --tone-info-bg: var(--info-100);
  --tone-info-fg: var(--info-700);
  --tone-info-line: var(--info-500);
  --tone-neutral-bg: var(--slate-100);
  --tone-neutral-fg: var(--slate-700);
  --tone-neutral-line: var(--slate-400);
  --util-bar-bg: #000b33;
  --accent-amber: var(--brand-500);
  --accent-amber-line: var(--accent-500);
  --shadow-focus-link: 0 0 0 3px #0236c840;
  --util-bar-h: 34px;
  --site-header-h: 64px;
}

[data-theme="hasi"] {
  --brand-50: #f0f4fa;
  --brand-100: #dbe6f2;
  --brand-200: #b5c8df;
  --brand-300: #88a4c7;
  --brand-400: #5478ac;
  --brand-500: #00338d;
  --brand-600: #0e60a8;
  --brand-700: #1a3665;
  --brand-800: #122a52;
  --brand-900: #0a1f3e;
  --brand-950: #060f26;
  --accent-50: #fffcec;
  --accent-100: #fff6cc;
  --accent-200: #ffec9f;
  --accent-300: #ffe07a;
  --accent-400: #ffd24e;
  --accent-500: #ffc72c;
  --accent-600: #d93;
  --accent-700: #b0772a;
  --slate-50: #f8fafc;
  --slate-100: #f1f5f9;
  --slate-200: #e2e8f0;
  --slate-300: #cbd5e1;
  --slate-400: #94a3b8;
  --slate-500: #64748b;
  --slate-600: #475569;
  --slate-700: #334155;
  --slate-800: #1e293b;
  --slate-900: #0f172a;
  --chart-1: #00338d;
  --chart-2: #ffc72c;
  --chart-5: #d93;
  --chart-6: #06b6d4;
  --text-primary: #333;
  --text-accent: var(--accent-600);
  --util-bar-bg: #0a1f3e;
  --accent-amber: var(--accent-600);
  --accent-amber-line: var(--accent-600);
  --shadow-focus: 0 0 0 3px #00338d24;
  --shadow-focus-link: 0 0 0 3px #0e60a840;
}

body {
  font-family: var(--font-sans);
  color: var(--text-primary);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  margin: 0;
}

button {
  font-family: var(--font-sans);
}

:focus-visible {
  box-shadow: var(--shadow-focus);
  outline: none;
}

.kit-app {
  background: var(--surface-page);
  flex-direction: column;
  min-height: 100vh;
  display: flex;
}

.kit-shell {
  height: 100vh;
  display: flex;
  overflow: hidden;
}

.kit-main {
  flex-direction: column;
  flex: 1;
  min-width: 0;
  height: 100vh;
  display: flex;
  overflow: hidden;
}

.kit-content {
  box-sizing: border-box;
  flex: 1;
  width: 100%;
  min-height: 0;
  padding: 32px;
  overflow: hidden auto;
}

.kit-content.narrow {
  max-width: var(--container-max);
  margin: 0 auto;
}

.kit-shell > .hidden-mobile {
  overscroll-behavior: contain;
  flex-shrink: 0;
  height: 100vh;
  overflow-y: auto;
}

.ph {
  z-index: 30;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border-subtle);
  background: #fffffff2;
  position: sticky;
  top: 0;
}

.ph-inner {
  max-width: var(--container-max);
  align-items: center;
  gap: 32px;
  margin: 0 auto;
  padding: 14px 32px;
  display: flex;
}

.ph nav {
  flex: 1;
  gap: 24px;
  display: flex;
}

.ph nav a {
  color: var(--text-secondary);
  cursor: pointer;
  padding: 6px 0;
  font-size: 14px;
  font-weight: 500;
  transition: color .12s;
}

.ph nav a:hover, .ph nav a.active {
  color: var(--brand-700);
}

.ph-actions {
  align-items: center;
  gap: 10px;
  display: flex;
}

.logo {
  cursor: pointer;
  align-items: center;
  gap: 10px;
  display: inline-flex;
}

.logo .mark {
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  display: flex;
}

.logo .mark img {
  object-fit: contain;
  width: 100%;
  height: 100%;
  display: block;
}

.logo .word {
  flex-direction: column;
  line-height: 1.05;
  display: flex;
}

.logo .word .a {
  color: var(--text-primary);
  letter-spacing: .04em;
  font-size: 14px;
  font-weight: 800;
}

.logo .word .b {
  color: var(--text-secondary);
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: 9px;
  font-weight: 600;
}

.logo.inverse .word .a {
  color: #fff;
}

.logo.inverse .word .b {
  color: #ffffffb3;
}

.btn {
  cursor: pointer;
  transition: background-color .12s var(--ease-standard), box-shadow .12s;
  white-space: nowrap;
  border: 1px solid #0000;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  display: inline-flex;
}

.btn:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.btn-sm {
  padding: 7px 12px;
  font-size: 13px;
}

.btn-lg {
  padding: 13px 22px;
  font-size: 15px;
}

.btn-primary {
  background: var(--brand-700);
  color: #fff;
}

.btn-primary:hover {
  background: var(--brand-800);
}

.btn-accent {
  background: var(--accent-500);
  color: #fff;
}

.btn-accent:hover {
  background: var(--accent-600);
}

.btn-outline {
  color: var(--text-primary);
  border-color: var(--border-default);
  background: #fff;
}

.btn-outline:hover {
  background: var(--surface-muted);
}

.btn-ghost {
  color: var(--text-primary);
  background: none;
}

.btn-ghost:hover {
  background: var(--surface-muted);
}

.btn-danger {
  background: var(--danger-700);
  color: #fff;
}

.btn-danger:hover {
  background: #991b1b;
}

.btn .ic {
  stroke-width: 2px;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
}

#hasi-qr-scanner {
  line-height: 0;
}

#hasi-qr-scanner video, #hasi-qr-scanner canvas {
  display: block;
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
}

#hasi-qr-scanner video {
  transform: scaleX(-1);
}

.pill {
  white-space: nowrap;
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  padding: 3px 10px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  display: inline-flex;
}

.pill:before {
  content: "";
  border-radius: 50%;
  width: 6px;
  height: 6px;
}

.pill.no-dot:before {
  display: none;
}

.pill-success {
  background: var(--success-100);
  color: var(--success-700);
}

.pill-success:before {
  background: var(--success-500);
}

.pill-warning {
  background: var(--warning-100);
  color: var(--warning-700);
}

.pill-warning:before {
  background: var(--warning-500);
}

.pill-danger {
  background: var(--danger-100);
  color: var(--danger-700);
}

.pill-danger:before {
  background: var(--danger-500);
}

.pill-info {
  background: var(--info-100);
  color: var(--info-700);
}

.pill-info:before {
  background: var(--info-500);
}

.beta-tag {
  vertical-align: middle;
  padding: 2px 8px;
  font-size: 11px;
}

.pill-brand {
  background: var(--brand-100);
  color: var(--brand-700);
}

.pill-brand:before {
  background: var(--brand-500);
}

.pill-accent {
  background: var(--accent-100);
  color: var(--accent-700);
}

.pill-accent:before {
  background: var(--accent-500);
}

.pill-neutral {
  background: var(--slate-100);
  color: var(--slate-700);
}

.pill-neutral:before {
  background: var(--slate-400);
}

.card {
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  box-shadow: var(--shadow-sm);
  border-radius: 12px;
}

.card-pad {
  padding: 24px;
}

.card-pad-sm {
  padding: 16px;
}

.card-clickable {
  transition: box-shadow .18s var(--ease-standard);
  cursor: pointer;
}

.card-clickable:hover {
  box-shadow: var(--shadow-md);
}

.trade-detail-layout {
  grid-template-columns: 1fr;
  gap: 20px;
  display: grid;
}

@media (min-width: 1024px) {
  .trade-detail-layout {
    grid-template-columns: minmax(0, 1fr) 320px;
    align-items: start;
  }
}

.ui-segmented {
  background: var(--surface-muted);
  border: 1px solid var(--border-subtle);
  scrollbar-width: none;
  border-radius: 10px;
  flex-wrap: nowrap;
  align-items: center;
  gap: 2px;
  max-width: 100%;
  padding: 4px;
  display: inline-flex;
  overflow-x: auto;
}

.ui-segmented::-webkit-scrollbar {
  display: none;
}

.ui-segmented-equal {
  width: 100%;
  display: flex;
}

.ui-segmented-equal .ui-segmented-item {
  flex: 1 1 0;
  justify-content: center;
}

.ui-segmented-item {
  color: var(--text-secondary);
  cursor: pointer;
  white-space: nowrap;
  transition: background .14s var(--ease-standard), color .14s;
  background: none;
  border: 0;
  border-radius: 7px;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  position: relative;
}

.ui-segmented-item:hover:not(.active):not(:disabled) {
  color: var(--text-primary);
  background: #fff9;
}

.ui-segmented-item.active {
  color: var(--brand-700);
  background: var(--surface-card);
  box-shadow: 0 1px 2px #0f172a0f, 0 0 0 1px var(--border-subtle);
}

.ui-segmented-item:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.ui-segmented-item:focus-visible {
  box-shadow: var(--shadow-focus);
  outline: none;
}

.ui-segmented-count {
  background: var(--surface-muted);
  color: var(--text-muted);
  border-radius: 999px;
  padding: 1px 7px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.5;
}

.ui-segmented-item.active .ui-segmented-count {
  background: var(--brand-100);
  color: var(--brand-700);
}

.ui-filter-bar {
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  box-shadow: var(--shadow-sm);
  border-radius: 12px;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding: 14px;
  display: flex;
}

@media (min-width: 768px) {
  .ui-filter-bar {
    flex-flow: wrap;
    align-items: center;
  }
}

.ui-filter-search {
  flex: 240px;
  min-width: 0;
  position: relative;
}

.ui-filter-search .input {
  height: 40px;
  padding-left: 36px;
  padding-right: 32px;
}

.ui-filter-bar .select, .ui-filter-bar .kk-input {
  height: 40px;
}

.ui-filter-search-icon {
  color: var(--text-muted);
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: 12px;
  transform: translateY(-50%);
}

.ui-filter-search-clear {
  width: 22px;
  height: 22px;
  color: var(--text-muted);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  padding: 0;
  display: inline-flex;
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
}

.ui-filter-search-clear:hover {
  color: var(--text-primary);
  background: var(--surface-muted);
}

input[type="search"]::-webkit-search-cancel-button {
  appearance: none;
}

input[type="search"]::-webkit-search-decoration {
  appearance: none;
}

.ui-filter-chips {
  background: var(--surface-muted);
  border-radius: 8px;
  align-items: stretch;
  gap: 4px;
  height: 40px;
  padding: 4px;
  display: inline-flex;
}

.ui-filter-chip {
  color: var(--text-secondary);
  cursor: pointer;
  white-space: nowrap;
  background: none;
  border: 0;
  border-radius: 6px;
  align-items: center;
  gap: 6px;
  padding: 0 14px;
  font-size: 13px;
  font-weight: 600;
  transition: background .14s, color .14s;
  display: inline-flex;
}

.ui-filter-chip:hover:not(.active) {
  color: var(--text-primary);
  background: #ffffff80;
}

.ui-filter-chip.active {
  background: var(--surface-card);
  color: var(--brand-700);
  box-shadow: 0 1px 2px #0f172a0f;
}

.ui-filter-chip:focus-visible {
  box-shadow: var(--shadow-focus);
  outline: none;
}

.ui-filter-status {
  color: var(--text-muted);
  align-items: center;
  font-size: 12px;
  display: inline-flex;
}

.ui-filter-daterange {
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 8px;
  display: inline-flex;
}

.ui-filter-daterange-field {
  flex-direction: column;
  min-width: 140px;
  display: inline-flex;
}

.ui-filter-daterange-label {
  color: var(--text-muted);
  margin-bottom: 4px;
  font-size: 12px;
  line-height: 1.2;
}

.ui-filter-daterange-field input[type="date"] {
  box-sizing: border-box;
  height: 40px;
  font-family: var(--font-sans);
  border: 1px solid var(--border-default);
  color: var(--text-primary);
  background: #fff;
  border-radius: 8px;
  padding: 9px 12px;
  font-size: 14px;
  line-height: 1.4;
}

.ui-filter-daterange-field input[type="date"]:focus {
  border-color: var(--brand-500, var(--brand-700));
  box-shadow: var(--shadow-focus);
  outline: none;
}

.ui-filter-daterange-field input[type="date"]:disabled {
  background: var(--surface-muted);
  cursor: not-allowed;
}

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

.input, .textarea, .select {
  font-family: var(--font-sans);
  border: 1px solid var(--border-default);
  color: var(--text-primary);
  box-sizing: border-box;
  background: #fff;
  border-radius: 8px;
  width: 100%;
  padding: 9px 12px;
  font-size: 14px;
  transition: border-color .12s, box-shadow .12s;
}

.input::placeholder, .textarea::placeholder {
  color: var(--text-muted);
}

.input:focus, .textarea:focus, .select:focus {
  border-color: var(--info-500);
  box-shadow: var(--shadow-focus);
  outline: none;
}

.textarea {
  resize: vertical;
  min-height: 96px;
  font-family: inherit;
  line-height: 1.5;
}

.input.error, .select.error, .textarea.error {
  border-color: var(--danger-500);
}

.search {
  position: relative;
}

.search .ic {
  width: 16px;
  height: 16px;
  color: var(--text-muted);
  position: absolute;
  top: 50%;
  left: 12px;
  transform: translateY(-50%);
}

.search input {
  padding-left: 38px;
}

.field {
  flex-direction: column;
  gap: 6px;
  margin-bottom: 16px;
  display: flex;
}

.field label {
  color: var(--text-primary);
  font-size: 13px;
  font-weight: 500;
}

.field .req {
  color: var(--danger-700);
}

.field .hint {
  color: var(--text-muted);
  font-size: 12px;
}

.field .err {
  color: var(--danger-700);
  align-items: center;
  gap: 4px;
  font-size: 12px;
  display: flex;
}

.check-row {
  cursor: pointer;
  align-items: center;
  gap: 8px;
  padding: 4px 0;
  font-size: 14px;
  display: flex;
}

.check-row input {
  accent-color: var(--brand-700);
  width: 16px;
  height: 16px;
}

.avatar {
  background: var(--brand-100);
  width: 36px;
  height: 36px;
  color: var(--brand-700);
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  font-size: 13px;
  font-weight: 700;
  display: inline-flex;
}

.avatar.sm {
  width: 28px;
  height: 28px;
  font-size: 11px;
}

.avatar.lg {
  width: 56px;
  height: 56px;
  font-size: 18px;
}

.avatar.xl {
  width: 80px;
  height: 80px;
  font-size: 24px;
}

.eyebrow {
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--accent-600);
  font-size: 12px;
  font-weight: 700;
}

.eyebrow-light {
  color: var(--accent-300);
}

.eyebrow-brand {
  color: var(--brand-700);
}

.sb {
  background: var(--brand-800);
  color: #fff;
  flex-direction: column;
  flex-shrink: 0;
  gap: 4px;
  width: 240px;
  min-height: 100%;
  padding: 0 0 20px;
  display: flex;
}

.sb-brand {
  box-sizing: border-box;
  border-bottom: 1px solid #ffffff14;
  align-items: center;
  height: 64px;
  margin-bottom: 12px;
  padding: 0 20px;
  display: flex;
}

.sb-section {
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #ffffff80;
  padding: 14px 20px 6px;
  font-size: 11px;
  font-weight: 700;
}

.sb-item {
  color: #ffffffd6;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  align-items: center;
  gap: 10px;
  padding: 9px 20px;
  font-size: 14px;
  font-weight: 500;
  transition: background .12s;
  display: flex;
  position: relative;
}

.sb-item:hover {
  color: #fff;
  background: #ffffff0d;
}

.sb-item.active {
  background: var(--brand-700);
  color: #fff;
}

.sb-item.active:before {
  content: "";
  background: var(--accent-500);
  border-radius: 2px;
  width: 3px;
  position: absolute;
  top: 4px;
  bottom: 4px;
  left: 0;
}

.sb-item .ic {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}

.sb-item .badge {
  background: var(--accent-500);
  color: #fff;
  border-radius: 999px;
  margin-left: auto;
  padding: 1px 7px;
  font-size: 10px;
  font-weight: 700;
}

.sb-item .beta-tag {
  flex-shrink: 0;
  margin-left: 6px;
  padding: 1px 7px;
  font-size: 10px;
}

.sb-light {
  width: 240px;
  color: var(--text-primary);
  border-right: 1px solid var(--border-subtle);
  background: #fff;
  flex-direction: column;
  flex-shrink: 0;
  gap: 4px;
  min-height: 100%;
  padding: 0 0 20px;
  display: flex;
}

.sb-light .sb-brand {
  border-bottom: 1px solid var(--border-subtle);
}

.sb-light .sb-section {
  color: var(--text-muted);
}

.sb-light .sb-item {
  color: var(--text-secondary);
}

.sb-light .sb-item:hover {
  background: var(--surface-muted);
  color: var(--text-primary);
}

.sb-light .sb-item.active {
  background: var(--brand-50);
  color: var(--brand-700);
}

.sb-light .sb-item.active:before {
  background: var(--brand-700);
}

.sb-item-locked, .sb-item-locked:hover, .sb-light .sb-item-locked, .sb-light .sb-item-locked:hover {
  color: var(--text-muted);
  background: none;
}

.sb-footer {
  background: var(--brand-800);
  border-top: 1px solid #ffffff14;
  flex-shrink: 0;
  justify-content: flex-end;
  margin-top: auto;
  padding: 10px 14px;
  display: flex;
  position: sticky;
  bottom: 0;
}

.sb-light .sb-footer {
  border-top-color: var(--border-subtle);
  background: #fff;
}

.sb-toggle {
  color: #ffffffb3;
  cursor: pointer;
  background: none;
  border: 1px solid #ffffff1f;
  border-radius: 8px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  transition: background .12s, color .12s, border-color .12s;
  display: inline-flex;
}

.sb-toggle:hover {
  color: #fff;
  background: #ffffff14;
  border-color: #ffffff38;
}

.sb-light .sb-toggle {
  border-color: var(--border-default);
  color: var(--text-secondary);
}

.sb-light .sb-toggle:hover {
  background: var(--surface-muted);
  color: var(--text-primary);
}

.sb.collapsed, .sb-light.collapsed {
  width: 64px;
}

.sb.collapsed .sb-brand, .sb-light.collapsed .sb-brand {
  justify-content: center;
  padding: 0;
}

.sb.collapsed .sb-brand .word, .sb-light.collapsed .sb-brand .word {
  display: none;
}

.sb.collapsed .sb-section, .sb-light.collapsed .sb-section {
  color: #0000;
  background: #ffffff14;
  height: 1px;
  margin: 8px 12px;
  padding: 0;
  font-size: 0;
  overflow: hidden;
}

.sb-light.collapsed .sb-section {
  background: var(--border-subtle);
}

.sb.collapsed .sb-item, .sb-light.collapsed .sb-item {
  justify-content: center;
  gap: 0;
  padding: 9px 0;
}

.sb.collapsed .sb-item > span:not(.badge), .sb-light.collapsed .sb-item > span:not(.badge) {
  display: none;
}

.sb.collapsed .sb-footer, .sb-light.collapsed .sb-footer {
  justify-content: center;
  padding: 10px 0;
}

.sb.collapsed .sb-item .badge, .sb-light.collapsed .sb-item .badge {
  border-radius: 999px;
  min-width: 6px;
  height: 6px;
  margin: 0;
  padding: 0;
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 4px;
  right: 10px;
}

.tb {
  border-bottom: 1px solid var(--border-subtle);
  z-index: 20;
  box-sizing: border-box;
  background: #fff;
  align-items: center;
  gap: 18px;
  width: 100%;
  height: 64px;
  padding: 0 32px;
  display: flex;
  position: sticky;
  top: 0;
}

.tb-title {
  color: var(--text-primary);
  font-size: 18px;
  font-weight: 600;
}

.tb-spacer {
  flex: 1;
}

.tb-icon {
  width: 36px;
  height: 36px;
  color: var(--text-secondary);
  cursor: pointer;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  transition: background .12s;
  display: inline-flex;
  position: relative;
}

.tb-icon:hover {
  background: var(--surface-muted);
}

.tb-icon .ic {
  width: 18px;
  height: 18px;
}

.tb-icon .dot {
  background: var(--accent-500);
  box-sizing: content-box;
  border: 2px solid #fff;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  position: absolute;
  top: 7px;
  right: 8px;
}

.stat {
  flex-direction: column;
  gap: 14px;
  padding: 22px;
  display: flex;
}

.stat-chip {
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  display: inline-flex;
}

.stat-chip .ic {
  width: 22px;
  height: 22px;
}

.stat-num {
  color: var(--text-primary);
  letter-spacing: -.02em;
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
}

.stat-sub {
  color: var(--text-secondary);
  margin-top: 4px;
  font-size: 13px;
}

.stat-delta {
  align-items: center;
  gap: 4px;
  margin-top: 6px;
  font-size: 12px;
  font-weight: 600;
  display: inline-flex;
}

.stat-delta.up {
  color: var(--success-700);
}

.stat-delta.down {
  color: var(--danger-700);
}

.stat-card {
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  padding: 22px 24px;
}

.stat-card-header {
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.stat-card-label {
  color: var(--text-muted);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 11.5px;
  font-weight: 600;
}

.stat-card-value {
  color: var(--text-primary);
  letter-spacing: -.02em;
  margin-top: 8px;
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
}

.stat-card-sub {
  color: var(--text-muted);
  margin-top: 6px;
  font-size: 12.5px;
}

.stat-card-delta {
  align-items: center;
  gap: 4px;
  margin-top: 6px;
  font-size: 12px;
  font-weight: 600;
  display: inline-flex;
}

.stat-card-delta.up {
  color: var(--success-700);
}

.stat-card-delta.down {
  color: var(--danger-700);
}

.stat-card-icon {
  color: var(--text-secondary);
  flex-shrink: 0;
}

.dash-stat-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  display: grid;
}

@media (max-width: 900px) {
  .dash-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .dash-stat-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .stat-card {
    padding: 16px 18px;
  }

  .stat-card-value {
    font-size: 28px;
  }
}

.sec-head {
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 18px;
  display: flex;
}

.sec-head h2 {
  letter-spacing: -.01em;
  margin: 0;
  font-size: 20px;
  font-weight: 600;
}

.sec-head .link, .sec-head a {
  color: var(--brand-700);
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
}

.tbl {
  border-collapse: collapse;
  width: 100%;
  font-size: 14px;
}

.tbl th {
  text-align: left;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: .04em;
  background: var(--surface-muted);
  border-bottom: 1px solid var(--border-subtle);
  padding: 12px 16px;
  font-size: 12px;
  font-weight: 600;
  position: sticky;
  top: 0;
}

.tbl td {
  border-bottom: 1px solid var(--border-subtle);
  color: var(--text-primary);
  vertical-align: middle;
  padding: 14px 16px;
}

.tbl tr:hover td {
  background: var(--slate-50);
}

.tbl tr:last-child td {
  border-bottom: 0;
}

.tbl .mono {
  font-family: var(--font-mono);
  color: var(--text-secondary);
  font-size: 13px;
}

.tabs {
  border-bottom: 1px solid var(--border-subtle);
  scrollbar-width: thin;
  gap: 4px;
  margin-bottom: 20px;
  display: flex;
  overflow: auto hidden;
}

.tabs::-webkit-scrollbar {
  height: 4px;
}

.tabs::-webkit-scrollbar-thumb {
  background: var(--border-subtle);
  border-radius: 999px;
}

.tabs button {
  color: var(--text-secondary);
  cursor: pointer;
  white-space: nowrap;
  background: none;
  border: 0;
  border-bottom: 2px solid #0000;
  margin-bottom: -1px;
  padding: 10px 16px;
  font-size: 14px;
  font-weight: 600;
  transition: color .12s;
}

.tabs button:hover {
  color: var(--text-primary);
}

.tabs button.active, .tabs a.active {
  color: var(--brand-700);
  border-bottom-color: var(--brand-700);
}

.err {
  color: var(--danger-700);
  align-items: center;
  gap: 6px;
  font-size: 12px;
  line-height: 1.4;
  display: inline-flex;
}

.err svg {
  color: var(--danger-500);
  flex-shrink: 0;
}

.hint {
  color: var(--text-muted);
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.4;
}

.tabs a {
  color: var(--text-secondary);
  cursor: pointer;
  white-space: nowrap;
  background: none;
  border-bottom: 2px solid #0000;
  align-items: center;
  gap: 8px;
  margin-bottom: -1px;
  padding: 10px 16px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: color .12s;
  display: inline-flex;
}

.tabs a:hover {
  color: var(--text-primary);
}

.tabs button {
  align-items: center;
  gap: 8px;
  display: inline-flex;
}

.tabs .ui-tab-count {
  color: var(--text-muted);
  background: var(--surface-muted);
  border-radius: 999px;
  padding: 1px 7px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
}

.tabs button.active .ui-tab-count, .tabs a.active .ui-tab-count {
  background: var(--brand-100);
  color: var(--brand-700);
}

.hero {
  background: linear-gradient(135deg, var(--brand-900) 0%, var(--brand-800) 55%, var(--brand-700) 100%);
  color: #fff;
  position: relative;
  overflow: hidden;
}

.hero:before {
  content: "";
  background: radial-gradient(circle, #22d3ee38, #0000 60%);
  width: 480px;
  height: 480px;
  position: absolute;
  top: -120px;
  right: -100px;
}

.hero:after {
  content: "";
  background: radial-gradient(circle, #f9731629, #0000 60%);
  width: 420px;
  height: 420px;
  position: absolute;
  bottom: -160px;
  right: 200px;
}

.hero-grid {
  background-image: linear-gradient(#ffffff0a 1px, #0000 1px), linear-gradient(90deg, #ffffff0a 1px, #0000 1px);
  background-size: 40px 40px;
  position: absolute;
  inset: 0;
}

.hero-inner {
  z-index: 2;
  max-width: var(--container-max);
  grid-template-columns: 1.2fr 1fr;
  align-items: center;
  gap: 56px;
  margin: 0 auto;
  padding: 80px 32px 96px;
  display: grid;
  position: relative;
}

.foot {
  background: var(--brand-900);
  color: #ffffffb3;
  padding: 48px 32px 28px;
}

.foot-inner {
  max-width: var(--container-max);
  grid-template-columns: 1.2fr 1fr 1fr 1fr;
  gap: 40px;
  margin: 0 auto;
  display: grid;
}

.foot h2 {
  color: #fff;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin: 0 0 14px;
  font-size: 13px;
  font-weight: 700;
}

.foot a {
  color: #ffffffb3;
  cursor: pointer;
  font-size: 13px;
  line-height: 2;
  display: block;
}

.foot a:hover {
  color: #fff;
}

.foot-bottom {
  max-width: var(--container-max);
  color: #ffffff80;
  border-top: 1px solid #ffffff1a;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  margin: 36px auto 0;
  padding-top: 24px;
  font-size: 12px;
  display: flex;
}

.stepper {
  align-items: center;
  gap: 12px;
  margin-bottom: 32px;
  display: flex;
}

.stepper .step {
  flex: none;
  align-items: center;
  gap: 10px;
  display: flex;
}

.stepper .num {
  background: var(--slate-100);
  width: 28px;
  height: 28px;
  color: var(--text-muted);
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  font-size: 13px;
  font-weight: 700;
  transition: all .18s;
  display: flex;
}

.stepper .step.done .num {
  background: var(--success-500);
  color: #fff;
}

.stepper .step.active .num {
  background: var(--brand-700);
  color: #fff;
}

.stepper .label {
  color: var(--text-muted);
  font-size: 13px;
  font-weight: 500;
}

.stepper .step.active .label, .stepper .step.done .label {
  color: var(--text-primary);
}

.stepper .bar {
  background: var(--slate-200);
  flex: 1;
  min-width: 16px;
  height: 2px;
  margin: 0 4px;
}

.stepper .step.done + .bar, .stepper .step.done + .step + .bar {
  background: var(--success-500);
}

.crumb {
  color: var(--text-muted);
  align-items: center;
  gap: 6px;
  margin-bottom: 16px;
  font-size: 13px;
  display: flex;
}

.crumb a, .crumb span.link {
  color: var(--text-secondary);
  cursor: pointer;
}

.crumb a:hover, .crumb span.link:hover {
  color: var(--brand-700);
}

.crumb .sep {
  color: var(--text-muted);
}

.empty {
  text-align: center;
  color: var(--text-secondary);
  padding: 56px 24px;
}

.empty .ic {
  width: 40px;
  height: 40px;
  color: var(--text-muted);
  margin-bottom: 12px;
  display: inline-block;
}

.empty h3 {
  color: var(--text-primary);
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 600;
}

.empty p {
  margin: 0 0 16px;
  font-size: 14px;
}

.toast-wrap {
  z-index: 1000;
  pointer-events: none;
  flex-direction: column-reverse;
  gap: 10px;
  display: flex;
  position: fixed;
  bottom: 20px;
  right: 20px;
}

.toast {
  border: 1px solid var(--border-subtle);
  box-shadow: var(--shadow-lg);
  pointer-events: auto;
  min-width: 280px;
  max-width: 380px;
  animation: slideIn .24s var(--ease-emphasized);
  background: #fff;
  border-radius: 10px;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 16px;
  display: flex;
}

.toast.success {
  border-left: 3px solid var(--success-500);
}

.toast.danger {
  border-left: 3px solid var(--danger-500);
}

.toast.info {
  border-left: 3px solid var(--info-500);
}

.toast .body {
  flex: 1;
}

.toast .title {
  color: var(--text-primary);
  font-size: 14px;
  font-weight: 600;
}

.toast .desc {
  color: var(--text-secondary);
  margin-top: 2px;
  font-size: 13px;
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateX(20px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.dlg-back {
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  z-index: 100;
  background: #0f172a80;
  justify-content: center;
  align-items: center;
  padding: 20px;
  animation: .18s fadeIn;
  display: flex;
  position: fixed;
  inset: 0;
}

.dlg {
  box-shadow: var(--shadow-xl);
  width: 100%;
  max-width: 520px;
  animation: dlgIn .24s var(--ease-emphasized);
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
}

.dlg-head {
  padding: 20px 24px 0;
}

.dlg-head h3 {
  margin: 0 0 6px;
  font-size: 18px;
  font-weight: 600;
}

.dlg-head p {
  color: var(--text-secondary);
  margin: 0;
  font-size: 14px;
}

.dlg-body {
  padding: 18px 24px;
}

.dlg-foot {
  background: var(--slate-50);
  border-top: 1px solid var(--border-subtle);
  justify-content: flex-end;
  gap: 10px;
  padding: 16px 24px;
  display: flex;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes dlgIn {
  from {
    opacity: 0;
    transform: translateY(8px)scale(.98);
  }

  to {
    opacity: 1;
    transform: translateY(0)scale(1);
  }
}

.noti-item {
  border-bottom: 1px solid var(--border-subtle);
  cursor: pointer;
  gap: 12px;
  padding: 14px 16px;
  transition: background .12s;
  display: flex;
}

.noti-item:hover {
  background: var(--slate-50);
}

.noti-item.unread {
  background: var(--brand-50);
}

.noti-item.unread:hover {
  background: var(--brand-100);
}

.noti-item .dot {
  background: var(--accent-500);
  border-radius: 50%;
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  margin-top: 6px;
}

.noti-item .body {
  flex: 1;
  min-width: 0;
}

.noti-item .title {
  color: var(--text-primary);
  margin-bottom: 2px;
  font-size: 14px;
  font-weight: 600;
}

.noti-item .desc {
  color: var(--text-secondary);
  margin-bottom: 4px;
  font-size: 13px;
}

.noti-item .time {
  color: var(--text-muted);
  font-size: 12px;
  font-family: var(--font-mono);
}

.divider {
  background: var(--border-subtle);
  height: 1px;
  margin: 16px 0;
}

.divider-v {
  background: var(--border-subtle);
  align-self: stretch;
  width: 1px;
}

.muted {
  color: var(--text-secondary);
}

.muted-2 {
  color: var(--text-muted);
}

.mono {
  font-family: var(--font-mono);
}

.h1 {
  letter-spacing: -.02em;
  margin: 0;
  font-size: 26px;
  font-weight: 700;
}

.h2 {
  letter-spacing: -.01em;
  margin: 0;
  font-size: 20px;
  font-weight: 600;
}

.h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

.lead {
  color: var(--text-secondary);
  font-size: 14px;
}

.row {
  gap: 12px;
  display: flex;
}

.col {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

.qr-box {
  border: 1px solid var(--border-subtle);
  background: #fff;
  border-radius: 12px;
  grid-template-rows: repeat(20, 1fr);
  grid-template-columns: repeat(20, 1fr);
  gap: 1px;
  width: 200px;
  height: 200px;
  padding: 14px;
  display: grid;
}

.qr-box .px {
  background: var(--text-primary);
}

.demo-banner {
  background: var(--warning-100);
  color: var(--warning-700);
  border-bottom: 1px solid var(--warning-500);
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 8px 32px;
  font-size: 13px;
  font-weight: 500;
  display: flex;
}

.nb {
  background: var(--accent-500);
  color: #fff;
  text-align: center;
  border-radius: 999px;
  min-width: 18px;
  padding: 2px 7px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.4;
}

.host {
  background: var(--surface-page);
  min-height: 100vh;
}

.host-bar {
  background: var(--slate-900);
  color: #ffffffd9;
  align-items: center;
  gap: 12px;
  height: 44px;
  padding: 0 14px;
  font-size: 13px;
  display: flex;
}

.host-bar .urlbox {
  font-family: var(--font-mono);
  color: #ffffffd9;
  background: #ffffff14;
  border-radius: 7px;
  flex: 1;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  font-size: 12px;
  display: flex;
}

.host-bar .urlbox .lock {
  color: var(--success-500);
}

.host-bar .pages {
  gap: 6px;
  display: flex;
}

.host-bar .pgbtn {
  color: #ffffffd9;
  cursor: pointer;
  background: #ffffff0f;
  border: 1px solid #ffffff1a;
  border-radius: 6px;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 600;
}

.host-bar .pgbtn.active {
  background: var(--brand-700);
  border-color: var(--brand-700);
  color: #fff;
}

.host-bar .pgbtn:hover:not(.active) {
  background: #ffffff1f;
}

.routenav {
  z-index: 50;
  border: 1px solid var(--border-subtle);
  box-shadow: var(--shadow-lg);
  background: #fff;
  border-radius: 12px;
  flex-direction: column;
  width: 260px;
  max-height: 70vh;
  display: flex;
  position: fixed;
  bottom: 14px;
  right: 14px;
  overflow: hidden;
}

.routenav header {
  border-bottom: 1px solid var(--border-subtle);
  justify-content: space-between;
  align-items: center;
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 600;
  display: flex;
}

.routenav .grp {
  border-bottom: 1px solid var(--border-subtle);
  padding: 8px 0;
}

.routenav .grp h5 {
  color: var(--text-muted);
  letter-spacing: .04em;
  text-transform: uppercase;
  margin: 0;
  padding: 4px 14px;
  font-size: 11px;
  font-weight: 700;
}

.routenav button.row {
  cursor: pointer;
  width: 100%;
  color: var(--text-secondary);
  background: none;
  border: 0;
  justify-content: space-between;
  align-items: center;
  padding: 6px 14px;
  font-size: 13px;
  display: flex;
}

.routenav button.row:hover {
  background: var(--surface-muted);
  color: var(--text-primary);
}

.routenav button.row.active {
  color: var(--brand-700);
  font-weight: 600;
}

.routenav button.row .code {
  font-family: var(--font-mono);
  color: var(--text-muted);
  font-size: 11px;
}

.list-row {
  border-bottom: 1px solid var(--border-subtle);
  cursor: pointer;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  transition: background .12s;
  display: flex;
}

.list-row:last-child {
  border-bottom: 0;
}

.list-row:hover {
  background: var(--slate-50);
}

.list-row .body {
  flex: 1;
  min-width: 0;
}

.list-row .title {
  color: var(--text-primary);
  margin-bottom: 2px;
  font-size: 14px;
  font-weight: 600;
}

.list-row .meta {
  color: var(--text-muted);
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  display: flex;
}

.timeline {
  padding-left: 20px;
  position: relative;
}

.timeline:before {
  content: "";
  background: var(--slate-200);
  width: 2px;
  position: absolute;
  top: 6px;
  bottom: 6px;
  left: 7px;
}

.timeline .tl-item {
  padding-bottom: 18px;
  position: relative;
}

.timeline .tl-item:before {
  content: "";
  border: 2px solid var(--slate-300);
  background: #fff;
  border-radius: 50%;
  width: 16px;
  height: 16px;
  position: absolute;
  top: 4px;
  left: -20px;
}

.timeline .tl-item.done:before {
  background: var(--success-500);
  border-color: var(--success-500);
}

.timeline .tl-item.active:before {
  background: var(--brand-700);
  border-color: var(--brand-700);
  box-shadow: 0 0 0 4px var(--brand-100);
}

.timeline .tl-item.danger:before {
  background: var(--danger-500);
  border-color: var(--danger-500);
}

.timeline .tl-item .t {
  color: var(--text-primary);
  margin-bottom: 2px;
  font-size: 14px;
  font-weight: 600;
}

.timeline .tl-item .d {
  color: var(--text-muted);
  font-size: 12px;
  font-family: var(--font-mono);
  margin-bottom: 4px;
}

.timeline .tl-item .x {
  color: var(--text-secondary);
  font-size: 13px;
}

.auth-wrap {
  grid-template-columns: 1fr 1fr;
  min-height: 100vh;
  display: grid;
}

@media (max-width: 900px) {
  .auth-wrap {
    grid-template-columns: 1fr;
  }

  .auth-pane {
    padding: 24px !important;
  }

  .auth-pane.dark {
    display: none;
  }

  .auth-form {
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
  }
}

.auth-pane {
  justify-content: center;
  align-items: center;
  padding: 48px;
  display: flex;
}

.auth-pane.dark {
  background: linear-gradient(135deg, var(--brand-900), var(--brand-800), var(--brand-700));
  color: #fff;
  position: relative;
  overflow: hidden;
}

.auth-pane.dark:before {
  content: "";
  background: radial-gradient(circle, #22d3ee38, #0000 60%);
  width: 480px;
  height: 480px;
  position: absolute;
  top: -120px;
  right: -100px;
}

.auth-pane.dark:after {
  content: "";
  background: radial-gradient(circle, #f973162e, #0000 60%);
  width: 360px;
  height: 360px;
  position: absolute;
  bottom: -80px;
  left: -40px;
}

.auth-form {
  width: 100%;
  max-width: 420px;
}

.auth-deco {
  z-index: 2;
  max-width: 460px;
  position: relative;
}

.action-bar {
  align-items: center;
  gap: 8px;
  display: flex;
}

.tag {
  background: var(--slate-100);
  color: var(--text-secondary);
  border-radius: 6px;
  align-items: center;
  gap: 6px;
  padding: 3px 8px;
  font-size: 12px;
  font-weight: 500;
  display: inline-flex;
}

.fp {
  background: var(--slate-50);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  grid-template-columns: repeat(12, 1fr);
  gap: 4px;
  padding: 12px;
  display: grid;
}

.fp .cell {
  aspect-ratio: 1;
  border: 1px solid var(--border-subtle);
  color: var(--text-muted);
  cursor: pointer;
  background: #fff;
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  font-size: 9px;
  font-weight: 600;
  display: flex;
}

.fp .cell.taken {
  background: var(--brand-100);
  color: var(--brand-700);
  border-color: var(--brand-300);
}

.fp .cell.mine {
  background: var(--accent-500);
  color: #fff;
  border-color: var(--accent-600);
}

.fp .cell.aisle {
  color: var(--text-muted);
  cursor: default;
  background: none;
  border-color: #0000;
}

.ban-grid {
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 10px;
  display: grid;
}

.ban-cell {
  border: 1px solid var(--border-subtle);
  cursor: pointer;
  background: #fff;
  border-radius: 8px;
  padding: 12px 14px;
  transition: all .12s;
}

.ban-cell:hover {
  border-color: var(--brand-300);
  box-shadow: var(--shadow-sm);
}

.ban-cell.selected {
  border-color: var(--brand-700);
  background: var(--brand-50);
}

.ban-cell .ma {
  font-family: var(--font-mono);
  color: var(--text-muted);
  font-size: 11px;
}

.ban-cell .ten {
  color: var(--text-primary);
  margin-top: 2px;
  font-size: 13px;
  font-weight: 600;
}

.hidden-mobile {
  flex-direction: column;
  display: flex;
}

.hidden-mobile > .sb, .hidden-mobile > .sb-light {
  flex: 1 0 auto;
}

.show-mobile {
  display: none;
}

@media (max-width: 767px) {
  .hidden-mobile {
    display: none;
  }

  .show-mobile {
    display: flex;
  }

  .sb, .sb-light {
    min-height: 100vh;
  }

  .ph-inner {
    gap: 16px;
    padding: 12px 16px;
  }

  .ph nav {
    scrollbar-width: thin;
    gap: 14px;
    overflow-x: auto;
  }

  .ph-actions {
    gap: 6px;
  }

  .ph-actions .btn {
    padding: 6px 10px;
    font-size: 12px;
  }

  .ph .logo .word .b {
    display: none;
  }

  .page-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .page-head .acts {
    width: 100%;
  }

  .page-head .acts .btn {
    flex: 1;
    justify-content: center;
  }

  .tb {
    gap: 10px;
    padding: 0 16px;
  }
}

.split-2col {
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: 24px;
  display: grid;
}

@media (max-width: 900px) {
  .split-2col {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

.banner {
  border: 1px solid;
  border-radius: 10px;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 16px;
  padding: 12px 14px;
  font-size: 13px;
  line-height: 1.55;
  display: flex;
}

.banner .ic {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 1px;
}

.banner .ttl {
  margin-bottom: 4px;
  font-weight: 600;
}

.banner.info {
  background: var(--info-100);
  color: var(--info-700);
  border-color: #1d4ed82e;
}

.banner.warning {
  background: var(--warning-100);
  color: var(--warning-700);
  border-color: #b453092e;
}

.banner.success {
  background: var(--success-100);
  color: var(--success-700);
  border-color: #0478572e;
}

.banner.danger {
  background: var(--danger-100);
  color: var(--danger-700);
  border-color: #b91c1c2e;
}

.kv {
  grid-template-columns: 160px 1fr;
  gap: 10px 16px;
  font-size: 14px;
  display: grid;
}

.kv .k {
  color: var(--text-muted);
  font-weight: 500;
}

.kv .v {
  color: var(--text-primary);
}

.filter-row {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  display: flex;
}

.filter-row .search {
  flex: 1;
  min-width: 240px;
  max-width: 360px;
}

.filter-row .input, .filter-row .btn {
  height: 36px;
}

.filter-row select.input {
  padding-right: 28px;
}

.tabs.compact {
  margin-bottom: 14px;
}

.tabs button {
  white-space: nowrap;
}

.tbl.compact th {
  padding: 10px 14px;
}

.tbl.compact td {
  padding: 11px 14px;
}

.tbl.dense th, .tbl.dense td {
  padding: 8px 12px;
  font-size: 13px;
}

.tbl-actions {
  text-align: right;
  white-space: nowrap;
}

.dim {
  color: var(--text-muted);
}

.page-head {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  margin-bottom: 24px;
  display: flex;
}

.page-head h1 {
  letter-spacing: -.02em;
  margin: 0 0 4px;
  font-size: 26px;
  font-weight: 700;
}

.page-head .sub, .page-head p {
  color: var(--text-secondary);
  margin: 0;
  font-size: 14px;
}

.page-head .acts {
  flex-wrap: wrap;
  gap: 10px;
  display: flex;
}

.section-head {
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  margin-bottom: 16px;
  display: flex;
}

.section-head h2 {
  letter-spacing: -.01em;
  margin: 0;
  font-size: 18px;
  font-weight: 600;
}

.empty-state {
  text-align: center;
  color: var(--text-secondary);
  padding: 48px 24px;
}

.empty-state .ic {
  width: 48px;
  height: 48px;
  color: var(--text-muted);
  margin: 0 auto 14px;
}

.empty-state .ttl {
  color: var(--text-primary);
  margin-bottom: 6px;
  font-size: 16px;
  font-weight: 600;
}

.empty-state .desc {
  max-width: 360px;
  margin: 0 auto 18px;
  font-size: 13px;
}

.timeline-steps {
  flex-direction: column;
  gap: 18px;
  display: flex;
}

.timeline-steps .item {
  gap: 14px;
  display: flex;
}

.timeline-steps .item .dot {
  background: var(--surface-muted);
  width: 32px;
  height: 32px;
  color: var(--text-muted);
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  font-size: 13px;
  font-weight: 700;
  display: flex;
}

.timeline-steps .item.active .dot {
  background: var(--brand-700);
  color: #fff;
}

.timeline-steps .item.done .dot {
  background: var(--success-500);
  color: #fff;
}

.timeline-steps .item .meta {
  flex: 1;
  min-width: 0;
}

.timeline-steps .item .meta .time {
  font-family: var(--font-mono);
  color: var(--text-muted);
  margin-bottom: 2px;
  font-size: 11px;
}

.timeline-steps .item .meta .ttl {
  margin-bottom: 4px;
  font-size: 14px;
  font-weight: 600;
}

.timeline-steps .item .meta .desc {
  color: var(--text-secondary);
  font-size: 13px;
  line-height: 1.55;
}

.form-grid {
  grid-template-columns: 1fr 1fr;
  gap: 14px 16px;
  display: grid;
}

.form-grid .full {
  grid-column: 1 / -1;
}

.fp .booth {
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  aspect-ratio: 1;
  cursor: pointer;
  color: var(--text-secondary);
  border-radius: 6px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 11px;
  font-weight: 700;
  transition: transform .12s, box-shadow .12s;
  display: flex;
}

.fp .booth:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-1px);
}

.fp .booth.free {
  background: #fff;
}

.fp .booth.taken {
  background: var(--slate-200);
  color: var(--slate-500);
  cursor: not-allowed;
}

.fp .booth.held {
  background: var(--warning-100);
  color: var(--warning-700);
}

.fp .booth.mine {
  background: var(--brand-100);
  color: var(--brand-700);
  border-color: var(--brand-300);
}

.fp .booth.selected {
  background: var(--accent-500);
  color: #fff;
  border-color: var(--accent-700);
  box-shadow: 0 0 0 3px #f9731640;
}

.fp .booth .price {
  color: var(--text-muted);
  margin-top: 2px;
  font-size: 9px;
  font-weight: 500;
}

.fp .booth.selected .price {
  color: #ffffffd9;
}

.invite-card {
  animation: .24s ease-out invite-fade-in;
  overflow: hidden;
}

.invite-card-header {
  justify-content: center;
  padding: 32px 24px;
  display: flex;
}

.invite-card-header-icon {
  color: #fff;
  background: #ffffff26;
  border-radius: 16px;
  justify-content: center;
  align-items: center;
  width: 64px;
  height: 64px;
  display: flex;
}

.invite-actions {
  gap: 12px;
  display: flex;
}

.invite-actions > .btn {
  flex: 1;
}

@keyframes invite-fade-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .invite-card {
    animation: none;
  }
}

@media (max-width: 640px) {
  .invite-actions {
    flex-direction: column;
  }
}

@keyframes draw-circle {
  from {
    stroke-dashoffset: 250px;
  }

  to {
    stroke-dashoffset: 0;
  }
}

@keyframes draw-check {
  from {
    stroke-dashoffset: 60px;
  }

  to {
    stroke-dashoffset: 0;
  }
}

.split {
  background: var(--surface-card, #fff);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-xl, 16px);
  box-shadow: var(--shadow-md);
  grid-template-columns: .85fr 1.15fr;
  gap: 0;
  display: grid;
  overflow: hidden;
}

.split-hero {
  background: var(--brand-700);
  color: #fff;
  flex-direction: column;
  padding: 56px 48px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.split-hero:before {
  content: "";
  pointer-events: none;
  background: radial-gradient(circle, #26578bb3, #0000 70%);
  background: radial-gradient(circle, lab(35.7047% -2.82004 -34.1262 / .7), #0000 70%);
  border-radius: 50%;
  width: 360px;
  height: 360px;
  position: absolute;
  top: 0;
  right: -120px;
}

.split-hero:after {
  content: "";
  pointer-events: none;
  border: 1px solid #ffffff14;
  border-radius: 50%;
  width: 200px;
  height: 200px;
  position: absolute;
  bottom: -60px;
  left: -60px;
}

.split-hero > * {
  z-index: 1;
  position: relative;
}

.split-hero .h-display {
  color: #fff;
  font-size: 42px;
}

.split-hero .lead {
  color: #ffffffc7;
  max-width: 480px;
  font-size: 15px;
  line-height: 1.65;
}

.split-form {
  background: var(--surface-card, #fff);
  padding: 56px;
}

.split-form-sm {
  background: var(--surface-card, #fff);
  padding: 40px 48px;
}

.page-body {
  flex: 1;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 36px 48px 64px;
}

.page-narrow {
  max-width: 720px;
}

.page-mid {
  max-width: 1040px;
}

.crumbs {
  color: var(--text-muted);
  margin-bottom: 18px;
  font-size: 13px;
}

.crumbs .sep {
  color: var(--text-muted);
  opacity: .6;
  margin: 0 8px;
}

.crumbs .current {
  color: var(--text-secondary);
}

.rule-h {
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--text-muted);
  align-items: center;
  gap: 16px;
  font-size: 11px;
  font-weight: 600;
  display: flex;
}

.rule-h:before, .rule-h:after {
  content: "";
  background: var(--slate-300, #cbd5e1);
  flex: 1;
  height: 1px;
}

.card-padded {
  padding: 32px 36px;
}

.h-display {
  font-family: var(--font-display, var(--font-sans));
  letter-spacing: -.02em;
  color: var(--text-primary);
  margin: 0;
  font-size: 42px;
  font-weight: 700;
  line-height: 1.15;
}

.opt-card {
  border: 1.5px solid var(--slate-300, #cbd5e1);
  border-radius: var(--radius-md, 8px);
  cursor: pointer;
  background: var(--surface-card, #fff);
  text-align: left;
  align-items: flex-start;
  gap: 14px;
  width: 100%;
  padding: 18px 20px;
  font-family: inherit;
  transition: all .15s;
  display: flex;
}

.opt-card:hover {
  border-color: var(--text-muted);
}

.opt-card.active {
  border-color: var(--brand-700);
  background: linear-gradient(180deg, var(--brand-50) 0%, var(--surface-card, #fff) 80%);
  box-shadow: 0 0 0 4px var(--brand-700);
}

@supports (color: color-mix(in lab, red, red)) {
  .opt-card.active {
    box-shadow: 0 0 0 4px color-mix(in oklch, var(--brand-700) 8%, transparent);
  }
}

.opt-radio {
  border: 2px solid var(--text-muted);
  background: #fff;
  border-radius: 50%;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 3px;
  position: relative;
}

.opt-card.active .opt-radio {
  border-color: var(--brand-700);
}

.opt-card.active .opt-radio:after {
  content: "";
  background: var(--brand-700);
  border-radius: 50%;
  position: absolute;
  inset: 3px;
}

.opt-card .opt-title {
  color: var(--text-primary);
  margin-bottom: 4px;
  font-size: 15px;
  font-weight: 700;
}

.opt-card .opt-desc {
  color: var(--text-secondary);
  font-size: 13px;
  line-height: 1.55;
}

.fee-preview {
  border: 1px solid var(--accent-600);
  background: linear-gradient(180deg, var(--accent-100) 0%, var(--surface-card, #fff) 100%);
  border-radius: var(--radius-lg, 12px);
  padding: 24px 28px;
  position: relative;
  overflow: hidden;
}

.fee-preview:before {
  content: "";
  background: radial-gradient(circle, var(--accent-500) 0%, transparent 60%);
  opacity: .2;
  pointer-events: none;
  width: 140px;
  height: 140px;
  position: absolute;
  top: 0;
  right: 0;
}

.fee-preview .fee-label {
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--brand-700);
  font-size: 11px;
  font-weight: 700;
  position: relative;
}

.fee-preview .fee-amount {
  font-family: var(--font-display, var(--font-sans));
  color: var(--text-primary);
  letter-spacing: -.02em;
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
  position: relative;
}

.fee-preview .fee-amount sub {
  color: var(--text-muted);
  font-size: 14px;
  font-weight: 500;
}

.fee-preview .fee-divider {
  border: 0;
  border-top: 1px solid var(--accent-500);
  margin: 14px 0;
}

.steps {
  flex-wrap: nowrap;
  align-items: center;
  gap: 10px;
  display: flex;
}

.steps .step {
  color: var(--text-muted);
  flex: none;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 500;
  display: flex;
}

.steps .step > span:nth-child(2) {
  white-space: nowrap;
  line-height: 1.3;
}

.steps .step-num {
  background: var(--surface-muted);
  width: 24px;
  height: 24px;
  color: var(--text-muted);
  border: 1px solid var(--slate-300, #cbd5e1);
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  font-size: 12px;
  font-weight: 700;
  display: flex;
}

.steps .step.active .step-num {
  background: var(--brand-700);
  color: #fff;
  border-color: var(--brand-700);
}

.steps .step.active {
  color: var(--text-primary);
  font-weight: 600;
}

.steps .step.done .step-num {
  background: var(--accent-500);
  color: var(--brand-700);
  border-color: var(--accent-500);
}

.steps .step-sep {
  background: var(--slate-300, #cbd5e1);
  flex: auto;
  min-width: 16px;
  height: 1px;
}

.success-check circle {
  stroke-dasharray: 250;
  animation: .8s forwards draw-circle;
}

.success-check path {
  stroke-dasharray: 60;
  stroke-dashoffset: 60px;
  animation: .4s .6s forwards draw-check;
}

@media (max-width: 900px) {
  .split {
    grid-template-columns: 1fr;
  }

  .split-hero {
    padding: 36px 24px;
  }

  .split-hero .h-display {
    font-size: 32px;
  }

  .split-hero:before {
    width: 240px;
    height: 240px;
    right: -80px;
  }

  .split-form, .split-form-sm {
    padding: 32px 20px;
  }

  .card-padded {
    padding: 24px 18px;
  }

  .page-body {
    padding: 20px 14px 36px;
  }
}

@media (max-width: 640px) {
  [style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
  }

  .keep-2col[style*="grid-template-columns"] {
    grid-template-columns: 1fr 1fr !important;
  }

  .h-display {
    font-size: 26px !important;
  }

  .split-hero .h-display {
    font-size: 26px;
  }

  .fee-preview .fee-amount {
    font-size: 30px;
  }

  .split-hero {
    display: none !important;
  }

  .split-form, .split-form-sm {
    padding: 24px 14px;
  }

  .card-padded {
    padding: 20px 14px;
  }

  .page-body {
    padding: 14px 10px 32px;
  }

  .steps .step > span:nth-child(2) {
    display: none;
  }

  .steps .step-sep {
    min-width: 12px;
  }

  .crumbs {
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
    overflow-x: auto;
  }

  .opt-card {
    gap: 10px;
    padding: 14px;
  }

  .fee-preview {
    padding: 18px 16px;
  }

  .split-hero:before, .split-hero:after {
    display: none;
  }
}

@media (max-width: 380px) {
  .h-display {
    font-size: 22px !important;
  }

  .card-padded {
    padding: 16px 10px;
  }

  .split-form, .split-form-sm {
    padding: 20px 10px;
  }

  .page-body {
    padding: 12px 8px 28px;
  }

  .opt-card {
    padding: 12px 10px;
  }
}

.card-elev {
  box-shadow: var(--shadow-md);
}

.card-title {
  color: var(--text-primary);
  letter-spacing: -.015em;
  margin: 0;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.2;
}

.card-sub {
  color: var(--text-secondary);
  margin: 6px 0 0;
  font-size: 13.5px;
  line-height: 1.55;
}

.row-between {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.btn-link {
  cursor: pointer;
  font: inherit;
  color: var(--brand-700);
  background: none;
  border: 0;
  padding: 0;
  font-weight: 600;
}

.btn-link:hover {
  color: var(--brand-500);
  text-decoration: underline;
}

.sky-soft {
  background: var(--brand-50);
}

.success-soft {
  background: var(--success-100);
}

.warn-soft {
  background: var(--warning-100);
}

.info-soft {
  background: var(--info-100);
}

@media (max-width: 640px) {
  .card-title {
    font-size: 20px;
  }
}

.qr-frame {
  border: 2px solid var(--brand-700);
  background: #fff;
  border-radius: 12px;
  padding: 16px;
  display: inline-block;
  position: relative;
}

.qr-frame-corner {
  border-style: solid;
  border-color: var(--brand-500);
  border-width: 0;
  width: 16px;
  height: 16px;
  position: absolute;
}

.qr-frame-corner.tl {
  border-top-width: 3px;
  border-left-width: 3px;
  top: -2px;
  left: -2px;
}

.qr-frame-corner.tr {
  border-top-width: 3px;
  border-right-width: 3px;
  top: -2px;
  right: -2px;
}

.qr-frame-corner.bl {
  border-bottom-width: 3px;
  border-left-width: 3px;
  bottom: -2px;
  left: -2px;
}

.qr-frame-corner.br {
  border-bottom-width: 3px;
  border-right-width: 3px;
  bottom: -2px;
  right: -2px;
}

.pay01-grid {
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  display: grid;
}

.pay01-grid-single {
  grid-template-columns: minmax(0, 560px);
  justify-content: center;
}

.pay01-header {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-top: 12px;
  margin-bottom: 28px;
  display: flex;
}

.memo-box {
  font-family: var(--font-mono);
  background: var(--surface-muted);
  color: var(--brand-700);
  word-break: break-all;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
  border-radius: 6px;
  margin-top: 4px;
  padding: 10px;
  font-size: 13px;
  font-weight: 600;
}

.receipt-card {
  background: var(--surface-muted);
  border: 1px solid var(--border-subtle);
  text-align: left;
  border-radius: 10px;
  margin-top: 32px;
  padding: 24px;
  position: relative;
}

.receipt-card:before {
  content: "";
  background: repeating-linear-gradient(90deg, var(--accent-500) 0 12px, transparent 12px 18px);
  border-radius: 10px 10px 0 0;
  height: 3px;
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
}

@media (max-width: 900px) {
  .pay01-grid {
    grid-template-columns: 1fr;
  }

  .pay01-header {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 640px) {
  .pay01-grid {
    gap: 16px;
  }

  .pay01-header {
    gap: 10px;
  }

  .pay-btn-group {
    flex-direction: column;
  }

  .pay-btn-group .btn {
    justify-content: center;
    width: 100%;
  }

  .pay04-heading {
    font-size: 26px !important;
  }
}

@media (max-width: 380px) {
  .pay04-heading {
    font-size: 22px !important;
  }
}

.kk-grid {
  display: grid;
}

.kk-grid.gap-xs {
  gap: 4px;
}

.kk-grid.gap-sm {
  gap: 8px;
}

.kk-grid.gap-md {
  gap: 16px;
}

.kk-grid.gap-lg {
  gap: 24px;
}

.kk-grid.gap-xl {
  gap: 32px;
}

.kk-stack {
  flex-direction: column;
  display: flex;
}

.kk-stack.gap-xs {
  gap: 4px;
}

.kk-stack.gap-sm {
  gap: 8px;
}

.kk-stack.gap-md {
  gap: 16px;
}

.kk-stack.gap-lg {
  gap: 24px;
}

.kk-stack.gap-xl {
  gap: 32px;
}

.kk-row {
  flex-direction: row;
  align-items: center;
  display: flex;
}

.kk-row.gap-xs {
  gap: 4px;
}

.kk-row.gap-sm {
  gap: 8px;
}

.kk-row.gap-md {
  gap: 12px;
}

.kk-row.gap-lg {
  gap: 18px;
}

.kk-row.gap-xl {
  gap: 24px;
}

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

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

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

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

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

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

.kk-secthead {
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px;
  margin-bottom: 18px;
  display: flex;
}

.kk-secthead.has-divider {
  border-bottom: 1px solid var(--border-subtle);
  padding-bottom: 14px;
}

.kk-secthead .lhs {
  flex: 1;
  min-width: 0;
}

.kk-secthead .eyebrow {
  margin-bottom: 4px;
  display: block;
}

.kk-secthead h2 {
  letter-spacing: -.01em;
  color: var(--text-primary);
  margin: 0;
  font-size: 18px;
  font-weight: 600;
}

.kk-secthead .subtitle {
  color: var(--text-secondary);
  margin: 4px 0 0;
  font-size: 13px;
}

.kk-secthead .actions {
  flex-shrink: 0;
  gap: 8px;
  display: flex;
}

.kk-pagehead {
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  box-shadow: var(--shadow-sm);
  border-radius: 12px;
  align-items: center;
  gap: 20px;
  margin-bottom: 20px;
  padding: 22px 24px;
  display: flex;
}

.kk-pagehead .avatar {
  flex-shrink: 0;
}

.kk-pagehead .body {
  flex: 1;
  min-width: 0;
}

.kk-pagehead h1 {
  letter-spacing: -.02em;
  color: var(--text-primary);
  margin: 0 0 4px;
  font-size: 22px;
  font-weight: 700;
}

.kk-pagehead .subtitle {
  color: var(--text-secondary);
  margin: 0 0 8px;
  font-size: 14px;
}

.kk-pagehead .pills {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.kk-pagehead .actions {
  flex-shrink: 0;
  gap: 8px;
  display: flex;
}

.kk-btn {
  font-family: var(--font-sans);
  cursor: pointer;
  white-space: nowrap;
  transition: background .12s var(--ease-standard), box-shadow .12s, transform 80ms;
  -webkit-user-select: none;
  user-select: none;
  border: 1px solid #0000;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  gap: 7px;
  font-weight: 600;
  line-height: 1;
  display: inline-flex;
  position: relative;
}

.kk-btn:disabled, .kk-btn.is-loading {
  opacity: .65;
  cursor: not-allowed;
}

.kk-btn:active:not(:disabled):not(.is-loading) {
  transform: translateY(.5px);
}

.kk-btn:focus-visible {
  box-shadow: var(--shadow-focus);
  outline: none;
}

.kk-btn.size-sm {
  padding: 6px 11px;
  font-size: 12.5px;
}

.kk-btn.size-md {
  padding: 9px 15px;
  font-size: 14px;
}

.kk-btn.size-lg {
  padding: 12px 20px;
  font-size: 15px;
}

.kk-btn.icon-only.size-sm {
  width: 30px;
  height: 30px;
  padding: 6px;
}

.kk-btn.icon-only.size-md {
  width: 38px;
  height: 38px;
  padding: 9px;
}

.kk-btn.icon-only.size-lg {
  width: 46px;
  height: 46px;
  padding: 12px;
}

.kk-btn.var-primary {
  background: var(--brand-700);
  color: #fff;
}

.kk-btn.var-primary:hover:not(:disabled):not(.is-loading) {
  background: var(--brand-800);
}

.kk-btn.var-accent {
  background: var(--accent-500);
  color: var(--text-primary);
}

.kk-btn.var-accent:hover:not(:disabled):not(.is-loading) {
  background: var(--accent-600);
}

.kk-btn.var-outline {
  background: var(--surface-card);
  color: var(--text-primary);
  border-color: var(--border-default);
}

.kk-btn.var-outline:hover:not(:disabled):not(.is-loading) {
  background: var(--surface-muted);
}

.kk-btn.var-ghost {
  color: var(--text-primary);
  background: none;
}

.kk-btn.var-ghost:hover:not(:disabled):not(.is-loading) {
  background: var(--surface-muted);
}

.kk-btn.var-danger {
  background: var(--danger-700);
  color: #fff;
}

.kk-btn.var-danger:hover:not(:disabled):not(.is-loading) {
  background: #991b1b;
}

.kk-btn.var-soft-danger {
  background: var(--danger-100);
  color: var(--danger-700);
}

.kk-btn.var-soft-danger:hover:not(:disabled):not(.is-loading) {
  background: #fecaca;
}

.kk-btn.var-soft-success {
  background: var(--success-100);
  color: var(--success-700);
}

.kk-btn.var-link {
  color: var(--brand-700);
  background: none;
  padding-left: 0;
  padding-right: 0;
}

.kk-btn.var-link:hover {
  color: var(--brand-800);
  text-decoration: underline;
}

.kk-btn.is-loading .label {
  opacity: 0;
}

.kk-btn .spinner {
  border: 2px solid;
  border-right-color: #0000;
  border-radius: 50%;
  width: 14px;
  height: 14px;
  animation: .6s linear infinite kk-spin;
  position: absolute;
}

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

.kk-field {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.kk-field .lab {
  color: var(--text-primary);
  align-items: baseline;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  display: flex;
}

.kk-field .lab .req {
  color: var(--danger-700);
}

.kk-field .lab .optional {
  color: var(--text-muted);
  font-size: 12px;
  font-weight: 400;
}

.kk-field .hint {
  color: var(--text-muted);
  font-size: 12px;
  line-height: 1.4;
}

.kk-field .err {
  color: var(--danger-700);
  align-items: center;
  gap: 4px;
  font-size: 12px;
  line-height: 1.4;
  display: flex;
}

.kk-field .counter {
  color: var(--text-muted);
  text-align: right;
  font-size: 11px;
  font-family: var(--font-mono);
}

.kk-field.is-disabled .lab {
  color: var(--text-muted);
}

.kk-input-wrap {
  align-items: center;
  display: flex;
  position: relative;
}

.kk-input-wrap .lead, .kk-input-wrap .trail {
  color: var(--text-muted);
  pointer-events: none;
  align-items: center;
  display: flex;
  position: absolute;
}

.kk-input-wrap .lead {
  left: 12px;
}

.kk-input-wrap .trail {
  pointer-events: auto;
  right: 12px;
}

.kk-input, .kk-select, .kk-textarea {
  font-family: var(--font-sans);
  color: var(--text-primary);
  background: var(--surface-card);
  border: 1px solid var(--border-default);
  box-sizing: border-box;
  border-radius: 8px;
  width: 100%;
  padding: 9px 12px;
  font-size: 14px;
  line-height: 1.4;
  transition: border-color .12s, box-shadow .12s;
}

.kk-input::placeholder, .kk-textarea::placeholder {
  color: var(--text-muted);
}

.kk-input:focus, .kk-select:focus, .kk-textarea:focus {
  border-color: var(--brand-500);
  box-shadow: var(--shadow-focus);
  outline: none;
}

.kk-input:disabled, .kk-select:disabled, .kk-textarea:disabled {
  background: var(--surface-muted);
  color: var(--text-muted);
  cursor: not-allowed;
}

input[type="radio"], input[type="checkbox"] {
  accent-color: var(--brand-500);
}

.kk-input.has-lead {
  padding-left: 38px;
}

.kk-input.has-trail {
  padding-right: 38px;
}

.kk-input.is-error, .kk-select.is-error, .kk-textarea.is-error {
  border-color: var(--danger-500);
}

.kk-input.is-error:focus, .kk-select.is-error:focus, .kk-textarea.is-error:focus {
  box-shadow: 0 0 0 3px #ef444438;
}

.kk-textarea {
  resize: vertical;
  min-height: 96px;
  line-height: 1.5;
}

.kk-input.size-sm, .kk-select.size-sm {
  padding: 6px 10px;
  font-size: 13px;
}

.kk-input.size-lg, .kk-select.size-lg {
  padding: 12px 14px;
  font-size: 15px;
}

.kk-select {
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-position: right 12px center;
  background-repeat: no-repeat;
  padding-right: 34px;
}

.kk-select-wrap {
  width: 100%;
  position: relative;
}

button.kk-select {
  text-align: left;
  cursor: pointer;
  background-image: none;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding-right: 12px;
  display: flex;
}

button.kk-select.is-open {
  border-color: var(--info-500);
  box-shadow: var(--shadow-focus);
}

button.kk-select.is-disabled {
  background: var(--surface-muted);
  color: var(--text-muted);
  cursor: not-allowed;
}

.kk-select-val {
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
  display: block;
  overflow: hidden;
}

.kk-select-menu {
  max-height: 280px;
  z-index: var(--z-popover);
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  overflow: auto;
}

.kk-select-menu .opt.hi {
  background: var(--brand-50);
}

.kk-check {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  align-items: flex-start;
  gap: 8px;
  line-height: 1.4;
  display: inline-flex;
}

.kk-check input {
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute;
}

.kk-check .box {
  border: 1.5px solid var(--border-default);
  background: var(--surface-card);
  color: #fff;
  border-radius: 4px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 18px;
  height: 18px;
  margin-top: 1px;
  transition: all .12s;
  display: inline-flex;
}

.kk-check input:checked ~ .box {
  background: var(--brand-700);
  border-color: var(--brand-700);
}

.kk-check input:checked ~ .box:after {
  content: "";
  border: 2px solid #fff;
  border-width: 0 2px 2px 0;
  width: 5px;
  height: 9px;
  margin-top: -2px;
  transform: rotate(45deg);
}

.kk-check input:focus-visible ~ .box {
  box-shadow: var(--shadow-focus);
}

.kk-check.radio .box {
  border-radius: 50%;
}

.kk-check.radio input:checked ~ .box {
  background: var(--brand-700);
}

.kk-check.radio input:checked ~ .box:after {
  content: "";
  background: #fff;
  border: 0;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  margin-top: 0;
  transform: none;
}

.kk-check .lab {
  color: var(--text-primary);
  font-size: 14px;
}

.kk-check .hint {
  color: var(--text-muted);
  margin-top: 2px;
  font-size: 12px;
}

.kk-toggle {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  align-items: center;
  gap: 10px;
  display: inline-flex;
}

.kk-toggle input {
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute;
}

.kk-toggle .track {
  background: var(--slate-300);
  border-radius: 999px;
  flex-shrink: 0;
  width: 36px;
  height: 20px;
  transition: background .16s;
  position: relative;
}

.kk-toggle .track:after {
  content: "";
  width: 16px;
  height: 16px;
  transition: transform .18s var(--ease-emphasized);
  box-shadow: var(--shadow-sm);
  background: #fff;
  border-radius: 50%;
  position: absolute;
  top: 2px;
  left: 2px;
}

.kk-toggle input:checked ~ .track {
  background: var(--brand-700);
}

.kk-toggle input:checked ~ .track:after {
  transform: translateX(16px);
}

.kk-toggle input:focus-visible ~ .track {
  box-shadow: var(--shadow-focus);
}

.kk-segmented {
  background: var(--surface-muted);
  border-radius: 8px;
  gap: 2px;
  padding: 3px;
  display: inline-flex;
}

.kk-segmented button {
  color: var(--text-secondary);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 6px;
  padding: 6px 12px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 500;
  transition: background .12s;
}

.kk-segmented button.active {
  background: var(--surface-card);
  color: var(--text-primary);
  box-shadow: var(--shadow-sm);
  font-weight: 600;
}

.kk-tabs {
  border-bottom: 1px solid var(--border-subtle);
  gap: 2px;
  margin-bottom: 18px;
  display: flex;
  overflow-x: auto;
}

.kk-tabs .tab {
  color: var(--text-secondary);
  cursor: pointer;
  white-space: nowrap;
  background: none;
  border: 0;
  border-bottom: 2px solid #0000;
  align-items: center;
  gap: 6px;
  margin-bottom: -1px;
  padding: 10px 16px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  transition: color .12s;
  display: inline-flex;
}

.kk-tabs .tab:hover {
  color: var(--text-primary);
}

.kk-tabs .tab.active {
  color: var(--brand-700);
  border-bottom-color: var(--brand-700);
}

.kk-tabs .tab .tab-badge {
  background: var(--surface-muted);
  color: var(--text-secondary);
  text-align: center;
  border-radius: 999px;
  min-width: 20px;
  padding: 1px 7px;
  font-size: 11px;
  font-weight: 700;
}

.kk-tabs .tab.active .tab-badge {
  background: var(--brand-100);
  color: var(--brand-700);
}

.kk-tabs.pills {
  border: 0;
  gap: 6px;
}

.kk-tabs.pills .tab {
  border: 0;
  border-radius: 99px;
  padding: 6px 14px;
}

.kk-tabs.pills .tab.active {
  background: var(--brand-700);
  color: #fff;
}

.kk-tabs.pills .tab.active .tab-badge {
  color: #fff;
  background: #ffffff38;
}

.kk-tbl-wrap {
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  box-shadow: var(--shadow-sm);
  border-radius: 12px;
  overflow: hidden;
}

.kk-tbl-toolbar {
  border-bottom: 1px solid var(--border-subtle);
  background: var(--surface-card);
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  display: flex;
}

.kk-tbl-toolbar .left {
  flex-wrap: wrap;
  flex: 1;
  align-items: center;
  gap: 10px;
  min-width: 0;
  display: flex;
}

.kk-tbl-toolbar .right {
  align-items: center;
  gap: 8px;
  display: flex;
}

.kk-tbl-bulk {
  background: var(--brand-50);
  border-bottom: 1px solid var(--brand-100);
  align-items: center;
  gap: 12px;
  padding: 8px 16px;
  font-size: 13px;
  display: flex;
}

.kk-tbl {
  border-collapse: collapse;
  width: 100%;
  font-size: 14px;
}

.kk-tbl thead th {
  text-align: left;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: .05em;
  background: var(--surface-muted);
  border-bottom: 1px solid var(--border-subtle);
  z-index: 1;
  padding: 11px 16px;
  font-size: 11px;
  font-weight: 600;
  position: sticky;
  top: 0;
}

.kk-tbl thead th.sortable {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
}

.kk-tbl thead th.sortable:hover {
  color: var(--text-primary);
}

.kk-tbl thead th .sort-ic {
  vertical-align: middle;
  opacity: .5;
  margin-left: 4px;
  display: inline-flex;
}

.kk-tbl thead th.sorted .sort-ic {
  opacity: 1;
  color: var(--brand-700);
}

.kk-tbl thead th .check-cell {
  padding: 0;
}

.kk-tbl tbody td {
  border-bottom: 1px solid var(--border-subtle);
  color: var(--text-primary);
  vertical-align: middle;
  padding: 13px 16px;
}

.kk-tbl tbody tr:hover td {
  background: var(--surface-muted);
}

.kk-tbl tbody tr:last-child td {
  border-bottom: 0;
}

.kk-tbl tbody tr.clickable {
  cursor: pointer;
}

.kk-tbl tbody tr.selected td {
  background: var(--brand-50);
}

.kk-tbl.compact tbody td {
  padding: 8px 16px;
}

.kk-tbl .num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.kk-tbl .check-cell {
  width: 36px;
  padding-right: 0;
}

.kk-tbl .actions-cell {
  text-align: right;
  width: 60px;
}

.kk-pagination {
  border-top: 1px solid var(--border-subtle);
  background: var(--surface-card);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  display: flex;
}

.kk-pagination .info {
  color: var(--text-secondary);
  font-size: 13px;
}

.kk-pagination .ctrls {
  align-items: center;
  gap: 4px;
  display: flex;
}

.kk-pagination .ctrls .pg {
  min-width: 32px;
  height: 32px;
  color: var(--text-secondary);
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  gap: 4px;
  padding: 0 8px;
  font-size: 13px;
  font-weight: 500;
  display: inline-flex;
}

.kk-pagination .ctrls .pg:hover:not(:disabled):not(.active) {
  background: var(--surface-muted);
}

.kk-pagination .ctrls .pg.active {
  background: var(--brand-700);
  color: #fff;
}

.kk-pagination .ctrls .pg:disabled {
  opacity: .4;
  cursor: not-allowed;
}

.kk-pagination .ctrls .pg.ellipsis {
  cursor: default;
}

.kk-empty {
  text-align: center;
  color: var(--text-secondary);
  padding: 56px 24px;
}

.kk-empty .ic-wrap {
  background: var(--surface-muted);
  width: 56px;
  height: 56px;
  color: var(--text-muted);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  margin-bottom: 14px;
  display: inline-flex;
}

.kk-empty h3 {
  color: var(--text-primary);
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 600;
}

.kk-empty p {
  max-width: 360px;
  margin: 0 auto 18px;
  font-size: 14px;
  line-height: 1.55;
}

.kk-skel {
  background: linear-gradient(90deg, var(--surface-muted) 0%, var(--slate-200) 50%, var(--surface-muted) 100%);
  background-size: 200% 100%;
  border-radius: 6px;
  animation: 1.4s ease-in-out infinite kk-shimmer;
  display: inline-block;
}

@keyframes kk-shimmer {
  0% {
    background-position: 200% 0;
  }

  100% {
    background-position: -200% 0;
  }
}

.kk-skel-line {
  height: 12px;
  margin-bottom: 8px;
  display: block;
}

.kk-skel-line:last-child {
  margin-bottom: 0;
}

.kk-banner {
  border: 1px solid;
  border-radius: 10px;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 16px;
  font-size: 14px;
  display: flex;
}

.kk-banner .ic-wrap {
  flex-shrink: 0;
  margin-top: 1px;
}

.kk-banner .body {
  flex: 1;
  min-width: 0;
}

.kk-banner .title {
  margin-bottom: 2px;
  font-weight: 600;
}

.kk-banner .desc {
  font-size: 13px;
  line-height: 1.5;
}

.kk-banner .actions {
  gap: 8px;
  margin-top: 8px;
  display: flex;
}

.kk-banner .close {
  color: inherit;
  opacity: .6;
  cursor: pointer;
  background: none;
  border: 0;
  flex-shrink: 0;
  padding: 2px;
}

.kk-banner .close:hover {
  opacity: 1;
}

.kk-banner.tone-info {
  background: var(--tone-info-bg);
  border-color: var(--info-500);
  color: var(--tone-info-fg);
}

.kk-banner.tone-success {
  background: var(--tone-success-bg);
  border-color: var(--success-500);
  color: var(--tone-success-fg);
}

.kk-banner.tone-warning {
  background: var(--tone-warning-bg);
  border-color: var(--warning-500);
  color: var(--tone-warning-fg);
}

.kk-banner.tone-danger {
  background: var(--tone-danger-bg);
  border-color: var(--danger-500);
  color: var(--tone-danger-fg);
}

.kk-banner.tone-brand {
  background: var(--tone-brand-bg);
  border-color: var(--brand-500);
  color: var(--tone-brand-fg);
}

.kk-banner.tone-accent {
  background: var(--tone-accent-bg);
  border-color: var(--accent-500);
  color: var(--tone-accent-fg);
}

.kk-overlay {
  background: var(--surface-overlay);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  z-index: var(--z-modal-backdrop);
  animation: .16s fadeIn;
  position: fixed;
  inset: 0;
}

body > :has(.kk-overlay[data-state="open"]) ~ :has(.kk-overlay[data-state="open"]) .kk-overlay {
  background: var(--surface-overlay-deep);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}

.kk-modal-wrap {
  z-index: var(--z-modal);
  pointer-events: none;
  justify-content: center;
  align-items: center;
  padding: 20px;
  display: flex;
  position: fixed;
  inset: 0;
}

.kk-modal {
  background: var(--surface-card);
  box-shadow: var(--shadow-xl);
  pointer-events: auto;
  width: 100%;
  max-width: 540px;
  max-height: calc(100vh - 60px);
  animation: kk-modal-in .22s var(--ease-emphasized);
  border-radius: 14px;
  flex-direction: column;
  display: flex;
  overflow: hidden;
}

.kk-modal.size-sm {
  max-width: 420px;
}

.kk-modal.size-lg {
  max-width: 720px;
}

.kk-modal.size-xl {
  max-width: 960px;
}

.kk-modal.size-xxl {
  max-width: 1160px;
}

.kk-modal-head {
  border-bottom: 1px solid var(--border-subtle);
  flex-shrink: 0;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  padding: 18px 22px 14px;
  display: flex;
}

.kk-modal-head-content {
  flex: 1;
  min-width: 0;
}

.kk-modal-head .ttl {
  margin: 0;
  font-size: 17px;
  font-weight: 600;
}

.kk-modal-head .desc {
  color: var(--text-secondary);
  margin: 4px 0 0;
  font-size: 13px;
}

.kk-modal-head-close {
  color: var(--text-muted);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 8px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  padding: 6px;
  display: inline-flex;
}

.kk-modal-head-close:hover {
  background: var(--surface-muted);
  color: var(--text-primary);
}

.kk-modal-body {
  flex: 1;
  min-height: 0;
  padding: 18px 22px;
  overflow-y: auto;
}

.kk-modal-foot {
  border-top: 1px solid var(--border-subtle);
  flex-wrap: wrap;
  flex-shrink: 0;
  justify-content: flex-end;
  gap: 8px;
  padding: 14px 22px;
  display: flex;
}

.kk-modal-foot.spaced {
  justify-content: space-between;
}

.kk-modal-form {
  flex-direction: column;
  flex: 1;
  min-height: 0;
  display: flex;
}

@keyframes kk-modal-in {
  from {
    opacity: 0;
    transform: translateY(8px)scale(.97);
  }

  to {
    opacity: 1;
    transform: translateY(0)scale(1);
  }
}

.kk-drawer-wrap {
  z-index: var(--z-modal);
  pointer-events: none;
  display: flex;
  position: fixed;
  inset: 0;
}

.kk-drawer-wrap.right {
  justify-content: flex-end;
}

.kk-drawer-wrap.left {
  justify-content: flex-start;
}

.kk-drawer {
  background: var(--surface-card);
  width: 480px;
  max-width: 92vw;
  height: 100vh;
  box-shadow: var(--shadow-xl);
  pointer-events: auto;
  animation: kk-drawer-in-r .26s var(--ease-emphasized);
  flex-direction: column;
  display: flex;
}

.kk-drawer.size-lg {
  width: 640px;
}

.kk-drawer.size-xl {
  width: 820px;
}

.kk-drawer-wrap.left .kk-drawer {
  animation-name: kk-drawer-in-l;
}

.kk-drawer-head {
  border-bottom: 1px solid var(--border-subtle);
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 16px 22px;
  display: flex;
}

.kk-drawer-head .ttl {
  margin: 0;
  font-size: 17px;
  font-weight: 600;
}

.kk-drawer-body {
  flex: 1;
  padding: 20px 22px;
  overflow-y: auto;
}

.kk-drawer-foot {
  border-top: 1px solid var(--border-subtle);
  justify-content: flex-end;
  gap: 8px;
  padding: 14px 22px;
  display: flex;
}

@keyframes kk-drawer-in-r {
  from {
    transform: translateX(100%);
  }

  to {
    transform: translateX(0);
  }
}

@keyframes kk-drawer-in-l {
  from {
    transform: translateX(-100%);
  }

  to {
    transform: translateX(0);
  }
}

.kk-pop {
  z-index: var(--z-popover);
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  box-shadow: var(--shadow-lg);
  animation: kk-pop-in .14s var(--ease-emphasized);
  border-radius: 10px;
  min-width: 180px;
  position: absolute;
}

@keyframes kk-pop-in {
  from {
    opacity: 0;
    transform: translateY(-4px)scale(.97);
  }

  to {
    opacity: 1;
    transform: translateY(0)scale(1);
  }
}

.kk-menu {
  flex-direction: column;
  padding: 6px;
  display: flex;
}

.kk-menu .mi {
  color: var(--text-primary);
  cursor: pointer;
  text-align: left;
  background: none;
  border: 0;
  border-radius: 6px;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  font-family: inherit;
  font-size: 13.5px;
  display: flex;
}

.kk-menu .mi:hover {
  background: var(--surface-muted);
}

.kk-menu .mi.danger {
  color: var(--danger-700);
}

.kk-menu .mi.danger:hover {
  background: var(--danger-100);
}

.kk-menu .mi-sep {
  background: var(--border-subtle);
  height: 1px;
  margin: 4px 0;
}

.kk-menu .mi-label {
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: .05em;
  padding: 6px 10px 4px;
  font-size: 11px;
  font-weight: 700;
}

.kk-menu .mi[disabled] {
  opacity: .5;
  pointer-events: none;
}

.kk-menu .mi .shortcut {
  font-family: var(--font-mono);
  color: var(--text-muted);
  margin-left: auto;
  font-size: 11px;
}

.kk-menu .mi .ic {
  color: var(--text-muted);
  flex-shrink: 0;
}

.kk-tooltip {
  z-index: var(--z-tooltip);
  background: var(--slate-900);
  color: #fff;
  pointer-events: none;
  max-width: 240px;
  box-shadow: var(--shadow-md);
  border-radius: 6px;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1.4;
  animation: .1s fadeIn;
  position: absolute;
}

.kk-tooltip:after {
  content: "";
  border: 5px solid #0000;
  position: absolute;
}

.kk-tooltip.placement-top:after {
  border-top-color: var(--slate-900);
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
}

.kk-tooltip.placement-bottom:after {
  border-bottom-color: var(--slate-900);
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
}

.kk-confirm-icon {
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  display: inline-flex;
}

.kk-confirm-icon.tone-danger {
  background: var(--danger-100);
  color: var(--danger-700);
}

.kk-confirm-icon.tone-warning {
  background: var(--warning-100);
  color: var(--warning-700);
}

.kk-confirm-icon.tone-info {
  background: var(--info-100);
  color: var(--info-700);
}

.kk-confirm-icon.tone-success {
  background: var(--success-100);
  color: var(--success-700);
}

.kk-upload {
  border: 1.5px dashed var(--border-default);
  background: var(--surface-card);
  text-align: center;
  cursor: pointer;
  border-radius: 10px;
  padding: 22px;
  transition: all .14s;
}

.kk-upload:hover, .kk-upload.dragover {
  border-color: var(--brand-500);
  background: var(--brand-50);
}

.kk-upload .ic-wrap {
  color: var(--brand-700);
  margin-bottom: 8px;
}

.kk-upload .ttl {
  color: var(--text-primary);
  margin-bottom: 4px;
  font-size: 14px;
  font-weight: 600;
}

.kk-upload .desc {
  color: var(--text-muted);
  font-size: 12px;
}

.kk-upload .desc strong {
  color: var(--brand-700);
}

.kk-filelist {
  flex-direction: column;
  gap: 6px;
  margin-top: 10px;
  display: flex;
}

.kk-fileitem {
  background: var(--surface-muted);
  border-radius: 8px;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  font-size: 13px;
  display: flex;
}

.kk-fileitem .ic {
  color: var(--text-muted);
  flex-shrink: 0;
}

.kk-fileitem .name {
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
  font-weight: 500;
  overflow: hidden;
}

.kk-fileitem .size {
  font-family: var(--font-mono);
  color: var(--text-muted);
  font-size: 11px;
}

.kk-fileitem .rm {
  color: var(--text-muted);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 4px;
  flex-shrink: 0;
  padding: 4px;
}

.kk-fileitem .rm:hover {
  background: var(--danger-100);
  color: var(--danger-700);
}

.kk-multi {
  position: relative;
}

.kk-multi-input {
  background: var(--surface-card);
  border: 1px solid var(--border-default);
  cursor: text;
  border-radius: 8px;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  min-height: 38px;
  padding: 5px 32px 5px 8px;
  transition: border-color .12s, box-shadow .12s;
  display: flex;
}

.kk-multi-input.is-open {
  border-color: var(--info-500);
  box-shadow: var(--shadow-focus);
}

.kk-multi-input:after {
  content: "";
  border-left: 4px solid #0000;
  border-right: 4px solid #0000;
  border-top: 5px solid var(--text-muted);
  pointer-events: none;
  width: 0;
  height: 0;
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
}

.kk-multi-chip {
  background: var(--brand-100);
  color: var(--brand-700);
  border-radius: 5px;
  align-items: center;
  gap: 4px;
  padding: 3px 4px 3px 8px;
  font-size: 12.5px;
  font-weight: 500;
  display: inline-flex;
}

.kk-multi-chip .x {
  color: inherit;
  cursor: pointer;
  opacity: .7;
  background: none;
  border: 0;
  border-radius: 3px;
  padding: 1px;
  display: inline-flex;
}

.kk-multi-chip .x:hover {
  opacity: 1;
  background: var(--brand-200);
}

.kk-multi-input input {
  background: none;
  border: 0;
  outline: 0;
  flex: 1;
  min-width: 80px;
  padding: 4px 6px;
  font-family: inherit;
  font-size: 14px;
}

.kk-listbox {
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  box-shadow: var(--shadow-lg);
  max-height: 280px;
  z-index: var(--z-popover);
  min-width: var(--radix-select-trigger-width);
  border-radius: 8px;
  overflow-y: auto;
}

.kk-listbox .opt:hover, .kk-listbox .opt.active {
  background: var(--surface-muted);
}

.kk-listbox .opt.selected {
  background: var(--brand-50);
  color: var(--brand-700);
  font-weight: 500;
}

.kk-listbox .opt .check-mark {
  color: var(--brand-700);
  margin-left: auto;
}

.kk-listbox .opt-group {
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: .05em;
  padding: 6px 12px;
  font-size: 11px;
  font-weight: 700;
}

.kk-listbox .empty {
  color: var(--text-muted);
  text-align: center;
  padding: 14px;
  font-size: 13px;
}

.kk-cal {
  width: 280px;
  padding: 12px;
}

.kk-cal-head {
  justify-content: space-between;
  align-items: center;
  padding: 4px 4px 8px;
  display: flex;
}

.kk-cal-head .nav {
  cursor: pointer;
  color: var(--text-secondary);
  background: none;
  border: 0;
  border-radius: 6px;
  padding: 6px;
}

.kk-cal-head .nav:hover {
  background: var(--surface-muted);
}

.kk-cal-head .ttl {
  font-size: 13.5px;
  font-weight: 600;
}

.kk-cal-grid {
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
  display: grid;
}

.kk-cal-grid .dow {
  color: var(--text-muted);
  text-align: center;
  padding: 6px 0;
  font-size: 11px;
  font-weight: 600;
}

.kk-cal-grid .dy {
  cursor: pointer;
  height: 32px;
  color: var(--text-primary);
  background: none;
  border: 0;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  font-family: inherit;
  font-size: 13px;
  display: flex;
}

.kk-cal-grid .dy:hover:not(:disabled) {
  background: var(--surface-muted);
}

.kk-cal-grid .dy.outside {
  color: var(--text-muted);
  opacity: .5;
}

.kk-cal-grid .dy.today {
  color: var(--brand-700);
  font-weight: 700;
}

.kk-cal-grid .dy.selected {
  background: var(--brand-700);
  color: #fff;
  font-weight: 600;
}

.kk-cal-grid .dy.in-range {
  background: var(--brand-50);
  border-radius: 0;
}

.kk-cal-grid .dy.range-start {
  background: var(--brand-700);
  color: #fff;
  border-radius: 6px 0 0 6px;
}

.kk-cal-grid .dy.range-end {
  background: var(--brand-700);
  color: #fff;
  border-radius: 0 6px 6px 0;
}

.kk-cal-grid .dy:disabled {
  color: var(--text-muted);
  opacity: .4;
  cursor: not-allowed;
}

.kk-stepper {
  align-items: stretch;
  gap: 0;
  margin-bottom: 28px;
  display: flex;
}

.kk-stepper .st {
  cursor: default;
  flex: 1;
  align-items: center;
  gap: 10px;
  min-width: 0;
  display: flex;
}

.kk-stepper .st.clickable {
  cursor: pointer;
}

.kk-stepper .st .num {
  background: var(--surface-muted);
  width: 30px;
  height: 30px;
  color: var(--text-muted);
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  font-size: 13px;
  font-weight: 700;
  transition: all .2s;
  display: flex;
}

.kk-stepper .st.done .num {
  background: var(--success-500);
  color: #fff;
}

.kk-stepper .st.active .num {
  background: var(--brand-700);
  color: #fff;
  box-shadow: 0 0 0 4px var(--brand-100);
}

.kk-stepper .st .meta {
  flex: 1;
  min-width: 0;
}

.kk-stepper .st .lab {
  color: var(--text-muted);
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  transition: color .2s;
  overflow: hidden;
}

.kk-stepper .st .desc {
  color: var(--text-muted);
  margin-top: 2px;
  font-size: 11.5px;
}

.kk-stepper .st.active .lab, .kk-stepper .st.done .lab {
  color: var(--text-primary);
}

.kk-stepper .bar {
  background: var(--slate-200);
  flex: 1;
  align-self: center;
  min-width: 14px;
  height: 2px;
  margin: 0 8px;
}

.kk-stepper .st.done + .bar {
  background: var(--success-500);
}

@media (max-width: 640px) {
  .kk-stepper {
    gap: 4px;
  }

  .kk-stepper .st {
    gap: 0;
  }

  .kk-stepper .st .meta {
    display: none;
  }

  .kk-stepper .st.active .meta {
    text-align: center;
    display: block;
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
  }

  .kk-stepper .st.active .lab {
    white-space: normal;
    font-size: 12px;
  }

  .kk-stepper .st.active .desc {
    display: none;
  }

  .kk-stepper {
    padding-bottom: 28px;
    position: relative;
  }

  .kk-stepper .st {
    position: static;
  }

  .kk-stepper .bar {
    min-width: 8px;
    margin: 0 4px;
  }
}

.reg-progress {
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.reg-progress .step {
  text-align: center;
  flex-direction: column;
  flex: 1;
  align-items: center;
  min-width: 0;
  padding: 0 4px;
  display: flex;
  position: relative;
}

.reg-progress .step .circle {
  background: var(--surface-muted);
  width: 34px;
  height: 34px;
  color: var(--text-muted);
  z-index: 1;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  font-weight: 700;
  transition: all .2s;
  display: inline-flex;
  position: relative;
}

.reg-progress .step.done .circle {
  background: var(--success-500);
  color: #fff;
}

.reg-progress .step.active .circle {
  background: var(--brand-700);
  color: #fff;
  box-shadow: 0 0 0 4px var(--brand-100);
}

.reg-progress .step .label {
  color: var(--text-muted);
  word-break: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
  max-width: 160px;
  margin-top: 10px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
}

.reg-progress .step.done .label, .reg-progress .step.active .label {
  color: var(--text-primary);
}

.reg-progress .step .bar {
  background: var(--slate-200);
  z-index: 0;
  height: 2px;
  position: absolute;
  top: 17px;
}

.reg-progress .step .bar-prev {
  left: 0;
  right: 50%;
}

.reg-progress .step .bar-next {
  left: 50%;
  right: 0;
}

.reg-progress .step:first-child .bar-prev, .reg-progress .step:last-child .bar-next {
  display: none;
}

.reg-progress .step.done .bar-prev, .reg-progress .step.done .bar-next, .reg-progress .step.active .bar-prev {
  background: var(--success-500);
}

@media (max-width: 560px) {
  .reg-progress {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
  }

  .reg-progress .step {
    text-align: left;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    padding: 0;
  }

  .reg-progress .step .label {
    flex: 1;
    max-width: none;
    margin-top: 6px;
  }

  .reg-progress .step .bar {
    display: none;
  }

  .dang-ky-success {
    padding: 40px 16px !important;
  }

  .dang-ky-success h1 {
    font-size: 26px !important;
  }

  .dang-ky-success .vcard-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
}

.kk-timeline {
  padding-left: 22px;
  position: relative;
}

.kk-timeline:before {
  content: "";
  background: var(--slate-200);
  width: 2px;
  position: absolute;
  top: 4px;
  bottom: 4px;
  left: 8px;
}

.kk-tl-item {
  padding-bottom: 18px;
  position: relative;
}

.kk-tl-item:last-child {
  padding-bottom: 0;
}

.kk-tl-item:before {
  content: "";
  background: var(--surface-card);
  border: 2px solid var(--slate-300);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 18px;
  height: 18px;
  display: flex;
  position: absolute;
  top: 4px;
  left: -22px;
}

.kk-tl-item.done:before {
  background: var(--success-500);
  border-color: var(--success-500);
}

.kk-tl-item.active:before {
  background: var(--brand-700);
  border-color: var(--brand-700);
  box-shadow: 0 0 0 4px var(--brand-100);
}

.kk-tl-item.danger:before {
  background: var(--danger-500);
  border-color: var(--danger-500);
}

.kk-tl-item.warning:before {
  background: var(--warning-500);
  border-color: var(--warning-500);
}

.kk-tl-item .t {
  color: var(--text-primary);
  margin-bottom: 2px;
  font-size: 14px;
  font-weight: 600;
}

.kk-tl-item .d {
  color: var(--text-muted);
  font-size: 11.5px;
  font-family: var(--font-mono);
  margin-bottom: 4px;
}

.kk-tl-item .x {
  color: var(--text-secondary);
  font-size: 13px;
  line-height: 1.5;
}

.kk-kv {
  grid-template-columns: 160px 1fr;
  gap: 6px 16px;
  font-size: 13.5px;
  display: grid;
}

.kk-kv dt {
  color: var(--text-muted);
  padding: 4px 0;
  font-weight: 500;
}

.kk-kv dd {
  color: var(--text-primary);
  margin: 0;
  padding: 4px 0;
}

.kk-kv.cols-2 {
  grid-template-columns: 140px 1fr 140px 1fr;
  gap: 8px 18px;
}

.kk-kv.compact dt, .kk-kv.compact dd {
  padding: 2px 0;
  font-size: 13px;
}

.kk-progress {
  background: var(--surface-muted);
  border-radius: 999px;
  height: 6px;
  overflow: hidden;
}

.kk-progress .bar {
  background: var(--brand-700);
  height: 100%;
  transition: width .36s var(--ease-emphasized);
  border-radius: 999px;
}

.kk-progress.tone-success .bar {
  background: var(--success-500);
}

.kk-progress.tone-warning .bar {
  background: var(--warning-500);
}

.kk-progress.tone-danger .bar {
  background: var(--danger-500);
}

.kk-progress.tone-accent .bar {
  background: var(--accent-500);
}

.kk-progress.gradient .bar {
  background: linear-gradient(90deg, var(--brand-700), var(--brand-500));
}

.kk-rating {
  gap: 1px;
  display: inline-flex;
}

.kk-rating .star {
  color: var(--slate-300);
}

.kk-rating .star.on {
  color: var(--accent-500);
}

.kk-ban-badge {
  background: var(--brand-50);
  color: var(--brand-700);
  border: 1px solid var(--brand-100);
  border-radius: 5px;
  align-items: center;
  gap: 5px;
  padding: 2px 8px 2px 6px;
  font-size: 12px;
  font-weight: 600;
  display: inline-flex;
}

.kk-ban-badge .ma {
  font-family: var(--font-mono);
  color: var(--brand-500);
  background: #fff;
  border-radius: 3px;
  padding: 1px 4px;
  font-size: 10.5px;
}

.kk-spark {
  align-items: flex-end;
  gap: 2px;
  height: 28px;
  display: inline-flex;
}

.kk-spark .b {
  background: var(--brand-300);
  border-radius: 1px;
  width: 4px;
}

.kk-spark .b.lead {
  background: var(--brand-700);
}

.kk-dense .kk-tbl tbody td {
  padding: 7px 16px;
  font-size: 13px;
}

.kk-dense .kk-input, .kk-dense .kk-select {
  padding: 6px 10px;
  font-size: 13px;
}

.kk-search {
  position: relative;
}

.kk-search .kk-input {
  padding-left: 36px;
}

.kk-search .lead {
  color: var(--text-muted);
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: 11px;
  transform: translateY(-50%);
}

.kk-only-screen-md {
  display: block;
}

.kk-clickable {
  cursor: pointer;
}

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

.kk-divider {
  background: var(--border-subtle);
  height: 1px;
  margin: 16px 0;
}

.kk-tabs .tab[data-state="active"] {
  color: var(--brand-700);
  border-bottom-color: var(--brand-700);
}

.kk-tabs.pills .tab[data-state="active"] {
  background: var(--brand-700);
  color: #fff;
}

.kk-tabs.pills .tab[data-state="active"] .tab-badge {
  color: #fff;
  background: #ffffff38;
}

[data-radix-popper-content-wrapper] {
  z-index: var(--z-popover) !important;
}

.kk-listbox .opt {
  cursor: pointer;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  font-size: 13.5px;
  display: flex;
}

.kk-listbox .opt:hover {
  background: var(--surface-muted);
}

.kk-listbox [data-state="checked"] > .kk-listbox {
  background: var(--brand-50);
}

button.kk-select {
  text-align: left;
  cursor: pointer;
  width: 100%;
  font-family: var(--font-sans);
  align-items: center;
  display: flex;
}

.ks {
  background: var(--surface-page);
  min-height: 100vh;
  font-family: var(--font-sans);
  padding: 36px 32px 80px;
}

.ks-shell {
  grid-template-columns: 220px 1fr;
  gap: 32px;
  max-width: 1240px;
  margin: 0 auto;
  display: grid;
}

.ks-nav {
  align-self: start;
  height: max-content;
  position: sticky;
  top: 80px;
}

.ks-nav h4 {
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--text-muted);
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 700;
}

.ks-nav a {
  color: var(--text-secondary);
  cursor: pointer;
  border-radius: 6px;
  padding: 6px 10px;
  font-size: 13px;
  text-decoration: none;
  display: block;
}

.ks-nav a:hover {
  background: var(--surface-muted);
  color: var(--text-primary);
}

.ks-nav a.active {
  background: var(--brand-50);
  color: var(--brand-700);
  font-weight: 600;
}

.ks-nav .group {
  margin-bottom: 16px;
}

.ks-hero {
  background: linear-gradient(135deg, var(--brand-900), var(--brand-700));
  color: #fff;
  border-radius: 14px;
  margin-bottom: 28px;
  padding: 36px 36px 32px;
  position: relative;
  overflow: hidden;
}

.ks-hero:after {
  content: "";
  background: radial-gradient(circle, #f9731666, #0000 70%);
  border-radius: 50%;
  width: 280px;
  height: 280px;
  position: absolute;
  top: -60px;
  right: -60px;
}

.ks-hero h1 {
  letter-spacing: -.02em;
  margin: 0 0 4px;
  font-size: 28px;
  font-weight: 700;
}

.ks-hero p {
  opacity: .85;
  max-width: 560px;
  margin: 0;
  font-size: 14.5px;
  line-height: 1.5;
}

.ks-hero .stats {
  z-index: 2;
  gap: 28px;
  margin-top: 18px;
  display: flex;
  position: relative;
}

.ks-hero .stats .it {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.ks-hero .stats .num {
  font-feature-settings: "tnum";
  font-size: 22px;
  font-weight: 700;
}

.ks-hero .stats .lab {
  text-transform: uppercase;
  letter-spacing: .08em;
  opacity: .7;
  font-size: 11px;
}

.ks-section {
  margin-bottom: 44px;
  scroll-margin-top: 80px;
}

.ks-section .head {
  border-bottom: 1px solid var(--border-subtle);
  margin-bottom: 16px;
  padding-bottom: 10px;
}

.ks-section .head h2 {
  letter-spacing: -.01em;
  color: var(--text-primary);
  margin: 0 0 2px;
  font-size: 20px;
  font-weight: 700;
}

.ks-section .head p {
  color: var(--text-muted);
  margin: 0;
  font-size: 13.5px;
}

.ks-demo {
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  margin-bottom: 14px;
  overflow: hidden;
}

.ks-demo .lbl {
  background: var(--surface-muted);
  border-bottom: 1px solid var(--border-subtle);
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: .06em;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  font-size: 11px;
  font-weight: 700;
  display: flex;
}

.ks-demo .body {
  padding: 22px;
}

.ks-demo .body.padless {
  padding: 0;
}

.ks-demo .body.muted {
  background: var(--surface-muted);
}

.ks-demo .body.dark {
  background: var(--brand-900);
  color: #fff;
}

.ks-row-demo {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  display: flex;
}

.ks-grid-demo {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

@media (max-width: 720px) {
  .ks-grid-demo {
    grid-template-columns: 1fr;
  }
}

.ks-swatch-grid {
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 10px;
  display: grid;
}

.ks-swatch {
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  overflow: hidden;
}

.ks-swatch .ch {
  height: 56px;
}

.ks-swatch .meta {
  padding: 8px 10px;
  font-size: 11px;
}

.ks-swatch .meta .nm {
  color: var(--text-primary);
  font-weight: 600;
}

.ks-swatch .meta .hex {
  font-family: var(--font-mono);
  color: var(--text-muted);
  margin-top: 2px;
}

.ks-typo-row {
  border-bottom: 1px dashed var(--border-subtle);
  grid-template-columns: 90px 1fr 100px;
  align-items: baseline;
  gap: 16px;
  padding: 12px 0;
  display: grid;
}

.ks-typo-row:last-child {
  border-bottom: 0;
}

.ks-typo-row .lbl {
  font-family: var(--font-mono);
  color: var(--text-muted);
  font-size: 11px;
}

.ks-typo-row .meta {
  text-align: right;
  font-family: var(--font-mono);
  color: var(--text-muted);
  font-size: 11px;
}

@media (max-width: 920px) {
  .ks-shell {
    grid-template-columns: 1fr;
  }

  .ks-nav {
    position: static;
  }
}

.kk-tiptap-content {
  min-height: 280px;
  max-height: 480px;
  overflow-y: auto;
}

.kk-tiptap-content .ProseMirror {
  min-height: 280px;
  color: var(--text-default);
  outline: none;
  font-size: 14px;
  line-height: 1.65;
}

.kk-tiptap-content .ProseMirror p {
  margin: 0 0 12px;
}

.kk-tiptap-content .ProseMirror h2 {
  margin: 18px 0 10px;
  font-size: 22px;
  font-weight: 700;
}

.kk-tiptap-content .ProseMirror h3 {
  margin: 16px 0 8px;
  font-size: 18px;
  font-weight: 700;
}

.kk-tiptap-content .ProseMirror h4 {
  margin: 12px 0 6px;
  font-size: 15px;
  font-weight: 700;
}

.kk-tiptap-content .ProseMirror ul, .kk-tiptap-content .ProseMirror ol {
  margin: 0 0 12px;
  padding-left: 22px;
}

.kk-tiptap-content .ProseMirror li {
  margin-bottom: 4px;
}

.kk-tiptap-content .ProseMirror blockquote {
  border-left: 3px solid var(--border-default);
  color: var(--text-secondary);
  margin: 12px 0;
  padding: 4px 0 4px 12px;
  font-style: italic;
}

.kk-tiptap-content .ProseMirror img {
  object-fit: contain;
  cursor: pointer;
  border-radius: 6px;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 480px;
  margin: 8px auto;
  display: block;
}

.kk-tiptap-content .ProseMirror img.ProseMirror-selectednode, .kk-tiptap-content .ProseMirror .image-resizer img {
  outline: 2px solid var(--brand-600);
  outline-offset: 2px;
}

.kk-tiptap-content .ProseMirror .image-resizer {
  max-width: 100%;
  display: inline-block;
  position: relative;
}

.kk-tiptap-content .ProseMirror .image-resizer .resize-trigger {
  background: var(--brand-600);
  cursor: nwse-resize;
  border: 2px solid #fff;
  border-radius: 50%;
  width: 12px;
  height: 12px;
  position: absolute;
}

.kk-tiptap-content .ProseMirror a {
  color: var(--brand-700);
  text-decoration: underline;
}

.kk-tiptap-content .ProseMirror p.is-editor-empty:first-child:before {
  content: attr(data-placeholder);
  float: left;
  color: var(--text-muted);
  pointer-events: none;
  height: 0;
}

.ui-tooltip-wrap {
  display: inline-flex;
}

.ui-tooltip-portal {
  z-index: 9999;
  pointer-events: none;
  background: var(--brand-900);
  color: var(--text-inverse);
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: anywhere;
  width: max-content;
  max-width: 280px;
  box-shadow: var(--shadow-md);
  text-align: center;
  animation: ui-tooltip-in .11s var(--ease-standard) 30ms both;
  border-radius: 6px;
  padding: 5px 9px;
  font-size: 11.5px;
  font-weight: 500;
  line-height: 1.35;
}

@keyframes ui-tooltip-in {
  from {
    opacity: 0;
    transform: translateY(2px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

:root {
  --primary: var(--brand-700);
  --foreground: var(--text-primary);
  --background: var(--surface-card);
}

* {
  box-sizing: border-box;
}

html {
  font-size: 16px;
}

body {
  background: var(--surface-page);
  color: var(--text-primary);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@media (max-width: 768px) {
  input, textarea, select, .kk-input, .kk-select, .kk-textarea {
    font-size: 16px;
  }
}

::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}

::-webkit-scrollbar-track {
  background: none;
}

::-webkit-scrollbar-thumb {
  background: var(--slate-300);
  border-radius: 4px;
}

h1 {
  font-size: 2rem;
  line-height: var(--lh-tight);
}

h2 {
  font-size: 1.5rem;
  line-height: var(--lh-snug);
}

h3 {
  font-size: 1.25rem;
  line-height: var(--lh-snug);
}

h4 {
  font-size: 1.125rem;
  line-height: var(--lh-snug);
}

h5, h6 {
  font-size: 1rem;
  line-height: var(--lh-normal);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-sans);
  font-weight: var(--fw-semibold);
}

@media (max-width: 900px) {
  .member-profile-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 600px) {
  [data-testid="logo-preview"] {
    width: 80px !important;
    height: 80px !important;
    font-size: 28px !important;
    bottom: -40px !important;
  }

  .profile-hero-info-card {
    padding-top: 48px !important;
    padding-left: 120px !important;
  }
}

@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}

@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-divide-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-gradient-position {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-stops {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}

@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}

@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-leading {
  syntax: "*";
  inherits: false
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

@property --tw-tracking {
  syntax: "*";
  inherits: false
}

@property --tw-ordinal {
  syntax: "*";
  inherits: false
}

@property --tw-slashed-zero {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-figure {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-duration {
  syntax: "*";
  inherits: false
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}

@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

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

@keyframes ping {
  75%, 100% {
    opacity: 0;
    transform: scale(2);
  }
}

@keyframes pulse {
  50% {
    opacity: .5;
  }
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__0xu_lzs._.css.map*/