:root {
  --gray-50: #f8f9fa;
  --gray-100: #f1f2f3;
  --gray-200: #dee2e6;
  --gray-300: #c2c8d0;
  --gray-400: #98a1ab;
  --gray-500: #6f7780;
  --gray-600: #565e67;
  --gray-700: #3e454e;
  --gray-800: #2d333a;
  --gray-900: #1c2127;
  --gray-950: #111519;
  --gray-1000: #0c0e14;
  --brand-50: #f0f7fe;
  --brand-100: #deecf9;
  --brand-200: #b8daf0;
  --brand-300: #84bfe3;
  --brand-400: #4da1d5;
  --brand-500: #1a83c4;
  --brand-600: #0069b4;
  --brand-700: #005694;
  --brand-800: #004373;
  --brand-900: #003053;
  --brand-950: #001d32;
  --brand-copy-50: #f0f6fe;
  --brand-copy-100: #ddebfd;
  --brand-copy-200: #b6d4fb;
  --brand-copy-300: #87b8f8;
  --brand-copy-400: #569bf5;
  --brand-copy-500: #3587f3;
  --brand-copy-600: #1877f2;
  --brand-copy-700: #0c61cf;
  --brand-copy-800: #0a4fa9;
  --brand-copy-900: #083d82;
  --brand-copy-950: #052b5c;
  --green-50: #f0fdf4;
  --green-100: #dcfce7;
  --green-200: #bbf7d0;
  --green-300: #86efac;
  --green-400: #4ade80;
  --green-500: #22c55e;
  --green-600: #16a34a;
  --green-700: #15803d;
  --green-800: #166534;
  --green-900: #14532d;
  --green-950: #052e16;
  --orange-50: #fff7ed;
  --orange-100: #ffedd5;
  --orange-200: #fed7aa;
  --orange-300: #fdba74;
  --orange-400: #fb923c;
  --orange-500: #f59e0b;
  --orange-600: #ea580c;
  --orange-700: #c2410c;
  --orange-800: #9a3412;
  --orange-900: #7c2d12;
  --orange-950: #431407;
  --red-50: #fef2f2;
  --red-100: #fee2e2;
  --red-200: #fecaca;
  --red-300: #fca5a5;
  --red-400: #f87171;
  --red-500: #ef4444;
  --red-600: #dc2626;
  --red-700: #b91c1c;
  --red-800: #991b1b;
  --red-900: #7f1d1d;
  --red-950: #450a0a;
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/inter-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/inter-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Inter Fallback";
  src: local("Arial");
  ascent-override: 90.49%;
  descent-override: 22.56%;
  line-gap-override: 0%;
  size-adjust: 107.06%;
}
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  min-height: 100vh;
  display: flex;
  align-items: stretch;
  font-family: "Inter", "Inter Fallback", system-ui, sans-serif;
  background-color: var(--gray-50);
  color: var(--gray-950);
}
.dark body {
  background-color: var(--gray-1000);
  color: var(--gray-300);
}

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

img {
  display: block;
  max-width: 100%;
}

button,
input,
select,
textarea {
  font: inherit;
  border: none;
  background: none;
  padding: 0;
}

.overflow-hidden {
  overflow: hidden;
}

.no-transitions,
.no-transitions *,
.no-transitions *::before,
.no-transitions *::after {
  transition: none !important;
}

.icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.hidden {
  display: none;
}

.block {
  display: block;
}

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

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

.flex {
  display: flex;
}

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

.flex-1 {
  flex: 1;
}

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

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

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

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

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

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

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

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

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

.min-w-0 {
  min-width: 0;
}

.grid {
  display: grid;
}

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

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

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

.gap-1 {
  gap: 4px;
}

.gap-2 {
  gap: 8px;
}

.gap-3 {
  gap: 12px;
}

.gap-4 {
  gap: 16px;
}

.gap-5 {
  gap: 20px;
}

.gap-6 {
  gap: 24px;
}

.gap-8 {
  gap: 32px;
}

.space-y-1 > * + * {
  margin-top: 4px;
}

.space-y-2 > * + * {
  margin-top: 8px;
}

.space-y-3 > * + * {
  margin-top: 12px;
}

.space-y-4 > * + * {
  margin-top: 16px;
}

.space-y-5 > * + * {
  margin-top: 20px;
}

.space-y-6 > * + * {
  margin-top: 24px;
}

.space-y-8 > * + * {
  margin-top: 32px;
}

.m-1 {
  margin: 4px;
}

.mx-1 {
  margin-left: 4px;
  margin-right: 4px;
}

.my-1 {
  margin-top: 4px;
  margin-bottom: 4px;
}

.mt-1 {
  margin-top: 4px;
}

.mr-1 {
  margin-right: 4px;
}

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

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

.m-2 {
  margin: 8px;
}

.mx-2 {
  margin-left: 8px;
  margin-right: 8px;
}

.my-2 {
  margin-top: 8px;
  margin-bottom: 8px;
}

.mt-2 {
  margin-top: 8px;
}

.mr-2 {
  margin-right: 8px;
}

.mb-2 {
  margin-bottom: 8px;
}

.ml-2 {
  margin-left: 8px;
}

.m-3 {
  margin: 12px;
}

.mx-3 {
  margin-left: 12px;
  margin-right: 12px;
}

.my-3 {
  margin-top: 12px;
  margin-bottom: 12px;
}

.mt-3 {
  margin-top: 12px;
}

.mr-3 {
  margin-right: 12px;
}

.mb-3 {
  margin-bottom: 12px;
}

.ml-3 {
  margin-left: 12px;
}

.m-4 {
  margin: 16px;
}

.mx-4 {
  margin-left: 16px;
  margin-right: 16px;
}

.my-4 {
  margin-top: 16px;
  margin-bottom: 16px;
}

.mt-4 {
  margin-top: 16px;
}

.mr-4 {
  margin-right: 16px;
}

.mb-4 {
  margin-bottom: 16px;
}

.ml-4 {
  margin-left: 16px;
}

.m-5 {
  margin: 20px;
}

.mx-5 {
  margin-left: 20px;
  margin-right: 20px;
}

.my-5 {
  margin-top: 20px;
  margin-bottom: 20px;
}

.mt-5 {
  margin-top: 20px;
}

.mr-5 {
  margin-right: 20px;
}

.mb-5 {
  margin-bottom: 20px;
}

.ml-5 {
  margin-left: 20px;
}

.m-6 {
  margin: 24px;
}

.mx-6 {
  margin-left: 24px;
  margin-right: 24px;
}

.my-6 {
  margin-top: 24px;
  margin-bottom: 24px;
}

.mt-6 {
  margin-top: 24px;
}

.mr-6 {
  margin-right: 24px;
}

.mb-6 {
  margin-bottom: 24px;
}

.ml-6 {
  margin-left: 24px;
}

.m-8 {
  margin: 32px;
}

.mx-8 {
  margin-left: 32px;
  margin-right: 32px;
}

.my-8 {
  margin-top: 32px;
  margin-bottom: 32px;
}

.mt-8 {
  margin-top: 32px;
}

.mr-8 {
  margin-right: 32px;
}

.mb-8 {
  margin-bottom: 32px;
}

.ml-8 {
  margin-left: 32px;
}

.m-10 {
  margin: 40px;
}

.mx-10 {
  margin-left: 40px;
  margin-right: 40px;
}

.my-10 {
  margin-top: 40px;
  margin-bottom: 40px;
}

.mt-10 {
  margin-top: 40px;
}

.mr-10 {
  margin-right: 40px;
}

.mb-10 {
  margin-bottom: 40px;
}

.ml-10 {
  margin-left: 40px;
}

.m-12 {
  margin: 48px;
}

.mx-12 {
  margin-left: 48px;
  margin-right: 48px;
}

.my-12 {
  margin-top: 48px;
  margin-bottom: 48px;
}

.mt-12 {
  margin-top: 48px;
}

.mr-12 {
  margin-right: 48px;
}

.mb-12 {
  margin-bottom: 48px;
}

.ml-12 {
  margin-left: 48px;
}

.m-16 {
  margin: 64px;
}

.mx-16 {
  margin-left: 64px;
  margin-right: 64px;
}

.my-16 {
  margin-top: 64px;
  margin-bottom: 64px;
}

.mt-16 {
  margin-top: 64px;
}

.mr-16 {
  margin-right: 64px;
}

.mb-16 {
  margin-bottom: 64px;
}

.ml-16 {
  margin-left: 64px;
}

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

.mr-auto {
  margin-right: auto;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.p-1 {
  padding: 4px;
}

.px-1 {
  padding-left: 4px;
  padding-right: 4px;
}

.py-1 {
  padding-top: 4px;
  padding-bottom: 4px;
}

.pt-1 {
  padding-top: 4px;
}

.pr-1 {
  padding-right: 4px;
}

.pb-1 {
  padding-bottom: 4px;
}

.pl-1 {
  padding-left: 4px;
}

.p-2 {
  padding: 8px;
}

.px-2 {
  padding-left: 8px;
  padding-right: 8px;
}

.py-2 {
  padding-top: 8px;
  padding-bottom: 8px;
}

.pt-2 {
  padding-top: 8px;
}

.pr-2 {
  padding-right: 8px;
}

.pb-2 {
  padding-bottom: 8px;
}

.pl-2 {
  padding-left: 8px;
}

.p-3 {
  padding: 12px;
}

.px-3 {
  padding-left: 12px;
  padding-right: 12px;
}

.py-3 {
  padding-top: 12px;
  padding-bottom: 12px;
}

.pt-3 {
  padding-top: 12px;
}

.pr-3 {
  padding-right: 12px;
}

.pb-3 {
  padding-bottom: 12px;
}

.pl-3 {
  padding-left: 12px;
}

.p-4 {
  padding: 16px;
}

.px-4 {
  padding-left: 16px;
  padding-right: 16px;
}

.py-4 {
  padding-top: 16px;
  padding-bottom: 16px;
}

.pt-4 {
  padding-top: 16px;
}

.pr-4 {
  padding-right: 16px;
}

.pb-4 {
  padding-bottom: 16px;
}

.pl-4 {
  padding-left: 16px;
}

.p-5 {
  padding: 20px;
}

.px-5 {
  padding-left: 20px;
  padding-right: 20px;
}

.py-5 {
  padding-top: 20px;
  padding-bottom: 20px;
}

.pt-5 {
  padding-top: 20px;
}

.pr-5 {
  padding-right: 20px;
}

.pb-5 {
  padding-bottom: 20px;
}

.pl-5 {
  padding-left: 20px;
}

.p-6 {
  padding: 24px;
}

.px-6 {
  padding-left: 24px;
  padding-right: 24px;
}

.py-6 {
  padding-top: 24px;
  padding-bottom: 24px;
}

.pt-6 {
  padding-top: 24px;
}

.pr-6 {
  padding-right: 24px;
}

.pb-6 {
  padding-bottom: 24px;
}

.pl-6 {
  padding-left: 24px;
}

.p-8 {
  padding: 32px;
}

.px-8 {
  padding-left: 32px;
  padding-right: 32px;
}

.py-8 {
  padding-top: 32px;
  padding-bottom: 32px;
}

.pt-8 {
  padding-top: 32px;
}

.pr-8 {
  padding-right: 32px;
}

.pb-8 {
  padding-bottom: 32px;
}

.pl-8 {
  padding-left: 32px;
}

.p-10 {
  padding: 40px;
}

.px-10 {
  padding-left: 40px;
  padding-right: 40px;
}

.py-10 {
  padding-top: 40px;
  padding-bottom: 40px;
}

.pt-10 {
  padding-top: 40px;
}

.pr-10 {
  padding-right: 40px;
}

.pb-10 {
  padding-bottom: 40px;
}

.pl-10 {
  padding-left: 40px;
}

.p-12 {
  padding: 48px;
}

.px-12 {
  padding-left: 48px;
  padding-right: 48px;
}

.py-12 {
  padding-top: 48px;
  padding-bottom: 48px;
}

.pt-12 {
  padding-top: 48px;
}

.pr-12 {
  padding-right: 48px;
}

.pb-12 {
  padding-bottom: 48px;
}

.pl-12 {
  padding-left: 48px;
}

.p-16 {
  padding: 64px;
}

.px-16 {
  padding-left: 64px;
  padding-right: 64px;
}

.py-16 {
  padding-top: 64px;
  padding-bottom: 64px;
}

.pt-16 {
  padding-top: 64px;
}

.pr-16 {
  padding-right: 64px;
}

.pb-16 {
  padding-bottom: 64px;
}

.pl-16 {
  padding-left: 64px;
}

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

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

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

.text-3xs {
  font-size: 10px !important;
  line-height: 14px !important;
}

.text-2xs {
  font-size: 11px !important;
  line-height: 16px !important;
}

.text-xs {
  font-size: 12px !important;
  line-height: 16px !important;
}

.text-sm {
  font-size: 13px !important;
  line-height: 20px !important;
}

.text-base {
  font-size: 14px !important;
  line-height: 20px !important;
}

.text-lg {
  font-size: 16px !important;
  line-height: 24px !important;
}

.text-xl {
  font-size: 18px;
  line-height: 28px;
}

.text-2xl {
  font-size: 20px;
  line-height: 28px;
}

.text-3xl {
  font-size: 24px;
  line-height: 32px;
}

.text-primary {
  color: var(--gray-900);
}
.dark .text-primary {
  color: #fff;
}

.text-secondary {
  color: var(--gray-700);
}
.dark .text-secondary {
  color: var(--gray-300);
}

.text-muted {
  color: var(--gray-500);
}
.dark .text-muted {
  color: var(--gray-400);
}

.font-normal {
  font-weight: 400;
}

.font-medium {
  font-weight: 500;
}

.font-semibold {
  font-weight: 600;
}

.font-bold {
  font-weight: 700;
}

.code-inline {
  font-size: 12px;
  padding: 1px 6px;
  border-radius: 4px;
  background: var(--gray-50);
  color: var(--gray-700);
}
.dark .code-inline {
  background: var(--gray-1000);
  color: var(--gray-300);
}

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

.w-auto {
  width: auto !important;
}

.w-full {
  width: 100%;
}

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

.h-full {
  height: 100%;
}

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

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

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

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

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

.border-t {
  border-top: 1px solid var(--gray-200);
}
.dark .border-t {
  border-top-color: var(--gray-700);
}

.border-b {
  border-bottom: 1px solid var(--gray-200);
}
.dark .border-b {
  border-bottom-color: var(--gray-800);
}

.border {
  border: 1px solid var(--gray-200);
}
.dark .border {
  border-color: var(--gray-800);
}

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

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

.overflow-hidden {
  overflow: hidden;
}

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

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

.cursor-pointer {
  cursor: pointer;
}

.max-w-sm {
  max-width: 384px;
}

.max-w-md {
  max-width: 448px;
}

.max-w-lg {
  max-width: 512px;
}

.max-w-xl {
  max-width: 576px;
}

.max-w-2xl {
  max-width: 672px;
}

.max-w-5xl {
  max-width: 1024px;
}

@media (min-width: 1024px) {
  .lg\:hidden {
    display: none;
  }
  .lg\:flex {
    display: flex;
  }
  .lg\:block {
    display: block;
  }
  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 1023px) {
  .sm-only\:hidden {
    display: none;
  }
}
.layout__main {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
  min-height: 100vh;
}
@media (min-width: 1024px) {
  .layout__main {
    height: 100vh;
    min-height: 0;
  }
}

.sidebar {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100dvh;
  padding: 8px;
  background-color: var(--gray-50);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 50;
  transform: translateX(-100%);
  transition: transform 0.3s;
}
.dark .sidebar {
  background-color: var(--gray-1000);
}
@media (min-width: 1024px) {
  .sidebar {
    width: 336px;
    position: relative;
    z-index: auto;
    transform: none;
  }
}
.sidebar--open {
  transform: translateX(0);
}
.sidebar__logo {
  padding: 4px 8px 16px;
  display: flex;
  align-items: center;
}
@media (min-width: 1024px) {
  .sidebar__logo {
    padding-top: 8px;
  }
}
.sidebar__logo-link {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: 0;
}
.sidebar__env-badge {
  font-size: 10px;
  font-weight: 500;
  padding: 2px 6px;
  border-radius: 4px;
  text-transform: uppercase;
  background: var(--orange-100);
  color: var(--orange-700);
}
.dark .sidebar__env-badge {
  background: rgba(245, 158, 11, 0.15);
  color: var(--orange-400);
}
.sidebar__logo-img {
  height: 32px;
  width: auto;
}
.dark .sidebar__logo-img--light {
  display: none;
}
.sidebar__logo-img--dark {
  display: none;
}
.dark .sidebar__logo-img--dark {
  display: block;
}
.sidebar__close {
  cursor: pointer;
  color: var(--gray-900);
}
.dark .sidebar__close {
  color: var(--gray-200);
}
@media (min-width: 1024px) {
  .sidebar__close {
    display: none !important;
  }
}
.sidebar__nav {
  flex: 1;
  overflow-y: auto;
  padding: 0 1px;
}
.sidebar__footer {
  margin-top: auto;
  padding-top: 12px;
}

.sidebar-overlay {
  position: fixed;
  inset: 0;
  z-index: 40;
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
}
.dark .sidebar-overlay {
  background: rgba(0, 0, 0, 0.3);
}
.sidebar-overlay--visible {
  opacity: 1;
  pointer-events: auto;
}

.header {
  display: flex;
  align-items: center;
  height: 56px;
  padding: 0 16px;
  flex-shrink: 0;
  background-color: white;
}
.dark .header {
  background-color: var(--gray-1000);
}
@media (min-width: 1024px) {
  .header {
    display: none;
  }
}
.header__logo-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  color: var(--brand-600);
}
.dark .header__logo-icon {
  color: var(--brand-400);
}
.header__title {
  font-size: 14px;
  font-weight: 600;
  color: var(--gray-800);
  letter-spacing: -0.01em;
}
.dark .header__title {
  color: var(--gray-50);
}
.header__title {
  margin-left: 8px;
}
.header__logo {
  height: 32px;
  width: auto;
}
.dark .header__logo--light {
  display: none;
}
.header__logo--dark {
  display: none;
}
.dark .header__logo--dark {
  display: block;
}
.header__toggle {
  cursor: pointer;
  color: var(--gray-900);
  margin-left: auto;
}
.dark .header__toggle {
  color: var(--gray-200);
}

.content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  background-color: white;
}
.dark .content {
  background-color: var(--gray-900);
}
@media (min-width: 1024px) {
  .content {
    min-height: 0;
    overflow: hidden;
    margin-top: 8px;
    border-top-left-radius: 8px;
    position: relative;
    z-index: 10;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.08), inset 1px 1px 0 0 rgba(16, 24, 40, 0.22);
  }
  .dark .content {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35), inset 1px 1px 0 0 rgba(0, 0, 0, 0.3);
  }
  .dark .content::before {
    content: "";
    position: absolute;
    inset: 1px;
    border-top-left-radius: 7px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    -webkit-mask-image: linear-gradient(to bottom, black, transparent);
    mask-image: linear-gradient(to bottom, black, transparent);
    pointer-events: none;
  }
}

.content__inner {
  padding: 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .content__inner {
    min-height: 0;
    padding: 24px;
  }
}

.content__body {
  flex: 1;
  min-height: 0;
  outline: none;
}
@media (min-width: 1024px) {
  .content__body {
    overflow-y: auto;
  }
}

.content__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  transition: box-shadow 0.2s ease;
}

.content__inner.is-scrolled .content__header {
  box-shadow: 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}
.dark .content__inner.is-scrolled .content__header {
  box-shadow: 0 4px 6px -4px rgba(0, 0, 0, 0.4);
}

.content__title {
  font-size: 20px;
  font-weight: 600;
  color: var(--gray-950);
}
.dark .content__title {
  color: var(--gray-200);
}

.content__subtitle {
  font-size: 14px;
  color: var(--gray-500);
  margin-top: 4px;
}
.dark .content__subtitle {
  color: var(--gray-400);
}

.nav__item {
  position: relative;
  display: flex;
  align-items: center;
  padding: 10px 14px 10px 28px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
  border-radius: 4px;
  transition: color 0.15s, background 0.15s;
  color: var(--gray-700);
}
.dark .nav__item {
  color: var(--gray-400);
}
.nav__item::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 16px;
  width: 1px;
  background: var(--gray-200);
  transition: top 0.15s, bottom 0.15s, background 0.15s;
}
.dark .nav__item::before {
  background: var(--gray-800);
}
.nav__item:not(.nav__item--active):hover {
  background-color: var(--gray-100);
  color: var(--gray-950);
}
.dark .nav__item:not(.nav__item--active):hover {
  background-color: var(--gray-900);
  color: white;
}
.nav__item:not(.nav__item--active):hover::before {
  top: 8px;
  bottom: 8px;
  background: var(--gray-300);
}
.dark .nav__item:not(.nav__item--active):hover::before {
  background: var(--gray-600);
}
.nav__item--active {
  color: var(--gray-950);
  font-weight: 500;
  background-color: #fff;
  z-index: 2;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.08), inset 0 -2px 0 rgba(16, 24, 40, 0.08), inset 0 0 0 1px rgba(16, 24, 40, 0.22);
}
.dark .nav__item--active {
  position: relative;
  color: var(--gray-200);
  background-color: var(--gray-800);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35), inset 0 -2px 0 rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.3);
}
.dark .nav__item--active::after {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 3px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  -webkit-mask-image: linear-gradient(to bottom, black, transparent);
  mask-image: linear-gradient(to bottom, black, transparent);
  pointer-events: none;
}
.nav__item--active::before {
  top: 8px;
  bottom: 8px;
  background: var(--gray-950);
}
.dark .nav__item--active::before {
  background: var(--gray-200);
}

.nav__badge {
  margin-left: auto;
  font-size: 10px;
  font-weight: 600;
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 3px;
  background-color: var(--gray-100);
  color: var(--gray-700);
}
.dark .nav__badge {
  background-color: var(--gray-900);
  color: var(--gray-400);
}
.nav__item:hover .nav__badge {
  background-color: var(--gray-200);
}
.dark .nav__item:hover .nav__badge {
  background-color: var(--gray-800);
}

.nav__heading {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 500;
  padding: 8px;
  border-radius: 4px;
  cursor: pointer;
  transition: color 0.15s, background 0.15s;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  color: var(--gray-700);
}
.dark .nav__heading {
  color: var(--gray-400);
}
.nav__section[open] > .nav__heading {
  color: var(--gray-900);
}
.dark .nav__section[open] > .nav__heading {
  color: var(--gray-200);
}
.nav__heading:hover {
  background-color: var(--gray-100);
  color: var(--gray-800);
}
.dark .nav__heading:hover {
  background-color: var(--gray-900);
  color: var(--gray-300);
}
.nav__section[open] > .nav__heading:hover {
  color: var(--gray-950);
}
.dark .nav__section[open] > .nav__heading:hover {
  color: white;
}
.nav__heading:hover .nav__chevron-btn {
  background-color: var(--gray-200);
}
.dark .nav__heading:hover .nav__chevron-btn {
  background-color: var(--gray-700);
}

.nav__chevron-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: auto;
  padding: 4px;
  border-radius: 4px;
  transition: background 0.15s;
}
@media (hover: hover) {
  .nav__chevron-btn:hover {
    background-color: var(--gray-300) !important;
  }
  .dark .nav__chevron-btn:hover {
    background-color: var(--gray-600) !important;
  }
}

.nav__chevron {
  transition: transform 0.2s, color 0.15s;
}

.nav__section summary {
  list-style: none;
}
.nav__section summary::-webkit-details-marker, .nav__section summary::marker {
  display: none;
}
.nav__section .nav__group {
  display: flex;
  flex-direction: column;
  overflow-x: visible;
  overflow-y: clip;
  max-height: 0;
  opacity: 0;
  transition: max-height 0.2s ease, opacity 0.15s ease, padding 0.2s ease;
  padding: 0;
}
.nav__section[open] .nav__group {
  max-height: 500px;
  opacity: 1;
  padding: 4px 0;
}
.nav__section[open] .nav__chevron {
  transform: rotate(180deg);
}

.link {
  color: var(--brand-600);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.15s;
}
.link:hover {
  color: var(--brand-700);
  text-decoration: underline;
}
.dark .link {
  color: var(--brand-400);
}
.dark .link:hover {
  color: var(--brand-300);
}
.link--muted {
  color: var(--gray-500);
  font-weight: 400;
}
.link--muted:hover {
  color: var(--gray-700);
}
.dark .link--muted {
  color: var(--gray-400);
}
.dark .link--muted:hover {
  color: var(--gray-200);
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  border-radius: 8px;
  transition: color 0.15s, background-color 0.15s, box-shadow 0.15s;
  cursor: pointer;
  white-space: nowrap;
  border: none;
}
.btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.btn svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
.btn--xs {
  gap: 4px;
  padding: 4px 8px;
  font-size: 14px;
  line-height: 20px;
}
.btn--xs svg {
  width: 16px;
  height: 16px;
  margin-left: -4px;
}
.btn--sm {
  gap: 4px;
  padding: 8px 12px;
  font-size: 14px;
  line-height: 20px;
}
.btn--md {
  gap: 6px;
  padding: 10px 14px;
  font-size: 14px;
  line-height: 20px;
}
.btn--lg {
  gap: 6px;
  padding: 10px 16px;
  font-size: 14px;
  line-height: 20px;
}
.btn--xl {
  gap: 8px;
  padding: 12px 20px;
  font-size: 16px;
  line-height: 24px;
}
.btn--primary {
  position: relative;
  background-color: var(--brand-600);
  color: #fff;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.12), inset 0 -2px 0 rgba(16, 24, 40, 0.12), inset 0 0 0 1px rgba(16, 24, 40, 0.3);
}
.btn--primary:hover:not(:disabled) {
  background-color: var(--brand-700);
}
.dark .btn--primary {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4), inset 0 -2px 0 rgba(0, 0, 0, 0.25), inset 0 0 0 1px rgba(0, 0, 0, 0.4);
}
.btn--primary::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 7px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  -webkit-mask-image: linear-gradient(to bottom, black, transparent);
  mask-image: linear-gradient(to bottom, black, transparent);
  pointer-events: none;
}
.btn--secondary {
  background-color: #fff;
  color: var(--gray-700);
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.08), inset 0 -2px 0 rgba(16, 24, 40, 0.08), inset 0 0 0 1px rgba(16, 24, 40, 0.22);
}
.btn--secondary:hover:not(:disabled) {
  background-color: var(--gray-50);
  color: var(--gray-800);
}
.dark .btn--secondary {
  position: relative;
  background-color: var(--gray-800);
  color: var(--gray-300);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35), inset 0 -2px 0 rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.3);
}
.dark .btn--secondary:hover:not(:disabled) {
  background-color: var(--gray-700);
  color: var(--gray-200);
}
.dark .btn--secondary::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 7px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  -webkit-mask-image: linear-gradient(to bottom, black, transparent);
  mask-image: linear-gradient(to bottom, black, transparent);
  pointer-events: none;
}
.btn--tertiary {
  color: var(--gray-600);
}
.btn--tertiary:hover:not(:disabled) {
  background-color: var(--gray-50);
  color: var(--gray-700);
}
.dark .btn--tertiary {
  color: var(--gray-400);
}
.dark .btn--tertiary:hover:not(:disabled) {
  background-color: var(--gray-800);
  color: var(--gray-300);
}
.btn--destructive {
  position: relative;
  background-color: var(--red-600);
  color: #fff;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.12), inset 0 -2px 0 rgba(16, 24, 40, 0.12), inset 0 0 0 1px rgba(16, 24, 40, 0.3);
}
.btn--destructive:hover:not(:disabled) {
  background-color: var(--red-700);
}
.dark .btn--destructive {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4), inset 0 -2px 0 rgba(0, 0, 0, 0.25), inset 0 0 0 1px rgba(0, 0, 0, 0.4);
}
.btn--destructive::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 7px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  -webkit-mask-image: linear-gradient(to bottom, black, transparent);
  mask-image: linear-gradient(to bottom, black, transparent);
  pointer-events: none;
}
.btn--destructive-secondary {
  background-color: #fff;
  color: var(--red-700);
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.08), inset 0 -2px 0 rgba(16, 24, 40, 0.08), inset 0 0 0 1px var(--red-300);
}
.btn--destructive-secondary:hover:not(:disabled) {
  background-color: var(--red-50);
  color: var(--red-800);
}
.dark .btn--destructive-secondary {
  background-color: var(--gray-800);
  color: var(--red-400);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35), inset 0 -2px 0 rgba(0, 0, 0, 0.2), inset 0 0 0 1px var(--red-700);
}
.dark .btn--destructive-secondary:hover:not(:disabled) {
  background-color: rgba(153, 27, 27, 0.2);
  color: var(--red-300);
}
.btn--link, .btn--link-gray, .btn--link-destructive {
  gap: 6px;
  font-size: 14px;
  line-height: 20px;
  background: none;
  box-shadow: none;
  border-radius: 0;
  padding: 0;
}
.btn--link {
  color: var(--brand-600);
}
.btn--link:hover {
  color: var(--brand-700);
}
.dark .btn--link {
  color: var(--brand-400);
}
.dark .btn--link:hover {
  color: var(--brand-300);
}
.btn--link-gray {
  color: var(--gray-600);
}
.btn--link-gray:hover {
  color: var(--gray-700);
}
.dark .btn--link-gray {
  color: var(--gray-400);
}
.dark .btn--link-gray:hover {
  color: var(--gray-300);
}
.btn--link-destructive {
  color: var(--red-600);
}
.btn--link-destructive:hover {
  color: var(--red-700);
}
.dark .btn--link-destructive {
  color: var(--red-400);
}
.dark .btn--link-destructive:hover {
  color: var(--red-300);
}

.btn-group {
  display: inline-flex;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05);
}
.dark .btn-group {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.btn-group > .btn {
  position: relative;
  border-radius: 0;
}
.btn-group > .btn:not(:first-child) {
  margin-left: -1px;
}
.btn-group > .btn:first-child {
  border-radius: 8px 0 0 8px;
}
.btn-group > .btn:first-child::before {
  border-radius: 7px 0 0 7px;
}
.btn-group > .btn:last-child {
  border-radius: 0 8px 8px 0;
}
.btn-group > .btn:last-child::before {
  border-radius: 0 7px 7px 0;
}
.btn-group > .btn:only-child {
  border-radius: 8px;
}
.btn-group > .btn:only-child::before {
  border-radius: 7px;
}
.btn-group > .btn:not(:first-child):not(:last-child)::before {
  border-radius: 0;
}
.btn-group > .btn:hover:not(:disabled) {
  z-index: 1;
}
.btn-group > .btn:focus-visible {
  z-index: 2;
}
.btn-group > .btn.is-active {
  background-color: var(--gray-50);
  color: var(--gray-800);
  z-index: 1;
}
.dark .btn-group > .btn.is-active {
  background-color: var(--gray-700);
  color: var(--gray-200);
}
.btn-group > .btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.btn-group--disabled {
  opacity: 0.4;
  pointer-events: none;
}

.form-group {
  min-width: 0;
}
.form-group > * + * {
  margin-top: 8px;
}

.form-label {
  display: block;
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  color: var(--gray-700);
}
.dark .form-label {
  color: var(--gray-300);
}

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

.form-input {
  width: 100%;
  padding: 8px 12px;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  background-color: #fff;
  border: 1px solid var(--gray-300);
  border-radius: 6px;
  color: var(--gray-900);
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05);
  transition: border-color 0.15s;
}
.form-input::-moz-placeholder {
  color: var(--gray-400);
}
.form-input::placeholder {
  color: var(--gray-400);
}
.form-input:focus {
  outline: none;
  border-color: var(--brand-500);
  border-width: 2px;
  padding: 7px 11px;
}
.form-input:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.dark .form-input {
  background-color: var(--gray-900);
  border: 1px solid var(--gray-700);
  color: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.dark .form-input::-moz-placeholder {
  color: var(--gray-500);
}
.dark .form-input::placeholder {
  color: var(--gray-500);
}
.dark .form-input:focus {
  border-color: var(--brand-400);
  border-width: 2px;
  padding: 7px 11px;
}

.form-input--error {
  border-color: var(--red-300);
}
.form-input--error:focus {
  border-color: var(--red-500);
}
.dark .form-input--error {
  border-color: var(--red-700);
}
.dark .form-input--error:focus {
  border-color: var(--red-400);
}

.form-error {
  font-size: 12px;
  line-height: 16px;
  color: var(--red-600);
  margin-top: 4px;
}
.dark .form-error {
  color: var(--red-400);
}

.form-help {
  font-size: 12px;
  line-height: 16px;
  color: var(--gray-500);
  margin-top: 4px;
}

.form-checkbox {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}
.form-checkbox:has(input:disabled) {
  cursor: not-allowed;
}
.form-checkbox__label {
  font-size: 14px;
  line-height: 20px;
  color: var(--gray-700);
}
.dark .form-checkbox__label {
  color: var(--gray-300);
}

input[type=checkbox] {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  width: 1rem;
  height: 1rem;
  border: none;
  border-radius: 0.25rem;
  background: #fff;
  box-shadow: inset 0 0 0 1px var(--gray-300), 0 1px 2px rgba(16, 24, 40, 0.05);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.15s ease;
  position: relative;
}
.dark input[type=checkbox] {
  background: transparent;
  box-shadow: inset 0 0 0 1px var(--gray-700), 0 1px 3px rgba(0, 0, 0, 0.3);
}
input[type=checkbox]:checked {
  background: var(--brand-600);
  box-shadow: inset 0 0 0 1px var(--brand-600);
}
.dark input[type=checkbox]:checked {
  background: var(--brand-500);
  box-shadow: inset 0 0 0 1px var(--brand-500);
}
input[type=checkbox]:checked::after {
  content: "";
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  background: #fff;
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.6666 3.5L5.24992 9.91667L2.33325 7' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.6666 3.5L5.24992 9.91667L2.33325 7' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
input[type=checkbox]:indeterminate {
  background: var(--brand-600);
  box-shadow: inset 0 0 0 1px var(--brand-600);
}
.dark input[type=checkbox]:indeterminate {
  background: var(--brand-500);
  box-shadow: inset 0 0 0 1px var(--brand-500);
}
input[type=checkbox]:indeterminate::after {
  content: "";
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  background: #fff;
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.91675 7H11.0834' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.91675 7H11.0834' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
input[type=checkbox]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
input[type=checkbox]:focus {
  outline: none;
}

.form-select {
  width: 100%;
  padding: 8px 36px 8px 12px;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  background-color: #fff;
  border: 1px solid var(--gray-300);
  border-radius: 6px;
  color: var(--gray-900);
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05);
  transition: border-color 0.15s;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 7.5l5 5 5-5' stroke='%2398a1ab' stroke-width='1.67' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 20px;
  cursor: pointer;
}
.form-select:focus {
  outline: none;
  border-color: var(--brand-500);
  border-width: 2px;
  padding: 7px 35px 7px 11px;
  background-position: right 7px center;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 7.5l5 5 5-5' stroke='%231a83c4' stroke-width='1.67' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.form-select:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.dark .form-select {
  background-color: var(--gray-900);
  border: 1px solid var(--gray-700);
  color: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 7.5l5 5 5-5' stroke='%236f7780' stroke-width='1.67' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.dark .form-select:focus {
  border-color: var(--brand-400);
  border-width: 2px;
  padding: 7px 35px 7px 11px;
  background-position: right 7px center;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 7.5l5 5 5-5' stroke='%234da1d5' stroke-width='1.67' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.alert {
  padding: 8px 12px;
  border-radius: 6px;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05);
}
.alert--error {
  background-color: var(--red-50);
  border: 1px solid var(--red-300);
}
.dark .alert--error {
  background-color: var(--red-950);
  border: 1px solid var(--red-700);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.alert__text {
  font-size: 14px;
  line-height: 20px;
}
.alert--error .alert__text {
  color: var(--red-600);
}
.dark .alert--error .alert__text {
  color: var(--red-400);
}
.alert--success {
  background-color: var(--green-50);
  border: 1px solid var(--green-300);
}
.dark .alert--success {
  background-color: var(--green-950);
  border: 1px solid var(--green-700);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.alert--success .alert__text {
  color: var(--green-600);
}
.dark .alert--success .alert__text {
  color: var(--green-400);
}

.feat-icon {
  width: 56px;
  height: 56px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background-color: #fff;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.08), inset 0 -2px 0 rgba(16, 24, 40, 0.08), inset 0 0 0 1px rgba(16, 24, 40, 0.22);
}
.feat-icon svg {
  width: 28px;
  height: 28px;
  color: var(--gray-700);
}
.dark .feat-icon {
  background-color: var(--gray-800);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35), inset 0 -2px 0 rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.3);
}
.dark .feat-icon svg {
  color: var(--gray-50);
}
.dark .feat-icon::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 7px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  -webkit-mask-image: linear-gradient(to bottom, black, transparent);
  mask-image: linear-gradient(to bottom, black, transparent);
  pointer-events: none;
}
.feat-icon--error {
  background-color: var(--red-50);
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05), inset 0 -2px 0 rgba(16, 24, 40, 0.05), inset 0 0 0 1px var(--red-300);
}
.feat-icon--error svg {
  color: var(--red-600);
}
.dark .feat-icon--error {
  background-color: var(--gray-800);
}
.dark .feat-icon--error svg {
  color: var(--red-400);
}
.feat-icon--warning {
  background-color: var(--orange-50);
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05), inset 0 -2px 0 rgba(16, 24, 40, 0.05), inset 0 0 0 1px var(--orange-300);
}
.feat-icon--warning svg {
  color: var(--orange-600);
}
.dark .feat-icon--warning {
  background-color: var(--gray-800);
}
.dark .feat-icon--warning svg {
  color: var(--orange-300);
}
.feat-icon--success {
  background-color: var(--green-50);
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05), inset 0 -2px 0 rgba(16, 24, 40, 0.05), inset 0 0 0 1px var(--green-400);
}
.feat-icon--success svg {
  color: var(--green-600);
}
.dark .feat-icon--success {
  background-color: var(--gray-800);
}
.dark .feat-icon--success svg {
  color: var(--green-400);
}

.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 2px 8px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  white-space: nowrap;
  border-radius: 6px;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05);
  transition: background-color 0.15s;
}
.badge--pill {
  border-radius: 9999px;
  padding-left: 8px;
  padding-right: 10px;
}
.badge--green {
  background-color: var(--green-50);
  color: var(--green-700);
  border: 1px solid var(--green-500);
}
.badge--green .badge__dot {
  color: var(--green-500);
}
.dark .badge--green {
  background-color: var(--green-950);
  color: var(--green-400);
  border-color: var(--green-800);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.badge--red {
  background-color: var(--red-50);
  color: var(--red-700);
  border: 1px solid var(--red-300);
}
.badge--red .badge__dot {
  color: var(--red-500);
}
.dark .badge--red {
  background-color: var(--red-950);
  color: var(--red-400);
  border-color: var(--red-700);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.badge--amber {
  background-color: var(--orange-50);
  color: var(--orange-700);
  border: 1px solid var(--orange-300);
}
.badge--amber .badge__dot {
  color: var(--orange-500);
}
.dark .badge--amber {
  background-color: var(--orange-950);
  color: var(--orange-400);
  border-color: var(--orange-700);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.badge--blue {
  background-color: var(--brand-copy-50);
  color: var(--brand-copy-700);
  border: 1px solid var(--brand-copy-300);
}
.badge--blue .badge__dot {
  color: var(--brand-copy-500);
}
.dark .badge--blue {
  background-color: var(--brand-copy-950);
  color: var(--brand-copy-400);
  border-color: var(--brand-copy-700);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.badge--purple {
  background-color: #faf5ff;
  color: #7e22ce;
  border: 1px solid #d8b4fe;
}
.badge--purple .badge__dot {
  color: #a855f7;
}
.dark .badge--purple {
  background-color: #1a0533;
  color: #c084fc;
  border-color: #6b21a8;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.badge--gray {
  background-color: var(--gray-50);
  color: var(--gray-700);
  border: 1px solid var(--gray-300);
}
.badge--gray .badge__dot {
  color: var(--gray-500);
}
.dark .badge--gray {
  background-color: var(--gray-800);
  color: var(--gray-300);
  border-color: var(--gray-700);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.badge--outline {
  background-color: #fff;
  color: var(--gray-700);
  border: 1px solid var(--gray-300);
}
.dark .badge--outline {
  background-color: var(--gray-800);
  color: var(--gray-300);
  border-color: var(--gray-700);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

a.badge {
  cursor: pointer;
}
a.badge.badge--green:hover {
  background-color: var(--green-100);
}
.dark a.badge.badge--green:hover {
  background-color: var(--green-900);
}
a.badge.badge--red:hover {
  background-color: var(--red-100);
}
.dark a.badge.badge--red:hover {
  background-color: var(--red-900);
}
a.badge.badge--amber:hover {
  background-color: var(--orange-100);
}
.dark a.badge.badge--amber:hover {
  background-color: var(--orange-900);
}
a.badge.badge--blue:hover {
  background-color: var(--brand-copy-100);
}
.dark a.badge.badge--blue:hover {
  background-color: var(--brand-copy-900);
}
a.badge.badge--purple:hover {
  background-color: #f3e8ff;
}
.dark a.badge.badge--purple:hover {
  background-color: #2e1065;
}
a.badge.badge--gray:hover {
  background-color: var(--gray-100);
}
.dark a.badge.badge--gray:hover {
  background-color: var(--gray-700);
}
a.badge.badge--outline:hover {
  background-color: var(--gray-50);
}
.dark a.badge.badge--outline:hover {
  background-color: var(--gray-700);
}

.badge__dot {
  width: 8px;
  height: 8px;
  flex-shrink: 0;
}

.badge__icon {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  cursor: pointer;
}

.tabs {
  display: inline-flex;
  gap: 4px;
  border-radius: 8px;
  background-color: var(--gray-50);
  padding: 4px;
  border: 1px solid var(--gray-200);
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05);
}
.dark .tabs {
  background-color: var(--gray-1000);
  border-color: var(--gray-1000);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.tabs--compact {
  gap: 2px;
  border-radius: 8px;
  padding: 0;
}
.tabs--compact > .tabs__item {
  margin: -2px;
  padding: 10px 14px;
}
.tabs--full {
  width: 100%;
  display: flex;
}
.tabs--stretch {
  display: flex;
}
.tabs--stretch > .tabs__item {
  flex: 1;
}
.tabs--mini {
  gap: 2px;
  border-radius: 6px;
  padding: 0;
}
.tabs--mini > .tabs__item {
  margin: -2px;
  padding: 8px 10px;
  font-size: 12px;
  gap: 4px;
}

.tabs__item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  border: none;
  background: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  color: var(--gray-500);
  white-space: nowrap;
  cursor: pointer;
  transition: color 0.1s ease, background-color 0.1s ease, box-shadow 0.1s ease;
}
.tabs__item svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.dark .tabs__item {
  color: var(--gray-400);
}
.tabs--compact .tabs__item {
  border-radius: 8px;
}
.tabs--mini .tabs__item {
  border-radius: 6px;
}
.tabs__item:hover:not(.is-active) {
  color: var(--gray-700);
}
.dark .tabs__item:hover:not(.is-active) {
  color: var(--gray-300);
}
.tabs__item.is-active {
  background-color: #fff;
  color: var(--gray-700);
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.08), inset 0 -2px 0 rgba(16, 24, 40, 0.08), inset 0 0 0 1px rgba(16, 24, 40, 0.22);
}
.dark .tabs__item.is-active {
  position: relative;
  background-color: var(--gray-800);
  color: var(--gray-300);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35), inset 0 -2px 0 rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.3);
}
.dark .tabs__item.is-active::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 5px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  -webkit-mask-image: linear-gradient(to bottom, black, transparent);
  mask-image: linear-gradient(to bottom, black, transparent);
  pointer-events: none;
}
.tabs--compact .tabs__item.is-active {
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.08), inset 0 -2px 0 rgba(16, 24, 40, 0.08), inset 0 0 0 1px rgba(16, 24, 40, 0.22);
}
.dark .tabs--compact .tabs__item.is-active {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35), inset 0 -2px 0 rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.3);
}
.tabs--mini .tabs__item.is-active {
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.08), inset 0 -2px 0 rgba(16, 24, 40, 0.08), inset 0 0 0 1px rgba(16, 24, 40, 0.22);
}
.dark .tabs--mini .tabs__item.is-active {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35), inset 0 -2px 0 rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.3);
}

.kebab {
  position: relative;
  display: flex;
  justify-content: flex-end;
}

.kebab__trigger {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  border-radius: 4px;
  color: var(--gray-400);
  transition: color 0.15s, background-color 0.15s;
  cursor: pointer;
}
@media (hover: hover) {
  .kebab__trigger:hover {
    color: var(--gray-600);
    background-color: var(--gray-300);
  }
  .dark .kebab__trigger:hover {
    color: var(--gray-300);
    background-color: var(--gray-600);
  }
}
.kebab__trigger.active {
  color: var(--gray-600) !important;
  background-color: var(--gray-300) !important;
}
.dark .kebab__trigger.active {
  color: var(--gray-300) !important;
  background-color: var(--gray-600) !important;
}
.kebab__trigger svg {
  width: 16px;
  height: 16px;
}

.kebab-menu {
  position: fixed;
  width: 160px;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.08);
  z-index: 10000;
  overflow: hidden;
  opacity: 0;
  transform: scale(0.95);
  transition: opacity 0.2s, transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  pointer-events: none;
}
.kebab-menu::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 8px;
  box-shadow: inset 0 -2px 0 rgba(16, 24, 40, 0.08), inset 0 0 0 1px rgba(16, 24, 40, 0.22);
  pointer-events: none;
  z-index: 4;
}
.dark .kebab-menu {
  background-color: var(--gray-800);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}
.dark .kebab-menu::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 7px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  -webkit-mask-image: linear-gradient(to bottom, black, transparent);
  mask-image: linear-gradient(to bottom, black, transparent);
  pointer-events: none;
  z-index: 3;
}
.dark .kebab-menu::after {
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.3);
}
.kebab-menu--visible {
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
}
.kebab-menu__inner {
  padding: 4px 0;
}
.kebab-menu__item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  font-size: 14px;
  font-weight: 500;
  color: var(--gray-700);
  transition: color 0.15s;
  cursor: pointer;
  width: 100%;
  text-align: left;
}
.kebab-menu__item:hover {
  color: var(--gray-950);
}
.dark .kebab-menu__item {
  color: var(--gray-400);
}
.dark .kebab-menu__item:hover {
  color: white;
}
.kebab-menu__item svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.kebab-menu__item--danger {
  color: var(--red-600);
}
.dark .kebab-menu__item--danger {
  color: var(--red-400);
}
.kebab-menu__item--danger:hover {
  color: var(--red-700);
}
.dark .kebab-menu__item--danger:hover {
  color: var(--red-300);
}
.kebab-menu__item--danger svg {
  color: inherit;
}
.kebab-menu__divider {
  height: 1px;
  background-color: var(--gray-200);
}
.dark .kebab-menu__divider {
  background-color: var(--gray-700);
}

.datepicker {
  position: relative;
  display: inline-block;
}

.datepicker__trigger svg {
  color: var(--gray-400);
}
.dark .datepicker__trigger svg {
  color: var(--gray-500);
}

.datepicker__panel {
  position: fixed;
  z-index: 10000;
  display: none;
  flex-direction: column;
  border-radius: 8px;
  overflow: hidden;
  background-color: white;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.08);
}
.datepicker__panel::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 8px;
  box-shadow: inset 0 -2px 0 rgba(16, 24, 40, 0.08), inset 0 0 0 1px rgba(16, 24, 40, 0.22);
  pointer-events: none;
  z-index: 4;
}
.dark .datepicker__panel {
  background-color: var(--gray-800);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}
.dark .datepicker__panel::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 7px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  -webkit-mask-image: linear-gradient(to bottom, black, transparent);
  mask-image: linear-gradient(to bottom, black, transparent);
  pointer-events: none;
  z-index: 3;
}
.dark .datepicker__panel::after {
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.3);
}
.datepicker__panel {
  opacity: 0;
  transform: scale(0.95);
  transition: opacity 0.2s, transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.datepicker__panel.is-open {
  display: flex;
}
.datepicker__panel.datepicker__panel--visible {
  opacity: 1;
  transform: scale(1);
}

.datepicker__header {
  background-color: var(--gray-50);
  padding: 12px 16px 20px;
  margin-bottom: -8px;
}
.dark .datepicker__header {
  background-color: var(--gray-900);
}

.datepicker__body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  background-color: white;
  border-radius: 8px;
  border-top: 1px solid rgba(16, 24, 40, 0.22);
  border-bottom: 1px solid rgba(16, 24, 40, 0.22);
  box-shadow: 0 -1px 3px rgba(16, 24, 40, 0.08), 0 1px 3px rgba(16, 24, 40, 0.08);
}
.dark .datepicker__body {
  background-color: var(--gray-800);
  border-top: none;
  border-bottom: none;
  box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.25), 0 1px 3px rgba(0, 0, 0, 0.25);
}

.datepicker__presets {
  padding: 0;
}

.datepicker__calendars {
  display: flex;
  padding: 16px;
  gap: 32px;
}

.datepicker__month {
  flex: 1;
  min-width: 0;
}

.datepicker__month-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 12px;
}
.datepicker__month-header span {
  font-size: 14px;
  font-weight: 600;
  color: var(--gray-700);
  text-align: center;
}
.dark .datepicker__month-header span {
  color: var(--gray-300);
}

.datepicker__nav-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  color: var(--gray-500);
  cursor: pointer;
  transition: background-color 0.1s, color 0.1s;
}
.datepicker__nav-btn:hover {
  background-color: var(--gray-100);
  color: var(--gray-700);
}
.datepicker__nav-btn svg {
  width: 16px;
  height: 16px;
}
.dark .datepicker__nav-btn {
  color: var(--gray-400);
}
.dark .datepicker__nav-btn:hover {
  background-color: var(--gray-700);
  color: var(--gray-200);
}

.datepicker__weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  text-align: center;
  margin-bottom: 4px;
}

.datepicker__weekday {
  font-size: 14px;
  font-weight: 500;
  color: var(--gray-500);
  padding: 4px 0;
  line-height: 20px;
}
.dark .datepicker__weekday {
  color: var(--gray-400);
}

.datepicker__days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-template-rows: repeat(6, 40px);
}

.datepicker__day {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  font-size: 13px;
  cursor: pointer;
  color: var(--gray-700);
  z-index: 0;
}
.datepicker__day::before {
  content: "";
  position: absolute;
  inset: 4px 0;
  z-index: -1;
}
.datepicker__day:nth-child(7n+1)::before {
  left: calc(50% - 16px);
  border-radius: 8px 0 0 8px;
}
.datepicker__day:nth-child(7n)::before {
  right: calc(50% - 16px);
  border-radius: 0 8px 8px 0;
}
.datepicker__day:hover:not(.is-disabled):not(.is-selected) > .datepicker__day-num {
  background-color: var(--gray-100);
}
.dark .datepicker__day:hover:not(.is-disabled):not(.is-selected) > .datepicker__day-num {
  background-color: var(--gray-900);
}
.datepicker__day.is-other-month {
  opacity: 0.24;
}
.datepicker__day.is-today > .datepicker__day-num {
  font-weight: 600;
}
.datepicker__day.is-selected > .datepicker__day-num {
  background-color: #fff;
  color: var(--gray-700);
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.08), inset 0 -2px 0 rgba(16, 24, 40, 0.08), inset 0 0 0 1px rgba(16, 24, 40, 0.22);
}
.dark .datepicker__day.is-selected > .datepicker__day-num {
  background-color: var(--gray-800);
  color: var(--gray-300);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35), inset 0 -2px 0 rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.3);
}
.dark .datepicker__day.is-selected > .datepicker__day-num::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.06);
  -webkit-mask-image: linear-gradient(to bottom, black, transparent);
  mask-image: linear-gradient(to bottom, black, transparent);
  pointer-events: none;
}
.datepicker__day.is-in-range::before {
  background-color: var(--gray-100);
}
.dark .datepicker__day.is-in-range::before {
  background-color: var(--gray-900);
}
.datepicker__day.is-range-start::before {
  left: 50%;
  background-color: var(--gray-100);
  border-radius: 0;
}
.dark .datepicker__day.is-range-start::before {
  background-color: var(--gray-900);
}
.datepicker__day.is-range-end::before {
  right: 50%;
  background-color: var(--gray-100);
  border-radius: 0;
}
.dark .datepicker__day.is-range-end::before {
  background-color: var(--gray-900);
}
.datepicker__day.is-range-start:nth-child(7n+1)::before {
  border-radius: 0;
}
.datepicker__day.is-range-start:nth-child(7n)::before {
  background-color: transparent;
}
.dark .datepicker__day.is-range-start:nth-child(7n)::before {
  background-color: transparent;
}
.datepicker__day.is-range-end:nth-child(7n)::before {
  border-radius: 0;
}
.datepicker__day.is-range-end:nth-child(7n+1)::before {
  background-color: transparent;
}
.dark .datepicker__day.is-range-end:nth-child(7n+1)::before {
  background-color: transparent;
}
.datepicker__day.is-range-start.is-range-end::before {
  background-color: transparent;
}
.dark .datepicker__day.is-range-start.is-range-end::before {
  background-color: transparent;
}
.datepicker__day.is-disabled {
  color: var(--gray-300);
  cursor: default;
}
.dark .datepicker__day.is-disabled {
  color: var(--gray-600);
}
.datepicker__day.is-empty {
  cursor: default;
}
.dark .datepicker__day {
  color: var(--gray-300);
}

.datepicker__day-num {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  z-index: 1;
}
.datepicker__day-num::after {
  content: "";
  position: absolute;
  bottom: 4px;
  left: 50%;
  transform: translateX(-50%);
  width: 4px;
  height: 4px;
  border-radius: 50%;
  opacity: 0;
}
.is-today .datepicker__day-num::after {
  opacity: 1;
  background-color: currentColor;
}

.datepicker__footer {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 20px 16px 12px;
  margin-top: -8px;
  background-color: var(--gray-50);
}
.dark .datepicker__footer {
  background-color: var(--gray-900);
}

.datepicker__actions {
  display: flex;
  gap: 8px;
  margin-left: auto;
}

@media (max-width: 1023px) {
  .datepicker-toolbar {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-left: -16px;
    margin-right: -16px;
    padding-left: 16px;
    padding-right: 16px;
  }
  .datepicker-toolbar > * {
    flex-shrink: 0;
  }
  .datepicker__panel {
    top: auto !important;
    left: 16px !important;
    right: 16px;
    bottom: 16px;
    width: auto;
    max-height: calc(100vh - 32px);
  }
  .datepicker__body {
    overflow-y: auto;
    min-height: 0;
  }
  .datepicker__header {
    overflow-x: auto;
    flex-shrink: 0;
    padding-right: 0;
  }
  .datepicker__presets {
    display: flex;
  }
  .datepicker__presets::after {
    content: "";
    min-width: 16px;
    flex-shrink: 0;
  }
  .datepicker__presets .btn-group {
    flex-wrap: nowrap;
  }
  .datepicker__calendars {
    flex-direction: column;
  }
  .datepicker__footer {
    flex-shrink: 0;
  }
  .datepicker__actions {
    width: 100%;
    justify-content: flex-end;
  }
}
.code-editor {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--gray-200);
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05);
}
.dark .code-editor {
  background: var(--gray-900);
  border-color: var(--gray-1000);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.code-editor__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 40px;
  padding: 6px 16px;
  background: var(--gray-50);
  border-bottom: 1px solid var(--gray-200);
}
.dark .code-editor__header {
  background: var(--gray-1000);
  border-bottom-color: var(--gray-1000);
}

.code-editor__lang {
  font-size: 12px;
  font-weight: 500;
  color: var(--gray-500);
}
.dark .code-editor__lang {
  color: var(--gray-400);
}

.code-editor__body {
  position: relative;
  max-height: 360px;
  overflow: auto;
}

.code-editor__scroll {
  display: flex;
  min-height: 100%;
}

.code-editor__copy {
  position: absolute;
  top: 52px;
  right: 12px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 8px 12px;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  white-space: nowrap;
  background-color: #fff;
  color: var(--gray-700);
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.08), inset 0 -2px 0 rgba(16, 24, 40, 0.08), inset 0 0 0 1px rgba(16, 24, 40, 0.22);
  transition: color 0.15s, background-color 0.15s, box-shadow 0.15s, opacity 0.15s;
  opacity: 0;
}
.code-editor:hover .code-editor__copy {
  opacity: 1;
}
.code-editor__copy svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
.code-editor__copy:hover {
  background-color: var(--gray-50);
  color: var(--gray-800);
}
.dark .code-editor__copy {
  background-color: var(--gray-800);
  color: var(--gray-300);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35), inset 0 -2px 0 rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.3);
}
.dark .code-editor__copy:hover {
  background-color: var(--gray-700);
  color: var(--gray-200);
}
.code-editor__copy.is-copied {
  opacity: 1;
  color: var(--green-600);
}
.dark .code-editor__copy.is-copied {
  color: var(--green-400);
}

.code-editor__lines {
  flex-shrink: 0;
  padding: 16px 0;
  min-width: 48px;
  text-align: right;
  border-right: 1px solid var(--gray-200);
  color: var(--gray-400);
  font-size: 12px;
  line-height: 20px;
  font-family: "SF Mono", Monaco, "Cascadia Code", "Courier New", monospace;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.dark .code-editor__lines {
  border-color: var(--gray-700);
  color: var(--gray-600);
}
.code-editor__lines span {
  display: block;
  padding-right: 12px;
}

.code-editor__code {
  flex: 1;
  margin: 0;
  padding: 16px;
  font-size: 12px;
  line-height: 20px;
  font-family: "SF Mono", Monaco, "Cascadia Code", "Courier New", monospace;
  overflow-x: auto;
  white-space: pre;
  color: var(--gray-700);
  background: transparent;
  border: none;
}
.dark .code-editor__code {
  color: var(--gray-300);
}

.ce-key {
  color: var(--brand-500);
}
.dark .ce-key {
  color: var(--brand-400);
}

.ce-str {
  color: var(--green-600);
}
.dark .ce-str {
  color: var(--green-400);
}

.ce-num {
  color: var(--orange-500);
}
.dark .ce-num {
  color: var(--orange-400);
}

.ce-bool {
  color: var(--red-500);
}
.dark .ce-bool {
  color: var(--red-400);
}

.ce-null {
  color: var(--gray-400);
}
.dark .ce-null {
  color: var(--gray-500);
}

.table-card {
  position: relative;
  margin: 0 -16px -16px;
  display: flex;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .table-card {
    flex: 1;
    min-height: 0;
    margin: 0 -24px -24px -23px;
  }
}
.table-card > form {
  display: flex;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .table-card > form {
    flex: 1;
    min-height: 0;
  }
}

.data-table__bulk-ids {
  height: 0;
  overflow: hidden;
}

.table-toolbar {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  min-height: 60px;
  padding-top: 12px;
  padding-bottom: 12px;
  border-top: 1px solid var(--gray-200);
  border-bottom: 1px solid var(--gray-200);
  background-color: #fff;
  position: relative;
  z-index: 1;
}
.dark .table-toolbar {
  border-top-color: var(--gray-800);
  border-bottom-color: var(--gray-800);
  background-color: var(--gray-900);
}

.table-toolbar__check {
  grid-column: 1;
  grid-row: 1;
  padding-left: 16px;
  display: flex;
  align-items: center;
}
@media (min-width: 1024px) {
  .table-toolbar__check {
    padding-left: 24px;
  }
}
.table-toolbar__check--disabled {
  opacity: 0.4;
  pointer-events: none;
}

.table-toolbar__filters {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 24px;
  padding-left: 24px;
  padding-right: 16px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
@media (min-width: 1024px) {
  .table-toolbar__filters {
    overflow-x: visible;
    padding-right: 24px;
  }
}
.table-toolbar__filters--no-bulk {
  grid-column: 1/-1;
  padding-left: 16px;
}
@media (min-width: 1024px) {
  .table-toolbar__filters--no-bulk {
    padding-left: 24px;
  }
}

.table-toolbar__bulk {
  grid-column: 2;
  grid-row: 1;
  align-self: stretch;
  margin-top: -12px;
  margin-bottom: -12px;
  display: flex;
  align-items: center;
  gap: 24px;
  padding-left: 24px;
  padding-right: 16px;
  background-color: white;
  z-index: 1;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.15s, visibility 0.15s;
}
@media (min-width: 1024px) {
  .table-toolbar__bulk {
    padding-right: 24px;
  }
}
.dark .table-toolbar__bulk {
  background-color: var(--gray-900);
}
.table-toolbar__bulk--visible {
  visibility: visible;
  opacity: 1;
}

.table-toolbar__bulk-count {
  font-size: 14px;
  font-weight: 500;
  color: var(--gray-700);
  white-space: nowrap;
}
.dark .table-toolbar__bulk-count {
  color: #fff;
}

.table-toolbar__bulk-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.table-tabs {
  display: inline-flex;
  align-items: center;
  border-radius: 8px;
  border: 1px solid var(--gray-200);
  overflow: hidden;
}
.dark .table-tabs {
  border-color: var(--gray-700);
}

.table-tabs__tab {
  padding: 6px 12px;
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
  transition: color 0.15s, background-color 0.15s;
  color: var(--gray-600);
  border-right: 1px solid var(--gray-200);
}
.dark .table-tabs__tab {
  color: var(--gray-400);
  border-right-color: var(--gray-700);
}
.table-tabs__tab:last-child {
  border-right: none;
}
.table-tabs__tab:hover {
  background-color: var(--gray-50);
}
.dark .table-tabs__tab:hover {
  background-color: var(--gray-800);
}
.table-tabs__tab--active {
  background-color: var(--gray-50);
  color: var(--gray-900);
}
.dark .table-tabs__tab--active {
  background-color: var(--gray-800);
  color: #fff;
}

.table-filter-group {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
@media (min-width: 640px) {
  .table-filter-group--offset {
    margin-left: 16px;
  }
}

.table-filter {
  position: relative;
}
.table-filter--disabled {
  opacity: 0.4;
  pointer-events: none;
}

.table-filter__toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 36px;
  padding: 0 12px;
  border-radius: 4px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  white-space: nowrap;
  border: none;
  background-color: #fff;
  color: var(--gray-500);
  box-shadow: 0 1px 3px var(--gray-300), 0 0 0 1px var(--gray-300);
  transition: color 0.15s, background-color 0.15s, box-shadow 0.15s;
  cursor: pointer;
}
.table-filter__toggle:hover {
  background-color: var(--gray-50);
  color: var(--gray-700);
}
.table-filter__toggle:focus {
  outline: none;
}
.dark .table-filter__toggle {
  background-color: rgba(62, 69, 78, 0.1);
  color: var(--gray-500);
  box-shadow: inset 0 0 0 1px var(--gray-600), 0 1px 3px rgba(0, 0, 0, 0.3);
}
.dark .table-filter__toggle:hover {
  background-color: rgba(62, 69, 78, 0.2);
  color: var(--gray-300);
}
.table-filter__toggle--open {
  background-color: var(--gray-50);
  color: var(--gray-700);
}
.dark .table-filter__toggle--open {
  background-color: rgba(62, 69, 78, 0.2);
  color: var(--gray-300);
}
.table-filter__toggle--closing {
  transition: none !important;
  background-color: #fff !important;
  color: var(--gray-500) !important;
}
.dark .table-filter__toggle--closing {
  background-color: rgba(62, 69, 78, 0.1) !important;
  color: var(--gray-500) !important;
}
.table-filter__toggle--active {
  background-color: var(--brand-50);
  box-shadow: 0 1px 3px var(--gray-300), 0 0 0 1px var(--brand-400);
  color: var(--brand-600);
}
.dark .table-filter__toggle--active {
  background-color: rgba(62, 69, 78, 0.5);
  box-shadow: inset 0 0 0 1px var(--gray-600), 0 1px 3px rgba(0, 0, 0, 0.3);
  color: var(--brand-400);
}

.table-filter__value {
  color: var(--gray-900);
}
.dark .table-filter__value {
  color: var(--gray-300);
}

.table-filter__chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  margin-right: -4px;
  border-radius: 4px;
  color: var(--gray-400);
  flex-shrink: 0;
  transition: color 0.15s, background-color 0.15s;
}
.dark .table-filter__chevron {
  color: var(--gray-500);
}
.table-filter__toggle:hover .table-filter__chevron {
  color: var(--gray-600);
  background-color: var(--gray-200);
}
.dark .table-filter__toggle:hover .table-filter__chevron {
  color: var(--gray-400);
  background-color: var(--gray-700);
}
.table-filter__toggle--open .table-filter__chevron {
  color: var(--gray-600) !important;
  background-color: var(--gray-200) !important;
}
.dark .table-filter__toggle--open .table-filter__chevron {
  color: var(--gray-400) !important;
  background-color: var(--gray-700) !important;
}
.table-filter__toggle--closing .table-filter__chevron {
  color: var(--gray-400) !important;
  background-color: transparent !important;
}
.dark .table-filter__toggle--closing .table-filter__chevron {
  color: var(--gray-500) !important;
  background-color: transparent !important;
}
@media (hover: hover) {
  .table-filter__toggle .table-filter__chevron:hover {
    color: var(--gray-700);
    background-color: var(--gray-300);
  }
  .dark .table-filter__toggle .table-filter__chevron:hover {
    color: var(--gray-300);
    background-color: var(--gray-600);
  }
}
.table-filter__chevron svg {
  width: 16px;
  height: 16px;
}
.table-filter__toggle--open .table-filter__chevron svg {
  transform: rotate(180deg);
}

.table-filter__clear {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  margin-right: -4px;
  border-radius: 4px;
  color: var(--gray-400);
  flex-shrink: 0;
  transition: color 0.15s, background-color 0.15s;
}
.dark .table-filter__clear {
  color: var(--gray-500);
}
.table-filter__toggle:hover .table-filter__clear {
  color: var(--gray-600);
  background-color: var(--gray-200);
}
.dark .table-filter__toggle:hover .table-filter__clear {
  color: var(--gray-400);
  background-color: var(--gray-700);
}
@media (hover: hover) {
  .table-filter__toggle .table-filter__clear:hover {
    color: var(--gray-700);
    background-color: var(--gray-300);
  }
  .dark .table-filter__toggle .table-filter__clear:hover {
    color: var(--gray-300);
    background-color: var(--gray-600);
  }
}
.table-filter__clear svg {
  width: 16px;
  height: 16px;
}

.table-filter__dropdown {
  position: absolute;
  left: 0;
  top: 100%;
  margin-top: 6px;
  width: 240px;
  background-color: white;
  border: none;
  border-radius: 6px;
  box-shadow: 0 2px 4px var(--gray-300), 0 0 0 1px var(--gray-200);
  z-index: 30;
  overflow: hidden;
  animation: filter-dropdown-in 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.dark .table-filter__dropdown {
  background-color: var(--gray-800);
  box-shadow: inset 0 0 0 1px var(--gray-700), 0 4px 6px rgba(0, 0, 0, 0.5), 0 1px 0 rgba(0, 0, 0, 0.6);
}

@keyframes filter-dropdown-in {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes filter-dropdown-out {
  from {
    opacity: 1;
    transform: scale(1);
  }
  to {
    opacity: 0;
    transform: scale(0.95);
  }
}
.table-filter__option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  font-size: 14px;
  font-weight: 500;
  color: var(--gray-700);
  border-bottom: 1px solid var(--gray-100);
  transition: background-color 0.1s;
  cursor: pointer;
}
.table-filter__option:last-child {
  border-bottom: none;
}
.table-filter__option:hover {
  background-color: var(--gray-50);
}
.dark .table-filter__option {
  color: var(--gray-300);
  border-bottom-color: var(--gray-700);
}
.dark .table-filter__option:hover {
  background-color: var(--gray-700);
}

.table-filter__footer {
  border-top: 1px solid var(--gray-200);
  background-color: var(--gray-50);
  padding: 12px;
}
.dark .table-filter__footer {
  border-top-color: var(--gray-700);
  background-color: var(--gray-700);
}

.table-search {
  position: relative;
  width: 256px;
  flex-shrink: 0;
  margin-left: auto;
}
.table-search--disabled {
  opacity: 0.4;
  pointer-events: none;
}

.table-search__icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  color: var(--gray-400);
  pointer-events: none;
}

.table-search .form-input {
  padding-left: 36px;
  padding-right: 36px;
}
.table-search .form-input:focus {
  padding-left: 35px;
  padding-right: 35px;
}
.dark .table-search .form-input:focus {
  padding-left: 35px;
  padding-right: 35px;
}

.table-search__clear {
  display: flex;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
}
.table-search__clear.tooltip {
  position: absolute;
}
.table-search__clear {
  padding: 2px;
  border-radius: 4px;
  color: var(--gray-700);
  transition: color 0.15s, background-color 0.15s;
}
.table-search__clear:hover {
  color: var(--gray-900);
  background-color: rgba(111, 119, 128, 0.1);
}
.dark .table-search__clear {
  color: var(--gray-300);
}
.dark .table-search__clear:hover {
  color: var(--gray-100);
  background-color: rgba(194, 200, 208, 0.1);
}
.table-search__clear svg {
  width: 16px;
  height: 16px;
}

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

.table-perpage__select {
  width: auto;
}
.table-perpage__select--default {
  color: var(--gray-400);
}
.dark .table-perpage__select--default {
  color: var(--gray-500);
}
.table-perpage__select--default option {
  color: initial;
}

.data-table {
  position: relative;
  width: 100%;
  font-size: 14px;
  border-collapse: separate;
  border-spacing: 0;
}
.table-card--loading .data-table::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 20;
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  opacity: 0;
  transition: opacity 0.15s;
  pointer-events: auto;
}
.dark .table-card--loading .data-table::after {
  background: rgba(0, 0, 0, 0.3);
}
.table-card--loading-visible .data-table::after {
  opacity: 1;
}
.data-table thead {
  transition: box-shadow 0.15s;
}
@media (min-width: 1024px) {
  .data-table thead {
    position: sticky;
    top: 0;
    z-index: 25;
  }
}
.data-table__scroll {
  flex: 1;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
@media (min-width: 1024px) {
  .data-table__scroll {
    min-height: 0;
    overflow: auto;
  }
}
.data-table th {
  font-weight: 500;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 12px;
  text-align: left;
  white-space: nowrap;
  border-bottom: 1px solid var(--gray-200);
  background: var(--gray-100);
  color: var(--gray-500);
}
.dark .data-table th {
  border-bottom-color: var(--gray-700);
  background: var(--gray-800);
}
@media (min-width: 1024px) {
  .data-table th:first-child {
    padding-left: 24px;
  }
}
@media (min-width: 1024px) {
  .data-table th:last-child {
    padding-right: 24px;
  }
}
.data-table td {
  padding: 16px 12px;
  border-bottom: 1px solid var(--gray-200);
  color: var(--gray-500);
  vertical-align: middle;
  white-space: nowrap;
}
.dark .data-table td {
  border-bottom-color: var(--gray-800);
  color: var(--gray-400);
}
.data-table td:first-child {
  color: var(--gray-800);
}
.dark .data-table td:first-child {
  color: var(--gray-50);
}
@media (min-width: 1024px) {
  .data-table td:first-child {
    padding-left: 24px;
  }
}
@media (min-width: 1024px) {
  .data-table td:last-child {
    padding-right: 24px;
  }
}
.data-table th.text-right,
.data-table td.text-right {
  width: 100%;
}
.data-table tbody tr:last-child td {
  border-bottom: none;
}
.data-table__check-col {
  width: 40px;
}
@media (min-width: 1024px) {
  .data-table__check-col {
    padding-left: 24px;
    padding-right: 8px;
  }
}
.data-table__check-cell {
  width: 40px;
  padding-left: 8px;
}
@media (min-width: 1024px) {
  .data-table__check-cell {
    padding-left: 24px;
    padding-right: 8px;
  }
}

.data-table__th--active {
  color: var(--gray-800);
}
.dark .data-table__th--active {
  color: var(--gray-50);
}

.data-table__sort {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: inherit;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.data-table__sort:hover {
  color: var(--gray-900);
}
.dark .data-table__sort:hover {
  color: #fff;
}

.data-table__sort-icon {
  width: 16px;
  height: 16px;
  margin-left: 2px;
  flex-shrink: 0;
}

.table-avatar {
  width: 40px;
  height: 40px;
  border-radius: 6px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  position: relative;
  overflow: hidden;
}

.table-avatar__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
  transition: opacity 0.2s;
}
.table-avatar__img.loaded {
  opacity: 1;
}

.table-avatar__info {
  min-width: 0;
}

.table-avatar__name {
  font-weight: 500;
  color: var(--gray-900);
  transition: color 0.15s;
}
.dark .table-avatar__name {
  color: #fff;
}
.table-avatar__name:hover {
  color: var(--brand-600);
}
.dark .table-avatar__name:hover {
  color: var(--brand-400);
}

.table-avatar__sub {
  font-size: 12px;
  color: var(--gray-500);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dark .table-avatar__sub {
  color: var(--gray-400);
}

.data-table__row:hover {
  background-color: var(--gray-50);
}
.dark .data-table__row:hover {
  background-color: rgba(255, 255, 255, 0.03);
}
.data-table__row--selected, .data-table__row--selected:hover {
  background-color: rgba(0, 105, 180, 0.05);
}
.dark .data-table__row--selected, .dark .data-table__row--selected:hover {
  background-color: rgba(0, 105, 180, 0.1);
}

.table-card.is-scrolled .data-table thead {
  box-shadow: 0 1px 2px -1px rgba(0, 0, 0, 0.14);
}
.dark .table-card.is-scrolled .data-table thead {
  box-shadow: 0 2px 2px -1px rgba(0, 0, 0, 0.4);
}

.table-card.can-scroll-down:not(.table-card--flow) .pagination::before {
  opacity: 1;
}

.inline-table th {
  padding-top: 16px;
  padding-bottom: 16px;
  background: var(--gray-50);
}
.dark .inline-table th {
  background: var(--gray-900);
}
.inline-table td {
  font-size: 14px;
  color: var(--gray-700);
}
.dark .inline-table td {
  color: var(--gray-300);
  border-bottom-color: var(--gray-700);
}
.inline-table tfoot td {
  background: var(--gray-50);
  border-top: 1px solid var(--gray-200);
  border-bottom: none;
  color: var(--gray-700);
  font-weight: 600;
}
.dark .inline-table tfoot td {
  background: var(--gray-900);
  border-top-color: var(--gray-700);
  color: var(--gray-300);
}

.pagination {
  position: relative;
  display: flex;
  align-items: center;
  height: 72px;
  padding: 0 16px;
}
.pagination::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background-color: var(--gray-200);
}
.dark .pagination::after {
  left: 1px;
  background-color: var(--gray-800);
}
.pagination::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 100%;
  height: 3px;
  z-index: 26;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.15s;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.08), transparent);
}
.dark .pagination::before {
  left: 2px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.25), transparent);
}
@media (min-width: 640px) {
  .pagination {
    padding-left: 24px;
    padding-right: 24px;
  }
}

.pagination__btn {
  width: 36px;
  justify-content: center;
  padding-left: 0;
  padding-right: 0;
}
.pagination__btn--pages {
  display: none !important;
}
@media (min-width: 640px) {
  .pagination__btn--pages {
    display: inline-flex !important;
  }
}
.pagination__btn--mobile {
  pointer-events: none;
}
@media (min-width: 640px) {
  .pagination__btn--mobile {
    display: none !important;
  }
}

.empty-state {
  margin: 0 auto;
  display: flex;
  width: 100%;
  max-width: 512px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 64px 0;
  flex-shrink: 0;
}

.empty-state__header {
  position: relative;
  margin-bottom: 20px;
}

.empty-state__pattern {
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--gray-200);
}
.dark .empty-state__pattern {
  color: var(--gray-700);
}

.empty-state__body {
  position: relative;
  z-index: 10;
  display: flex;
  width: 100%;
  max-width: 384px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 32px;
  gap: 4px;
}

.empty-state__title {
  font-size: 18px;
  line-height: 28px;
  font-weight: 600;
  color: var(--gray-900);
}
.dark .empty-state__title {
  color: #fff;
}

.empty-state__message {
  text-align: center;
  font-size: 14px;
  line-height: 20px;
  color: var(--gray-500);
}
.dark .empty-state__message {
  color: var(--gray-400);
}

.empty-state__actions {
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 12px;
}

.breadcrumb {
  display: flex;
  align-items: center;
  gap: 2px;
}
.breadcrumb__separator {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: var(--gray-300);
}
.dark .breadcrumb__separator {
  color: var(--gray-600);
}
.breadcrumb__current {
  background-color: var(--gray-50);
  color: var(--gray-700);
}
.dark .breadcrumb__current {
  background-color: var(--gray-800);
  color: var(--gray-300);
}

.page-heading {
  padding-bottom: 24px;
  position: relative;
  z-index: 1;
  background-color: #fff;
}
.dark .page-heading {
  background-color: var(--gray-900);
}
.page-heading__breadcrumbs {
  display: flex;
  margin-bottom: 8px;
}
.page-heading__breadcrumbs-list {
  display: flex;
  align-items: center;
  gap: 8px;
  list-style: none;
}
.page-heading__home-link {
  color: var(--gray-400);
  transition: color 0.15s;
}
.page-heading__home-link:hover {
  color: var(--gray-600);
}
.dark .page-heading__home-link {
  color: var(--gray-500);
}
.dark .page-heading__home-link:hover {
  color: var(--gray-300);
}
.page-heading__home-link .icon {
  width: 16px;
  height: 16px;
}
.page-heading__crumb {
  display: flex;
  align-items: center;
}
.page-heading__crumb-separator {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: var(--gray-300);
}
.dark .page-heading__crumb-separator {
  color: var(--gray-600);
}
.page-heading__crumb-link {
  margin-left: 8px;
  font-size: 14px;
  font-weight: 500;
  color: var(--gray-500);
  transition: color 0.15s;
}
.page-heading__crumb-link:hover {
  color: var(--gray-700);
}
.dark .page-heading__crumb-link {
  color: var(--gray-400);
}
.dark .page-heading__crumb-link:hover {
  color: var(--gray-200);
}
.page-heading__crumb-text {
  margin-left: 8px;
  font-size: 14px;
  font-weight: 500;
  color: var(--gray-500);
}
.dark .page-heading__crumb-text {
  color: var(--gray-400);
}
@media (min-width: 768px) {
  .page-heading__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
.page-heading__title-wrap {
  min-width: 0;
  flex: 1;
}
.page-heading__title {
  font-size: 24px;
  line-height: 32px;
  font-weight: 700;
  color: var(--gray-900);
  letter-spacing: -0.01em;
}
.dark .page-heading__title {
  color: #fff;
}
@media (min-width: 640px) {
  .page-heading__title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
.page-heading__description {
  margin-top: 4px;
  font-size: 14px;
  line-height: 20px;
  color: var(--gray-700);
}
.dark .page-heading__description {
  color: var(--gray-300);
}
.page-heading__count {
  margin-left: 8px;
  display: inline-flex;
  align-items: center;
  padding: 2px 10px;
  border-radius: 9999px;
  font-size: 14px;
  font-weight: 500;
  background-color: var(--brand-50);
  color: var(--brand-700);
}
.dark .page-heading__count {
  background-color: rgba(0, 105, 180, 0.15);
  color: var(--brand-300);
}
.page-heading__actions {
  margin-top: 16px;
  display: flex;
  flex-shrink: 0;
  gap: 12px;
}
@media (min-width: 768px) {
  .page-heading__actions {
    margin-left: 16px;
    margin-top: 0;
  }
}

.delete-card {
  display: flex;
  gap: 16px;
}
.delete-card__icon {
  width: 40px;
  height: 40px;
  border-radius: 9999px;
  background-color: var(--red-100);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.dark .delete-card__icon {
  background-color: rgba(239, 68, 68, 0.2);
}
.delete-card__icon svg {
  width: 20px;
  height: 20px;
  color: var(--red-600);
}
.dark .delete-card__icon svg {
  color: var(--red-400);
}
.delete-card__title {
  font-size: 18px;
  line-height: 28px;
  font-weight: 600;
  color: var(--gray-900);
}
.dark .delete-card__title {
  color: #fff;
}
.delete-card__message {
  margin-top: 4px;
  font-size: 14px;
  line-height: 20px;
  color: var(--gray-500);
}
.dark .delete-card__message {
  color: var(--gray-400);
}
.delete-card__actions {
  margin-top: 20px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.modal {
  position: relative;
  z-index: 60;
}
.modal.hidden {
  display: none;
}

.modal__backdrop {
  position: fixed;
  inset: 0;
  background: rgba(107, 114, 128, 0.75);
  transition: opacity 0.15s;
}
.dark .modal__backdrop {
  background: rgba(17, 21, 25, 0.8);
}

.modal__container {
  position: fixed;
  inset: 0;
  z-index: 10;
  overflow-y: auto;
  display: flex;
  min-height: 100%;
  align-items: flex-end;
  justify-content: center;
  padding: 16px;
}
@media (min-width: 640px) {
  .modal__container {
    align-items: center;
    padding: 0;
  }
}

.modal__panel {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 16px;
  background: #ffffff;
  text-align: left;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
}
.dark .modal__panel {
  background: var(--gray-800);
}
@media (min-width: 640px) {
  .modal__panel {
    max-width: 512px;
  }
}

.modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  padding: 8px;
  color: var(--gray-400);
  cursor: pointer;
  transition: background-color 0.15s, color 0.15s;
}
.modal__close:hover {
  background: var(--gray-100);
  color: var(--gray-500);
}
.dark .modal__close:hover {
  background: var(--gray-700);
  color: var(--gray-300);
}
.modal__close .icon {
  width: 20px;
  height: 20px;
}

.modal__content {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 20px 16px 0;
}
@media (min-width: 640px) {
  .modal__content {
    flex-direction: row;
    padding: 24px 24px 0;
  }
}

.modal__icon-wrapper {
  position: relative;
  width: -moz-max-content;
  width: max-content;
  height: -moz-max-content;
  height: max-content;
}

.modal__icon {
  position: relative;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
}
.modal__icon--danger {
  background: var(--red-100);
  color: var(--red-600);
}
.dark .modal__icon--danger {
  background: rgba(239, 68, 68, 0.2);
  color: var(--red-400);
}
.modal__icon .icon {
  width: 24px;
  height: 24px;
  z-index: 10;
}

.modal__text {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.modal__title {
  font-size: 16px;
  font-weight: 600;
  color: var(--gray-800);
}
.dark .modal__title {
  color: var(--gray-50);
}

.modal__message {
  font-size: 14px;
  color: var(--gray-500);
}
.dark .modal__message {
  color: var(--gray-400);
}
.modal__message strong {
  font-weight: 600;
}

.modal__actions {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  gap: 12px;
  padding: 16px;
  padding-top: 24px;
}
@media (min-width: 640px) {
  .modal__actions {
    flex-direction: row;
    align-items: center;
    padding: 32px 24px 24px;
  }
  .modal__actions > button:first-child {
    margin-left: auto;
  }
}

.toast-container {
  position: fixed;
  z-index: 100;
  padding: 24px;
  pointer-events: none;
}
.toast-container--bottom-right {
  bottom: 0;
  right: 0;
}
.toast-container--bottom-left {
  bottom: 0;
  left: 0;
}
.toast-container--top-right {
  top: 0;
  right: 0;
}
.toast-container--top-left {
  top: 0;
  left: 0;
}
.toast-container--bottom-center {
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.toast-container--top-center {
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.toast-container__inner {
  position: relative;
  width: 100%;
  max-width: 384px;
  pointer-events: auto;
  transition: height 0.3s ease;
}
@media (min-width: 640px) {
  .toast-container__inner {
    width: 384px;
  }
}

.toast {
  position: absolute;
  bottom: 0;
  width: 100%;
  pointer-events: auto;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 16px 32px -8px rgba(152, 162, 179, 0.25), 0 1px 2px rgba(16, 24, 40, 0.08);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  touch-action: none;
  cursor: grab;
  --index: 0;
  --offset: 0;
  --stack-y: calc(var(--index) * -14px);
  --stack-scale: calc(1 - var(--index) * 0.05);
  transform: translateY(var(--stack-y)) scale(var(--stack-scale));
  opacity: 1;
  z-index: calc(10 - var(--index));
  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s ease;
}
.toast::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 8px;
  box-shadow: inset 0 -2px 0 rgba(16, 24, 40, 0.08), inset 0 0 0 1px rgba(16, 24, 40, 0.22);
  pointer-events: none;
  z-index: 1;
}
.dark .toast {
  background: var(--gray-800);
  box-shadow: 0 16px 32px -8px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.35);
}
.dark .toast::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 7px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  -webkit-mask-image: linear-gradient(to bottom, black, transparent);
  mask-image: linear-gradient(to bottom, black, transparent);
  pointer-events: none;
}
.dark .toast::after {
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.3);
}
.toast-container--top-right .toast, .toast-container--top-left .toast, .toast-container--top-center .toast {
  bottom: auto;
  top: 0;
  --stack-y: calc(var(--index) * 14px);
}
.toast[data-index="3"], .toast[data-index="4"], .toast[data-index="5"] {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
.toast.is-dragging {
  transition: none;
  cursor: grabbing;
}

.toast-container__inner.is-expanded .toast {
  transform: translateY(calc(var(--offset) * -1px)) scale(1);
  opacity: 1;
}
.toast-container--top-right .toast-container__inner.is-expanded .toast, .toast-container--top-left .toast-container__inner.is-expanded .toast, .toast-container--top-center .toast-container__inner.is-expanded .toast {
  transform: translateY(calc(var(--offset) * 1px)) scale(1);
}

.toast-container__inner.is-expanded .toast[data-index="3"],
.toast-container__inner.is-expanded .toast[data-index="4"],
.toast-container__inner.is-expanded .toast[data-index="5"] {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.toast-container--anim-right .toast--enter {
  transform: translateX(calc(100% + 24px)) !important;
  opacity: 0 !important;
}

.toast-container--anim-left .toast--enter {
  transform: translateX(calc(-100% - 24px)) !important;
  opacity: 0 !important;
}

.toast-container--anim-bottom .toast--enter {
  transform: translateY(calc(100% + 24px)) !important;
  opacity: 0 !important;
}

.toast-container--anim-top .toast--enter {
  transform: translateY(calc(-100% - 24px)) !important;
  opacity: 0 !important;
}

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

.toast-container--anim-right .toast--exit {
  transform: translateX(calc(100% + 24px)) !important;
  opacity: 0 !important;
}

.toast-container--anim-left .toast--exit {
  transform: translateX(calc(-100% - 24px)) !important;
  opacity: 0 !important;
}

.toast-container--anim-bottom .toast--exit {
  transform: translateY(calc(100% + 24px)) !important;
  opacity: 0 !important;
}

.toast-container--anim-top .toast--exit {
  transform: translateY(calc(-100% - 24px)) !important;
  opacity: 0 !important;
}

.toast__body {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 48px 16px 16px;
}
.toast__body--centered {
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 8px;
}
.toast__body--centered .toast__icon-wrap {
  margin: 0;
}
.toast__body--centered .toast__close {
  top: 50%;
  transform: translateY(-50%);
}

.toast__icon-wrap {
  position: relative;
  width: -moz-max-content;
  width: max-content;
  height: -moz-max-content;
  height: max-content;
  flex-shrink: 0;
  color: var(--gray-200);
}
.dark .toast__icon-wrap {
  color: var(--gray-700);
}

.toast__pattern {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100px;
  height: 100px;
  pointer-events: none;
}

.toast__icon-bg {
  position: relative;
  z-index: 1;
  border-radius: 50%;
  background: #fff;
}
.dark .toast__icon-bg {
  background: var(--gray-800);
}

.toast__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: inherit;
}
.toast__icon svg {
  width: 20px;
  height: 20px;
}
.toast__icon--success {
  background: var(--green-100);
  color: var(--green-600);
}
.dark .toast__icon--success {
  background: rgba(34, 197, 94, 0.2);
  color: var(--green-400);
}
.toast__icon--error {
  background: var(--red-100);
  color: var(--red-600);
}
.dark .toast__icon--error {
  background: rgba(239, 68, 68, 0.2);
  color: var(--red-400);
}
.toast__icon--warning {
  background: var(--orange-100);
  color: var(--orange-600);
}
.dark .toast__icon--warning {
  background: rgba(234, 88, 12, 0.2);
  color: var(--orange-400);
}
.toast__icon--info {
  background: var(--brand-100);
  color: var(--brand-600);
}
.dark .toast__icon--info {
  background: rgba(99, 102, 241, 0.2);
  color: var(--brand-400);
}

.toast__text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.toast__title {
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  color: var(--gray-800);
}
.dark .toast__title {
  color: var(--gray-50);
}

.toast__message {
  font-size: 14px;
  line-height: 20px;
  color: var(--gray-500);
}
.dark .toast__message {
  color: var(--gray-400);
}

.toast__close {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: none;
  border-radius: 8px;
  background: none;
  color: var(--gray-400);
  cursor: pointer;
  transition: background-color 0.15s, color 0.15s;
}
.toast__close svg {
  width: 16px;
  height: 16px;
}
.toast__close:hover {
  color: var(--gray-600);
  background: var(--gray-50);
}
.dark .toast__close {
  color: var(--gray-500);
}
.dark .toast__close:hover {
  color: var(--gray-300);
  background: var(--gray-700);
}

.popover {
  position: fixed;
  inset: unset;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 8px;
  overflow: hidden;
  opacity: 0;
  max-width: none;
  width: calc(100vw - 32px);
  background-color: white;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.08);
  transition: opacity 0.2s, transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.popover::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 8px;
  box-shadow: inset 0 -2px 0 rgba(16, 24, 40, 0.08), inset 0 0 0 1px rgba(16, 24, 40, 0.22);
  pointer-events: none;
  z-index: 4;
}
.dark .popover {
  position: relative;
  background-color: var(--gray-800);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}
.dark .popover::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 7px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  -webkit-mask-image: linear-gradient(to bottom, black, transparent);
  mask-image: linear-gradient(to bottom, black, transparent);
  pointer-events: none;
  z-index: 3;
}
.dark .popover::after {
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.3);
}
@media (min-width: 1024px) {
  .popover {
    width: 240px;
  }
}
.popover::backdrop {
  background: transparent;
}
.popover[data-animation=slide-up] {
  transform: translateY(8px);
}
.popover.popover__dialog--visible[data-animation=slide-up] {
  transform: translateY(0);
}
.popover[data-animation=zoom-in] {
  transform: scale(0.95);
}
.popover.popover__dialog--visible[data-animation=zoom-in] {
  transform: scale(1);
}
.popover.popover__dialog--visible {
  opacity: 1;
}

.popover__user-info {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
}

.popover__avatar {
  width: 40px;
  height: 40px;
  border-radius: 6px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  position: relative;
  overflow: hidden;
}

.popover__avatar-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
  transition: opacity 0.2s;
}
.popover__avatar-img.loaded {
  opacity: 1;
}

.popover__user-details {
  min-width: 0;
}

.popover__user-name {
  font-size: 14px;
  font-weight: 500;
  color: var(--gray-950);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dark .popover__user-name {
  color: var(--gray-200);
}

.popover__user-email {
  font-size: 12px;
  color: var(--gray-500);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dark .popover__user-email {
  color: var(--gray-400);
}

.popover__divider {
  height: 1px;
  background-color: var(--gray-200);
}
.dark .popover__divider {
  background-color: var(--gray-700);
}

.popover__body {
  position: relative;
  z-index: 1;
  background-color: white;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
  border-bottom: 1px solid rgba(16, 24, 40, 0.22);
  box-shadow: 0 1px 3px rgba(16, 24, 40, 0.08);
}
.dark .popover__body {
  background-color: var(--gray-800);
  border-bottom: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}

.popover__footer {
  background-color: var(--gray-100);
  margin-top: -12px;
  padding: 12px 0 4px;
}
.dark .popover__footer {
  background-color: var(--gray-900);
}
.popover__footer .popover__menu-item {
  padding: 8px 12px;
}

.popover__role-info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  font-size: 12px;
}

.popover__role-label {
  color: var(--gray-400);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 500;
}

.popover__role-value {
  color: var(--gray-800);
  font-weight: 500;
}
.dark .popover__role-value {
  color: var(--gray-50);
}

.popover__menu-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px;
  font-size: 14px;
  color: var(--gray-700);
  transition: color 0.15s, background-color 0.15s;
}
.dark .popover__menu-item {
  color: var(--gray-400);
}
.popover__menu-item:hover {
  color: var(--gray-950);
}
.dark .popover__menu-item:hover {
  color: white;
}

.popover__body > .popover__menu-item {
  padding: 8px 12px;
}

.popover__body > .popover__divider + .popover__menu-item {
  padding-top: 12px;
}

.popover__body > .popover__menu-item:has(+ .popover__divider) {
  padding-bottom: 12px;
}

.popover__overlay {
  position: fixed;
  top: env(safe-area-inset-top, 0px);
  left: 0;
  right: 0;
  bottom: env(safe-area-inset-bottom, 0px);
  z-index: 9999;
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  opacity: 0;
  transition: opacity 0.2s;
  pointer-events: none;
}
.dark .popover__overlay {
  background: rgba(0, 0, 0, 0.3);
}
.popover__overlay--visible {
  opacity: 1;
  pointer-events: auto;
}

[data-popover].active {
  background-color: var(--gray-300) !important;
}
.dark [data-popover].active {
  background-color: var(--gray-600) !important;
}

@media (hover: hover) {
  [data-popover]:hover {
    background-color: var(--gray-300) !important;
  }
  .dark [data-popover]:hover {
    background-color: var(--gray-600) !important;
  }
  .user-menu__row:hover [data-popover]:not(.active) {
    background-color: var(--gray-200);
  }
  .dark .user-menu__row:hover [data-popover]:not(.active) {
    background-color: var(--gray-700);
  }
}
.confirm-modal {
  display: inline-flex;
}

.confirm-modal__overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s, visibility 0s 0.2s;
}
.dark .confirm-modal__overlay {
  background: rgba(0, 0, 0, 0.3);
}
.confirm-modal.is-open .confirm-modal__overlay {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity 0.2s, visibility 0s;
}

.confirm-modal__container {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 16px;
  visibility: hidden;
  pointer-events: none;
  transition: visibility 0s 0.3s;
}
@media (min-width: 640px) {
  .confirm-modal__container {
    align-items: center;
    padding: 0;
  }
}
.confirm-modal.is-open .confirm-modal__container {
  visibility: visible;
  pointer-events: auto;
  transition: visibility 0s;
}

.confirm-modal__panel {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 8px;
  background: #fff;
  text-align: left;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.08);
  opacity: 0;
  transform: scale(0.95);
  transition: opacity 0.2s, transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.confirm-modal__panel::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 8px;
  box-shadow: inset 0 -2px 0 rgba(16, 24, 40, 0.08), inset 0 0 0 1px rgba(16, 24, 40, 0.22);
  pointer-events: none;
  z-index: 1;
}
.dark .confirm-modal__panel {
  background: var(--gray-800);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}
.dark .confirm-modal__panel::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 7px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  -webkit-mask-image: linear-gradient(to bottom, black, transparent);
  mask-image: linear-gradient(to bottom, black, transparent);
  pointer-events: none;
}
.dark .confirm-modal__panel::after {
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.3);
}
@media (min-width: 640px) {
  .confirm-modal__panel {
    max-width: 480px;
  }
}
.confirm-modal.is-open .confirm-modal__panel {
  opacity: 1;
  transform: scale(1);
}

.confirm-modal__close {
  position: absolute;
  top: 20px;
  right: 16px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: none;
  border-radius: 8px;
  background: none;
  color: var(--gray-400);
  cursor: pointer;
  transition: background-color 0.15s, color 0.15s;
}
.confirm-modal__close:hover {
  background: var(--gray-50);
  color: var(--gray-600);
}
.dark .confirm-modal__close {
  color: var(--gray-500);
}
.dark .confirm-modal__close:hover {
  background: var(--gray-700);
  color: var(--gray-300);
}
.confirm-modal__close svg {
  width: 16px;
  height: 16px;
}
@media (min-width: 640px) {
  .confirm-modal__close {
    top: 24px;
    right: 24px;
  }
}

.confirm-modal__content {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 20px 48px 0 16px;
}
@media (min-width: 640px) {
  .confirm-modal__content {
    flex-direction: row;
    padding: 24px 56px 0 24px;
  }
}

.confirm-modal__icon-wrap {
  position: relative;
  width: -moz-max-content;
  width: max-content;
  height: -moz-max-content;
  height: max-content;
  flex-shrink: 0;
  color: var(--gray-200);
}
.dark .confirm-modal__icon-wrap {
  color: var(--gray-700);
}

.confirm-modal__pattern {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 240px;
  height: 240px;
  pointer-events: none;
}

.confirm-modal__icon {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
}
.confirm-modal__icon svg {
  width: 24px;
  height: 24px;
  z-index: 1;
}
.confirm-modal__icon--danger {
  background: var(--red-100);
  color: var(--red-600);
}
.dark .confirm-modal__icon--danger {
  background: rgba(239, 68, 68, 0.2);
  color: var(--red-400);
}
.confirm-modal__icon--warning {
  background: var(--orange-100);
  color: var(--orange-600);
}
.dark .confirm-modal__icon--warning {
  background: rgba(234, 88, 12, 0.2);
  color: var(--orange-400);
}
.confirm-modal__icon--success {
  background: var(--green-100);
  color: var(--green-600);
}
.dark .confirm-modal__icon--success {
  background: rgba(34, 197, 94, 0.2);
  color: var(--green-400);
}

.confirm-modal__text {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
@media (min-width: 640px) {
  .confirm-modal__text {
    margin-top: 12px;
  }
}

.confirm-modal__title {
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  color: var(--gray-800);
}
.dark .confirm-modal__title {
  color: var(--gray-50);
}

.confirm-modal__message {
  font-size: 14px;
  line-height: 20px;
  color: var(--gray-500);
}
.dark .confirm-modal__message {
  color: var(--gray-400);
}
.confirm-modal__message strong {
  font-weight: 600;
}

.confirm-modal__actions {
  display: flex;
  flex-direction: column-reverse;
  gap: 12px;
  padding: 16px;
  padding-top: 24px;
}
@media (min-width: 640px) {
  .confirm-modal__actions {
    flex-direction: row;
    align-items: center;
    padding: 32px 24px 24px;
  }
  .confirm-modal__actions > *:first-child {
    margin-left: auto;
  }
}

.tooltip {
  position: relative;
  display: inline-flex;
}

.tooltip__content {
  position: absolute;
  z-index: 9999;
  max-width: 320px;
  white-space: normal;
  padding: 8px 12px;
  background-color: var(--gray-900);
  color: #fff;
  font-size: 12px;
  line-height: 18px;
  font-weight: 600;
  border-radius: 8px;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.1s, visibility 0.1s, transform 0.1s;
  box-shadow: 0 4px 6px -2px rgba(16, 24, 40, 0.03), 0 12px 16px -4px rgba(16, 24, 40, 0.08);
}
.dark .tooltip__content {
  background-color: var(--gray-200);
  color: var(--gray-900);
  box-shadow: 0 4px 6px -2px rgba(0, 0, 0, 0.1), 0 12px 16px -4px rgba(0, 0, 0, 0.2);
}

.tooltip__content--top {
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) scale(0.95);
  transform-origin: center bottom;
}

.tooltip__content--bottom {
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) scale(0.95);
  transform-origin: center top;
}

.tooltip__content--left {
  right: calc(100% + 8px);
  top: 50%;
  transform: translateY(-50%) scale(0.95);
  transform-origin: right center;
}

.tooltip__content--right {
  left: calc(100% + 8px);
  top: 50%;
  transform: translateY(-50%) scale(0.95);
  transform-origin: left center;
}

.tooltip__content--top-start {
  bottom: calc(100% + 8px);
  left: 0;
  transform: scale(0.95);
  transform-origin: left bottom;
}

.tooltip__content--top-end {
  bottom: calc(100% + 8px);
  right: 0;
  transform: scale(0.95);
  transform-origin: right bottom;
}

.tooltip__content--bottom-start {
  top: calc(100% + 8px);
  left: 0;
  transform: scale(0.95);
  transform-origin: left top;
}

.tooltip__content--bottom-end {
  top: calc(100% + 8px);
  right: 0;
  transform: scale(0.95);
  transform-origin: right top;
}

.tooltip:hover > .tooltip__content,
.tooltip:focus-within > .tooltip__content {
  transition: opacity 0.15s 0.3s, visibility 0.15s 0.3s, transform 0.2s 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.tooltip:hover > .tooltip__content--top,
.tooltip:focus-within > .tooltip__content--top {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) scale(1);
}

.tooltip:hover > .tooltip__content--bottom,
.tooltip:focus-within > .tooltip__content--bottom {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) scale(1);
}

.tooltip:hover > .tooltip__content--left,
.tooltip:focus-within > .tooltip__content--left {
  opacity: 1;
  visibility: visible;
  transform: translateY(-50%) scale(1);
}

.tooltip:hover > .tooltip__content--right,
.tooltip:focus-within > .tooltip__content--right {
  opacity: 1;
  visibility: visible;
  transform: translateY(-50%) scale(1);
}

.tooltip:hover > .tooltip__content--top-start,
.tooltip:focus-within > .tooltip__content--top-start,
.tooltip:hover > .tooltip__content--top-end,
.tooltip:focus-within > .tooltip__content--top-end,
.tooltip:hover > .tooltip__content--bottom-start,
.tooltip:focus-within > .tooltip__content--bottom-start,
.tooltip:hover > .tooltip__content--bottom-end,
.tooltip:focus-within > .tooltip__content--bottom-end {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}

.tooltip__content--arrow.tooltip__content--top {
  bottom: calc(100% + 4px + 8px);
}
.tooltip__content--arrow.tooltip__content--top::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 4px solid transparent;
  border-top-color: var(--gray-900);
}
.dark .tooltip__content--arrow.tooltip__content--top::after {
  border-top-color: var(--gray-200);
}
.tooltip__content--arrow.tooltip__content--bottom {
  top: calc(100% + 4px + 8px);
}
.tooltip__content--arrow.tooltip__content--bottom::after {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 4px solid transparent;
  border-bottom-color: var(--gray-900);
}
.dark .tooltip__content--arrow.tooltip__content--bottom::after {
  border-bottom-color: var(--gray-200);
}
.tooltip__content--arrow.tooltip__content--left {
  right: calc(100% + 4px + 8px);
}
.tooltip__content--arrow.tooltip__content--left::after {
  content: "";
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  border: 4px solid transparent;
  border-left-color: var(--gray-900);
}
.dark .tooltip__content--arrow.tooltip__content--left::after {
  border-left-color: var(--gray-200);
}
.tooltip__content--arrow.tooltip__content--right {
  left: calc(100% + 4px + 8px);
}
.tooltip__content--arrow.tooltip__content--right::after {
  content: "";
  position: absolute;
  right: 100%;
  top: 50%;
  transform: translateY(-50%);
  border: 4px solid transparent;
  border-right-color: var(--gray-900);
}
.dark .tooltip__content--arrow.tooltip__content--right::after {
  border-right-color: var(--gray-200);
}

.tooltip__title {
  display: block;
  font-weight: 600;
}

.tooltip__desc {
  display: block;
  word-break: break-word;
  font-weight: 400;
  color: var(--gray-300);
  margin-top: 4px;
}
.dark .tooltip__desc {
  color: var(--gray-600);
}

.tooltip[data-tip] > .tooltip__content {
  display: none;
}

.tooltip-fixed {
  position: fixed;
  z-index: 99999;
  max-width: 320px;
  white-space: normal;
  padding: 8px 12px;
  background-color: var(--gray-900);
  color: #fff;
  font-size: 12px;
  line-height: 18px;
  font-weight: 600;
  border-radius: 8px;
  pointer-events: none;
  opacity: 0;
  transform: scale(0.95);
  transition: opacity 0.25s, transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
  box-shadow: 0 4px 6px -2px rgba(16, 24, 40, 0.03), 0 12px 16px -4px rgba(16, 24, 40, 0.08);
}
.dark .tooltip-fixed {
  background-color: var(--gray-200);
  color: var(--gray-900);
  box-shadow: 0 4px 6px -2px rgba(0, 0, 0, 0.1), 0 12px 16px -4px rgba(0, 0, 0, 0.2);
}
.tooltip-fixed.is-visible {
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
}

.tooltip-fixed__arrow {
  position: absolute;
  left: 50%;
  border: 4px solid transparent;
}
.tooltip-fixed__arrow--top {
  bottom: 100%;
  border-bottom-color: var(--gray-900);
}
.dark .tooltip-fixed__arrow--top {
  border-bottom-color: var(--gray-200);
}
.tooltip-fixed__arrow--bottom {
  top: 100%;
  border-top-color: var(--gray-900);
}
.dark .tooltip-fixed__arrow--bottom {
  border-top-color: var(--gray-200);
}

.tooltip-fixed__body .tooltip__title {
  display: block;
  font-weight: 600;
}
.tooltip-fixed__body .tooltip__desc {
  display: block;
  word-break: break-word;
  font-weight: 400;
  color: var(--gray-300);
  margin-top: 4px;
}
.dark .tooltip-fixed__body .tooltip__desc {
  color: var(--gray-600);
}

.card {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  background-color: white;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.08);
}
.card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 8px;
  box-shadow: inset 0 -2px 0 rgba(16, 24, 40, 0.08), inset 0 0 0 1px rgba(16, 24, 40, 0.22);
  pointer-events: none;
  z-index: 4;
}
.dark .card {
  background-color: var(--gray-800);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}
.dark .card::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 7px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  -webkit-mask-image: linear-gradient(to bottom, black, transparent);
  mask-image: linear-gradient(to bottom, black, transparent);
  pointer-events: none;
  z-index: 3;
}
.dark .card::after {
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.3);
}

.card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 58px;
  background-color: var(--gray-50);
  padding: 12px 16px 20px;
  margin-bottom: -8px;
}
.dark .card__header {
  background-color: var(--gray-900);
}

.card__title {
  font-size: 14px;
  font-weight: 600;
  color: var(--gray-700);
}
.dark .card__title {
  color: var(--gray-300);
}

.card__body {
  position: relative;
  z-index: 1;
  padding: 16px;
  background-color: white;
}
.dark .card__body {
  background-color: var(--gray-800);
}

.card__header + .card__body {
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  border-top: 1px solid rgba(16, 24, 40, 0.22);
  box-shadow: 0 -1px 3px rgba(16, 24, 40, 0.08);
}
.dark .card__header + .card__body {
  border-top: none;
  box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.25);
}

.card__body:has(+ .card__footer) {
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
  border-bottom: 1px solid rgba(16, 24, 40, 0.22);
  box-shadow: 0 1px 3px rgba(16, 24, 40, 0.08);
}
.dark .card__body:has(+ .card__footer) {
  border-bottom: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}

.card__header + .card__body:has(+ .card__footer) {
  border-radius: 8px;
  box-shadow: 0 -1px 3px rgba(16, 24, 40, 0.08), 0 1px 3px rgba(16, 24, 40, 0.08);
}
.dark .card__header + .card__body:has(+ .card__footer) {
  box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.25), 0 1px 3px rgba(0, 0, 0, 0.25);
}

.card__footer {
  background-color: var(--gray-50);
  padding: 20px 16px 12px;
  margin-top: -8px;
}
.dark .card__footer {
  background-color: var(--gray-900);
}

.card__metric {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
}

.card__metric-value {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--gray-900);
}
.dark .card__metric-value {
  color: white;
}

.card__metric-trend {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  font-weight: 500;
  color: var(--gray-500);
}
.card__metric-trend--up {
  color: var(--green-600);
}
.dark .card__metric-trend--up {
  color: var(--green-400);
}
.card__metric-trend--down {
  color: var(--red-500);
}
.dark .card__metric-trend--down {
  color: var(--red-400);
}

.card__metric-chart {
  flex-shrink: 0;
  overflow: visible;
}

.card__action {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  border: none;
  border-radius: 4px;
  background: none;
  color: var(--gray-400);
  cursor: pointer;
  transition: background 0.15s;
}
.dark .card__action {
  color: var(--gray-500);
}
@media (hover: hover) {
  .card__action:hover {
    background-color: var(--gray-300);
  }
  .dark .card__action:hover {
    background-color: var(--gray-600);
  }
}

.user-menu {
  margin-top: 8px;
  position: relative;
}
@media (min-width: 1024px) {
  .user-menu {
    position: static;
  }
}

.user-menu__row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  cursor: pointer;
  border-radius: 4px;
  transition: background-color 0.15s;
}
.user-menu__row:hover {
  background-color: var(--gray-100);
}
.dark .user-menu__row:hover {
  background-color: var(--gray-900);
}

.user-menu__avatar {
  width: 40px;
  height: 40px;
  border-radius: 6px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  position: relative;
  overflow: hidden;
}

.user-menu__avatar-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
  transition: opacity 0.2s;
}
.user-menu__avatar-img.loaded {
  opacity: 1;
}

.user-menu__info {
  flex: 1;
  min-width: 0;
}

.user-menu__name {
  font-size: 14px;
  font-weight: 500;
  color: var(--gray-950);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dark .user-menu__name {
  color: var(--gray-200);
}

.user-menu__email {
  font-size: 12px;
  color: var(--gray-500);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dark .user-menu__email {
  color: var(--gray-400);
}

@media (min-width: 1024px) {
  .user-menu__actions {
    position: relative;
  }
}

.auth {
  min-height: 100vh;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--gray-50);
  position: relative;
  overflow: hidden;
}
.dark .auth {
  background-color: var(--gray-1000);
}
.auth__pattern {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 480px;
  height: 480px;
  color: var(--gray-200);
  pointer-events: none;
  z-index: -1;
}
.dark .auth__pattern {
  color: var(--gray-800);
}
@media (max-width: 1024px) {
  .auth__pattern {
    width: 360px;
    height: 360px;
  }
}
.auth--split {
  align-items: stretch;
}
.auth__left {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 48px 32px;
  min-height: 100vh;
  position: relative;
  overflow: hidden;
  background-color: var(--gray-50);
}
.dark .auth__left {
  background-color: var(--gray-1000);
}
.auth__left-inner {
  width: 100%;
  max-width: 360px;
  position: relative;
  z-index: 1;
}
.auth__right {
  flex: 1;
  display: none;
  background-color: #fff;
  color: var(--gray-900);
  box-shadow: 0 2px 4px var(--gray-300), 0 0 0 1px var(--gray-200);
  border-radius: 0;
}
.dark .auth__right {
  background-color: var(--gray-900);
  color: #fff;
  box-shadow: inset 0 0 0 1px var(--gray-700), 0 4px 6px rgba(0, 0, 0, 0.5), 0 1px 0 rgba(0, 0, 0, 0.6);
}
.auth__right {
  position: relative;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  padding: 48px;
}
@media (min-width: 1024px) {
  .auth__right {
    display: flex;
  }
}
.auth__center {
  width: 100%;
  max-width: 360px;
  text-align: left;
  padding: 32px 24px;
  position: relative;
  z-index: 1;
}
.auth__logo {
  height: 48px;
  width: auto;
}
.dark .auth__logo {
  display: none;
}
.auth__logo-dark {
  height: 48px;
  width: auto;
  display: none;
}
.dark .auth__logo-dark {
  display: block;
}
.auth__heading {
  font-size: 24px;
  font-weight: 600;
  line-height: 32px;
  color: var(--gray-800);
}
.dark .auth__heading {
  color: var(--gray-50);
}
.auth__subheading {
  font-size: 14px;
  line-height: 20px;
  color: var(--gray-500);
}
.dark .auth__subheading {
  color: var(--gray-300);
}
.auth__form {
  width: 100%;
  text-align: left;
}
.auth__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.auth__forgot-link {
  font-size: 14px;
  font-weight: 600;
  color: var(--brand-600);
}
.auth__forgot-link:hover {
  color: var(--brand-700);
}
.dark .auth__forgot-link {
  color: var(--brand-400);
}
.dark .auth__forgot-link:hover {
  color: var(--brand-300);
}
.auth__otp {
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
}
.auth__otp-input {
  flex: 1;
  min-width: 0;
  height: 64px;
  text-align: center;
  font-size: 24px;
  font-weight: 500;
  background-color: #fff;
  border: 1px solid var(--gray-300);
  border-radius: 6px;
  color: var(--gray-900);
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05);
  transition: border-color 0.15s;
}
.auth__otp-input::-moz-placeholder {
  color: var(--gray-400);
}
.auth__otp-input::placeholder {
  color: var(--gray-400);
}
.auth__otp-input:focus {
  outline: none;
  border-color: var(--brand-500);
  box-shadow: 0 0 0 1px var(--brand-500);
}
.dark .auth__otp-input {
  background-color: var(--gray-900);
  border: 1px solid var(--gray-700);
  color: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.dark .auth__otp-input::-moz-placeholder {
  color: var(--gray-500);
}
.dark .auth__otp-input::placeholder {
  color: var(--gray-500);
}
.dark .auth__otp-input:focus {
  border-color: var(--brand-400);
  box-shadow: 0 0 0 1px var(--brand-400);
}
.auth__requirements {
  list-style: none;
  margin-top: 16px;
}
.auth__requirement {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  line-height: 20px;
  color: var(--gray-500);
  padding: 2px 0;
}
.dark .auth__requirement {
  color: var(--gray-300);
}
.auth__requirement svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.auth__requirement--met {
  color: var(--green-600);
}
.dark .auth__requirement--met {
  color: var(--green-400);
}
.auth__footer {
  text-align: center;
  font-size: 14px;
  color: var(--gray-500);
}
.dark .auth__footer {
  color: var(--gray-300);
}
.auth__back-link {
  font-size: 14px;
  font-weight: 600;
  color: var(--brand-600);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.auth__back-link:hover {
  color: var(--brand-700);
}
.dark .auth__back-link {
  color: var(--brand-400);
}
.dark .auth__back-link:hover {
  color: var(--brand-300);
}
.auth__resend {
  font-size: 14px;
  color: var(--gray-500);
}
.dark .auth__resend {
  color: var(--gray-300);
}
.auth__resend-btn {
  font-weight: 600;
  color: var(--brand-600);
  cursor: pointer;
  background: none;
  border: none;
  font: inherit;
}
.auth__resend-btn:hover {
  color: var(--brand-700);
}
.dark .auth__resend-btn {
  color: var(--brand-400);
}
.dark .auth__resend-btn:hover {
  color: var(--brand-300);
}
.auth__copyright {
  font-size: 12px;
  color: var(--gray-400);
}
.dark .auth__copyright {
  color: var(--gray-500);
}
.auth__showcase {
  text-align: center;
  max-width: 520px;
  width: 100%;
}
.auth__partners-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
.auth__partners-cta-label {
  font-size: 14px;
  color: var(--gray-500);
  white-space: nowrap;
}
.dark .auth__partners-cta-label {
  color: var(--gray-300);
}
.auth__phone-area {
  position: relative;
  -moz-user-select: none;
       user-select: none;
  -webkit-user-select: none;
  pointer-events: none;
}
.auth__phone-wrap {
  position: relative;
  display: flex;
  justify-content: center;
  padding: 24px 0 0;
  overflow: hidden;
  border-bottom: 1px solid var(--gray-200);
}
.dark .auth__phone-wrap {
  border-bottom-color: var(--gray-700);
}
.auth__phone-blob {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80%;
  height: auto;
  color: var(--gray-100);
  pointer-events: none;
  z-index: 0;
}
.dark .auth__phone-blob {
  color: var(--gray-800);
}
.auth__phone-blob circle {
  fill: none;
  stroke: var(--gray-300);
  stroke-width: 1.5;
}
.dark .auth__phone-blob circle {
  stroke: var(--gray-600);
}
.auth__phone {
  width: 230px;
  aspect-ratio: 715/1496;
  flex-shrink: 0;
  background: #1c1c1e;
  border-radius: 38px;
  padding: 8px;
  position: relative;
  z-index: 1;
  margin-bottom: -80px;
  box-shadow: 0 16px 40px -12px rgba(0, 0, 0, 0.2);
}
.dark .auth__phone {
  box-shadow: 0 16px 40px -12px rgba(0, 0, 0, 0.4), inset 0 0 0 1px rgba(255, 255, 255, 0.15);
}
.auth__phone-btn-mute, .auth__phone-btn-vol-up, .auth__phone-btn-vol-down, .auth__phone-btn-power {
  position: absolute;
  background: #2c2c2e;
  border-radius: 2px;
  z-index: 2;
}
.dark .auth__phone-btn-mute, .dark .auth__phone-btn-vol-up, .dark .auth__phone-btn-vol-down, .dark .auth__phone-btn-power {
  background: #3a3a3c;
}
.auth__phone-btn-mute {
  left: -2px;
  top: 72px;
  width: 2px;
  height: 18px;
  border-radius: 2px 0 0 2px;
}
.auth__phone-btn-vol-up {
  left: -2px;
  top: 108px;
  width: 2px;
  height: 28px;
  border-radius: 2px 0 0 2px;
}
.auth__phone-btn-vol-down {
  left: -2px;
  top: 144px;
  width: 2px;
  height: 28px;
  border-radius: 2px 0 0 2px;
}
.auth__phone-btn-power {
  right: -2px;
  top: 118px;
  width: 2px;
  height: 40px;
  border-radius: 0 2px 2px 0;
}
.auth__phone-island {
  position: absolute;
  top: 16px;
  left: 50%;
  transform: translateX(-50%);
  width: 62px;
  height: 18px;
  background: #1c1c1e;
  border-radius: 20px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 6px;
}
.auth__phone-camera {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #2c2c2e;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}
.auth__phone-screen {
  background: #fff;
  border-radius: 30px;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.auth__phone-status {
  text-align: center;
  font-size: 10px;
  font-weight: 600;
  padding: 16px 0 2px;
  color: #1c2127;
}
.auth__phone-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 16px 10px;
  border-bottom: 1px solid #eaecf0;
  color: #344054;
}
.auth__phone-logo {
  height: 14px;
  width: auto;
}
.auth__phone-body {
  padding: 12px 14px 20px;
  flex: 1;
  overflow: hidden;
}
.auth__phone-crumb {
  font-size: 10px;
  color: #667085;
  margin-bottom: 4px;
}
.auth__phone-title {
  font-size: 13px;
  font-weight: 700;
  color: #101828;
  margin-bottom: 8px;
}
.auth__phone-actions {
  display: flex;
  gap: 6px;
  margin-bottom: 16px;
}
.auth__phone-btn {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 9px;
  padding: 4px 8px;
  border: 1px solid #d0d5dd;
  border-radius: 5px;
  color: #344054;
  background: #fff;
}
.auth__phone-cards {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}
.auth__phone-card {
  flex: 1;
  min-width: 0;
  background: #f9fafb;
  border: 1px solid #eaecf0;
  border-radius: 8px;
  padding: 8px;
}
.auth__phone-card-icon {
  color: #667085;
  margin-bottom: 6px;
}
.auth__phone-card-label {
  font-size: 8px;
  color: #667085;
  margin-bottom: 2px;
}
.auth__phone-card-value {
  font-size: 14px;
  font-weight: 700;
  color: #101828;
}
.auth__phone-card-badge {
  display: inline-block;
  font-size: 8px;
  font-weight: 600;
  color: #027a48;
  background: #ecfdf3;
  padding: 1px 5px;
  border-radius: 10px;
  margin-top: 2px;
}
.auth__phone-revenue {
  padding: 12px 0;
  border-top: 1px solid #eaecf0;
  margin-bottom: 12px;
}
.auth__phone-revenue-label {
  font-size: 10px;
  color: #667085;
  margin-bottom: 2px;
}
.auth__phone-revenue-row {
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.auth__phone-tabs {
  display: flex;
  font-size: 9px;
  color: #667085;
  border: 1px solid #eaecf0;
  border-radius: 5px;
  overflow: hidden;
}
.auth__phone-tabs span {
  padding: 4px 8px;
  border-right: 1px solid #eaecf0;
}
.auth__phone-tabs span:last-child {
  border-right: none;
}
.auth__phone-tabs span.active {
  background: #f9fafb;
  font-weight: 600;
  color: #344054;
}
.auth__notif {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 10px;
  background: #fff;
  border-radius: 12px;
  padding: 10px 14px;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.08), inset 0 -2px 0 rgba(16, 24, 40, 0.08), inset 0 0 0 1px rgba(16, 24, 40, 0.22);
  font-size: 12px;
  color: var(--gray-700);
  white-space: nowrap;
  z-index: 3;
  opacity: 0;
  transform: scale(0.7);
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.auth__notif--visible {
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.4s ease, transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.dark .auth__notif {
  background: var(--gray-800);
  color: var(--gray-300);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35), inset 0 -2px 0 rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.3);
}
.auth__notif strong {
  color: var(--gray-900);
}
.dark .auth__notif strong {
  color: #fff;
}
.auth__notif-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gray-100);
}
.dark .auth__notif-avatar {
  background: var(--gray-700);
}
.auth__notif-avatar img {
  width: 20px;
  height: 20px;
  -o-object-fit: contain;
     object-fit: contain;
}
.auth__notif-avatar img.dark-only {
  display: none;
}
.dark .auth__notif-avatar img.light-only {
  display: none;
}
.dark .auth__notif-avatar img.dark-only {
  display: block;
}

* {
  scrollbar-width: thin;
  scrollbar-color: var(--gray-300) transparent;
}
.dark * {
  scrollbar-color: var(--gray-700) transparent;
}

[data-simplebar] {
  overflow: auto;
  height: 100%;
}

[data-simplebar] .simplebar-vertical {
  right: 4px;
  top: 4px;
  bottom: 4px;
  width: 9px !important;
}

[data-simplebar] .simplebar-content-wrapper {
  outline: none;
}

[data-simplebar] .simplebar-scrollbar::before {
  background-color: var(--gray-500);
}
.dark [data-simplebar] .simplebar-scrollbar::before {
  background-color: var(--gray-600);
}/*# sourceMappingURL=main.css.map */