:root {
  --tp-surface: #f8f9fa;
  --tp-surface-dim: #d9dadb;
  --tp-surface-bright: #f8f9fa;
  --tp-surface-container-lowest: #ffffff;
  --tp-surface-container-low: #f3f4f5;
  --tp-surface-container: #edeeef;
  --tp-surface-container-high: #e7e8e9;
  --tp-surface-container-highest: #e1e3e4;
  --tp-on-surface: #191c1d;
  --tp-on-surface-variant: #43474a;
  --tp-inverse-surface: #2e3132;
  --tp-inverse-on-surface: #f0f1f2;
  --tp-outline: #73787b;
  --tp-outline-variant: #c3c7ca;
  --tp-surface-tint: #506169;
  --tp-primary: #213138;
  --tp-on-primary: #ffffff;
  --tp-primary-container: #37474f;
  --tp-on-primary-container: #a4b5be;
  --tp-inverse-primary: #b8c9d3;
  --tp-secondary: #785900;
  --tp-on-secondary: #ffffff;
  --tp-secondary-container: #fdc003;
  --tp-on-secondary-container: #6c5000;
  --tp-tertiary: #3d2b1a;
  --tp-on-tertiary: #ffffff;
  --tp-tertiary-container: #55412f;
  --tp-on-tertiary-container: #c9ad96;
  --tp-error: #ba1a1a;
  --tp-on-error: #ffffff;
  --tp-error-container: #ffdad6;
  --tp-on-error-container: #93000a;
  --tp-primary-fixed: #d4e5ef;
  --tp-primary-fixed-dim: #b8c9d3;
  --tp-on-primary-fixed: #0d1e25;
  --tp-on-primary-fixed-variant: #394951;
  --tp-secondary-fixed: #ffdf9e;
  --tp-secondary-fixed-dim: #fabd00;
  --tp-on-secondary-fixed: #261a00;
  --tp-on-secondary-fixed-variant: #5b4300;
  --tp-tertiary-fixed: #fcddc4;
  --tp-tertiary-fixed-dim: #dec1a9;
  --tp-on-tertiary-fixed: #281809;
  --tp-on-tertiary-fixed-variant: #574331;
  --tp-background: #f8f9fa;
  --tp-on-background: #191c1d;
  --tp-surface-variant: #e1e3e4;
  --tp-radius-sm: 0.125rem;
  --tp-radius: 0.25rem;
  --tp-radius-md: 0.375rem;
  --tp-radius-lg: 0.5rem;
  --tp-radius-xl: 0.75rem;
  --tp-radius-full: 9999px;
  --tp-space-base-unit: 4px;
  --tp-space-container-max-width: 1280px;
  --tp-space-gutter: 24px;
  --tp-space-margin-desktop: 48px;
  --tp-space-margin-mobile: 16px;
  --tp-space-stack-xs: 4px;
  --tp-space-stack-sm: 8px;
  --tp-space-stack-md: 16px;
  --tp-space-stack-lg: 24px;
  --tp-space-stack-xl: 48px;
}
html, body { color: var(--tp-on-surface); }
body, .bg-background, .bg-surface { background-color: var(--tp-background, var(--tp-surface)) !important; }
.bg-surface-container-lowest { background-color: var(--tp-surface-container-lowest) !important; }
.bg-surface-container-low { background-color: var(--tp-surface-container-low) !important; }
.bg-surface-container, .bg-surface-container-high, .bg-surface-container-highest, .bg-surface-variant { background-color: var(--tp-surface-container) !important; }
.bg-primary, .primary-gradient-btn, .btn-primary-gradient, .gradient-btn { background: var(--tp-primary) !important; color: var(--tp-on-primary) !important; }
.bg-primary-container { background-color: var(--tp-primary-container) !important; }
.bg-primary-fixed { background-color: var(--tp-primary-fixed) !important; }
.bg-secondary, .bg-secondary-container { background-color: var(--tp-secondary-container, var(--tp-secondary)) !important; color: var(--tp-on-secondary-container, var(--tp-on-secondary)) !important; }
.bg-error, .bg-error-container { background-color: var(--tp-error-container) !important; }
.text-primary { color: var(--tp-primary) !important; }
.text-primary-container { color: var(--tp-primary-container) !important; }
.text-on-primary, .text-white { color: var(--tp-on-primary) !important; }
.text-on-primary-container { color: var(--tp-on-primary-container) !important; }
.text-on-primary-fixed-variant { color: var(--tp-on-primary-fixed-variant) !important; }
.text-secondary { color: var(--tp-secondary) !important; }
.text-error { color: var(--tp-error) !important; }
.text-on-error-container { color: var(--tp-on-error-container) !important; }
.text-on-surface, .text-on-background, .text-slate-900 { color: var(--tp-on-surface) !important; }
.text-on-surface-variant, .text-slate-500, .text-slate-600 { color: var(--tp-on-surface-variant) !important; }
.border-outline, .border-outline-variant, .border-slate-200, .border-slate-100 { border-color: var(--tp-outline-variant) !important; }
.app-card, .card-shadow, .shadow-sm, .shadow-md, .shadow-xl { box-shadow: 0 1px 2px rgba(33, 49, 56, .06) !important; }
.app-card, .bg-white { background: var(--tp-surface-container-lowest) !important; }
.app-sidebar { background: var(--tp-surface-container-lowest) !important; border-right-color: var(--tp-outline-variant) !important; box-shadow: 1px 0 0 rgba(33, 49, 56, .04) !important; }
.app-sidebar > a:first-child { background: var(--tp-primary) !important; color: var(--tp-on-primary) !important; }
input, select, textarea, .input-soft, .field { border-color: var(--tp-outline-variant) !important; background-color: var(--tp-surface-container-lowest) !important; }
input:focus, select:focus, textarea:focus, .input-soft:focus, .field:focus { border-color: var(--tp-primary) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--tp-primary) 12%, transparent) !important; outline: none; }
table thead tr, tr.bg-surface, tr.bg-surface-container-low { background: var(--tp-surface-container) !important; }
tbody tr:nth-child(even), .bg-slate-50\/50 { background-color: var(--tp-surface) !important; }
.hover\:bg-primary\/5:hover, .bg-primary\/5 { background-color: color-mix(in srgb, var(--tp-primary) 8%, transparent) !important; }
.bg-primary\/10 { background-color: color-mix(in srgb, var(--tp-primary) 10%, transparent) !important; }
.rounded-2xl, .rounded-3xl, .rounded-\[16px\] { border-radius: var(--tp-radius-lg) !important; }
.rounded-xl { border-radius: var(--tp-radius-xl) !important; }
.rounded-lg { border-radius: var(--tp-radius-lg) !important; }
.px-gutter { padding-left: var(--tp-space-gutter, 24px) !important; padding-right: var(--tp-space-gutter, 24px) !important; }
.py-gutter { padding-top: var(--tp-space-gutter, 24px) !important; padding-bottom: var(--tp-space-gutter, 24px) !important; }
.p-gutter { padding: var(--tp-space-gutter, 24px) !important; }
.gap-gutter { gap: var(--tp-space-gutter, 24px) !important; }
.p-stack-md { padding: var(--tp-space-stack-md, 16px) !important; }
.p-stack-lg { padding: var(--tp-space-stack-lg, 24px) !important; }
.gap-stack-md { gap: var(--tp-space-stack-md, 16px) !important; }
.gap-stack-lg { gap: var(--tp-space-stack-lg, 24px) !important; }
.space-y-gutter > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(var(--tp-space-gutter, 24px) * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(var(--tp-space-gutter, 24px) * var(--tw-space-y-reverse)); }
.space-y-stack-md > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(var(--tp-space-stack-md, 16px) * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(var(--tp-space-stack-md, 16px) * var(--tw-space-y-reverse)); }
.app-card { border: 1px solid var(--tp-outline-variant) !important; border-radius: var(--tp-radius-lg) !important; }
.app-card-hover { transition: box-shadow .18s ease, border-color .18s ease, transform .18s ease; }
.app-card-hover:hover { border-color: var(--tp-outline) !important; box-shadow: 0 8px 18px color-mix(in srgb, var(--tp-primary) 10%, transparent) !important; }
.text-headline-xl { font-size: 40px !important; line-height: 48px !important; font-weight: 700 !important; letter-spacing: -0.02em !important; }
.text-headline-xl-mobile { font-size: 32px !important; line-height: 38px !important; font-weight: 700 !important; letter-spacing: -0.02em !important; }
.text-headline-lg { font-size: 32px !important; line-height: 40px !important; font-weight: 600 !important; letter-spacing: -0.01em !important; }
.text-headline-lg-mobile { font-size: 24px !important; line-height: 30px !important; font-weight: 600 !important; letter-spacing: -0.01em !important; }
.text-headline-md { font-size: 24px !important; line-height: 32px !important; font-weight: 600 !important; letter-spacing: 0 !important; }
.text-body-lg { font-size: 18px !important; line-height: 28px !important; font-weight: 400 !important; letter-spacing: 0 !important; }
.text-body-md { font-size: 16px !important; line-height: 24px !important; font-weight: 400 !important; letter-spacing: 0 !important; }
.text-body-sm { font-size: 14px !important; line-height: 20px !important; font-weight: 400 !important; letter-spacing: 0 !important; }
.text-label-md { font-size: 14px !important; line-height: 16px !important; font-weight: 600 !important; letter-spacing: 0.05em !important; }
.text-label-sm { font-size: 12px !important; line-height: 14px !important; font-weight: 500 !important; letter-spacing: 0 !important; }
main .text-headline-xl { font-size: min(var(--tp-app-hxl, 32px), 32px) !important; line-height: 40px !important; }
main .text-headline-lg { font-size: min(var(--tp-app-hlg, 24px), 24px) !important; line-height: 32px !important; }
main .text-\[30px\] { font-size: 24px !important; line-height: 32px !important; }
main .leading-\[38px\] { line-height: 32px !important; }
.status-badge { padding: 4px 10px; border-radius: var(--tp-radius); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }